/*----------------------------Suggest Code-------------------------*/
/*
	This is the JavaScript file for the osCommerce AJAX Search Suggest
 
	You may use this code in your own projects as long as this
	copyright is left	in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
	For the rest of this code visit http://www.osCommerce-SSL.com
 
	For a complete detailed tutorial on how this code works visit:
	http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-271_290_312.html
 
	For more AJAX code and tutorials visit http://www.DynamicAJAX.com
 
	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.
	

modifications (c) info@lexion.ru

	---------------------------------------------	
 
*/
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("please upgrade your browser.");
	}
}
 
//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();
 
var timeout = new Date().getTime();
var timeout2 = new Date().getTime();
var timeout3 = new Date().getTime();
 
function hideResultNow(){
	var ss = document.getElementById('search_suggest');
	ss.innerHTML = '';
	ss.style.display = 'none';
}
 
function hideResult() {
	if (timeout) clearTimeout(timeout);
	timeout = setTimeout(hideResultNow, 200);
}
 
 
//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest0(keyCode) {
	if(keyCode==27){
		hideResult();
		document.getElementById('txtSearch').value = '';
		return;
	}
	if (timeout3) clearTimeout(timeout3);
	timeout3 = setTimeout(searchSuggest, 200);
}
function searchSuggest(keyCode) {
	if(keyCode==27){
		hideResult();
		document.getElementById('txtSearch').value = '';
		return;
	}
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = /*escape(*/document.getElementById('txtSearch').value/*)*/;
		if(str.length > 2){
		searchReq.open("GET", '/rusearch/search.php?quick=1&stpos=0&stype=AND&q=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest0;
		searchReq.send(null);
		}
	}
}
 
var suggestTimer = new Date().getTime();
 
function checkTimer(){
	if(new Date().getTime() - suggestTimer > 3){
		hideResult();
	}
}
 
 
function handleSearchSuggest0() {
	if (timeout2) clearTimeout(timeout2);
	timeout2 = setTimeout(handleSearchSuggest, 200);
}
 
//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4 && document.getElementById('txtSearch').value.length>2) {
		var ss = document.getElementById('search_suggest');
		//ss.width = document.getElementById('txtSearch').width;
		//ss.style.display = 'none';
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
			suggestTimer = new Date().getTime();
		}
		if(ss.innerHTML=="")
			ss.style.display = 'none';
		else
			ss.style.display = 'block';
	}
}
 
//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
	suggestTimer = new Date().getTime();
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
	suggestTimer = new Date().getTime();
}
//Click function
function setSearch(str) {
	if(str.indexOf('>')>0){
		str = str.substr(str.indexOf('>')+1);
		if(str.indexOf('<	')>0){
			str = str.substr(0,str.indexOf('<'));
		}
	}
	document.getElementById('txtSearch').value = str;
	document.getElementById('search_suggest').innerHTML = '';
}
 
setInterval(checkTimer, 20000);
 
/*-------------------------End Suggest Code--------------------------------*/

