﻿//window.load=function(){parseXML()};
//alert(window.location);
if(window.location=='http://tracelogix.com/products.php'){//alert('equal');
	window.onload = function(){
		reset_search();
		parseXML()
	}
}else{
	window.onload = function(){
		parseXML();
	}
}
window.document.onclick = function(){reset_quick_search();};
/*window.onload = function(){parseXML()};
*/
/*addOnloadEvent(parseXML());
function addOnloadEvent(fnc){
  if ( typeof window.addEventListener != “undefined” )
    window.addEventListener( “load”, fnc, false );
  else if ( typeof window.attachEvent != “undefined” ) {
    window.attachEvent( “onload”, fnc );
  }
  else {
    if ( window.onload != null ) {
      var oldOnload = window.onload;
      window.onload = function ( e ) {
        oldOnload( e );
        window[fnc]();
      };
    }
    else
      window.onload = fnc;
  }
}*/

//window.onresize=function(){getBodyPosition(document.getElementById('searchBox'));}
var xmlhttp

function parseXML(str)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="product_xml.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
  {
  //alert(xmlhttp.responseText);
//document.getElementById('debug').innerHTML=xmlhttp.responseText;
xmlDoc=xmlhttp.responseXML;
products=xmlDoc.getElementsByTagName("product");
product=new Array();
product_description=new Array();
product_id=new Array();
for(var i=0;i<products.length;i++){
	product.push(xmlDoc.getElementsByTagName("part")[i].childNodes[0].nodeValue);
	product_description.push(xmlDoc.getElementsByTagName('description')[i].childNodes[0].nodeValue);
	product_id.push(xmlDoc.getElementsByTagName('product_id')[i].childNodes[0].nodeValue);
}
searchString(product)//document.getElementById("name").innerHTML=xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;

  }
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}
function searchString(arr){
r='';x='';str=new Array();assoc=new Array();primary_key = new Array();
q=document.getElementById('searchBox').value;
	if(!q){
		reset_quick_search();
		return;
	} 
	q=q.toLowerCase();
//product.sort();
 for(var i=0;i<product.length;i++){
 	r=product[i].toLowerCase();//alert(r);//+arr[i].indexOf(q);
	//u=product[i].toUpperCase();
 	if(r.search(q)!=-1){x=r.search(q);r=product[i].substr(x,q.length);
 		var reg=new RegExp(r,"g")
 		str.push(product[i].replace(reg,'<b><i><font color=\"#000099\">'+r+'</font></i></b>')+'<br><font size=-3><b>'+product_description[i]+'</b></font>');
		primary_key.push(product_id[i]);
   //str.push('<b><i><font color=\"#000099\">'+r+'</font></i></b>'));
   
 	}
 }
   makeList(str); 
get_height()//alert(box_position.right);
//document.getElementById('result').innerHTML=str;
}
function makeList(info){//alert(primary_key);
    var element=document.getElementById('result');
	var item_height = 0;
    while (element.firstChild){
		element.removeChild(element.firstChild);
	}
	for(var i=0;i<info.length;i++){//alert(info.length);
	//var pk=primary_key[i];//lert(pk);
		var newdiv = document.createElement('div')
		newdiv.innerHTML      = info[i];
		newdiv.name           = "lst";
		newdiv.style.cursor   = 'pointer';
		newdiv.style.fontSize = 14+'px';
		newdiv.className   = 'search_out';
		newdiv.id          = primary_key[i];
		newdiv.onmouseover = function(){this.className='search_over'};
		newdiv.onmouseout  = function(){this.className='search_out'};
		newdiv.onclick     = function(){window.location='product.php?product='+this.id;};
		element.appendChild(newdiv);
		item_height+=newdiv.offsetHeight;
	}
//alert(item_height);
var result = document.getElementById('result')
result.cancelBubble=true;
var box = document.getElementById('searchBox');
var box_position = getBodyPosition(box);
result.style.left = box_position.left+'px';
result.style.display = 'block';
//get_height()//alert(box_position.right);
//alert(getBodyPosition('searchBox'));
}
function getBodyPosition(elem){
	var oNode = elem;
	var oPos  = new Object();
	oPos.top	=	oNode.offsetTop;
	oPos.left =	oNode.offsetLeft;
	while(oNode.offsetParent){
		oNode = oNode.offsetParent;
		oPos.top += oNode.offsetTop;
		oPos.left+= oNode.offsetLeft; 
	}
	oPos.right	=	oPos.left + elem.offsetWidth;
	oPos.bottom	=	oPos.top  + elem.offsetHeight;
	return oPos;
}
function selectItem(theVar){
alert('selected '+theVar)
//alert(this.innerHTML);
window.location='product.php?product='+theVar;
}
function reset_quick_search(){
	document.getElementById('result').style.display='none';
	document.getElementById('searchBox').value='';
}
function get_height(){
var the_div = document.getElementById('result');
var div_height=0;//alert(the_div.childNodes.length);
	for(var i=0;i<the_div.childNodes.length;i++){
		if(the_div.childNodes[i].offsetHeight){
		div_height+=the_div.childNodes[i].offsetHeight;			
		}
	}
	if(div_height<300){
		document.getElementById('result').style.height = div_height+'px';
	}else{
		document.getElementById('result').style.height = 300+'px';
	}		
}