// °Ë»ö¾î ÀÚµ¿¿Ï¼º ½ºÅ©¸³Æ®
function getCookie_ ( name )
{
	var nameOfCookie = name + "=";
	var x = 0;
	while ( x <= document.cookie.length )
	{
		var y = (x+nameOfCookie.length);
		if ( document.cookie.substring( x, y ) == nameOfCookie ) {
			if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
				endOfCookie = document.cookie.length;

			return unescape( document.cookie.substring( y, endOfCookie ) );
		}

		x = document.cookie.indexOf( " ", x ) + 1;
		if ( x == 0 )
			break;
	}

	return "";
}

var Td_;
var Ip_;
var top_position_;
var left_position_;
var wi_int_;
var bak_="",old_="" ;
var table_width_;

function setDefaultAutoComplete_ (objTextBox, valTopPosition, valLeftPosition, valTableWidth, valTimeout) {
	Ip_ = objTextBox;
	top_position_ = valTopPosition;
	left_position_ = valLeftPosition;
	table_width_ = valTableWidth;
	wi_int_ = valTimeout;
	bak_=old_=Ip_.value;
}

 var g_ie5_=0;
 function get_nav_() {
	var ver=navigator.appVersion ;
	 if (navigator.appName.indexOf("Microsoft")!=-1 && ver.indexOf("MSIE 4")==-1 && ver.indexOf("MSIE 3")==-1) {
		if (ver.indexOf("MSIE 5.0")!=-1)
			g_ie5_=1;
		return 1;
	 } else if (navigator.appName.indexOf("Netscape")!=-1) return 2;
			else return 0;
 }

 function chk_rt_(t_) {
		if (t_!=1) return 0;
		try {
			Td_=top.document;
		} catch (e) {
			return 0;
		}
		return 1;
 }

 var t_=get_nav_();
 var c_=chk_rt_(t_);
 var m_on_=0,m_now_=0,s_now_=0,shl_=0,a_now_=0,a_on_=0,arr_on_=0,frm_on_=0 ;
 var cn_use_="use_ac" ;
 var B_="block",I_="inline",N_="none",UD_="undefined" ;
 var qs_ac_list_="",qs_ac_id_="",qs_q_="",qs_m_=0,qs_ac_len_=0, qs_ac_cnt_list_ = "";
 var acuse_=getCookie_ (cn_use_);
 if (acuse_=="") acuse_=1;
 var cc_= new Object() ;

 if (t_==1 && c_==1) {
	function wd_() {
		 var a = top_position_;
		 var b = left_position_;
		 ac_body_.style.top = a;
		 ac_body_.style.left = b;
		 ac_table_.style.width = table_width_;

		if (acuse_==1) Ip_.autocomplete = "off" ;
		else if (acuse_==0) Ip_.autocomplete = "on" ;
		Ip_.onclick = req_ipc_ ;
		Ip_.onblur = dis_p_ ;
		Td_.body.onclick = dis_p_;
	}

	 var dnc_=0;
	 function req_ipc_() {
		dnc_=1;
		frm_on_=0;
		req_ac2_(1) ;
	 }

	 function dis_p_() {
		 if (dnc_) {
			 dnc_=0;
			return ;
		}
		if (arr_on_) {
			return ;
		}
		if (frm_on_) {
			return ;
		}
		alw=0 ;
		ac_hide_() ;
	 }

	 function req_ac2_(me) {
		 if (Ip_.value == "" || acuse_==0 ) return ;
		 if (a_on_ && dnc_) {
			ac_hide_() ;
			return ;
		}
		var o = get_cc_(me) ;
		 if (o && o[1][0] != "" ) ac_show_(o[0], o[1], o[2], me, o[3]) ;
		 else reqAC_(me) ;
	 }

	 var _req_ = null;
	 function get_req_() {
		 if(_req_ && _req_.readyState!=0) {
			 _req_.abort() ;
		 }
		 try {
			 _req_ = new ActiveXObject("Msxml2.XMLHTTP") ;
		 } catch (e) {
			 try {
				 _req_ = new ActiveXObject("Microsoft.XMLHTTP") ;
			 } catch (e) {
				 _req_ = false ;
			 }
		}
		if (!_req_ && typeof XMLHttpRequest!=UD_) _req_ = new XMLHttpRequest() ;
		return _req_ ;
	 }

	 function showAC_() {
		 if (_req_.readyState==4 && _req_.responseText && _req_.status==200) {
			 eval(_req_.responseText) ;
			 set_cc_(qs_q_, qs_ac_list_, qs_ac_id_, qs_m_, qs_ac_cnt_list_) ;
			 ac_show_(qs_q_, qs_ac_list_, qs_ac_id_, qs_m_, qs_ac_cnt_list_) ;
		 }
	 }

	 function reqAC_(me) {
		 var sv ;
		 var ke=trim_space_(Ip_.value, me) ;
		 ke = ke.replace(/ /g, "%20") ;
		 if (ke == "") {
			 ac_hide_() ;
			 return ;
		 }

       var lastChar = ke.charAt (ke.length - 1);
       if (lastChar >= '¤¡' && lastChar <= '¤¾') {
          ac_hide_ ();
          return;
       }

		 sv = "/jsp/get_ac2.jsp?p=" + me + "&q=" + ke ;
		 _req_ = get_req_() ;
		 if (_req_) {
			 _req_.open("GET", sv, true) ;
			 _req_.onreadystatechange = showAC_ ;
		 }
		 try {
			 _req_.send() ;
		 } catch (e) {
			 return 0 ;
		 }
	 }

	 function ac_show_(aq, al, ai, am, alcnt) {
		 if (aq && aq!="" && aq!=trim_space_(Ip_.value, am)) return ;
		 qs_q_ = aq ;
		 qs_m_ = am ;
		 qs_ac_list_ = al ;
		 qs_ac_cnt_list_ = alcnt;
		 qs_ac_id_ = ai ;
		 qs_ac_len_ = qs_ac_list_.length;
		 var h = (qs_ac_len_ > 4) ? 4 : qs_ac_len_ ;
		 h = h * 19 ;

		 print_ac_() ;

		 if (qs_ac_list_[0] == "" && (qs_m_==1 || qs_m_==2)) {
			 qs_ac_len_=1;
			 h=19;
			 if (qs_ac_list_[0] == "") h = h + 19;
		 }
		 scrol_.style.height = h + 4;
		 if (qs_ac_len_) {
			 h+=41;
			 a_on_=1;
		 } else {
			 a_on_=0;
		 }
		 ac_body_.width = 330 ;
		 ac_body_.height = h ;
		 ac_table_.style.width = table_width_;

		 ac_body_.style.display = B_;
		 if (a_on_) {
			 set_acpos_(0);
			 scrol_.scrollTop=0;
			 Ip_.onkeydown = ackhl_;
		 }
	 }

	 function set_acpos_(v) {
		a_now_ = v;
		setTimeout('set_ahl_();', 10);
	 }

	 function set_ahl_() {
		 if (!a_on_) return;
		 var o1, o2;
		 for (i=0;  i<qs_ac_len_; i++) {
			o1 = eval('ac' + (i+1) + '_');
			if ((i+1) == a_now_) o1.style.backgroundColor = '#DDECCC';
			else o1.style.backgroundColor = '';
		}
	 }

	 var max_row_=4;
	 function ackhl_() {
		 var e=top.window.event ;
		 var o1, o2 ;
		 if (e.keyCode==39) {
			 req_ac2_(1) ;
		 }
		 if (e.keyCode==40 || (e.keyCode==9 && !e.shiftKey)) {
			 if (m_on_) return ;
			 if (!a_on_) {
				 req_ac2_(1) ;
				 return ;
			}
			if (a_now_ < qs_ac_len_) {
				if (a_now_ == 0) bak_ = Ip_.value ;
				a_now_++ ;
				if (a_now_ > max_row_) scrol_.scrollTop = parseInt((a_now_-1)/max_row_)*max_row_*19 ;
				 o1 = eval('ac' + a_now_ + '_') ;
				 o2 = eval('acq' + a_now_ + '_') ;
				 old_ = Ip_.value = o2.outerText ;
				 Ip_.focus() ;
				 set_ahl_() ;
				 e.returnValue = false;
			 }
		 }
		 if (a_on_ && (e.keyCode==38 || (e.keyCode==9 && e.shiftKey))) {
			 if (!a_on_) return ;
			 if (a_now_ <= 1) {
				 ac_hide_() ;
				 old_ = Ip_.value = bak_ ;
			 }
			 else {
				 a_now_-- ;
				 if ((qs_ac_len_-a_now_)+1 > max_row_) scrol_.scrollTop = (qs_ac_len_-(parseInt((qs_ac_len_-a_now_)/max_row_)+1)*4)*19 ;
				 o1 = eval('ac'+ a_now_ + '_') ;
				 o2 = eval('acq' + a_now_ + '_') ;
				 old_ = Ip_.value = o2.outerText ;
				 Ip_.focus() ;
				 set_ahl_() ;
				 e.returnValue = false ;
			 }
		 }
	 }

	 function print_ac_() {
		 if (qs_ac_list_[0] == "") {
			 scrol_.innerHTML = get_ac0_() ;
		 }
		 else {
			 scrol_.innerHTML = get_aclist_() ;
		 }
		 ac_body_.style.display = B_ ;
		 setTimeout('set_ahl_();', 10) ;
	 }

	 function get_aclist_() {
		 var d="",ds="",l=0,s="" ;
		 var dscnt = 0;
		 if (qs_ac_list_[0] != "") {
			 s += "<table width=95% border=0 cellspacing=0 cellpadding=0>" ;
			 for (i=0; i<qs_ac_len_; i++) {
				 ds = d = qs_ac_list_[i];
				 dscnt = qs_ac_cnt_list_[i];
				 l = js_strlen_(d);
				 if (l > 40) ds = js_substring_(d, 0, 40) + "..." ;
				 s += "<a href='javascript:get_re_search2();'>" ;
				 s += "<tr id='ac" + (i+1) + "_' onmouseover=\"set_acpos_('" + (i+1) + "')\" onmouseout=\"set_acpos_(0); \" onclick=\"set_acinput_('" + (i+1) + "')\" style=\"this.style.backgroundColor=''\">" ;
				 s += "<td class=black>¤ý" + ds + "</font></td>" ;
				 s += "<td align=right><font color=#8489A>" + dscnt + "È¸</font></td>" ;
				 s += "</tr></a>" ;
				 s += "<span id='acq" + (i+1) + "_' style='display:none'>" + d + "</span>" ;
			 }
			 s += "</table>" ;
		 }

		 return s ;
	 }

	 function set_acinput_(v) {
		 if (!a_on_) return ;
		 var o = eval('acq' + a_now_ + '_') ;
		 old_ = Ip_.value = o.outerText ;
		 Ip_.focus() ;
		 ac_hide_() ;
	 }

	 function get_ac0_() {
		 var s="",ment="" ;
		 if (qs_m_==1) ment="ÇØ´ç ´Ü¾î·Î ½ÃÀÛÇÏ´Â<br>&nbsp;&nbsp;&nbsp;ÃßÃµ¾î°¡ ¾ø½À´Ï´Ù";
		 else if (qs_m_==2) ment="ÇØ´ç ´Ü¾î·Î ³¡³ª´Â<br>&nbsp;&nbsp;&nbsp;ÃßÃµ¾î°¡ ¾ø½À´Ï´Ù";
		 s += "<table width=95% border=0 cellspacing=0 cellpadding=0>" ;
		 s += "<tr id=ac1_ onmouseover=\"set_acpos_(1); \" onmouseout=\"set_acpos_(0); \" style=\"backgroundColor=''\">" ;
		 s += "<td height=18 align=left>¤ý<font color=#000000>" + ment + "</td></tr>" ;
		 s += "</table>" ;
		 s += "<span id=acq1_ style='display:none'>" + old_ + "</span>" ;
		 return s ;
	 }

	 function js_strlen_(s) {
		 var i,l=0;
		 for (i=0; i<s.length; i++)
			 if (s.charCodeAt(i) > 127) l+=2;
			 else l++;
		 return l;
	 }

	 function js_substring_(s, start, len) {
		 var i,l=0;d="" ;
		 for (i=start; i<s.length && l<len; i++) {
			 if (s.charCodeAt(i) > 127) l+=2 ;
			 else l++ ;
			 d+=s.substr(i, 1) ;
		 }
		 return d ;
	 }

	function trim_space_(ke, me) {
		if (me!=2) {
			ke = ke.replace(/^ +/g, "") ;
			ke = ke.replace(/ +$/g, " ") ;
		} else {
			ke = ke.replace(/^ +/g, " ") ;
			ke = ke.replace(/ +$/g, "") ;
		}
		ke = ke.replace(/ +/g, " ") ;
		return ke ;
	 }

	 function get_cc_(me) {
		 var ke=trim_space_(Ip_.value, me) + me ;
		 return typeof(cc_[ke])==UD_ ? null : cc_[ke] ;
	 }

	 function set_cc_(aq, al, ai, me, alcnt) {
		 cc_[aq+me] = new Array(aq, al, ai, alcnt) ;
	 }

	 function ac_hide_() {
		if (ac_body_.style.display == N_) return ;
		ac_body_.style.display = N_ ;
		a_on_ = a_now_ = 0 ;
	}

	 function wi_() {
		 if (acuse_==0) return ;
		 if (m_on_) {
			 setTimeout("wi_()", wi_int_) ;
			return ;
		}
		var now = Ip_.value ;
		 if (now == "" && now != old_) ac_hide_() ;
		if (now != "" && now != old_ && keystatus_!=1) {
			var o=null, me=1 ;
			o = get_cc_(me) ;
			if (o && o[1][0] != "") ac_show_(o[0], o[1], o[2], me, o[3]) ;
			else reqAC_(me) ;
		}
		old_ = now ;
		setTimeout("wi_()", wi_int_) ;
	 }

	 function set_mouseon_(f) {
		 if (f==1) arr_on_ = 1 ;
		 else if (f==2) frm_on_ = 1 ;
	 }

	 function set_mouseoff_(f) {
		 if (f==1) arr_on_ = 0 ;
		 else if (f==2) frm_on_ = 0 ;
	 }

	 function req_pf_() {
		 frm_on_=1;
		 req_ac2_(1);
		 Ip_.focus();
		 cursor_end_();
	 }

	 function req_sf_() {
		 frm_on_=1;
		 req_ac2_(2);
		 Ip_.focus();
		 cursor_end_();
	 }

	 function cursor_end_() {
		 if (t_==1 && c_==1) {
			 var rng=Ip_.createTextRange();
			 if (rng!=null) {
				 rng.move("textedit");
				 rng.select();
			 }
		 }
	 }
 }

var keystatus_ = 1;

function setTextBox_(flag) {
        var textbox = Ip_;
        var _event;
        switch ( getNavigatorType_() ) {
                case 1 : // IE
                        _event = window.event;
                        nodeName = _event.srcElement.nodeName;
                        break;
                case 2 : // Netscape
                        _event = event;
                        nodeName = _event.target.nodeName;
                        break;
                default :
                        nodeName = "None";
                        break;
        }
        key = _event.keyCode;
        if ( keystatus_ == 1 && flag && key != 13) {
                textbox.value = "";
                keystatus_ = 2;
        }
}

function getNavigatorType_() {
        if ( navigator.appName == "Microsoft Internet Explorer" )
                return 1;
        else if ( navigator.appName == "Netscape" )
                return 2;
        else
                return 0;
}
