var form; // 사용할 폼의 객체
var beanName; // 전송할  빈즈 이름
var keyName; // 전송할 키의 이름
var keyAppendFlag = true; // 전송할 키의 이름 뒤에 "Key" 값 추가 여부
var lineRun = true; // 실행 여부. 라인(tr) 클릭 이벤트 사용 시 버튼(td)의 클릭 이벤트 페이지 이동을 위해 사용.

function showAlert()
{
	alert("공사중입니다.");
	void(0);
}

// 숨겨진 페이지 활용시
function goHiddenPage(url)
{
	parent.hidden.location = url;
}

// 새창
function openWindow(url, width, height, scrollbars, options)
{
	var win;

	if (width == null || height == null)
	{
		win = window.open(url);
	}
	else
	{
		var scrollbar = (scrollbars != null ? scrollbars : "no");
		var option = (options != null ? options : "");

		if (height > screen.availHeight)
		{
			scrollbar = "yes";
		}

		win = window.open(url, "", "width=" + width + ",height=" + height + ",scrollbars=" + scrollbar + "," + option);
	}

	if (win != null)
	{
		win.focus();
	}
	else
	{
		alert("팝업이 차단되었습니다. 팝업차단을 해제하세요.");
	}

//	return win;
	void(0);
}

// 디버깅용 윈도우
function createDebugWindow()
{
	document.open();
	document.writeln('<div id="debugw" onclick="this.style.display=\'none\'" style="position:absolute;background-color:lightyellow;padding:2px;border:1px solid black;display:none"></div>');
	document.close();
}

// 디버깅용
function debug(str)
{
	if (debugw != null)
	{
		if (debugw.style.display == "none")
		{
			debugw.style.display = "block";
		}
		debugw.innerHTML += str + "<br />";
	}
}

// 상단메뉴 롤오버시
function showMenu(index)
{
	for (var i = 0; i < sub.length; i++)
	{
		if (i == index)
		{
			sub[i].style.display = 'block';
		}
		else
		{
			sub[i].style.display = 'none';
		}
	}
}

// 좌측메뉴 열기/닫기
function showSubMenu(index)
{
	if (index.style.display == 'block')
	{
		index.style.display = 'none';
	}
	else
	{
		index.style.display = 'block';
	}
}

// 폼 초기값 설정
// form : 폼이름			 goesanForm
// beanName : 빈즈명		 goesan
// keyName : 키이름		 goesan
// keyAppendFlag : 키이름 뒤에 "Key" 가 붙는지 여부 (true, false)
// (ex: boardForm(폼이름) => board(빈즈명 = 키이름), menuForm(폼이름) => menu(빈즈명 = 키이름))
function setForm(form, beanName, keyName, keyAppendFlag)
{
	this.form = form;
	this.beanName = beanName;
	if (keyName != null)
	{
		this.keyName = keyName;
	}
	else
	{
		this.keyName = this.beanName;
	}

	if (keyAppendFlag != null)
	{
		this.keyAppendFlag = keyAppendFlag;
	}
}

// 링크 클릭시 (페이징 초기화)
function goSearchPage()
{	
	form["paramBean.page"].value = 0;
	goPage("list");
}

// 글 추가 폼에서 셀렉트 박스 선택 시  분기
function goCreatePage(categoryKey)
{
	if(form.action.value == 'create'){
		checkForm('createform', 'goesan', null, null, categoryKey);
	}else if(form.action.value == 'modify'){
		checkForm('modifyform', null, null, null, categoryKey);
	}
}

// 링크 클릭시
function goPage(action, keyValue, categoryKey)
{
	if (!lineRun)
	{
		lineRun = true;
		return;
	}
	
	if(action == 'modifyform'){
		setGoesanAction(action, keyValue, categoryKey);
	}else{
		setAction(action, keyValue);
	}
	
	form.submit();
}

// 검색 버튼(이미지) 클릭시 (페이징 초기화)
function checkSearchForm()
{
	form["paramBean.page"].value = 0;

	return checkForm("list", 0, null, null);
}

// 버튼(이미지) 클릭시
function checkForm(action, keyValue, name, opt, categoryKey)
{
	var opt = (opt == null ? "삭제" : opt);
	var question = "정말로 " + opt + "하시겠습니까?";

	lineRun = false;

	if (name != null)
	{
		question = "\"" + name + "\"을(를)\n" + question;
	}

	if (action.lastIndexOf("All") == action.length - 3)
	{
		if (!checkList())
		{
			alert(opt + "할 항목을 선택하세요.");
			return false;
		}
	}

	if (action.indexOf("remove") != -1 || action.indexOf("cancel") != -1)
	{
		if (!confirm(question))
		{
			return false;
		}
	}
	
	if((action == 'createform') || (action == 'modifyform')){
		setGoesanAction(action, keyValue, categoryKey);
	}else{
		setAction(action, keyValue);
	}
	
	form.submit();

	return true;
}

// 검색어 삭제 버튼(이미지) 클릭시
function checkNoSearchForm()
{
	form["paramBean.searchWord"].value = "";

	return checkSearchForm();
}

// 목록에서 체크리스트 모두선택 및 모두선택해제
function checkAll()
{
	var obj = form[keyName + (keyAppendFlag ? "Key" : "")];
	var chk = form.checkall;

	if (obj == null)
	{
		chk.blur();
		return;
	}
	if (obj.length == null)
	{
		obj.checked = !chk.checked;
	}
	else
	{
		for (var i = 0; i < obj.length; i++)
		{
			obj[i].checked = !chk.checked;
		}
	}

	chk.blur();
}

// 페이지 이동시 사용
function setPage(page)
{
	setAction("list");
	form["paramBean.page"].value = page;
	form.submit();
}

// '목록', '취소' 버튼 클릭시 (취소)
function cancelForm()
{
	setAction('list');
	bCancel = true;
}

// 타이틀 클릭시 정렬
function setOrderBy(orderBy)
{
	if (form["paramBean.orderBy"].value == orderBy)
	{
		form["paramBean.orderFlipFlag"].value = "true";
	}

	form["paramBean.orderBy"].value = orderBy;
	goPage("list", 0);
}

// 내부 함수

// action 값 설정과 key 값 설정
function setAction(action, keyValue)
{
	form.action.value = action;
	if (keyValue != null)
	{
		form[beanName + "Bean." + keyName + (keyAppendFlag ? "Key" : "")].value = keyValue;
	}
}

function setGoesanAction(action, keyValue, categoryKey)
{
	form.action.value = action;
	if (keyValue != null)
	{
		form[beanName + "Bean." + keyName + (keyAppendFlag ? "Key" : "")].value = keyValue;
	}
	
	if (categoryKey != null)
	{
		form["goesanBean.goesanCategoryKey"].value = categoryKey;
	}
}

// 목록에서 체크박스 선택여부 확인
function checkList()
{
	var obj = form[keyName + (keyAppendFlag ? "Key" : "")];

	if (obj == null)
	{
		return false;
	}
	if (obj.length == null)
	{
		return obj.checked;
	}
	else
	{
		for (var i = 0; i < obj.length; i++)
		{
			if (obj[i].checked)
			{
				return true;
			}
		}

		return false;
	}
}


/* 2010.03.10 추가부분 */
function initNavigation(seq) {
	nav = document.getElementById("topMenu");
	nav.menu = new Array();
	nav.current = null;
	nav.menuseq = 0;
	navLen = nav.childNodes.length;

	allA = nav.getElementsByTagName("a")
	for(k = 0; k < allA.length; k++) {
		allA.item(k).onmouseover = allA.item(k).onfocus = function () {
			nav.isOver = true;
		}
		allA.item(k).onmouseout = allA.item(k).onblur = function () {
			nav.isOver = false;
			setTimeout(function () {
				if (nav.isOver == false) {
					if (nav.menu[seq])
						nav.menu[seq].onmouseover();
					else if(nav.current) {
						menuImg = nav.current.childNodes.item(0);
						menuImg.src = menuImg.src.replace("_on.gif", "_off.gif");
						if (nav.current.submenu)
							nav.current.submenu.style.display = "none";
						nav.current = null;
					}
				}
			}, 1000);
		}
	}

	for (i = 0; i < navLen; i++) {
		navItem = nav.childNodes.item(i);
		if (navItem.tagName != "LI")
			continue;

		navAnchor = navItem.getElementsByTagName("a").item(0);
		navAnchor.submenu = navItem.getElementsByTagName("ul").item(0);
		
		navAnchor.onmouseover = navAnchor.onfocus = function () {
			if (nav.current) {
				menuImg = nav.current.childNodes.item(0);
				menuImg.src = menuImg.src.replace("_on.gif", "_off.gif");
				if (nav.current.submenu)
					nav.current.submenu.style.display = "none";
				nav.current = null;
			}
			if (nav.current != this) {
				menuImg = this.childNodes.item(0);
				menuImg.src = menuImg.src.replace("_off.gif", "_on.gif");
				if (this.submenu)
					this.submenu.style.display = "block";
				nav.current = this;
			}
			nav.isOver = true;
		}
		nav.menuseq++;
		nav.menu[nav.menuseq] = navAnchor;
	}
	if (nav.menu[seq])
		nav.menu[seq].onmouseover();
}

function tabPopup(seq) {
	tabPop = document.getElementById("tabPopupList");
	tabPop.tabmenu = new Array();
	tabPop.tabcurrent = null;
	tabPop.tabmenuseq = 0;
	tabPopLen = tabPop.childNodes.length;
	
	taballA = tabPop.getElementsByTagName("a")
	for(k = 0; k < taballA.length; k++) {
		taballA.item(k).onmouseover = taballA.item(k).onfocus = function () {
			tabPop.isOver = true;
		}
		taballA.item(k).onmouseout = taballA.item(k).onblur = function () {
			tabPop.isOver = false;
			setTimeout(function () {
				if (tabPop.isOver == false) {
					if (tabPop.tabmenu[seq])
						tabPop.tabmenu[seq].onmouseover();
					else if(tabPop.tabcurrent) {
						tabPop = tabPop.tabcurrent.childNodes.item(0);
						tabPop.src = tabmenuImg.src.replace("_on.gif", "_off.gif");
						if (tabPop.tabcurrent.tabsubmenu)
							tabPop.tabcurrent.tabsubmenu.style.display = "none";
						tabnav.tabcurrent = null;
					}
				}
			}, 100000);//300초뒤에 선택한 타겟활성화
		}
	}

	for (i = 0; i < tabPopLen; i++) {
		tabPopItem = tabPop.childNodes.item(i);
		if (tabPopItem.tagName != "LI")
			continue;

		tabPopAnchor = tabPopItem.getElementsByTagName("a").item(0);
		tabPopAnchor.tabsubmenu = tabPopItem.getElementsByTagName("ul").item(0);
		
		tabPopAnchor.onmouseover = tabPopAnchor.onfocus = function () {
			if (tabPop.tabcurrent) {
				tabmenuImg = tabPop.tabcurrent.childNodes.item(0);
				tabmenuImg.src = tabmenuImg.src.replace("_on.gif", "_off.gif");
				if (tabPop.tabcurrent.tabsubmenu)
					tabPop.tabcurrent.tabsubmenu.style.display = "none";
				tabPop.tabcurrent = null;
			}
			if (tabPop.tabcurrent != this) {
				tabmenuImg = this.childNodes.item(0);
				tabmenuImg.src = tabmenuImg.src.replace("_off.gif", "_on.gif");
				if (this.tabsubmenu)
					this.tabsubmenu.style.display = "block";
				tabPop.tabcurrent = this;
			}
			tabPop.isOver = true;
		}
		tabPop.tabmenuseq++;
		tabPop.tabmenu[tabPop.tabmenuseq] = tabPopAnchor;
	}
	if (tabPop.tabmenu[seq])
		tabPop.tabmenu[seq].onmouseover();
}


// 서브좌메뉴와 컨텐츠부분 height값 비교해서 같게해줌
window.onload = function adjustLayout() {
	if (document.getElementById("leftMenu") && document.getElementById("subContent")) {
		
		if (document.getElementById("leftMenu").offsetHeight > document.getElementById("subContent").offsetHeight) {			
			document.getElementById("subContent").style.height = document.getElementById("leftMenu").offsetHeight + "px";
		}
	}
}


// 탭메뉴
function showHistory(viewObj,chkNum,onImg) {//보일Obj ID/Obj 갯수/
	if(viewObj!=null) {//선택 레이어 보임
		document.getElementById(viewObj).style.display="block";
		if((chkNum!=null) && (!isNaN(chkNum))) {//대신 숨길 레이어가 있다면 숨김
			var hideObj = new String;
			var selObjNum = parseInt(viewObj.substring(viewObj.length-1,viewObj.length));
			hideObj = viewObj.substr(0,viewObj.length-1);

			for(var i=1;i<=chkNum;i++)	{
				if(i!=selObjNum)	{
					hideObj = hideObj.concat(i);
					document.getElementById(hideObj).style.display="none";
					hideObj = viewObj.substr(0,viewObj.length-1);
				}
			}
			
			if (onImg!=null) {//마우스over/out시 이미지on/of 수정
				document.getElementById(onImg).src = document.getElementById(onImg).src.replace("off.gif", "on.gif");
				var offImg	= new String;
				var selImgNum = parseInt(onImg.substring(onImg.length-1,onImg.length));
				offImg = onImg.substr(0,onImg.length-1);

				for(var i=1;i<=chkNum;i++)	{
					if(i!=selImgNum)	{
						offImg = offImg.concat(i);
						document.getElementById(offImg).src = document.getElementById(offImg).src.replace("on.gif", "off.gif");
						offImg = onImg.substr(0,onImg.length-1);
					}
				}
			}
		}
	}
}

var zoomSize = 100;

//Screen Zoom
function screenZoom(inOrOut) {
	if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) {
		if (inOrOut == "in") {
			zoomSize = zoomSize + 10;
		} else {
			zoomSize = zoomSize - 10;
		}
		
		if (zoomSize > 140) {
			zoomSize = 140;			
		}
		
		if (zoomSize < 60) {
			zoomSize = 60;
		}
		
		document.body.style.zoom = zoomSize + "%";
	}
}

//Screen Reset
function screenReset() {
	if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) {
		zoomSize = 100;
		document.body.style.zoom = zoomSize + "%";
	}
}

/**
* 숫자 입력
* event : onkeydown
* 
* @return
*/
function ckNumber(){
	if 
	(
		((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) 
		&& event.keyCode != 8
		&& event.keyCode != 9
		&& event.keyCode != 37
		&& event.keyCode != 39
		&& event.keyCode != 46
		&& event.keyCode != 13
	)
	{
		event.returnValue = false;
	}
}