var req = new Array();
var reqURL = new Array();
var reqQueryString = new Array();
function loadXMLDoc(url, reqType, queryString) {
   var reqType = reqType || 'GET';
   var index = req.length;
   req[index] = false;
   reqURL[index] = url;
   reqQueryString[index] = queryString;
   if(window.XMLHttpRequest) {
       try {
           req[index] = new XMLHttpRequest();
           req[index].onreadystatechange = function () {processReqChange(index);};
           req[index].open(reqType, url, true);
           if (reqType=='POST') {
               req[index].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
           }
           req[index].send(queryString);
       } catch(e) {
           req[index] = false;
       }
   } else if(window.ActiveXObject) {
          try {
            req[index] = new ActiveXObject("Msxml2.XMLHTTP");
           if (req[index]) {
               req[index].onreadystatechange = function () {processReqChange(index);};
               req[index].open(reqType, url, true);
               if (reqType=='POST') {
                   req[index].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
               }
               req[index].setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
               req[index].send(queryString);
           }
          } catch(e) {
            req[index] = false;
       }
   }
   return index;
}

function processReqChange(index) {
	try {
	   if (req[index].readyState == 4) {
	       if (req[index].status == 200) {
	    	   eval(req[index].responseText);
	       } else {
 			if (!reqURL[index].match(/reportAjaxError/) && req[index].statusText!='Service Unavailable') {
/*				var queryString = 'reqUrl='+encodeURIComponent(reqURL[index]);
				queryString += '&reqStatusText='+encodeURIComponent(req[index].statusText);
				queryString += '&reqResponseText='+encodeURIComponent(req[index].responseText);
				queryString += '&'+reqQueryString[index];
				loadXMLDoc('ajax/reportAjaxError.php', 'POST', queryString);*/
			}
	       }
	   }
	} catch (e) {
		if (!reqURL[index].match(/reportAjaxError/)) {
/*			var queryString = 'reqUrl='+encodeURIComponent(reqURL[index]);
			queryString += '&reqException='+encodeURIComponent(e.name+' ('+e.number+'): '+e.message+' '+e.description);
			queryString += '&reqStatusText='+encodeURIComponent(req[index].statusText);
			queryString += '&reqResponseText='+encodeURIComponent(req[index].responseText);
			queryString += '&'+reqQueryString[index];
			loadXMLDoc('ajax/reportAjaxError.php', 'POST', queryString);*/
		}
	}
}

function updateSuggestions(evt) {
	loadXMLDoc('ajax/updateSuggestions.php?value='+encodeURIComponent(document.getElementById('search').value));
}
