var MINI_SEARCHBOX;					// °Ë»ö¹Ú½º
var MINI_SEARCHBOX_REQUEST;			// °Ë»ö¾î ÀÚµ¿¿Ï¼º °á°ú
var SELECT_BGCOLOR = "#87cefa";		// ¼±ÅÃÇÑ BGColor
var UNSELECT_BGCOLOR = "#ffffff";	// Un ¼±ÅÃÇÑ BGColor
var COMPLETE_ROW_HEIGHT = 20;		// °Ë»ö¾î ÀÚµ¿¿Ï¼º ROW ³ôÀÌ
var IsSubmit = 0;

// °Ë»öÃ¢ À§Ä¡ ±¸Á¶Ã¼
function POSISION_POINT(iX, iY)
{
	this.x = iX;
	this.y = iY;
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ ÃÊ±âÈ­
function MINI_SEARCHBOX_Initialize(SEARCHBOX_ELEMENT_ID)
{
	var NEW_XML_COMPLETE_WORD = document.createElement('<div id="XML_COMPLETE_WORD" style="display:none;position:absolute;z-index:1; overflow:auto;" align="left"></div>')
	document.body.insertBefore(NEW_XML_COMPLETE_WORD);
	
	MINI_SEARCHBOX = document.getElementById(SEARCHBOX_ELEMENT_ID);
	MINI_SEARCHBOX.autocomplete = "off";
	MINI_SEARCHBOX.onkeydown  = MINI_SEARCHBOX_KEYDOWN;
	MINI_SEARCHBOX.onkeyup = MINI_SEARCHBOX_SEND_QUERY;
	window.onresize = SET_MINI_SEARCHBOX_POSITION;
	
	// °Ë»ö¹Ú½º ³ÐÀÌ¸¸Å­...
	document.getElementById("XML_COMPLETE_WORD").style.width = MINI_SEARCHBOX.offsetWidth;
	
	SET_MINI_SEARCHBOX_POSITION();
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ À§Ä¡¼³Á¤.
function SET_MINI_SEARCHBOX_POSITION()
{
	if(document.getElementById("XML_COMPLETE_WORD") != null)	
	{
		var p = GET_POSITION(MINI_SEARCHBOX);
			
		document.getElementById("XML_COMPLETE_WORD").style.left = p.x;
		document.getElementById("XML_COMPLETE_WORD").style.top = p.y + MINI_SEARCHBOX.offsetHeight;	
	}
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ ³ôÀÌ Á¶Àý
function SET_MINI_SEARCHBOX_HEIGHT()
{	
	var SearchCnt = document.getElementById("MINI_SEARCHBOX_COMPLETE_WORD_TABLE").rows.length;	
	var h = (COMPLETE_ROW_HEIGHT*SearchCnt) + 25;
	
	if(h > 145) h = 145;
	
	document.getElementById("XML_COMPLETE_WORD").style.height = h;
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ ROW¼±ÅÃ
function SET_MINI_SEARCHBOX_COMPLETE_ROW_SELECT(row)
{
	row.style.backgroundColor = SELECT_BGCOLOR;
	COMPLETE_WORD_SELECTED(row.getElementsByTagName("span").item(0).innerText);
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ ROW¼±ÅÃ ÇØÁ¦
function SET_MINI_SEARCHBOX_COMPLETE_ROW_UNSELECT(row)
{
	row.style.backgroundColor = UNSELECT_BGCOLOR;
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ ¿­±â
function MINI_SEARCHBOX_SHOW(objPop)
{
	objPop.style.display = "block";
	SET_MINI_SEARCHBOX_HEIGHT();
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ ´Ý±â
function MINI_SEARCHBOX_HIDE(objPop)
{
	objPop.style.display = "none";
}

// ÀÚµ¿¿Ï¼º °Ë»ö¾î ¼±ÅÃ½Ã
function COMPLETE_WORD_SELECTED(selectWord)
{
	MINI_SEARCHBOX.value = selectWord;
}

// ÀÚµ¿¿Ï¼º °Ë»ö¾î Å¬¸¯½Ã
function COMPLETE_WORD_CLICK(selectWord)
{	
	COMPLETE_WORD_SELECTED(selectWord);
	if(MINI_SEARCHBOX.value != "")
	{
		MINI_SEARCHBOX_HIDE(document.getElementById("XML_COMPLETE_WORD"));
		parent.prodSearchForm.submit();		
	}
}

function MINI_SEARCHBOX_KEYDOWN()
{

	// ESC Å° ÀÏ°æ¿ì, °Ë»ö¾îÀÚµ¿¿Ï¼ºÃ¢ ´Ý°í Á¾·á
	if (event.keyCode == 27)
	{
		MINI_SEARCHBOX_HIDE(document.getElementById("XML_COMPLETE_WORD"));
		return;
	}


	// È­»ìÇ¥ À§/¾Æ·¡ Å°°¡ ¾Æ´Ò°æ¿ì, Á¾·á
	if (event.keyCode != 38 && event.keyCode != 40)
	{
		return;
	}
	

	var COMPLETE_WORD_LAYER =  document.getElementById("MINI_SEARCHBOX_COMPLETE_WORD_LAYER");
	var COMPLETE_WORD_TABLE =  document.getElementById("MINI_SEARCHBOX_COMPLETE_WORD_TABLE");	
	var SELECTED_INDEX = -1;
	var MAXROW = COMPLETE_WORD_TABLE.rows.length -1;
	
	
	for(var i = 0;i < COMPLETE_WORD_TABLE.rows.length; i++)
	{
		// ÇöÀç¼±ÅÃµÈ Row
		if( COMPLETE_WORD_TABLE.rows(i).style.backgroundColor == SELECT_BGCOLOR)
		{
			SELECTED_INDEX = i;
		}
	}
	
	// ¼±ÅÃµÈ °ÍÀÌ ¾øÀ» °æ¿ì..
	if(SELECTED_INDEX == -1)
	{
		SET_MINI_SEARCHBOX_COMPLETE_ROW_SELECT(COMPLETE_WORD_TABLE.rows(0));
		return;
	}
	
	if (event.keyCode == 40)								// ARROW DOWN KEY
	{
		if( SELECTED_INDEX ==0)
			MINI_SEARCHBOX_SHOW(document.getElementById("XML_COMPLETE_WORD"));
				
				
		// ¼±ÅÃµÈ ÇàÀÌ ÃÖ´ë°³¼öº¸´Ù ÀÛÀ»°æ¿ì´Â ¾Æ·¡·Î ÀÌµ¿°¡´É
		if(SELECTED_INDEX < MAXROW)
		{
			// Ã¹ÇàÀÌ ¾Æ´Ò°æ¿ì, ÀÌÀüÇà ÃÊ±âÈ­
			SET_MINI_SEARCHBOX_COMPLETE_ROW_UNSELECT(COMPLETE_WORD_TABLE.rows(SELECTED_INDEX));
			
			// ¼±ÅÃµÈ ÇàÀ» Áõ°¡½ÃÅ²´Ù.			
			SELECTED_INDEX++;
			
			// ´ÙÀ½ÇàÀ» ÇÏÀÌ¶óÀÌÆ® ½ÃÅ²´Ù.
			SET_MINI_SEARCHBOX_COMPLETE_ROW_SELECT(COMPLETE_WORD_TABLE.rows(SELECTED_INDEX));
		}		
	}
	
	if (event.keyCode == 38) 							// ARROW UP KEY
	{
		if( SELECTED_INDEX ==0)
			MINI_SEARCHBOX_HIDE(document.getElementById("XML_COMPLETE_WORD"));
		
		
		// ¼±ÅÃµÈ ÇàÀÌ Ã¹¹øÂ° Çàº¸´Ù Å¬°æ¿ì..
		if(SELECTED_INDEX > 0)
		{			
			// Ã¹ÇàÀÌ ¾Æ´Ò°æ¿ì, ÀÌÀüÇà ÃÊ±âÈ­
			SET_MINI_SEARCHBOX_COMPLETE_ROW_UNSELECT(COMPLETE_WORD_TABLE.rows(SELECTED_INDEX));
			
			// ¼±ÅÃµÈ ÇàÀ» Áõ°¡½ÃÅ²´Ù.			
			SELECTED_INDEX--;
			
			// ´ÙÀ½ÇàÀ» ÇÏÀÌ¶óÀÌÆ® ½ÃÅ²´Ù.
			SET_MINI_SEARCHBOX_COMPLETE_ROW_SELECT(COMPLETE_WORD_TABLE.rows(SELECTED_INDEX));
		}
	}
	// ½ºÅ©·Ñ Ã³¸®;
	COMPLETE_WORD_LAYER.scrollTop = SELECTED_INDEX * COMPLETE_ROW_HEIGHT;
	
	// °Ë»ö¾î¹Ú½º·Î Æ÷Ä¿½ºÀÌµ¿
	MINI_SEARCHBOX.focus();	
}


// °Ë»ö¾î ÀÚµ¿¿Ï¼º DATA ¿äÃ»
function MINI_SEARCHBOX_SEND_QUERY()
{
	
	var pram = MINI_SEARCHBOX.value;
	
	// ESC Å° ÀÏ°æ¿ì, °Ë»ö¾îÀÚµ¿¿Ï¼ºÃ¢ ´Ý°í Á¾·á
	if (event.keyCode == 27 || pram == "")
	{
		MINI_SEARCHBOX_HIDE(document.getElementById("XML_COMPLETE_WORD"));
		return;
	}

	if (event.keyCode == 38 || event.keyCode == 40) return;
	
	if (event.keyCode == 229) return;

	MINI_SEARCHBOX_REQUEST = createHttpRequest()
	MINI_SEARCHBOX_REQUEST.onreadystatechange = function() {
		if( MINI_SEARCHBOX_REQUEST.readyState == 4 ) 
		{
					// 0 : open() ¸Þ¼­µå ¼öÇà Àü
					// 1 : ·Îµù(Loading) ÁßÀÎ »óÅÂ(send() ¼öÇà Àü)
					// 2 : ·Îµù ¿Ï·á(¼­¹ö°¡ Request¸¦ ¹ÞÀº »óÅÂ)
					// 3 : ¼­¹ö°¡ Ã³¸® ÁßÀÎ »óÅÂ
					// 4 : ¼­¹öÃ³¸® ¿Ï·á
			if (MINI_SEARCHBOX_REQUEST.responseBody != null) 
			{	
				document.getElementById("XML_COMPLETE_WORD").innerHTML = MINI_SEARCHBOX_REQUEST.responseText;
				MINI_SEARCHBOX_SHOW(document.getElementById("XML_COMPLETE_WORD"));
			}
		}
	}
	MINI_SEARCHBOX_REQUEST.open("GET","/UBUserControl/CompleteSearchWord/searching.asp?sword="+pram,true);
	//MINI_SEARCHBOX_REQUEST.setCharacterEncoding("utf-8"); 
	MINI_SEARCHBOX_REQUEST.send("");
}

// °Ë»ö¾î ÀÚµ¿¿Ï¼ºÃ¢ À§Ä¡ ¹ÝÈ¯.
function GET_POSITION(obj)
{
	var oTmp = obj;
	var pt = new POSISION_POINT(0,0);
	do 
	{
		pt.x += oTmp.offsetLeft;
		pt.y += oTmp.offsetTop;
		oTmp = oTmp.offsetParent;
	} while(oTmp.tagName!="BODY");
	
	return pt;
}


////
// µ¿ÀÛ°¡´ÉÇÑ ºê¶ó¿ìÀú ÆÇÁ¤
//
// @sample        if(chkAjaBrowser()){ location.href='nonajax.htm' }
// @sample        oj = new chkAjaBrowser();if(oj.bw.safari){ /* Safari ÄÚµå */ }
// @return        ¶óÀÌºê·¯¸®°¡ µ¿ÀÛ°¡´ÉÇÑ ºê¶ó¿ìÀú¸¸ true  true|false
//
//  Enable list (v038ÇöÀç)
//   WinIE 5.5+ 
//   Konqueror 3.3+
//   AppleWebKit°è(Safari,OmniWeb,Shiira) 124+ 
//   Mozilla°è(Firefox,Netscape,Galeon,Epiphany,K-Meleon,Sylera) 20011128+ 
//   Opera 8+ 
//
function chkAjaBrowser()
{
  var a,ua = navigator.userAgent;
  this.bw= { 
    safari    : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 ,
    konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 ,
    mozes     : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 ,
    opera     : (!!window.opera) && ((typeof XMLHttpRequest)=='function') ,
    msie      : (!!window.ActiveXObject)?(!!createHttpRequest()):false 
  }
  return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
}


////
// XMLHttpRequest ¿ÀºêÁ§Æ® »ý¼º
//
// @sample        oj = createHttpRequest()
// @return        XMLHttpRequest ¿ÀºêÁ§Æ®(ÀÎ½ºÅÏ½º)
//
function createHttpRequest()
{
  if(window.ActiveXObject){
     //Win e4,e5,e6¿ë
    try {
      return new ActiveXObject("Msxml2.XMLHTTP") ;
    } catch (e) {
      try {
        return new ActiveXObject("Microsoft.XMLHTTP") ;
      } catch (e2) {
        return null ;
      }
    }
  } else if(window.XMLHttpRequest){
     //Win Mac Linux m1,f1,o8 Mac s1 Linux k3¿ë
    return new XMLHttpRequest() ;
  } else {
    return null ;
  }
}

