var u=60,I="";var gInputQuery=null,gBtnSearch=null;var gInputQueryFocused=false,gInputQueryBlured=false,gInputQueryValue=null,gInputQueryKeycode="";var gKeyword="",gKeywordPre="",gKeywordToDisplayCompStrings="";var gCompDiv=null,gCompIFrame=null;var gCompDivBorderLeftWidth=1,gCompDivBorderTopWidth=1;var gCompleteStrings={};var gNotResponsedResquestNum=0;var gTimerHideCompDiv=null;var gDivTagName="div";var gSpanTagName="span";var gCompStringDivNum=5;var gCompStringDivNumber= -1;var gCompStringDivs=null;var gSelectedCompStringDiv=null,gSelectedCompStringDivIndex= -1;var gSelectionValue=null,gSelectionStart=null,gSelectionLength=null;var gMousePositionX= -1,gMousePositionY= -1;var gDocumentKeycode= -1;var gSubmitting=false;var gTimeFactor=1;function JSONscriptRequest(fullUrl){this.fullUrl=fullUrl;this.noCacheIE='&noCacheIE='+(new Date()).getTime();this.headLoc=document.getElementsByTagName("head").item(0);this.scriptId='JscriptId'+JSONscriptRequest.scriptCounter++;};JSONscriptRequest.scriptCounter=1;JSONscriptRequest.prototype.buildScriptTag=function(){this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("src",this.fullUrl);};JSONscriptRequest.prototype.removeScriptTag=function(){this.headLoc.removeChild(this.scriptObj);};JSONscriptRequest.prototype.addScriptTag=function(){this.headLoc.appendChild(this.scriptObj);};function addCompleteStrings(keyword,completeStrings,displayStrings){gCompleteStrings[keyword]=new Array(completeStrings,displayStrings);};setupAC=function(inputQuery,btnSearch){gInputQuery=inputQuery;gBtnSearch=btnSearch;initAC();};function initAC(){gInputQuery.autocomplete="off";gInputQuery.onblur=inputQueryOnblur;gInputQuery.onfocus=inputQueryOnfocus;if(gInputQuery.createTextRange)gInputQuery.onkeyup=new Function("return inputQueryOnkeyup(event); ");else gInputQuery.onkeyup=inputQueryOnkeyup;gInputQuery.onsubmit=inputQueryOnsubmit;gKeyword=gInputQuery.value;gKeywordPre=gKeyword;gCompDiv=document.createElement("DIV");gCompDiv.id="completeDiv";gCompDivBorderLeftWidth=1;gCompDivBorderTopWidth=1;gCompDiv.style.borderRight="black "+gCompDivBorderLeftWidth+"px solid";gCompDiv.style.borderLeft="black "+gCompDivBorderLeftWidth+"px solid";gCompDiv.style.borderTop="black "+gCompDivBorderTopWidth+"px solid";gCompDiv.style.borderBottom="black "+gCompDivBorderTopWidth+"px solid";gCompDiv.style.zIndex="2";gCompDiv.style.paddingRight="0";gCompDiv.style.paddingLeft="0";gCompDiv.style.paddingTop="0";gCompDiv.style.paddingBottom="0";gCompDiv.style.visibility="hidden";gCompDiv.style.position="absolute";gCompDiv.style.backgroundColor="white";gCompIFrame=document.createElement("IFRAME");gCompIFrame.id="completeIFrame";gCompIFrame.style.zIndex="1";gCompIFrame.style.position="absolute";gCompIFrame.style.display="block";gCompIFrame.style.visibility="hidden";gCompIFrame.style.borderRightWidth="0";gCompIFrame.style.borderLeftWidth="0";gCompIFrame.style.borderTopWidth="0";gCompIFrame.style.borderBottomWidth="0";setCompDivPosition();document.body.appendChild(gCompDiv);document.body.appendChild(gCompIFrame);addCompleteStrings("",[],[]);ua();setStyle(gCompDiv,"mAutoComplete");window.onresize=windowOnresize;document.onkeydown=documentOnkeydown;gb();setTimeout("inputQueryValueChange()",10*gTimeFactor);};function inputQueryTemporaryBlur(){gInputQueryBlured=true;gInputQuery.blur();setTimeout("inputQueryFocus();",10*gTimeFactor)};function gb(){if(document.createEventObject){var a=document.createEventObject();a.ctrlKey=true;a.keyCode=70;document.fireEvent("onkeydown",a)}};function documentOnkeydown(keydownEvent){if(!keydownEvent&&window.event)keydownEvent=window.event;if(keydownEvent)gDocumentKeycode=keydownEvent.keyCode;if(keydownEvent&&keydownEvent.keyCode==8){}};function windowOnresize(){setCompDivPosition()};function setCompDivPosition(){if(gCompDiv){gCompDiv.style.left=absoluteLocation(gInputQuery,"offsetLeft")+"px";gCompDiv.style.top=absoluteLocation(gInputQuery,"offsetTop")+gInputQuery.offsetHeight-1+"px";gCompDiv.style.width=adjustOffsetWidth()+"px";if(gCompIFrame){gCompIFrame.style.left=gCompDiv.style.left;gCompIFrame.style.top=gCompDiv.style.top;gCompIFrame.style.width=gCompDiv.style.width;gCompIFrame.style.height=gCompDiv.style.height}}};function adjustOffsetWidth(){return gInputQuery.offsetWidth-gCompDivBorderLeftWidth*2};function inputQueryOnfocus(a){gInputQueryFocused=true};function inputQueryOnblur(blurEvent){gInputQueryFocused=false;if(!blurEvent&&window.event){blurEvent=window.event;}if(!gInputQueryBlured){hideCompleteDiv();if(gDocumentKeycode==9){gBtnSearch.focus();gDocumentKeycode= -1}}gInputQueryBlured=false};inputQueryOnkeyup=function(keyEvent){gInputQueryKeycode=keyEvent.keyCode;gInputQueryValue=gInputQuery.value;processUserInput()};inputQueryFocus=function(){gInputQuery.focus()};function trimStr(str){for(var i=0,trimedStr="",crlf="\n\r";i<str.length;i++)if(crlf.indexOf(str.charAt(i))== -1)trimedStr+=str.charAt(i);else trimedStr+=" ";return trimedStr};function separateCompStringDiv(compStringDiv,styleClassName){var compStringSpan=compStringDiv.getElementsByTagName(gSpanTagName);if(compStringSpan){for(var i=0;i<compStringSpan.length;++i){if(compStringSpan[i].className==styleClassName){var f=compStringSpan[i].innerHTML;if(f=="&nbsp;")return "";else{var str=trimStr(f);return str}}}}else{return ""}};function separateCompStringDivC(compStringDiv){if(!compStringDiv)return null;return separateCompStringDiv(compStringDiv,"cAutoComplete")};function separateCompStringDivD(compStringDiv){if(!compStringDiv)return null;return separateCompStringDiv(compStringDiv,"dAutoComplete")};function hideCompleteDiv(){document.getElementById("completeDiv").style.visibility="hidden";document.getElementById("completeIFrame").style.visibility="hidden"};function showCompleteDiv(){document.getElementById("completeDiv").style.visibility="visible";document.getElementById("completeIFrame").style.visibility="visible";setCompDivPosition()};compRequest=function(){if(gKeywordPre!=gKeyword){if(!gSubmitting){var escaped_keyword=encodeAndEscape(gKeyword),completeStrings=gCompleteStrings[gKeyword];if(completeStrings){compResp(gKeyword,completeStrings[0],completeStrings[1])}else{gNotResponsedResquestNum++;var req='http://ac.xunlei.com:80/complete?ac='+escaped_keyword;var jsonReq=new JSONscriptRequest(req);jsonReq.buildScriptTag();jsonReq.addScriptTag();}gInputQuery.focus()}gSubmitting=false}gKeywordPre=gKeyword;setTimeout("compRequest()",calcNextTimeoutInterval(gNotResponsedResquestNum));return true};compResp=function(keyword,completeStrings,displayStrings){if(gNotResponsedResquestNum>0)gNotResponsedResquestNum--;addCompleteStrings(keyword,completeStrings,displayStrings);if(keyword==gKeyword){if(gTimerHideCompDiv){clearTimeout(gTimerHideCompDiv);gTimerHideCompDiv=null;}gKeywordToDisplayCompStrings=keyword;}var completeDiv=gCompDiv;completeDiv.completeStrings=completeStrings;completeDiv.displayStrings=displayStrings;fillCompDiv(completeDiv,completeDiv.completeStrings,completeDiv.displayStrings);displayCompDiv(completeDiv,separateCompStringDivC);if(gCompStringDivNum>0){completeDiv.height=16*gCompStringDivNum+4;gCompIFrame.height=completeDiv.height-4}else{hideCompleteDiv()}};hideCompDiv=function(){hideCompleteDiv();gTimerHideCompDiv=null};function processUserInput(){if(gInputQueryKeycode==40||gInputQueryKeycode==38)inputQueryTemporaryBlur();var length=selectionLength(gInputQuery),start=selectionStart(gInputQuery),inputValue=gInputQuery.value;if(gInputQueryKeycode!=9&&gInputQueryKeycode!=13&& !(gInputQueryKeycode>=16&&gInputQueryKeycode<=20)&&gInputQueryKeycode!=27&& !(gInputQueryKeycode>=33&&gInputQueryKeycode<=38)&&gInputQueryKeycode!=40&&gInputQueryKeycode!=44&& !(gInputQueryKeycode>=112&&gInputQueryKeycode<=123)){gKeyword=inputValue;if(gInputQueryKeycode!=39){ia=inputValue}}if(notCompStringDivsNavigation(gInputQueryKeycode)&&gInputQueryKeycode!=0&&gKeywordToDisplayCompStrings==gKeyword){displayCompDiv(gCompDiv,separateCompStringDivC);}if(gKeywordToDisplayCompStrings!=gKeyword&& !gTimerHideCompDiv){gTimerHideCompDiv=setTimeout("hideCompDiv()",500*gTimeFactor)}};function inputQueryOnsubmit(){gSubmitting=true;hideCompleteDiv();check();return true};inputQueryValueChange=function(a){if(gInputQueryFocused){getSelectionInfo()}var curValue=gInputQuery.value;if(curValue!=gInputQueryValue){gInputQueryKeycode=0;processUserInput()}gInputQueryValue=curValue;setTimeout("inputQueryValueChange()",10*gTimeFactor)};function encodeAndEscape(a){if(encodeURIComponent)return encodeURIComponent(a);if(escape)return escape(a)};function calcNextTimeoutInterval(notResponsedResquestNum){var interval=100*gTimeFactor;for(var i=1;i<=(notResponsedResquestNum-2)/2;i++){interval=interval*2}interval=interval+50*gTimeFactor;return interval};setTimeout("compRequest()",10*gTimeFactor);var compStringDivOnmousedown=function(){setInputQueryValue(separateCompStringDivC(this));inputQueryOnsubmit()};var compStringDivOnmousemove=function(){if(window.event){var x=window.event.x,y=window.event.y;if(x==gMousePositionX&&y==gMousePositionY){return}gMousePositionX=x;gMousePositionY=y}if(gSelectedCompStringDiv)setStyle(gSelectedCompStringDiv,"aAutoComplete");setStyle(this,"bAutoComplete");gSelectedCompStringDiv=this;for(var i=0;i<gCompStringDivNumber;i++){if(gCompStringDivs[i]==gSelectedCompStringDiv){gSelectedCompStringDivIndex=i;break}}};var compStringDivOnmouseout=function(){setStyle(this,"aAutoComplete")};function hilightCompStringDiv(compStringDivIndex){gKeyword=I;setInputQueryValue(I);if(!gCompStringDivs||gCompStringDivNumber<=0)return;showCompleteDiv();if(compStringDivIndex>=gCompStringDivNumber){compStringDivIndex=gCompStringDivNumber-1}if(gSelectedCompStringDivIndex!= -1&&compStringDivIndex!=gSelectedCompStringDivIndex){setStyle(gSelectedCompStringDiv,"aAutoComplete");gSelectedCompStringDivIndex= -1}if(compStringDivIndex<0){gSelectedCompStringDivIndex= -1;gInputQuery.focus();return}gSelectedCompStringDivIndex=compStringDivIndex;gSelectedCompStringDiv=gCompStringDivs.item(compStringDivIndex);setStyle(gSelectedCompStringDiv,"bAutoComplete");gKeyword=I;setInputQueryValue(separateCompStringDivC(gSelectedCompStringDiv))};function notCompStringDivsNavigation(keycode){if(keycode==40){hilightCompStringDiv(gSelectedCompStringDivIndex+1);return false}else if(keycode==38){hilightCompStringDiv(gSelectedCompStringDivIndex-1);return false}else if(keycode==13||keycode==3){if(window.navigator.userAgent.toLowerCase().indexOf("firefox")!=-1) inputQueryOnsubmit(); return false}return true};function displayCompDiv(completeDiv,separateCompString){var c=gInputQuery,hasStringToSelect=false;gSelectedCompStringDivIndex= -1;var compStringDivs=completeDiv.getElementsByTagName(gDivTagName),compStringDivNum=compStringDivs.length;gCompStringDivNumber=compStringDivNum;gCompStringDivs=compStringDivs;gCompStringDivNum=compStringDivNum;I=gKeyword;if(gKeyword==""||compStringDivNum==0){hideCompleteDiv()}else{showCompleteDiv()}for(var i=0;i<compStringDivNum;i++){setStyle(compStringDivs.item(i),"aAutoComplete");}gSelectedCompStringDivIndex= -1;gSelectedCompStringDiv=null};function absoluteLocation(element,offset){var c=0;while(element){c+=element[offset];element=element.offsetParent}return c};function selectionLength(inputQuery){var length= -1;if(inputQuery.createTextRange){/*var textRange=document.selection.createRange().duplicate();length=textRange.text.length*/}else if(inputQuery.setSelectionRange){length=inputQuery.selectionEnd-inputQuery.selectionStart}return length};function selectionStart(inputQuery){var start=0;if(inputQuery.createTextRange){/*var textRange=document.selection.createRange().duplicate();textRange.moveEnd("textedit",1);start=inputQuery.value.length-textRange.text.length*/}else if(inputQuery.setSelectionRange){start=inputQuery.selectionStart}else{start= -1}return start};function selectionEnd(inputQuery){if(inputQuery.createTextRange){var textRange=inputQuery.createTextRange();textRange.moveStart("character",inputQuery.value.length);textRange.select()}else if(inputQuery.setSelectionRange){inputQuery.setSelectionRange(inputQuery.value.length,inputQuery.value.length)}};function setStyle(element,styleClassName){ua();element.className=styleClassName;switch(styleClassName.charAt(0)){case "m":element.style.fontSize="13px";element.style.fontFamily="arial,sans-serif";element.style.wordWrap="break-word";element.style.zIndex="99";break;case "l":element.style.display="block";element.style.paddingLeft="3";element.style.paddingRight="3";element.style.height="16px";element.style.overflow="hidden";break;case "a":element.style.backgroundColor="white";element.style.color="black";if(element.displaySpan){element.displaySpan.style.color="green"}break;case "b":element.style.backgroundColor="#3366cc";element.style.color="white";if(element.displaySpan){element.displaySpan.style.color="white"}break;case "c":element.style.width=u+"%";if(window.navigator.userAgent.toLowerCase().indexOf("firefox")!= -1)element.style.cssFloat="left";else element.style.styleFloat="left";element.style.whiteSpace="nowrap";element.style.overflow="hidden";element.style.textOverflow="ellipsis";element.style.fontSize="12px";break;case "d":if(window.navigator.userAgent.toLowerCase().indexOf("firefox")!= -1)element.style.cssFloat="right";else element.style.styleFloat="right";element.style.width=100-u+"%";element.style.fontSize="10px";element.style.textAlign="right";element.style.color="green";element.style.paddingTop="3px";break}};function ua(){u=65;var a=110,b=adjustOffsetWidth(),c=(b-a)/b*100;u=c};function fillCompDiv(completeDiv,completeStrings,displayStrings){while(completeDiv.childNodes.length>0)completeDiv.removeChild(completeDiv.childNodes[0]);for(var e=0;e<completeStrings.length;++e){var f=document.createElement("DIV");setStyle(f,"aAutoComplete");f.onmousedown=compStringDivOnmousedown;f.onmousemove=compStringDivOnmousemove;f.onmouseout=compStringDivOnmouseout;var i=document.createElement("SPAN");setStyle(i,"lAutoComplete");i.style.height=gInputQuery.offsetHeight-4;var h=document.createElement("SPAN");h.innerHTML=completeStrings[e];var l=document.createElement("SPAN");setStyle(l,"dAutoComplete");setStyle(h,"cAutoComplete");f.displaySpan=l;l.innerHTML=displayStrings[e];i.appendChild(h);i.appendChild(l);f.appendChild(i);completeDiv.appendChild(f)}};function setInputQueryValue(value){gInputQuery.value=value;gInputQueryValue=value;};function selectionNotChanged(){var value=gInputQuery.value,start=selectionStart(gInputQuery),length=selectionLength(gInputQuery);return length==gSelectionStart&&c==gSelectionLength&&value==gSelectionValue};function getSelectionInfo(){gSelectionValue=gInputQuery.value;gSelectionStart=selectionStart(gInputQuery);gSelectionLength=selectionLength(gInputQuery)}function dw(str){document.getElementById("top").innerHTML = str;}
