use_flag = 'Y';
focus_flag = 'Y';

if (navigator.userAgent.indexOf("Safari") > 0){
	isSafari = true;
	isMoz = false;
	isIE = false;
}
else if (navigator.product == "Gecko"){
	isSafari = false;
	isMoz = true;
	isIE = false;
}
else{
	isSafari = false;
	isMoz = false;
	isIE = true;
}

function liveUpdater(uriFunc, postFunc){
	var request = false;
	var regex = /<(\w+).*?id="([\w-]+)".*?>((.|\n)*)<\/\1>/;
	
	if (window.XMLHttpRequest){
		request = new XMLHttpRequest();
	}
	
	function update(){
		if(request && request.readyState < 4) {
			request.abort();
		}
		
		if(!window.XMLHttpRequest) {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		request.onreadystatechange = processRequestChange;
		request.open("GET", uriFunc());
		request.send();
		return false;
	}
	
	function processRequestChange(){
		if(request.readyState == 4) {
			var results = request.responseText;
			
			if(results!="" && use_flag !="N" && focus_flag !="N"){
				document.getElementById("help_forms_result").innerHTML = results;
				postFunc();
			}
		}
	}
	return update;
}

function autocomplete(id, popupId, uri){
	var keyword;
	var inputField = document.getElementById(id);
	var popup = document.getElementById(popupId);
	var options = new Array();
	var current = 0;
	var originalPopupTop = popup.offsetTop;
	
	function constructUri(){
		var separator = "?";
		if(uri.indexOf("?") >= 0)
			separator = "&";
		return uri + separator + "keyword=" + escape(inputField.value);
	}
	
	function hidePopup(){
		popup.style.visibility = 'hidden';
		flag=0;
		if(document.getElementById("help_set").style.visibility == 'visible'){
			document.getElementById("help_set").style.visibility = 'hidden';
		}
	}
	
	function handlePopupOver(){
		removeListener(inputField, 'blur', hidePopup);
	}
	
	function handlePopupOut(){
		if(popup.style.visibility == 'visible'){
			addListener(inputField, 'blur', hidePopup);
		}
	}
	
	function handleClick(e){
		popup.style.visibility = 'hidden';
		keyword = options[current].innerHTML;
		keyword = keyword.replace(/<FONT color=red>/g,"");
		keyword = keyword.replace(/<\/FONT>/g,"");
		inputField.value = keyword;
		inputField.focus();
		flag=0;
	}
	
	function handleOver(e){
		inputField.focus();
		if (eventElement(e).tagName!="FONT") {
			options[current].className = '';
			current = eventElement(e).index;
			options[current].className = 'selected';
		}
	}
	
	function post(){
		current = 0;
		options = popup.getElementsByTagName("li");
		if((options.length > 1) || (options.length == 1 && options[0].innerHTML != inputField.value)){
			setPopupStyles();
			for(var i = 0; i < options.length; i++){
				options[i].index = i;
				addOptionHandlers(options[i]);
			}
		}
		else{
			popup.style.visibility = 'hidden';
			flag=0;
		}
	}
	
	function setPopupStyles(){

		/*°Ë»ö °á°úÃ¢ À§Ä¡ ¼³Á¤ »ó´Ü*/
		if (!document.getElementById("biz_autoplan")) {
			popup.style.top = '67px';
		}
		
		/*°Ë»ö °á°úÃ¢ À§Ä¡ ¼³Á¤ ³ÐÀÌ*/
		popup.style.width = '300px';
		popup.style.padding = '0px 0px 0px 0px';
		
		popup.style.visibility = 'visible';
	}
	
	function addOptionHandlers(option){
		addListener(option, "click", handleClick);
		addListener(option, "mouseover", handleOver);
	}
	
	var updater = liveUpdater(constructUri, post);
	var timeout = false;
	var flag = 0 ;
	
	function start(e) {
		inputField.focus();
		if (timeout)
			window.clearTimeout(timeout);
		
		//up arrow
		if(e.keyCode == 38 && popup.style.visibility == 'visible'){
			if(current > 0){
				options[current].className = '';
				current--;
				options[current].className = 'selected';
				
				keyword = options[current].innerHTML;
				keyword = keyword.replace(/<FONT color=red>/g,"");
				keyword = keyword.replace(/<\/FONT>/g,"");
				inputField.value = keyword;
				options[current].scrollIntoView(false);
			}
			else{
				popup.style.visibility = 'hidden';
				flag=0;
			}
		}
		
		//down arrow
		else if(e.keyCode == 40 && popup.style.visibility == 'visible'){
			if(current < options.length-1){
				if (flag==0){
					keyword = options[current].innerHTML;
					keyword = keyword.replace(/<FONT color=red>/g,"");
					keyword = keyword.replace(/<\/FONT>/g,"");
					inputField.value = keyword;

					options[current].className = 'selected';
					options[current].scrollIntoView(false);
					flag=1;
				}
				else{
					options[current].className = '';
					current++;
					keyword = options[current].innerHTML;
					keyword = keyword.replace(/<FONT color=red>/g,"");
					keyword = keyword.replace(/<\/FONT>/g,"");
					inputField.value = keyword;

					options[current].className = 'selected';
					options[current].scrollIntoView(false);
				}
			}
			else{
				keyword = options[current].innerHTML;
				keyword = keyword.replace(/<FONT color=red>/g,"");
				keyword = keyword.replace(/<\/FONT>/g,"");
				inputField.value = keyword;

				options[current].className = 'selected';
				options[current].scrollIntoView(false);
				flag=1;
			}
		}
		
		//enter or tab
		else if((e.keyCode == 13 || e.keyCode == 9) && popup.style.visibility == 'visible' && options[current].className == 'selected'){
			keyword = options[current].innerHTML;
			keyword = keyword.replace(/<FONT color=red>/g,"");
			keyword = keyword.replace(/<\/FONT>/g,"");
			inputField.value = keyword;

			popup.style.visibility = 'hidden';
			inputField.focus();
			location.href = "http://www.bizforms.co.kr/new_search/search_center.asp?keyword="+inputField.value;
			if(isIE){
				event.returnValue = false;
			}
			else{
				e.preventDefault();
			}
		}
		
		else{
			if (inputField.value.length > 0) {
				timeout = window.setTimeout(updater, 0);
			}
			else{
				popup.style.visibility = 'hidden';
				flag=0;
			}
		}
	}
	
	addListener(popup,'mouseout', handlePopupOut);
	addListener(popup,'mouseover', handlePopupOver);
	addKeyListener(inputField, start);
}

function eventElement(event){
	if(isMoz){
		return event.currentTarget;
	}
	else{
		return event.srcElement;
	}
}

function addKeyListener(element, listener){
	if (isSafari)
		element.addEventListener("keydown",listener,false);
	else if (isMoz)
		element.addEventListener("keypress",listener,false);
	else{
		element.attachEvent("onkeydown",listener);		
	}
}

function addListener(element, type, listener){
	if(element.addEventListener){
		element.addEventListener(type, listener, false);
	}
	else{
		element.attachEvent('on' + type, listener);
	}
}

function removeListener(element, type, listener){
	if(element.removeEventListener){
		element.removeEventListener(type, listener, false);
	}
	else{
		element.detachEvent('on' + type, listener);
	}
}

function getCookie(name) {
	var Found = false;
	var start, end;
	var i = 0;
	
	while(i <= document.cookie.length) {
		start = i;
		end = start + name.length;
		if(document.cookie.substring(start, end) == name) {
			Found = true;
			break;
		}
		i++;
	}
	
	if(Found == true) {
		start = end + 1;
		end = document.cookie.indexOf(";", start);
		if(end < start)
			end = document.cookie.length;
		return document.cookie.substring(start, end);
	}
	
	return "";
}

function delCookie(name) {
	var today = new Date();
	
	today.setTime(today.getTime() - 10);
	
	var value = getCookie(name);
	if(value != "")
	document.cookie = name + "=" + value + "; expires=" + today.toGMTString();
}

function setCookie(name,value,expiredays ){
	var todayDate = new Date();
	todayDate.setDate(todayDate.getDate()+expiredays);
	document.cookie = name+"="+escape(value)+";path=/;expires="+todayDate.toGMTString()+";";
}

function help_off(){
	setCookie("help_forms","off","1");
	use_flag = 'N';
	document.getElementById("help_forms_result").style.visibility = 'hidden';
	if (document.getElementById("help_set").style.visibility == 'visible'){
		document.getElementById("help_set").style.visibility = 'hidden';
		document.getElementById("help_forms_button1").style.visibility = 'visible';
		document.getElementById("help_forms_button2").style.visibility = 'hidden';
	}
	return false;
}

function help_on(){
	delCookie("help_forms");
	use_flag = 'Y';
	document.getElementById("help_forms_result").style.visibility = 'hidden';
	if (document.getElementById("help_set").style.visibility == 'visible'){
		document.getElementById("help_set").style.visibility = 'hidden';
		document.getElementById("help_forms_button1").style.visibility = 'visible';
		document.getElementById("help_forms_button2").style.visibility = 'hidden';
	}
	return false;
}

function hide_result(){
	focus_flag = 'N';
}

function view_result(){
	focus_flag = 'Y';
}

function help_set_on(){
	var temp;
	var link;
	focus_flag = 'N';
	if (getCookie("help_forms") == "off"){
		link="<a href='#s' onclick='help_on();'>±â´ÉÄÑ±â</a>";
	}
	else{
		link="<a href='#s' onclick='help_off();'>±â´É²ô±â</a>";
	}
	
	temp = "<table width='300' border='0' cellspacing='0' cellpadding='1' bgcolor='#FBC08A'><tr><td>  <table width='100%' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF'><tr><td height='50'>&nbsp;</td></tr><tr><td height='25px' bgcolor='#fbf4ee'><table width='96%' border='0' cellspacing='0' cellpadding='0'><tr><td width='50%'></td><td width='50%'><div align='right' class='menu'><font color='#336666'>"+link+"</font></div></td></tr></table></td></tr></table></td></tr></table>"
	
	if (document.getElementById("keyword").value.length==0){
		document.getElementById("help_set").style.visibility = 'visible';
		document.getElementById("help_forms_result").style.visibility = 'hidden';
		document.getElementById("help_forms_button1").style.visibility = 'hidden';
		document.getElementById("help_forms_button2").style.visibility = 'visible';
		document.getElementById("help_set").innerHTML = temp;
	}
	else{
		if (getCookie("help_forms") == "off"){
			document.getElementById("keyword").focus();
			document.getElementById("help_set").style.visibility = 'visible';
			document.getElementById("help_forms_result").style.visibility = 'hidden';
			document.getElementById("help_forms_button1").style.visibility = 'hidden';
			document.getElementById("help_forms_button2").style.visibility = 'visible';
			document.getElementById("help_set").innerHTML = temp;
		}
		else{
			document.getElementById("help_forms_result").style.visibility = 'visible';
			document.getElementById("keyword").focus();
		}
	}
}

function help_set_off(){
	document.getElementById("keyword").focus();
	document.getElementById("help_set").style.visibility = 'hidden';
	document.getElementById("help_forms_button1").style.visibility = 'visible';
	document.getElementById("help_forms_button2").style.visibility = 'hidden';
}