 /* ============================================================================
 * File Name	: utilPage.js
 * Description	: ÆäÀÌÁö °ü·Ã ÇÔ¼ö
 * Author		: ±èÇö¼ö
 * Create Date	: 2004-03-03
 * History		:
 *	- 2004-03-03, ±èÇö¼ö	: ÃÊ±âÀÛ¼º
 *	- 2004-03-16, ±èÇö¼ö	: Ãß°¡ÀÛ¼º
 *	- 2004-03-17, ±èÇö¼ö	: enableElementSettingÀÇ onfocus ºÎºÐ Ãß°¡ÀÛ¼º
 *  - 2007-06-23, ±èÇö¼ö	: initFocus ¼öÁ¤
 ============================================================================*/

// Arrow Key
var DIR_LEFT   = 37;
var DIR_UP     = 38;
var DIR_RIGHT  = 39;
var DIR_DOWN   = 40;

// Misc
var ENTER_KEY  = 13;
var TAB_KEY    = 40;
var INSERT_KEY = 45;
var DELETE_KEY = 46;


var	enableElements	= null;

attachEvent("onload", enableElementSetting);			// °´Ã¼ ¹è¿­È­
attachEvent("onload", initFocus);						// Ã³À½ input box¿¡ setFocus

document.attachEvent("onkeyup", iactionListener);		// ÀÌº¥Æ® °¨Áö
document.attachEvent("onkeydown", page_reload);			// frameÀÌ ÀÖÀ»°æ¿ì ÇöÁ¦È­¸é¸¸ reload
//document.attachEvent("oncontextmenu", function(){if(((window.location.href).indexOf("src")>0)){return false}});		// srcÆú´õÀÇ ÆÄÀÏ¸¸ ¿À¸¥ÂÊ¸¶¿ì½º Á¦°Å

function init1stMenuLinkBold(){
	var obj = document.all.tags("A")[0];
	makeLinkBold(obj);
	window.open(obj.href,		"frmMain");
}

/* -----------------------------------------------------------------------------
 * iactionListener	: TextField³» onKeyup ÀÌº¥Æ® °¨Áö
 * Parameter		: none
 * return			: none
 * notice
	- text, password, textarea¿¡¼­ÀÇ ÀÌº¥Æ®Áß ENTER_KEY¸¦ ´©¸¦°æ¿ì 
		´ÙÀ½ Field·Î Focus ÀÌµ¿
 ------------------------------------------------------------------------------ */
function iactionListener(){
	window.status =	"";
	var key = event.keyCode;

	if(document.activeElement.type != 'text' && document.activeElement.type != 'password') return;
	if(document.activeElement.move == "no") return;

	if((document.activeElement.value.length	>= document.activeElement.maxLength) && igetMoveKey(key)){
		moveTodirection();
		return;
	}
}

function page_reload(){
	if(event.keyCode == 116){		// F5Å°¸¦ ´©¸£¸é ÇöÁ¦ ÆäÀÌÁö¸¸ ¸®·Îµå(FrameÀ¸·Î µÇÀÖÀ» °æ¿ì ÀüÃ¼ reloadÇÏ¸é º¸ÀÌ´Â È­¸éÀÌ º¯°æ)
		window.event.keyCode = "";
		location.reload();
		return false;
	}
}

/* -----------------------------------------------------------------------------
 * igetMoveKey	: ÇØ´çÅ°°¡ tab or shift ÀÎÁö¿©ºÎ
 * Parameter	: 
	- key	: event.keyCode
 * return		: [BOOLEAN] tab or shift + tabÀ¸·Î ÀÌµ¿½Ã false, ¾Æ´Ñ°æ¿ì true
 * notice
	- Àü ´Ü°èÀÇ Field·Î ÀÌµ¿½Ã ´Ù½Ã ÀÌµ¿ ¹æÁö¸¦ À§ÇØ
 ------------------------------------------------------------------------------ */
function igetMoveKey(key){
	switch (key){
		case 9 :
		case 16 :
		case DIR_LEFT :
		case DIR_RIGHT :
			return false;
	}

	return true;
}

/* -----------------------------------------------------------------------------
 * moveTodirection	: Æ÷Ä¿½º ÀÌµ¿
 * Parameter		: none
 * return			: none
 * notice
	- input ÅÂ±×Áß text, password °´Ã¼¸¦ ¹è¿­È­ ÇÑ´Ù.
 ------------------------------------------------------------------------------ */
function moveTodirection(){
	var	moveIdx	= 0;
	var	element	= document.activeElement;

	for(var	j=0; j<enableElements.length; j++){
		if(enableElements[j]	== element){
			moveIdx	= j;
		}
	}

	moveIdx++;

	if(moveIdx == enableElements.length) return;
	if(moveIdx < 0)	moveIdx	= enableElements.length	- 1;
	enableElements[moveIdx].focus();
	enableElements[moveIdx].select();
}

/* -----------------------------------------------------------------------------
 * enableElementSetting		: ÇÊµå ¹è¿­È­
 * Parameter				: none
 * return					: none
 * notice
	- input ÅÂ±×Áß text, password °´Ã¼¸¦ ¹è¿­È­ ÇÑ´Ù.
 ------------------------------------------------------------------------------ */
function enableElementSetting(){
	try{
		enableElements = new Array();

		var	input =	document.all.tags("input");

		var	idx	= 0;
		for(var	i=0; i<input.length;	i++){
			if(input[i].name == "search_keyword"){
				continue;
			}
			if(!input[i].disabled && !input[i].readOnly && (input[i].type == 'text' || input[i].type == 'password')){

				var cntObj = eval("document.all." + input[i].name + ".length");
				var obj = null;
				if((cntObj != "undefined") && (cntObj > 1)){
					for(var j=0; j<cntObj; j++){
						if(eval("document.all." + input[i].name + "[" + j + "]") == input[i]){
							obj = "document.all." + input[i].name + "[" + j + "]";
							enableElements[idx]	= eval("document.all." + input[i].name + "[" + j + "]");
							break;
						}
					}
				} else {
					obj = "document.all." + input[i].name;
					enableElements[idx]	= input[i];
				}

				// °³Ã¼ÀÇ ¼Ó¼º¿¡ ¸Þ¼Òµå Ãß°¡
				eval(obj + ".oColor = " + obj + ".style.backgroundColor;");
				eval(obj + ".attachEvent('onfocus', function(){" + obj + ".select();if(" + obj + ".style){" + obj + ".style.background='#FFFEE6';}});");
				eval(obj + ".attachEvent('onblur', function(){if(" + obj + ".style){" + obj + ".style.backgroundColor=" + obj + ".oColor;}});");
				// ÇÊµå¿¡¼­ ¿£ÅÍÅ° ÀÔ·Â½Ã ¼öÇàÇÒ ¸í·É Àû¿ë ex> <input type="text" name="txt1" onEnterKey="submit();"> : ¿£ÅÍÅ°´©¸£¸é submit ¹ß»ý
				if(typeof(eval(obj + ".onEnterKey")) != "undefined"){
					eval(obj + ".attachEvent('onkeypress', function(){if(event.keyCode==ENTER_KEY){" + eval(obj + ".onEnterKey") + "; event.keyCode = 0;}})");
				} else {
					eval(obj + ".attachEvent('onkeypress', function(){if(event.keyCode==ENTER_KEY){window.event.returnValue = false;}})");
				}

				idx++;
			}else if(input[i].type == 'radio' || input[i].type == 'checkbox'){
				input[i].className = "crButton";
			}
		}

		var	area =	document.all.tags("textarea");
		for(var	i=0; i<area.length;	i++){
			if(area[i].readOnly) continue;
			var areaObj = "document.all." + area[i].name;
			eval(areaObj + ".attachEvent('onfocus', function(){" + areaObj + ".select();if(" + areaObj + ".style){" + areaObj + ".style.background='#FFFEE6';}});");
			eval(areaObj + ".attachEvent('onblur', function(){if(" + areaObj + ".style){" + areaObj + ".style.background='#FFFFFF';}});");
		}
	}catch(e){
		alert(e.description);
	}
}

/* -----------------------------------------------------------------------------
 * initFocus		: ¹®¼­ÀÇ Ã¹¹øÂ° TextField¿¡ Æ÷Ä¿½º¸¦ ¸ÂÃã
 * Parameter		: none
 * return			: none
 ------------------------------------------------------------------------------ */
 var isFocusing = true;
function initFocus(){
	if(!isFocusing) return;
	enableElementSetting();

	var objs = document.all;

	for(var i=0; i<objs.length; i++){
		switch(objs[i].tagName){
			case "INPUT":
				if (objs[i].type == "hidden") continue;
				objs[i].focus();
				return;
/*
			case "SELECT":
				if(objs[i].disabled) continue;
				if(objs[i].readOnly) continue;
*/
		}
	}
/*
	if(enableElements && enableElements.length > 0){
		enableElements[0].focus();
	} else {
		this.focus();
	}
*/
}

/* -----------------------------------------------------------------------------
 * removeBold	: ÇØ´ç html ÅÂ±×¿¡¼­ <b></b> ÅÂ±×¸¦ Á¦°Å
 * Parameter
	- html 			: [HTML] ´ë»ó html
 * return			: [HTML] <b>ÅÂ±×¸¦ Á¦°ÅÇÑ HTML
 ------------------------------------------------------------------------------ */
function removeBold(html){
	var	str	= removeString(html,"<B>");
	return removeString(str,"</B>");
}

/* -----------------------------------------------------------------------------
 * makeLinkBold		: °´Ã¼(obj)¾ÈÀÇ HTML¿¡ <b></b>·Î °¨½Ñ´Ù
 * Parameter
	- obj 			: [OBJECT] HTMLÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â °´Ã¼
 * return			: none
 ------------------------------------------------------------------------------ */
var	boldobj			= null;
var a = 0;
function makeLinkBold(obj){
	if(boldobj != obj){
		if(boldobj != null){
			var tmp =	boldobj.innerText;
			boldobj.innerHTML	= removeBold(tmp);
		}
		var val = obj.innerText;
		obj.innerHTML = "<B>"+val+"</B>";
		boldobj = obj;
	}
}

/* ----------------------------------------------------------------------------
 * gotoPage		: url·Î ÀÌµ¿
 * Parameter	
	- url			: [STRING] ´ë»ó ÆäÀÌÁö
 * return       : none
 --------------------------------------------------------------------------- */
function gotoPage(url, target){
	if(!url){
		alert("¿ÀÇÂÁØºñÁßÀÔ´Ï´Ù^^");
		return;
	}

	if(target){
		window.open(url, target);
	} else {
		location.href = url;
	}
}

/* -----------------------------------------------------------------------------
 * mouseover	: ¸¶¿ì½º¿À¹ö½Ã ÇØ´ç tr(obj)ÀÇ »ö»ó(bgcolor)·Î º¯°æ
 * Parameter
	- obj		: [OBJECT] ¸¶¿ì½º°¡ °¡¸£Å°´Â °´Ã¼
	- bgcolor	: [STRING] º¯°æµÉ »ö
 * return		: none
 ------------------------------------------------------------------------------ */
function mouseover(obj, minus, plus, bgcolor){
	if(!minus)		minus = 0;
	if(!plus)		plus = 0;
	if(!bgcolor)	bgcolor = "#FBFBEF";
	obj.className = "hand";
	obj.style.background=bgcolor;

	if(minus != 0 || plus != 0){
		var tbl = obj.parentNode;
		for(var i=0; i<tbl.childNodes.length; i++){
			if(tbl.childNodes[i] == obj){
				for(var j=1; j<=plus; j++)
					tbl.childNodes[i+j].style.background=bgcolor;
				for(var j=minus; j<0; j++)
					tbl.childNodes[i+j].style.background=bgcolor;
			}
		}
	}
}

/* -----------------------------------------------------------------------------
 * mouseover	: ¸¶¿ì½º¾Æ¿ô½Ã ÇØ´ç tr(obj)ÀÇ »ö»ó(bgcolor)·Î º¯°æ
 * Parameter
	- obj		: [OBJECT] ¸¶¿ì½º°¡ °¡¸£Å°´Â °´Ã¼
	- bgcolor	: [STRING] º¯°æµÉ »ö
 * return		: none
 ------------------------------------------------------------------------------ */
function mouseout(obj, minus, plus, bgcolor){
	if(!minus)		minus = 0;
	if(!plus)		plus = 0;
	if(!bgcolor) bgcolor = "#FFFFFF";
	obj.style.background=bgcolor;

	if(minus != 0 || plus != 0){
		var tbl = obj.parentNode;
		for(var i=0; i<tbl.childNodes.length; i++){
			if(tbl.childNodes[i] == obj){
				for(var j=1; j<=plus; j++)
					tbl.childNodes[i+j].style.background=bgcolor;
				for(var j=minus; j<0; j++)
					tbl.childNodes[i+j].style.background=bgcolor;
			}
		}
	}
}