﻿//2006/12/05 單機UTF8版
var ListLen=new Array();var Contents,iFrameHidden,url,url2,frm,idName,InputName,key,kw,kw_temp;var http_request = false;var ListSelected=null;var ListShowed=false;var moveoncontent2=false;var mousemoveoncontent2=false;var whichone=0;var geted=false;var hadreport=false;var hadreportkeyword='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';var hadreportkeyword2='';var t0;
///var states = '',states2,states3 = '',states4;
//變數   form element menu moveoncontent2			ListShowed=true; ListSelected=false;
var allvarlen=9;
function getEligible(inputText,suggestions,suggestions2)
{
allvarlen=suggestions2[0].toString().length-1;
		var eligible1 = new Array();
		var eligible2 = new Array();
		var eligibles = new Array();
        if(inputText.toInteger()>0)
        {
    		for (i in suggestions)
    		{
    		if(i=='toJSONString')continue;

    			var suggestion = suggestions[i];
                var suggestion2 = suggestions2[i];
if(suggestion.toString().indexOf('function')>="0")continue;
    			if(suggestion2.toString().indexOf(inputText) == "0")
    			{
    				eligible1[eligible1.length]=suggestion;
    				eligible2[eligible2.length]=suggestion2;
                }
            }
        }
        else
        {
    		for (i in suggestions)
    		{
    		if(i=='toJSONString')continue;

    			var suggestion = suggestions[i];

                var suggestion2 = suggestions2[i];
if(suggestion.toString().indexOf('function')>="0")continue;
    				if((suggestion.toString().indexOf(inputText.replace('台','臺')) >= "0")||(suggestion.toString().indexOf(inputText.replace('臺','台')) >= "0") )
    			{
    				eligible1[eligible1.length]=suggestion;
    				eligible2[eligible2.length]=suggestion2;
    			}

            }
        }

		eligibles[0]=eligible1;
		eligibles[1]=eligible2;
		return eligibles;

}
String.prototype.toInteger=fun01_toInteger;

function fun01_toInteger(){
  return (this < 0 ? - 1 : + 1) * Math.floor(Math.abs(this) + 0.5);
}
String.prototype.trim=fun01_trim;
function fun01_trim() {
return this.replace(/^\s+|\s+$/g, "");
}
function setquery(keyword,frmObj,hiddenName,IName,ObjName,ifFrame,urlName,urlName2)
{
Contents=ObjName;
frm=frmObj;
idName=hiddenName;
iFrameHidden=ifFrame;
InputName=IName;
kw=keyword;
url=urlName;
url2=urlName2;
}



function autoindusteset(all)
{
if(all)
{
if(document.getElementById(idName).value.length>allvarlen)
document.getElementById(idName).value='';
}
myfrm=document.forms[frm].elements[Contents];
if(isUndefined(myfrm.length)==false)
    lgth = document.forms[frm].elements[Contents].options.length=0 ;
hideElement(Contents);
}
function query()
{
kw=kw.trim().replace(/　/g,'');
if(kw==''){autoindusteset(true);return;}
if(kw=='國')return;
if(kw=='立')return;
if(kw=='臺')return;
if(kw=='台')return;
if(kw=='學')return;
if(kw=='院')return;
if(kw=='私')return;
if(kw==hadreportkeyword2)return;
var d=getEligible(kw,url,url2);
if(d[0].length<=0){hadreportkeyword2=kw;autoindusteset(false);return;}
else autoindusteset(true);
myfrm=document.forms[frm].elements[Contents];
for(var i=0;i<d[0].length;i++)
myfrm[i] = new Option(d[0][i],d[1][i]);
ListShowed=true;
ListSelected=false;
ShowElement(Contents);
hadreportkeyword2=kw;
}

function forintpudokeyupevent(event)
{
var code=getkeycode(event);
if(IgnoreKey(code))return;
else query();
stopEvent(event);
}
function dokeyupevent(event)
{
var code=getkeycode(event);
if(code==13){
    if(moveoncontent2==true)
        {hideElement(Contents);setTimeout('document.forms[\''+frm+'\'].elements[\''+InputName+'\'].focus();', 100);}
        }
else if(code==27)
    {document.forms[frm].elements[InputName].focus();}
}
function dokeyinevent(event)
{
var code=getkeycode(event);
if(code==38){}
else if(code==13)
{if(moveoncontent2==true){hideElement(Contents);setTimeout('document.forms[\''+frm+'\'].elements[\''+InputName+'\'].focus();', 100);}}
else if(code==40){moveoncontent2=true;if(isvisible(Contents))document.forms[frm].elements[Contents].focus();}
else if(code==9){}
else if(code==8){}
else{}
}

function selectchange(select) 
{
hadreportkeyword2=select.options[select.selectedIndex ].text;
var keyword2=document.getElementById(InputName);
keyword2.value=select.options[select.selectedIndex ].text;
var keyword2=document.getElementById(idName);
keyword2.value=select.options[select.selectedIndex ].value;ListSelected=true;

}


function isUndefined(a) 
{
return typeof a == 'undefined';
}
function IgnoreKey(nKeyCode) 
{
if ((nKeyCode == 9)||(nKeyCode == 9)||(nKeyCode == 16) || (nKeyCode == 17)||(nKeyCode >= 18 && nKeyCode <= 20)||(nKeyCode == 27)||(nKeyCode >= 33 && nKeyCode <= 35)||(nKeyCode >= 36 && nKeyCode <= 38)||(nKeyCode == 40)||(nKeyCode >= 44 && nKeyCode <= 45)){return true;}return false;
}


function hideElement(id_attribute_value)
{
if (document.getElementById && document.getElementById(id_attribute_value) && document.getElementById(id_attribute_value).style)
{document.getElementById(id_attribute_value).style.visibility="hidden";}
}
function ShowElement(id_attribute_value)
{
if (document.getElementById && document.getElementById(id_attribute_value) && document.getElementById(id_attribute_value).style)
{document.getElementById(id_attribute_value).style.visibility="visible";}
}
function isvisible(id_attribute_value)
{
if (document.getElementById && document.getElementById(id_attribute_value) && document.getElementById(id_attribute_value).style)
{
if(document.getElementById(id_attribute_value).style.visibility=="visible")return true;else return false;
}
}
function getkeycode(event)
{
e2 = event;
var k2 = e2.which ? e2.which : ( e2.keyCode ? e2.keyCode : ( e2.charCode ? e2.charCode : 0 ) );
return k2;
}
 function SearchEvent()
{

	if(document.all)
		return window.event;

	func=SearchEvent.caller;
	while(func!=null)
	{
		var arg0=func.arguments[0];
		if(arg0)
		{
			if(arg0.constructor==Event)
				return arg0;
		}
		func=func.caller;
	}
	return null;
}
function stopEvent(ev){stopPropagation(ev);preventDefault(ev);}
function stopPropagation(ev){if (ev.stopPropagation) {ev.stopPropagation();} else {ev.cancelBubble = true;}}
function preventDefault(ev){if (ev.preventDefault) {ev.preventDefault();} else {ev.returnValue = false;}}
