var Trogdor=function()
{var d=document,w=window,selIndex=-1,appId,inputEl,resultEl,self,ua;function get(el)
{if(el&&(el.nodeType||el.item))
{return el;}
return d.getElementById(el);}
function on(el,type,callback)
{el=get(el);if(!el)
{return;}
if(w.addEventListener){el.addEventListener(type,callback,false);}
else if(w.attachEvent){el.attachEvent('on'+type,callback);}}
function preventDefault(e)
{if(e.preventDefault){e.preventDefault();}
else if(e.returnValue){e.returnValue=false;}}
function refresh(query,data)
{if(!query||!data||!data.ysearchresponse)
{return;}
var html='<table width="100%"><tr><td></td><td class="header">Results</td></tr>',results=data.ysearchresponse.resultset_web,i,result;if(results&&results.length)
{for(i=0;i<results.length;++i)
{result=results[i];html+='<tr>'
+'<td class="thumb"><a href="'+result.clickurl+'"><img id="'+i+'" src="/img/s.gif" width="120" height="90" alt="" title="'+result.clickurl+'" /></a></td>'
+'<td class="res">'
+'<h3><a href="'+result.clickurl+'">'+result.title+'</a></h3>'
+'<div class="abstract">'+result['abstract']+'</div>'
+'<cite>'+result.dispurl+'</cite>'
+'</td>'
+'</tr>';}}
else
{html='<li>No results</li>';}
resultEl.innerHTML=html+"</table>";}
function substitute(string,values)
{var value;for(value in values)
{if(values.hasOwnProperty(value))
{string=string.replace('{'+value+'}',values[value]);}}
return string;}
function handleKeyNav(e)
{e=e||w.event;switch(e.keyCode)
{case 27:preventDefault(e);selIndex=-1;inputEl.focus();break;case 38:preventDefault(e);if(selIndex-1<=-1)
{selIndex=-1;inputEl.focus();}
else
{selIndex-=1;try
{resultEl.childNodes[selIndex].firstChild.firstChild.focus();}
catch(ex)
{selIndex+=1;}}
break;case 40:preventDefault(e);if(selIndex+1<resultEl.childNodes.length)
{selIndex+=1;try
{resultEl.childNodes[selIndex].firstChild.firstChild.focus();}
catch(ex)
{selIndex-=1;}}
break;}}
self={BOSS_URL:'http://boss.yahooapis.com/ysearch/web/v1/{query}?appid={appid}&format=jsonp&callback={callback}',results:{},init:function(myAppId,myInputEl,myResultEl){var match;appId=myAppId;inputEl=get(myInputEl);resultEl=get(myResultEl);if(!inputEl.value)
{if(match=w.location.search.match(/(?:\?|&)q=([^&]+)/))
{inputEl.value=decodeURIComponent(match[1].replace(/\+/g,' '));}}
if(inputEl.value)
{self.search(inputEl.value);}
on(inputEl,'keyup',function(){self.search(inputEl.value);});on(inputEl,'focus',function(){selIndex=-1;});on(d,'keydown',handleKeyNav);inputEl.focus();},search:function(query){query=query.replace(/^\s+|\s+$/g,'');if(!query)
{return;}
clearTimeout(ThumbTimeOut);ThumbTimeOut=setTimeout("updateThumbShots()",3000);if(self.results.hasOwnProperty(query))
{self.results[query]();return;}
var el=d.createElement('script');el.src=substitute(self.BOSS_URL,{appid:encodeURIComponent(appId),callback:encodeURIComponent("Trogdor.results['"+query.replace(/'/g,"\\'")+"']").replace(/'/g,'%27'),query:encodeURIComponent(query)});self.results[query]=function(data){if(data)
{arguments.callee.data=data;}
refresh(query,arguments.callee.data);if(el)
{el.parentNode.removeChild(el);el=null;}};d.body.appendChild(el);}};return self;}();var ThumbTimeOut=null;function updateThumbShots()
{var aImages=document.getElementById('content').getElementsByTagName("img");var iImages=aImages.length;for(var i=0;i<iImages;i++)
{aImages[i].style.border="1px solid #e2e9ee";aImages[i].src='http://open.thumbshots.org/image.pxf?url='+aImages[i].title;}}