var QuickSearch={minimum_length:3,search_delay:125,cache:new Object(),init:function(){$("#search_query").bind("keydown",QuickSearch.on_keydown);$("#search_query").bind("keyup",QuickSearch.on_keyup);$("#search_query").bind("change",QuickSearch.on_change);$("#search_query").blur(QuickSearch.on_blur);$("#search_query").attr("autocomplete","off");var a=document.getElementsByTagName("SCRIPT");for(var b=0;b<a.length;b++){s=a[b];if(s.src&&s.src.indexOf("quicksearch.js")>-1){QuickSearch.path=s.src.replace(/quicksearch\.js$/,"../");break}}},on_blur:function(a){if(!QuickSearch.item_selected&&!QuickSearch.over_all){QuickSearch.hide_popup()}},on_keydown:function(a){if(a.keyCode==13&&!a.altKey){if(QuickSearch.selected){try{a.preventDefault();a.stopPropagation()}catch(b){}window.location=QuickSearch.selected.url;return false}else{QuickSearch.hide_popup()}}else{if(a.keyCode==27){if(document.getElementById("QuickSearch")){try{a.preventDefault();a.stopPropagation()}catch(b){}}QuickSearch.hide_popup()}}},on_keyup:function(a){if(QuickSearch.timeout){clearTimeout(QuickSearch.timeout)}if(a.keyCode==40&&QuickSearch.results){if(QuickSearch.selected&&QuickSearch.results.length>=QuickSearch.selected.index+1){QuickSearch.highlight_item(QuickSearch.selected.index+1,true)}if(!QuickSearch.selected&&QuickSearch.results.length>0){QuickSearch.highlight_item(0,true)}try{a.preventDefault();a.stopPropagation()}catch(b){}return false}else{if(a.keyCode==38&&QuickSearch.results){if(QuickSearch.selected&&QuickSearch.selected.index>0){QuickSearch.highlight_item(QuickSearch.selected.index-1,true)}try{a.preventDefault();a.stopPropagation()}catch(b){}}else{if(a.keyCode==27){QuickSearch.hide_popup()}else{if($("#search_query").val()==QuickSearch.last_query){return false}QuickSearch.selected=false;if($("#search_query").val().replace(/^\s+|\s+$/g,"").length>=QuickSearch.minimum_length){QuickSearch.last_query=$("#search_query").val().replace(/^\s+|\s+$/g,"");if(QuickSearch.timeout){window.clearTimeout(QuickSearch.timeout)}QuickSearch.timeout=window.setTimeout(QuickSearch.do_search,QuickSearch.search_delay)}else{if(document.getElementById("QuickSearch")){$("#QuickSearch").remove()}}}}}},on_change:function(a){return(QuickSearch.on_keydown(a)&&QuickSearch.on_keyup(a))},do_search:function(){var a=$("#search_query").val().length+$("#search_query").val();if(QuickSearch.cache[a]){QuickSearch.search_done(QuickSearch.cache[a])}else{$.ajax({type:"GET",url:QuickSearch.path+"search.php?action=AjaxSearch&search_query="+encodeURIComponent($("#search_query").val()),success:function(b){QuickSearch.search_done(b)}})}},search_done:function(a){var f=$("#search_query").val().length+$("#search_query").val();QuickSearch.cache[f]=a;if(window.ActiveXObject){var m=new ActiveXObject("Microsoft.XMLDOM");m.async=false;m.loadXML(a)}else{var p=new DOMParser();var m=p.parseFromString(a,"text/xml")}var t=m.getElementsByTagName("result");if(t&&t.length>0){QuickSearch.results=new Array();for(var v=0;v<t.length;v++){QuickSearch.results.push({title:t[v].getAttribute("title"),url:t[v].getAttribute("url"),price:t[v].getAttribute("price"),ratingimg:t[v].getAttribute("ratingimg"),image:t[v].getAttribute("image")})}if(document.getElementById("QuickSearch")){$("#QuickSearch").remove()}var n=document.createElement("TABLE");n.className="QuickSearch";n.id="QuickSearch";n.cellPadding="0";n.cellSpacing="0";n.border="0";var b=document.createElement("TBODY");n.appendChild(b);var c=document.createElement("TR");var h=document.createElement("TD");c.className="QuickSearchTitle";h.colSpan="2";h.innerHTML=m.getElementsByTagName("results")[0].getAttribute("type");c.appendChild(h);b.appendChild(c);for(var v=0;v<QuickSearch.results.length;v++){var k=QuickSearch.results[v];var c=document.createElement("TR");c.id="QuickSearchResult"+v;c.className="QuickSearchResult";var d=document.createElement("TD");d.className="QuickSearchResultImage";k.image=unescape(k.image);if(k.image.indexOf("http://")==0||k.image.indexOf("https://")==0){var q=document.createElement("IMG");q.src=k.image;q.alt="";q.title=unescape(k.title);d.appendChild(q)}else{d.className+=" QuickSearchResultNoImage";d.innerHTML=k.image.replace("+"," ")}c.appendChild(d);var o=document.createElement("TD");o.className="QuickSearchResultMeta";var g=document.createElement("A");g.className="QuickSearchResultName";g.title=unescape(k.title);g.href=k.url;g.innerHTML=unescape(k.title);o.appendChild(g);var u=document.createElement("span");u.className="Price";u.innerHTML=unescape(k.price);o.appendChild(u);if(k.ratingimg){var l=document.createElement("IMG");l.className="RatingIMG";l.src=unescape(k.ratingimg);o.appendChild(l)}c.url=k.url;c.index=v;c.appendChild(o);b.appendChild(c);c.onmouseover=function(){QuickSearch.item_selected=true;QuickSearch.highlight_item(this.index,false)};c.onmouseup=function(){window.location=this.url};c.onmouseout=function(){QuickSearch.item_selected=false;QuickSearch.unhighlight_item(this.index)}}var j=m.getElementsByTagName("results")[0].getAttribute("view_all");if(j){var c=document.createElement("TR");var h=document.createElement("TD");c.className="QuickSearchAllResults";c.onmouseover=function(){QuickSearch.over_all=true};c.onmouseout=function(){QuickSearch.over_all=false};h.colSpan=2;h.innerHTML=j;c.appendChild(h);b.appendChild(c)}var w=b.cloneNode(true);document.body.appendChild(w);w.style.top="10px";w.style.left="10px";offset_height=w.offsetHeight;offset_width=w.offsetWidth;w.parentNode.removeChild(w);var r=offset_left=0;var e=document.getElementById("search_query");if(typeof(QuickSearchAlignment)!="undefined"&&QuickSearchAlignment=="left"){offset_left=0}else{offset_left+=e.offsetWidth-$("#SearchForm").width()}r=-3;do{r+=e.offsetTop||0;offset_left+=e.offsetLeft||0;e=e.offsetParent}while(e);n.style.position="absolute";n.style.left=offset_left+1+"px";n.style.top=r+document.getElementById("search_query").offsetHeight+"px";if(typeof(QuickSearchWidth)!="undefined"){n.style.width=QuickSearchWidth}else{n.style.width=document.getElementById("SearchForm").offsetWidth-2+"px"}if($("#QuickSearch")){$("#QuickSearch").remove()}document.body.appendChild(n);n.style.display=""}else{if(document.getElementById("QuickSearch")){$("#QuickSearch").remove()}}},hide_popup:function(){$("#QuickSearch").remove();QuickSearch.selected=null},highlight_item:function(a,b){element=$("#QuickSearchResult"+a);if(b==true){if(QuickSearch.selected){QuickSearch.selected.className="QuickSearchResult"}QuickSearch.selected=document.getElementById("QuickSearchResult"+a)}element.addClass("QuickSearchHover")},unhighlight_item:function(a){element=$("#QuickSearchResult"+a);element.removeClass("QuickSearchHover")}};$(document).ready(function(){QuickSearch.init()});
