Event.observe(window, 'load', function(){
	if($("search_data_user_input")){
		Event.observe("search_data_user_input","focus",search_module.check_count_create);
		Event.observe("search_data_user_input","blur",search_module.check_count_destory);
	}
});

var Mouse_Event_Module = {
	user_mouse_over : function(id){
		
		search_module.countTimer.stop();
		search_module.endButton = '';
		
		if(search_module.listChecked>=0)$("search_name_"+search_module.listChecked).style.backgroundColor=search_module.non_selected_color;
		$("search_name_"+id).style.backgroundColor=search_module.selected_color;
		$("search_data_user_input").value = $("search_name_"+id).firstChild.nodeValue;
		search_module.listChecked = id;
	},

	user_mouse_out : function(id){
		$("search_name_"+id).style.backgroundColor=search_module.non_selected_color;
	},

	user_mouse_click : function(id){
		$("search_data_user_input").value = $("search_name_"+id).firstChild.nodeValue;
		searchsubmit();
	}
}

var search_module = { //Ã£±â¿¡ °üÇÑ ±â´É ¸ðÀ½
	endButton : '',//Å¸ÀÌ¸Ó Áßº¹ µ¿ÀÛ ¹æÁö 
	flag:"N",	//·¹ÀÌ¾î °¨Ãã º¸ÀÌ±â ¿©ºÎ
	listChecked : -1, //ÇöÀç ¸®½ºÆ® Ã¼Å©
	Total_list_count:0, //Á¦½Ã¾î ÀüÃ¼ °Ë»ö ¼ö·®

	selected_color:"", //¼±ÅÃµÈ »ö»ó 
	non_selected_color:"",//¼±ÅÃµÇÁö ¾ÊÀº »ö»ó 
	table_font_color:"",//±Û²Ã »ö»ó

	URL_set:"/include/search_ajax/action/search_xml_parser.php",

	request_form_data : function(){ //Äõ¸® Àü¼Û 
		
		if(search_module.flag=="N"){
			search_module.flag="Y";
			$("list_show").style.display="block";
		}

		var search_data_user_input = $("search_data_user_input").value;
		var param = "goodsoption="+encodeURIComponent(search_data_user_input); //UTF8 ÀÎÄÚµù º¯°æ Àü¼Û

		var URL = search_module.URL_set;
		new Ajax.Request(URL,{
			method : "post",
			encoding : "euc-kr",
			postBody : param,
			contentType: "application/x-www-form-urlencoded",
			onComplete : function(xmlhttp){
				search_module.name_find(xmlhttp.responseXML);
			}
		});
	},
	
	key_check_Action: function(event){//Å° ÀÔ·Â ÀÌº¥Æ®°¡ ¹ß»ý ÇÏ¿´À» °æ¿ì 
		var scroll_height_term = 20;  //ÇÑ°³ÀÇ td - height °ª
		var scroll_list_number = 4;  //Ç¥½ÃµÇ´Â ÃÖ´ë ¸®½ºÆ® °¹¼ö
		var next_list_num = 0;

		if(search_module.Total_list_count!=0){
			if(event.keyCode == 40){//¡å
				search_module.countTimer.stop();
				search_module.endButton = '';
				if(search_module.listChecked != (search_module.Total_list_count - 1)) {	
					if(search_module.listChecked >= 0) $("search_name_"+search_module.listChecked).style.backgroundColor=search_module.non_selected_color;
					search_module.listChecked++;
					$("search_name_"+search_module.listChecked).style.backgroundColor=search_module.selected_color;

					if( search_module.listChecked > 0 && (search_module.listChecked % scroll_list_number) == 0) { //´ÙÀ½¸®½ºÆ® ·Î ÀÌµ¿
						if((search_module.Total_list_count - (search_module.listChecked+1)) >= scroll_list_number) next_list_num = scroll_list_number;
						else next_list_num = search_module.Total_list_count - search_module.listChecked;
						
						$("list_show").style.height = next_list_num * scroll_height_term;
						$("list_show").scrollTop = search_module.listChecked * scroll_height_term;
					}
				}
				$("search_data_user_input").value = $("search_name_"+search_module.listChecked).firstChild.nodeValue;
				
			}else if(event.keyCode == 38){//¡ã
				search_module.countTimer.stop();
				search_module.endButton = '';
				if(search_module.listChecked != 0) {
					if(search_module.listChecked >=0) $("search_name_"+search_module.listChecked).style.backgroundColor=search_module.non_selected_color;
					if(search_module.listChecked >=0)search_module.listChecked--;
					$("search_name_"+search_module.listChecked).style.backgroundColor=search_module.selected_color;
					
					
					if( search_module.listChecked > 0 && (search_module.listChecked % scroll_list_number) == 3) {
						$("list_show").scrollTop = (search_module.listChecked - 3) * scroll_height_term;
						$("list_show").style.height = 80;
					}
				}
				$("search_data_user_input").value = $("search_name_"+search_module.listChecked).firstChild.nodeValue;
			}else if(event.keyCode == 32){
				
			}else{
				search_module.check_count_create();
				search_module.listChecked = -1;
			}
		}
	},

	check_count_create : function(){ //Å¸ÀÌ¸Ó »ý¼º 0.8 ÃÊ ´ÜÀ§ ÅØ½ºÆ® ÀÔ·Â °Ë»ç 
		if(!search_module.endButton){
				search_module.countTimer = new PeriodicalExecuter(search_module.text_input_check,0.8);
		}
		search_module.endButton = true;
	},
	
	text_input_check : function(){//ÅØ½ºÆ® ÀÔ·ÂÀÌ µé¾î ¿ÂÁö Ã¼Å© ÇÑ´Ù.
		if($("search_data_user_input").value != "") search_module.request_form_data();
	},

	check_count_destory : function(){ //Æ÷Ä¿½º¸¦ ¹þ¾î³ª¸é Å¸ÀÌ¸Ó ÆÄ±«
	if(search_module.flag=="Y" && $("search_data_user_input").value==''){
		search_module.flag="N";
		$("list_show").style.display="none";
	}
		search_module.countTimer.stop();
		search_module.endButton = '';
	},

	name_find : function(xml){ //Äõ¸® °á°ú ÄÝ¹é 
		$("list_show").innerHTML = "";
		var outHtml = '';
		lists = xml.getElementsByTagName("lists")[0];
		names = lists.getElementsByTagName("name");
		outHtml = "<table width='100%' border='0' cellpadding='0' cellspacing='0' style='table-layout:fixed;' bgcolor='"+search_module.non_selected_color+"'>";

		search_module.Total_list_count=names.length; //Àü¿ªº¯¼ö¿¡ ÀüÃ¼ ¸®½ºÆ® ¼ö 

		if(names.length > 0){
			for(var index=0; index<names.length; index++){
				//var search_count = names[index].getAttribute("search_count");
				var search_name = names[index].firstChild.nodeValue;
				outHtml += "<tr onmouseover='javascript:Mouse_Event_Module.user_mouse_over(\""+index+"\")'"
						+ "onmouseout='Mouse_Event_Module.user_mouse_out(\""+index+"\")' onclick=Mouse_Event_Module.user_mouse_click(\""+index+"\")>"
						+ "<td width='100%' height='20' nowrap ><font color='"+search_module.table_font_color+"'>"
						+"<span id=search_name_"+index+">"+search_name+"</span></font></td></tr>";
			}
		}else{
			outHtml += "<table>";
		}
		outHtml += "</table>";
		$("list_show").innerHTML = outHtml;
	}
}