// variable contructors
var rfcIDElements = [];

// Disable autocomplete
//var input1 = document.getElementById(txtElements[0]['txt']);
//input1.setAttribute('autocomplete','off');
//if (inptCnt > 1){
	//var input2 = document.getElementById(txtElements[1]['txt']);
	//input2.setAttribute('autocomplete','off');
//}
function JSONscriptRequest(fullUrl,query){this.fullUrl=fullUrl;this.headLoc=document.getElementsByTagName("head").item(0);this.timeStamp=(new Date()).getTime();this.scriptId="JscriptId"+this.timeStamp;}JSONscriptRequest.scriptCounter=1;JSONscriptRequest.prototype.buildScriptTag=function(){this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("charset","utf-8");this.scriptObj.setAttribute("src",this.fullUrl+"&reqID="+this.scriptId);this.scriptObj.setAttribute("id",this.scriptId);return this.scriptId;};JSONscriptRequest.prototype.removeScriptTag=function(){this.headLoc.removeChild(this.scriptObj);};JSONscriptRequest.removeScriptTagById=function(id){var jScriptTag=document.getElementById(id);var parentNode=jScriptTag.parentNode;parentNode.removeChild(jScriptTag);};JSONscriptRequest.prototype.addScriptTag=function(){this.headLoc.appendChild(this.scriptObj);};function ISuggest(){var _RFCID='114';var _originalRFCID=null;var _rfcidElements=null;var _requestClient=null;var _trackingElement=null;var _activeElement=null;var _activeQuery=new function(){this.query=null;this.response=null;};var _timeoutPeriod=500;var _currentSelection=-1;var _selectedValue=null;var _suggestionsPanel=null;var _jsonClient=null;var _findPos=function(obj){var curleft=curtop=0;try{if(obj.offsetParent){do{curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}while(obj=obj.offsetParent);return{left:curleft,top:curtop};}}catch(e){}return null;};var _selectPrevious=function(){if(_currentSelection>=0)_suggestionsPanel.childNodes[_currentSelection].className='suggest_link';if(_currentSelection==0||_currentSelection==-1)_currentSelection=_suggestionsPanel.childNodes.length-1;else _currentSelection--;_suggestionsPanel.childNodes[_currentSelection].className='suggest_link_over';if(_currentSelection>-1){var value=_suggestionsPanel.childNodes[_currentSelection].childNodes[0].nodeValue;_activeQuery.query=value;_activeQuery.response=null;_activeElement.value=value;_selectedValue=value;}};var _selectNext=function(){if(_currentSelection>=0)_suggestionsPanel.childNodes[_currentSelection].className='suggest_link';if(_currentSelection==(_suggestionsPanel.childNodes.length-1))_currentSelection=0;else++_currentSelection;_suggestionsPanel.childNodes[_currentSelection].className='suggest_link_over';if(_currentSelection>-1){var value=_suggestionsPanel.childNodes[_currentSelection].childNodes[0].nodeValue;_activeQuery.query=value;_activeQuery.response=null;_activeElement.value=value;_selectedValue=value;}};var _showSuggestions=function(){_suggestionsPanel.style['display']='block';_currentSelection=-1;var pos=_findPos(_trackingElement);_suggestionsPanel.style['left']=pos.left+'px';_suggestionsPanel.style['top']=pos.top+_trackingElement.offsetHeight+'px';_suggestionsPanel.style['width']=_trackingElement.offsetWidth+'px';};var _hideSuggestions=function(){_suggestionsPanel.innerHTML='';_suggestionsPanel.style['display']='none';};this.insertScriptTag=function(){if(!_activeElement||_activeElement.value==_activeQuery.query)return;_trackingElement=_activeElement;var str=escape(_activeElement.value);if(str==''){_suggestionsPanel.style['display']='none';return;}_activeQuery.query=str;var req='http://suggest.infospace.com/QuerySuggest/SuggestServlet?prefix='+str;jsonClient=new JSONscriptRequest(req,str);jsonClient.buildScriptTag();jsonClient.addScriptTag();};var _onEditKeyUp=function(e){if(!e)var e=window.event;var code;if(e.keyCode)code=e.keyCode;else if(e.which)code=e.which;if(code!=27&&code!=40&&code!=38&&code!=13)window.setTimeout("iSuggest.insertScriptTag()",_timeoutPeriod);};this.onKeyUp=function(e){if(_suggestionsPanel.style['display']!='block'&&_suggestionsPanel.childNodes.length==0)return;var code;if(e.keyCode)code=e.keyCode;else if(e.which)code=e.which;switch(code){case 40: _selectNext();break;case 38: _selectPrevious();break;case 27: _hideSuggestions();_activeQuery.query=null;_activeQuery.response=null;break;}};this.PopulateResults=function(suggestions,reqID){_suggestionsPanel.innerHTML='';_currentSelection=-1;if(suggestions){for(var i=0;i<suggestions.length;i++){var suggest='<div onmouseover="javascript:iSuggest.suggestOver(this);" onmouseout="javascript:iSuggest.suggestOut(this);" onclick="javascript:iSuggest.setSearch(this.childNodes[0].nodeValue);" class="suggest_link" id="suggest_link_'+i+'">'+suggestions[i]+'</div>';_suggestionsPanel.innerHTML+=suggest;}}JSONscriptRequest.removeScriptTagById(reqID);if(_suggestionsPanel.innerHTML==""||suggestions==null)_hideSuggestions();else _showSuggestions();};this.onMouseClick=function(){_hideSuggestions();_activeQuery.query=null;_activeQuery.response=null;};this.suggestOver=function(div_value){div_value.className='suggest_link_over';};this.suggestOut=function(div_value){div_value.className='suggest_link';};this.setSearch=function(value){_activeQuery.query=value;_activeQuery.response=null;_hideSuggestions();_activeElement.value=value;_activeElement.defaultButton.click();return false;};this.init=function(inputToTrack,rfcidFields){_suggestionsPanel=document.createElement('div');_suggestionsPanel.className='suggestPanel';_suggestionsPanel.id='suggestPanel';document.body.insertBefore(_suggestionsPanel,document.body.firstChild);for(var i=0;i<inputToTrack.length;i++){this.addField(inputToTrack[i].txt,inputToTrack[i].btn);}};this.addField=function(txtID,btnID){var textBox=document.getElementById(txtID);var button=document.getElementById(btnID);textBox.defaultButton=button;textBox.oldOnFocus=(textBox.onfocus)?textBox.onfocus : function(){};function newOnFocus(e){_activeElement=this;this.oldOnFocus();}textBox.onfocus=newOnFocus;textBox.oldOnBlur=(textBox.onblur)?textBox.onblur : function(){};function newOnBlur(e){if(_suggestionsPanel.style['display']!='block')_activeElement=null;this.oldOnBlur();}textBox.onblur=newOnBlur;textBox.oldEditKey=(textBox.onkeyup)?textBox.onkeyup : function(){};function newEditKeyUp(e){_activeElement=this;this.oldEditKey();if(!e)var e=window.event;_onEditKeyUp(e);}textBox.onkeyup=newEditKeyUp;};this.removeField=function(txtID){var textBox=document.getElementById(txtID);textBox.onfocus=textBox.oldOnFocus;textBox.onblur=textBox.oldOnBlur;textBox.onkeyup=textBox.oldEditKey;};}var iSuggest;function Initialize(){iSuggest=new ISuggest();iSuggest.init(txtElements,rfcIDElements);var oldOnClick=(document.onclick)?document.onclick : function(){};function newOnClick(e){oldOnClick();if(!e)var e=window.event;iSuggest.onMouseClick(e);}document.onclick=newOnClick;var oldOnKeyUp=(document.onkeyup)?document.onkeyup : function(){};function newOnKeyUp(e){oldOnKeyUp();if(!e)var e=window.event;iSuggest.onKeyUp(e);}document.onkeyup=newOnKeyUp;}


// Write the cache busting IFRAME
document.write('<iframe style="height:0px;width:0px;visibility:hidden;display:none;" src="about:blank">this prevents back forward cache</iframe>');

// Write the minimum styles
document.writeln('<style type="text/css">');
document.writeln('.suggest_link {overflow:hidden;}');
document.writeln('.suggest_link_over {overflow:hidden;cursor:pointer;}');
document.writeln('.suggestPanel {position:absolute;display:none;text-align:left;}');
document.writeln('</style>');

Initialize();
