function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your Browser is not supported");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		$quicksearch = document.getElementById('txtSearch');
		if($quicksearch == null) 
		{
			return false;
		}
		var str = escape($quicksearch.value);
		searchReq.open("GET", 'searchSuggest.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		var str = searchReq.responseText.split("\n");
		var id_add = 10000;
		var out = '';
		for(i=1; 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 ID=\"'+(id_add+i)+'\" onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			out += suggest;
		}
		if(i>2) ss.innerHTML = '<div class="suggest_link" style="font-size:.8em">Vorschläge zu Ihrer Suche...</div>'+out; else ss.innerHTML='';
		
	}
}


//Mouse over function
function suggestOver(div_value) {
	if(div_value)	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	if(div_value) div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
	// Strip out HTML-Tags
	var re= /<\S[^><]*>/gi;
	value = value.replace(re, "");
	$quicksearch = document.getElementById('txtSearch');
	if($quicksearch != null)
	{
		document.getElementById('txtSearch').value = value;
	}
	document.getElementById('search_suggest').innerHTML = '';
}

var act_start = 10000;
var act_end = 10019;
var act = act_start;

function init(e)
{
	if(act<=act_start)
	{
		act = act_start;
	}
	else if(act>=act_end)
	{
		act = act_end;
	}
	if(navigator.appName == "Netscape")
	{
		document.onkeyup = init;
	}
	if(e)
	{
		var pK = e.which;
	}
	else if(window.event)
	{
		var pK = window.event.keyCode;
	}
	// var pK = e ? e.which : window.event.keyCode;

	if(pK == 40)
	{
		act = act+1;
		var act_id = document.getElementById(act);
		if(act_id!=null)
		{
			if(act!=act_start+1)
			{
				var old_id = document.getElementById((act-1));
			}
			suggestOver(act_id);
			suggestOut(old_id);
		}
	}
	else if(pK == 38)
	{
		act = act-1;
		var act_id = document.getElementById(act);
		if(act_id!=null)
		{
			if(act!=act_end)
			{
				var old_id = document.getElementById((act+1));
			}
			suggestOver(act_id);
			suggestOut(old_id);
		}
	}
	else if(pK == 13)
	{
		var act_id = document.getElementById(act);
		if(act_id) setSearch(act_id.innerHTML);
	//	document.frmSearch.submit();
	}
	else if(pK != 39 && pK != 38 && pK != 37 && pK != 40 )
	{
		searchSuggest();
	}
	//alert(act);
}
var act_start = 10000;
var act_end = 10019;
var act = act_start;

function fastcartsubmitter()
{
	if(act<=act_start)
	{
		act = act_start;
	}
	
	
	var act_id = document.getElementById(act+1);
	
	if(act_id)
	{
		suggestOver(act_id);
		setartnrSearch(act_id.innerHTML);
		document.fastcart.submit();
	}
	else
	{
		document.fastcart.submit();
	}
}


function artnrinit(e)
{
	if(act<=act_start)
	{
		act = act_start;
	}
	else if(act>=act_end)
	{
		act = act_end;
	}
	if(navigator.appName == "Netscape")
	{
		document.onkeyup = artnrinit;
	}

	var pK = e ? e.which : window.event.keyCode;

	if(pK == 40)
	{
		act = act+1;
		var act_id = document.getElementById(act);
		if(act_id!=null)
		{
			if(act!=act_start+1)
			{
				var old_id = document.getElementById((act-1));
			}
			suggestOver(act_id);
			suggestOut(old_id);
		}
	}
	else if(pK == 38)
	{
		act = act-1;
		var act_id = document.getElementById(act);
		if(act_id!=null)
		{
			if(act!=act_end)
			{
				var old_id = document.getElementById((act+1));
			}
			suggestOver(act_id);
			suggestOut(old_id);
		}
	}
	else if(pK == 13)
	{
		var act_id = document.getElementById(act);
		if(act_id)
		{
			suggestOver(act_id);
			setartnrSearch(act_id.innerHTML);
		//	document.fastcart.submit();
		}
		else
		{
		//	document.fastcart.submit();
		}
		
	}
	else if(pK != 39 && pK != 38 && pK != 37 && pK != 40 )
	{
		artnrSuggest();
	}
	//alert(act);
}

//Called from keyup on the search textbox.
//Starts the AJAX request.
function artnrSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('artnrSearch').value);
		searchReq.open("GET", 'searchSuggest.php?artnrsearch=' + str, true);
		searchReq.onreadystatechange = handleSearchartnrSuggest;
		searchReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleSearchartnrSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('artnrsuggest')
		ss.innerHTML = '';
		var id_add2 = 10001;
		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 ID=\"'+(id_add2+i)+'\" onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setartnrSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

//Click function
function setartnrSearch(value) {
	var splitvalue = value.split("<");
	document.getElementById('artnrSearch').value = splitvalue[0];
	document.getElementById('artnrsuggest').innerHTML = '';
}
