var SymbolLookup={};SymbolLookup.rowNumber=-1;SymbolLookup.getTagById=function(aTag,aId){var tagElement=document.getElementsByTagName(aTag);var tmp='';for(i=0;i<tagElement.length;i++){if(tagElement[i].id==aId){return tagElement[i];}}}
SymbolLookup.setSymbol=function(value){var tagElement=SymbolLookup.getTagById("input","stockForm:stockSymbol");tagElement.value=value;}
SymbolLookup.getData=function(){var inputValue=SymbolLookup.getTagById("input","stockForm:stockSymbol");if(inputValue.value.length<1){SymbolLookup.display('');var symbolLookupBox=SymbolLookup.getTagById("div","symbolLookupBox");symbolLookupBox.style.visibility='hidden';}else{var xml=SymbolLookup.getFileContent("http://d.yimg.com/autoc.finance.yahoo.com/autoc?query="+inputValue.value+"&callback=YAHOO.Finance.SymbolSuggest.ssCallback");SymbolLookup.display(xml);}}
var GetXmlHttpRequest=function(){if(window.XMLHttpRequest){return new XMLHttpRequest()}
else if(window.ActiveXObject){if(!GetXmlHttpRequest_AXO){GetXmlHttpRequest_AXO=pickRecentProgID(["Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"]);}
return new ActiveXObject(GetXmlHttpRequest_AXO)}
return false;}
SymbolLookup.getFileContent=function(url){if(document.location.hostname=='localhost'){var proxy_host='localhost:8080/widget-services/widgetsproxie';}else{var proxy_host='www.stockwidgets.net/widget-services/widgetsproxie';}
var address=encodeURI('1000 S Congress Avenue, Austin, TX');var proxy_request=encodeURIComponent(url);var proxy_request="http://"+proxy_host+"?url="+proxy_request;var Xhr=GetXmlHttpRequest();Xhr.open("GET",proxy_request,false);Xhr.send(null);return Xhr.responseText;}
SymbolLookup.display=function(feed){var feedResult=feed;feedResult=feedResult.replace('YAHOO.Finance.SymbolSuggest.ssCallback','');var feedObject=eval(feedResult);var symbolSuggest=SymbolLookup.getTagById("div","symbolSuggestDiv");var symbolLookupBox=SymbolLookup.getTagById("div","symbolLookupBox");if(feed.length>0&&feedObject.ResultSet.Result.length>0){symbolLookupBox.style.visibility='visible';}else{symbolLookupBox.style.visibility='hidden';}
symbolSuggest.innerHTML="";for(var i=0;i<feedObject.ResultSet.Result.length;i++){var tableHtml="<table><tr><td width='75px'>"+feedObject.ResultSet.Result[i].symbol+"</td>";tableHtml+="<td width='250px'>"+feedObject.ResultSet.Result[i].name+"</td>";tableHtml+="<td width='75px'>"+feedObject.ResultSet.Result[i].exchDisp+"</td></tr></table>";var a=document.createElement('a');a.className='lookUpLink';a.id='lookUpLink';a.innerHTML=tableHtml;a.symb=feedObject.ResultSet.Result[i].symbol;a.onclick=function(){SymbolLookup.setSymbol(this.symb);symbolLookupBox.style.visibility='hidden';}
var lookupRowDiv=document.createElement('div');lookupRowDiv.id='lookupRowDiv';lookupRowDiv.className='lookupRowDiv';lookupRowDiv.symb=feedObject.ResultSet.Result[i].symbol;lookupRowDiv.appendChild(a);lookupRowDiv.onmouseover=function(){SymbolLookup.resetRowStyle();}
symbolSuggest.appendChild(lookupRowDiv);}}
SymbolLookup.resetRowStyle=function(){try{var tagElement=SymbolLookup.getTagById("div","symbolSuggestDiv");var childNodes=tagElement.childNodes;if(SymbolLookup.rowNumber<childNodes.length-1){childNodes[SymbolLookup.rowNumber].className="lookupRowDiv";}}catch(err){}}
SymbolLookup.onSymbolKeyUp=function(keyEvent){var key=(window.event)?window.event.keyCode:keyEvent.keyCode;if(key==40){SymbolLookup.moveLooUpCursor();}else if(key==38){SymbolLookup.moveLooDownCursor();}else if(key==13){if(SymbolLookup.rowNumber<0){var tagElement=SymbolLookup.getTagById("div","symbolLookupBox");tagElement.hide();}else{SymbolLookup.selectRow();}}else{SymbolLookup.getData();}}
SymbolLookup.moveLooUpCursor=function(){var tagElement=SymbolLookup.getTagById("div","symbolSuggestDiv");var childNodes=tagElement.childNodes;if(SymbolLookup.rowNumber<childNodes.length-1){if(SymbolLookup.rowNumber>-1){childNodes[SymbolLookup.rowNumber].className="lookupRowDiv";}
SymbolLookup.rowNumber=SymbolLookup.rowNumber+1;childNodes[SymbolLookup.rowNumber].className="lookupRowDivHilight";}}
SymbolLookup.moveLooDownCursor=function(){var tagElement=SymbolLookup.getTagById("div","symbolSuggestDiv");var childNodes=tagElement.childNodes;if(SymbolLookup.rowNumber>0){if(SymbolLookup.rowNumber>0){childNodes[SymbolLookup.rowNumber].className="lookupRowDiv";}
SymbolLookup.rowNumber=SymbolLookup.rowNumber-1;childNodes[SymbolLookup.rowNumber].className="lookupRowDivHilight";}}
SymbolLookup.selectRow=function(){var symbolLookupBox=SymbolLookup.getTagById("div","symbolLookupBox");var tagElement=SymbolLookup.getTagById("div","symbolSuggestDiv");var childNodes=tagElement.childNodes;var symbolSelected=childNodes[SymbolLookup.rowNumber].symb;SymbolLookup.setSymbol(symbolSelected);symbolLookupBox.style.visibility='hidden';SymbolLookup.rowNumber=-1;}
