/** Public source code for mini ajax functions snipped from http://www.bigbold.com/snippets/posts/show/2025 **/
var searchBox=null;var fts_ajax={};function func_follar(e){if(typeof e=="string"){e=document.getElementById(e);}return e;}function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!==null){n.push(v);}}return n;}fts_ajax.x=function(){try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(ex1){try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(ex2){return new XMLHttpRequest();}}};fts_ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n);};var nv=function(e){if(e.name){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value);}else{return"";}var i=collect(g("input"),function(i){if((i.type!="radio"&&i.type!="checkbox")||i.checked){return nv(i);}});var s=collect(g("select"),nv);var t=collect(g("textarea"),nv);return i.concat(s).concat(t).join("&");};};fts_ajax.send=function(u,f,m,a){var x=fts_ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4){f(x.responseText);}};if(m=="POST"){x.setRequestHeader("Content-type","application/x-www-form-urlencoded");}x.send(a);};fts_ajax.get=function(url,func){fts_ajax.send(url,func,"GET");};fts_ajax.gets=function(url){var x=fts_ajax.x();x.open("GET",url,false);x.send(null);return x.responseText;};fts_ajax.post=function(url,func,args){fts_ajax.send(url,func,"POST",args);};fts_ajax.update=function(url,elm){var e=func_follar(elm);var f=function(r){e.innerHTML=r;};fts_ajax.get(url,f);};fts_ajax.submit=function(url,elm,frm){var e=func_follar(elm);var f=function(r){e.innerHTML=r;};fts_ajax.post(url,f,fts_ajax.serialize(frm));};function getAbsPos(el,which){var iPos=0;while(el!==null){iPos+=el["offset"+which];el=el.offsetParent;}return iPos;}function getAbsX(el){return el.x?el.x:getAbsPos(el,"Left");}function getAbsY(el){return el.y?el.y:getAbsPos(el,"Top");}function addEvent(o,e,f){if(o.addEventListener){o.addEventListener(e,f,true);return true;}else if(o.attachEvent){o.attachEvent('on'+e,f);return true;}else{return false;}}function killSearch(){func_follar("searchResultsDiv").style.display="none";}function addResultsDiv(){var d1=document.createElement("div");d1.id="searchResultsDiv";d1.style.display="none";d1.style.position="absolute";d1.style.zIndex="1000";d1.style.top=(getAbsY(searchBox)+2+searchBox.offsetTop+searchBox.clientHeight)+"px";d1.style.left=getAbsX(searchBox)+"px";if(dropDownAlignment=="right"){d1.style.marginLeft="-"+(dropDownWidth-searchBox.offsetWidth)+"px";}d1.style.width=dropDownWidth+"px";document.body.appendChild(d1);}function setSearchValue(v){location.href=searchPath+"product.php?productid="+v;killSearch();}function updateSearchResults(r){var products=r.split("\n");var resultCount=0;var o=func_follar("searchResultsDiv");var str="<table cellpadding=\"0\" cellspacing=\"0\">";var limit=(products.length>productLimit)?productLimit:products.length;for(var i=0;i<limit;i++){if(products[i]!==""){resultCount++;var tmp=products[i].split("::",3);str+="<tr class=\"ftsSearchResult\" onMouseDown=\"setSearchValue("+tmp[0]+");\" style=\"; cursor: pointer\" onMouseOver=\"this.className='ftsSearchResultSelected';\" onMouseOut=\"this.className='ftsSearchResult';\">";str+="<td style=\"text-align: left;\"><img src=\""+tmp[1]+"\" border=\"0\"></td>";str+="<td style=\"text-align: left;\" width=\"100%\">"+tmp[2]+"</td></tr>\n";}}if(products.length>productLimit){var formName="";if(document.productsearchform!==undefined){formName="document.productsearchform";}else if(document._search!==undefined){formName="document._search";}str+="<tr class=\"ftsSearchResult\" onMouseDown=\""+formName+".submit();\" style=\"cursor: pointer\" onMouseOver=\"this.className='ftsSearchResultSelected';\" onMouseOut=\"this.className='ftsSearchResult';\">";str+="<td colspan=\"2\">More results...</td></tr>\n";}str+="</table>";o.innerHTML=str;if(resultCount>0&&!(resultCount==1&&products[0].toLowerCase()==searchBox.value.toLowerCase())){o.style.display="block";}else{killSearch();}}function getResults(v){fts_ajax.get(searchPath+"fts_instant_product_search.php?__p="+v,updateSearchResults);}function execSearch(){if(searchBox.value!==""){getResults(searchBox.value);}else{killSearch();}}function watchSearchBox(){addEvent(searchBox,"keyup",execSearch);addEvent(searchBox,"focus",execSearch);addEvent(searchBox,"blur",killSearch);}function pInit(){if(document.productsearchform!==undefined){searchBox=document.productsearchform.elements["posted_data[substring]"];}else if(document._search!==undefined){searchBox=document._search.elements.q;}addResultsDiv();watchSearchBox();}addEvent(window,"load",pInit);
