// JavaScript Document
// ajax advanced search.js 
/*-------------------------End Suggest Code--------------------------------*/	
function SuchenUndErsetzen(QuellText, SuchText, ErsatzText)
        {   if ((QuellText == null) || (SuchText == null))           { return null; }
            if ((QuellText.length == 0) || (SuchText.length == 0))   { return QuellText; }

            // Kein ErsatzText ?
            if ((ErsatzText == null) || (ErsatzText.length == 0))    { ErsatzText = ""; }

            var LaengeSuchText = SuchText.length;
            var LaengeErsatzText = ErsatzText.length;
            var Pos = QuellText.indexOf(SuchText, 0);

            while (Pos >= 0)
            {
                QuellText = QuellText.substring(0, Pos) + ErsatzText + QuellText.substring(Pos + LaengeSuchText);
                Pos = QuellText.indexOf(SuchText, Pos + LaengeErsatzText);
            }
            return QuellText;
        }

/* Shoutbox end */
/*----------------------------Suggest Code-------------------------*/
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {

	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.

function searchSuggest() {
	clearTimeout(timeout);
    timeout = null;
    var keywords = $('#txtSearch').val();
    if($('#txtSearch').val().length <= <?php echo SEARCHSUGGEST ;?>){ return false; }
    
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').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')
		ss.innerHTML = '';

		var str = searchReq.responseText.split("\n");
//		alert(searchReq.responseText);
		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" id="suggest_' + i + '">' + str[i] + '</div>';
//			ss.innerHTML += suggest;

			ss.innerHTML += str[i];
		}
		
		max_index = Math.max(0, i-1);
		
		if (i==0) {
//			ss.style.visibility  = "hidden";
			ss.style.display  = "none";
		} else {
//			ss.style.visibility  = "visible";
			ss.style.display  = "block";
		}
		//Schlieen link einfgen
		ss.innerHTML += '<p align="right"><a title="Klik hier" onmouseover="javascript:suggestOver(this);" onmouseout="javascript:suggestOut(this);" onClick="javascript:suggestClose(this);" class="suggest_link"><b>Sluiten</b></a></p>';
	}
}
/*// Close Function
function suggestClose (div_value) {
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility  = "hidden";
}*/

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
/*
//Click function
function setSearch(value) {
	// HTML-TAGS entfernen
//  	var newvalue = value.replace(/<.*?>/gi, '');
//	//Kategorienamen entfernen (fngt mit &nbsp; an)
//	var Suche =	newvalue.indexOf("&nbsp;");
//	var produktname = newvalue.substring(0,Suche);
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility  = "hidden";
	//zum Suchergebnis weiterleiten
//	top.location.href = "advanced_search_result.php?keywords=" + value; 
	$('#price_slider_form').submit();
}*/


    var index = -1;
    var max_index = 0;
    var timeout = null;

function suggestClose() {
	document.getElementById('search_suggest').innerHTML = '';
	//		document.getElementById('search_suggest').style.visibility  = "hidden";
	document.getElementById('search_suggest').style.display  = "none";
}
	
function setCategory(value) {
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.display  = "none";
	
	top.location.href = value; 
}
   
function setSearch(value) {
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_suggest').innerHTML = '';
//		document.getElementById('search_suggest').style.visibility  = "hidden";
	document.getElementById('search_suggest').style.display  = "none";
	
	top.location.href = "advanced_search_result.php?keywords=" + value; 

//		$('#price_slider_form').submit();
}
	
//    $('#txtSearch').focus();
    
    $(document).ready(function(){
             
        $('#txtSearch').keydown(function(e){

			if (e.keyCode != 40 && e.keyCode != 38 && e.keyCode != 37 && e.keyCode != 39 && e.keyCode != 13 && e.keyCode != 27 && e.keyCode != 9) {
                if (timeout == null) {
                    timeout = setTimeout('searchSuggest()',400);
                }
            }
            if(e.keyCode == 27){
                suggestClose();
            }
            if (e.keyCode == 40 || e.keyCode == 9) { //keyDown or TAB
            	var element = $('#suggestion_link_' + index);
                element.removeClass('suggest_link_over').addClass('suggest_link');
                index++;
                index = Math.min(index, max_index);
            }
            if (e.keyCode == 38) { //keyUp
            	var element = $('#suggestion_link_' + index);
                element.removeClass('suggest_link_over').addClass('suggest_link');
                index--;
                index = Math.max(0, index);
            }
            if (e.keyCode == 40 || e.keyCode == 38 || e.keyCode == 9) {
                var element = $('#suggestion_link_' + index);
                element.removeClass('suggest_link').addClass('suggest_link_over');
                return false;
            }
            if (e.keyCode == 13) { //Enter
                if (index > 0) {
                    $('#suggestion_link_' + index).click();
                	return false;
                }
                else{
                    $('#price_slider_form').submit();
                    return true;
                }
            }
        });
        
//        $('#txtSearch').focus(function(){searchSuggest();});
//        $('#txtSearch').click(function(){searchSuggest();});
        
    });
    
/*-------------------------End Suggest Code--------------------------------*/	

