<!--
/*******************************************************************
ÆÄÀÏ¸í : $_SERVER[DOCUMENT_ROOT]/search/include/auto_keyword.js
ÃÖÃÊ °³¹ßÀÚ : ¿ì»óÀ±
ÃÖÃÊ °³¹ßÀÏ : 2008.06.09
ÃÖÁ¾ ¼öÁ¤ÀÚ : ¿ì»óÀ±
ÃÖÁ¾ ¼öÁ¤ÀÏ : 2007.06.15
»ó¼¼ ¼³¸í : °Ë»ö¾î ÀÚµ¿¿Ï¼º ½ºÅ©¸³Æ®
*******************************************************************/

autoKeyword = function(){
	var nowStatus = "off";
	var ASK;
	var kwdTemp = "";

	this.keyCount = 0;			// °Ë»öµÈ ÃÑ °³¼ö
	this.docXML_FD;	
	this.nkeyBodynum = -1;
	this.keyCode = null;
	this.alpha = 0;
	
	//ÃÊ±â ¼¼ÆÃ
	this.keyword = document.getElementById("kwd").value;
	this.keywordBody = document.getElementById("autoSkey");
	this.keywordList = document.getElementById("autoSkeyList");
	this.keywordMenu = document.getElementById("autoSkeyMenu");
	this.autoSkeyStatus = document.getElementById("autoSkeyStatus");
	this.keyBody;
	this.browser = navigator.userAgent.toLowerCase();
	
	document.getElementById("kwd").autocomplete = "off";
	
	//alert(navigator.userAgent.toLowerCase());
	
	if(this.browser.indexOf("firefox") != -1 || this.browser.indexOf("FIREFOX") != -1){	//ÆÄÀÌ¾îÆø½º È®ÀÎ
		document.getElementById("kwd").onkeypress = function(){
			autoKeyword.autoKeyAct();
		}
	}else{
		document.getElementById("kwd").onkeydown = function(){
			autoKeyword.autoKeyAct();
		}
	}
	
	//ÆÄÀÌ¾îÆø½º¸¦ À§ÇÑ ºÒÇÊ¿äÇÑ ÀÌº¥Æ®
	autoKeyword.prototype.setKeytemp = function(){
		var dd = dd;
	}
	
	autoKeyword.prototype.autoKeyAct = function(){
		if(this.keyCode == null){
			if (kwdTemp != document.getElementById("kwd").value) {
				autoKeyword.setKeytemp();
				kwdTemp = document.getElementById("kwd").value;
				autoKeyword.getKeyList(0);
			} else {
				//autoKeyword.getKeyList(0);
			}
			setTimeout("autoKeyword.autoKeyAct()", 10);
		}
	}
	
	autoKeyword.prototype.moveBlock = function(e){
		if(e){
			this.keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;		
		}else{
			this.keyCode = null;
		}
		
		try{
			if(nowStatus == "on"){
				if(this.keyCode == 40){
					if(this.nkeyBodynum == -1){
						this.nkeyBodynum = this.nkeyBodynum + 1;
						document.getElementById("keybody" + this.nkeyBodynum).style.backgroundColor = "#EEEEEE";
						document.getElementById("kwd").value = document.getElementById("keybody" + this.nkeyBodynum).title;
					}else if(this.nkeyBodynum >= 0 && this.nkeyBodynum < (this.keyCount - 1)){
						this.nkeyBodynum = this.nkeyBodynum + 1;
						document.getElementById("keybody" + this.nkeyBodynum).style.backgroundColor = "#EEEEEE";
						document.getElementById("keybody" + (this.nkeyBodynum - 1)).style.backgroundColor = "#FFFFFF";
						document.getElementById("kwd").value = document.getElementById("keybody" + this.nkeyBodynum).title;
					}
				}else if(this.keyCode == 38){
					if(this.nkeyBodynum == 0){
						this.nkeyBodynum = -1;
						document.getElementById("keybody" + (this.nkeyBodynum + 1)).style.backgroundColor = "#FFFFFF";
						document.getElementById("kwd").value = kwdTemp;
					}else if(this.nkeyBodynum >= 0 && this.nkeyBodynum < this.keyCount){
						this.nkeyBodynum = this.nkeyBodynum - 1;
						document.getElementById("keybody" + this.nkeyBodynum).style.backgroundColor = "#EEEEEE";
						document.getElementById("keybody" + (this.nkeyBodynum + 1)).style.backgroundColor = "#FFFFFF";
						document.getElementById("kwd").value = document.getElementById("keybody" + this.nkeyBodynum).title;
					}
				}else if(this.keyCode == 9){
					autoKeyword.clearList();
					autoKeyword.closeKeyList();
					nowStatus = "on";
				}else{
					this.keyCode = null;
					this.nkeyBodynum = -1;
				}
			}else{
				if(this.keyCode == 9){
					autoKeyword.clearList();
					autoKeyword.closeKeyList();
					nowStatus = "on";
				}
			}
		}catch(ep){
			//alert(ep.message);
		}
	} 
	
	autoKeyword.prototype.getXMLHttpRequest = function() {
		if (window.ActiveXObject) {
			try {
				return new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e1) { return null; }
			}
		} else if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else {
			return null;
		}
	}
	var httpRequest = null;
	
	autoKeyword.prototype.sendRequest = function(url, params, callback, method) {
		httpRequest = getXMLHttpRequest();
		var httpMethod = method ? method : 'GET';
		if (httpMethod != 'GET' && httpMethod != 'POST') {
			httpMethod = 'GET';
		}
		var httpParams = (params == null || params == '') ? null : params;
		var httpUrl = url;
		if (httpMethod == 'GET' && httpParams != null) {
			httpUrl = httpUrl + "?" + httpParams;
		}
		httpRequest.open(httpMethod, httpUrl, true);
		httpRequest.setRequestHeader(
			'Content-Type', 'application/x-www-form-urlencoded');
		httpRequest.onreadystatechange = callback;
		httpRequest.send(httpMethod == 'POST' ? httpParams : null);
	}
	
	// ÄíÅ° Á¤º¸ return
	autoKeyword.prototype.getCookieFD = function(name){ 
		key = name;
		//fullDownCK
		arr_name = null;

		var aCookie = document.cookie.split("; ");
		var ret = '';

		for (var i=0; i < aCookie.length; i++) {
			if(!arr_name) {
				if(aCookie[i].substring(0, key.length) == key) {
					ret = unescape(aCookie[i].substring(key.length+1));
					break;
				}
			} else {
				if(aCookie[i].substring(0, arr_name.length) == arr_name) {
					var arCook = aCookie[i].substring(arr_name.length+1).split("|");
					for( var j=0; j < arCook.length; j++) {
						if(arCook[j].substring(0, key.length) == key) {
							ret = unescape(arCook[j].substring(key.length+1));
							break;
						}
					}
				}
			}
		}
		if(!ret) ret = '';
		return ret;
	}	// end getCookieFD function


	// set cookie ÇÔ¼ö
	autoKeyword.prototype.setCookieFD = function(name, val){ 

		var argc = this.setCookieFD.arguments.length;
		var argv = this.setCookieFD.arguments;
		var expiredays = 365;

		var expires = (argc > 2) ? argv[2] : 0;
		var path = (argc > 3) ? argv[3] : null;
		var domain = (argc > 4) ? argv[4] : null;
		var secure = (argc > 5) ? argv[5] : false;

		if(expiredays != 0) {
			var todayDate = new Date(); 
			todayDate.setDate( todayDate.getDate() + expiredays );
			var expst = "; expires="+todayDate.toGMTString();
		} else expst = '';

		var cookstr = name + "=" + val +
		((expiredays == 0) ? "" : (expst)) +
		((path == null) ? "" : ("; path=" + path)) +
		((domain == null) ? "" : ("; domain=" + domain)) +
		((secure == true) ? "; secure" : "");

		document.cookie = cookstr;
	}	// end setCookieFD function
	
	autoKeyword.prototype.processReqDAT = function() {
		// only if req shows "loaded"
		if (ASK.readyState == 4) {
			// only if "OK"
			if (ASK.status == 200) {
				autoKeyword.openKeyList();
			} else {
				alert("There was a problem retrieving the XML data:\n" +
				ASK.statusText);
			}
		}//if
	}
	
	//°Ë»ö ÀÚµ¿¿Ï¼º ¿­±â
	autoKeyword.prototype.getKeyList = function(keyType){
		if(autoKeyword.getCookieFD("useAutoKey") == "on" || !autoKeyword.getCookieFD("useAutoKey")){
			if(autoKeyword.getCookieFD("fullDownMN") == 'rwKey' || !autoKeyword.getCookieFD("fullDownMN")){
				document.getElementById("autoM").className = "boldM";
				document.getElementById("myM").className = "";
				document.getElementById("autoImg").className = "";
				document.getElementById("myImg").className = "hideImg";
			}else{
				document.getElementById("autoM").className = "";
				document.getElementById("myM").className = "boldM";
				document.getElementById("autoImg").className = "hideImg";
				document.getElementById("myImg").className = "";
			}
			
			var keyword = document.getElementById("kwd").value;
			
			//var keyword = kwdTemp;
			
			keyword = autoKeyword.ltrim(keyword);
			
			params  = "key="+encodeURIComponent(keyword);
			params += "&keyMenu="+encodeURIComponent(autoKeyword.getCookieFD('fullDownMN'));
			params += "&keyType="+keyType;
			
			ASK = autoKeyword.getXMLHttpRequest();//req °´Ã¼¹ÝÈ¯
			var handlerFunction = autoKeyword.processReqDAT;
			ASK.onreadystatechange = handlerFunction;//ÀÀ´äÀÌ ¿Ï·áµÇ¸é ÀÚµ¿À¸·Î ½ÇÇàµÇµµ·Ï JavaScript ÄÝ¹é ÇÔ¼ö¸¦ Á¤ÀÇ
			//¿äÃ»Ã³¸®
			ASK.open("POST", "/union/ajax/keyword_konan.html", true);
			ASK.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			ASK.send(params);
		}
	}
	
	// °Ë»ö¾×¼Ç °ü·Ã ltrim
	autoKeyword.prototype.ltrim = function ( s ) {
		return s.replace( /^[\ ]+/g , "" );
	}	// end ltrim function
	// °Ë»ö¾×¼Ç °ü·Ã rtrim
	autoKeyword.prototype.rtrim = function( s ) {
		return s.replace( /[\s*$ ]+$/g, "" );
	}	// end rtrim function
	
	autoKeyword.prototype.openKeyList = function(){
		var nUsedstatus = autoKeyword.getCookieFD("useAutoKey");
		
		if(nUsedstatus == "on" || !nUsedstatus){
			document.getElementById("autoUse").innerHTML = "±â´É²ô±â";
		}else{
			document.getElementById("autoUse").innerHTML = "±â´ÉÄÑ±â";
		}
		
		if(nUsedstatus == "on" || !nUsedstatus){
			var keyValue = "";
			autoKeyword.clearList();
			this.keywordBody.style.display = "block";
			this.autoSkeyStatus.style.backgroundImage = "url(/images/head/fulldown_close_on.gif)";
			
			this.docXML_FD = ASK.responseXML;
			code = this.docXML_FD.getElementsByTagName("code").item(0).firstChild.nodeValue;
			if(code == "success"){
				var nKeyword = document.getElementById("kwd").value;
				var KeyWord = new Array();
				var KeyInfo = new Array();
				var keyBodyArr = 0;
				
				this.keywordBody.className = "listIn";
				this.keywordList.className = "listView";
				qtKeyword = this.docXML_FD.getElementsByTagName("qtKeyword");
				qtKeyinfo = this.docXML_FD.getElementsByTagName("qtKeyinfo");
	
				this.keyCount = qtKeyword.length;
				
				if(nKeyword){
					if(this.keyCount > 0){
						for(i=0; i<this.keyCount; i++){
							KeyWord = qtKeyword.item(i).firstChild.nodeValue;
							KeyInfo = qtKeyinfo.item(i).firstChild.nodeValue;
				
							this.keyBody = this.keywordList.appendChild(document.createElement("Div"));
							this.keyBody.title = KeyWord;
							this.keyBody.id = "keybody"+keyBodyArr;
							this.keyBody.className = "keybody";
							this.keyBody.onmouseover = function(){
								this.style.backgroundColor = "#EEEEEE";
							}
							
							this.keyBody.onmouseout = function(){
								this.style.backgroundColor = "";
							}
							
							this.keyBody.onmousedown = function(){
								newKeyTxt = this.title;
								autoKeyword.autoKeySubmit(newKeyTxt);
							}
							
							this.keywordValue = this.keyBody.appendChild(document.createElement("span"));
							this.keywordValue.className = "keyword";
							//vKeyWord = KeyWord.replace(nKeyword, "<span style=\"color:#FF5A00;\">"+nKeyword+"</span>");
							this.keywordValue.innerHTML = KeyWord;
							
							this.keyinfoValue = this.keyBody.appendChild(document.createElement("span"));		
							this.keyinfoValue.className = "keyinfo";
							this.keyinfoValue.innerHTML = KeyInfo;
							keyBodyArr++;
						}
					}else{
						this.keywordList.className = "listHide";
					}
				}else{
					autoKeyword.closeKeyList();
				}
			}else{
				this.keywordBody.className = "listOut";
				this.keywordList.className = "listHide";
			}
		
			//ÇöÀç »óÅÂ°ª º¯°æ
			nowStatus = "on";
		}else{
			this.keywordList.className = "notUsed";
			this.keywordList.innerHTML = "<b>°Ë»öÀÚµ¿¿Ï¼º</b>À» »ç¿ëÇØ º¸¼¼¿ä.<br>ÀÚµ¿À¸·Î ÀûÇÕÇÑ Å°¿öµå¸¦ Á¦½ÃÇÕ´Ï´Ù.";
			
			this.keywordBody.style.display = "block";
			this.autoSkeyStatus.style.backgroundImage = "url(/images/head/fulldown_close_on.gif)";
			nowStatus = "ox";
		}
	}
	
	//°Ë»ö ÀÚµ¿¿Ï¼º ´Ý±â
	autoKeyword.prototype.closeKeyList = function(){
		this.keywordBody.style.display = "none";
		this.autoSkeyStatus.style.backgroundImage = "url(/images/head/fulldown_open_on.gif)";
		nowStatus = "off";
	}
	
	//°Ë»ö ÀÚµ¿¿Ï¼º ³»¿ë »èÁ¦
	autoKeyword.prototype.clearList = function(){
		this.keyCode = null;
		this.nkeyBodynum = -1;
		this.keywordList.innerHTML = "";
	}
	
	//°Ë»ö ÀÚµ¿¿Ï¼º ¸Þ´º Å¬¸¯
	autoKeyword.prototype.menuChange = function(mType){
		autoKeyword.setCookieFD('fullDownMN', mType);	// ¸Þ´º Á¤º¸ ÄíÅ° set
		
		if(mType == 'rwKey'){
			document.getElementById("autoM").className = "boldM";
			document.getElementById("myM").className = "";
			document.getElementById("autoImg").className = "";
			document.getElementById("myImg").className = "hideImg";
		}else{
			document.getElementById("autoM").className = "";
			document.getElementById("myM").className = "boldM";
			document.getElementById("autoImg").className = "hideImg";
			document.getElementById("myImg").className = "";
		}
		
		var kwd = document.getElementById("kwd").value;

		autoKeyword.getKeyList(0);
		this.keyCode = null;
		this.nkeyBodynum = -1;
		document.getElementById("kwd").focus();
	}
	
	//°Ë»ö ÀÚµ¿¿Ï¼º »ç¿ë¿©ºÎ ¼±ÅÃ
	autoKeyword.prototype.turnUseASK = function(){
		var nUsedstatus = autoKeyword.getCookieFD("useAutoKey");
		
		if(nUsedstatus == "on" || !nUsedstatus){
			document.getElementById("autoUse").innerHTML = "±â´ÉÄÑ±â";
			autoKeyword.setCookieFD("useAutoKey", "off");
			autoKeyword.closeKeyList();
		}else{
			document.getElementById("autoUse").innerHTML = "±â´É²ô±â";
			autoKeyword.setCookieFD("useAutoKey", "on");
			autoKeyword.getKeyList(0);
		}
	}
	
	//°Ë»ö ÀÚµ¿¿Ï¼ºÀ» ÅëÇØ °Ë»ö
	autoKeyword.prototype.autoKeySubmit = function(newKey){
		document.getElementById("kwd").value = newKey;
		document.getElementById("searchSubmit").click();
	}
	
	//°Ë»ö ÀÚµ¿¿Ï¼º È­»ìÇ¥ Å¬¸¯
	this.autoSkeyStatus.onclick = function(){
		var nUsedstatus = autoKeyword.getCookieFD("useAutoKey");
		
		if(nowStatus == "off"){
			if(nUsedstatus == "on" || !nUsedstatus){
				autoKeyword.getKeyList(0);
			}else{
				autoKeyword.openKeyList();
			}
		}else{
			autoKeyword.clearList();
			autoKeyword.closeKeyList();
		}
	}
	
	document.documentElement.onmousedown = function(e){
		if(nowStatus == "on"){
			var e=e?e:window.event;
		
			var nClickObj;
			var loadObj;
			
			if (e.srcElement){
				nClickObj=e.srcElement;
			} else if (e.target){
				nClickObj=e.target;
			}
			
			if(nClickObj.id.indexOf("autoSkey") != 0 && nClickObj.id.indexOf("autoSkeyList") != 0 && nClickObj.id.indexOf("autoSkeyMenu") != 0 && nClickObj.id.indexOf("autoUse") != 0 && nClickObj.id.indexOf("autoMenuTab") != 0 && nClickObj.id.indexOf("autoM") != 0 && nClickObj.id.indexOf("myM") != 0 && nClickObj.id.indexOf("autoMlink") != 0 && nClickObj.id.indexOf("myMlink") != 0 && nClickObj.id.indexOf("autoUselink") != 0 && nClickObj.id.indexOf("kwd") != 0){
				autoKeyword.clearList();
				autoKeyword.closeKeyList();
			}
		}
	}
}
//-->
