keyCd = 0;
pos = 0;
myCheck = false;
myInit = false;
//firstCall = false;
objct = null;

function suggestClose (div_value) {
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.display = 'none';
}

function suggest_over(div_value) 
{
    div_value.className = 'suggest_link_over';
}

function suggest_out(div_value) 
{
    div_value.className = 'suggest_link';
}

function set_search(value) 
{
	var p_id =value;
	//document.getElementById('txtSearch').value = p_id;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.display = 'none';
	//zum Suchergebnis weiterleiten
	top.location.href = "product_info.php?info=p" + p_id;
}
function more_result(value) 
{
    // HTML-TAGS entfernen
  	//var newvalue = value.replace(/<.*?>/gi, '');
	//Kategorienamen entfernen (f�ngt mit &nbsp; an)
	//var Suche =	newvalue.indexOf("&nbsp;");
	
	var p_id =value;
	// cateno - f�r Suchstring wie z.B. "J&B"
	p_id = p_id.replace(/&/g,"%26"); 
	//document.getElementById('txtSearch').value = p_id;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.display = 'none';
	//zum Suchergebnis weiterleiten
	//datamints MW110125: zusätzlichen Parameter angehängt, um in der erweiterten Suche nur im Titel suchen zu können
	top.location.href = "advanced_search_result.php?keywords=" + p_id + "&onlytitle=1";
}


function auto_suggest()
{ 
    document.getElementById('search_suggest').style.display = 'none';
    xajax_kerimsuche(escape(document.getElementById('txtSearch').value));
   
    // cateno - f�r Ajax-Suche: Navigation �ber Pfeiltasten
    var k = new keynavigation(document.getElementById('navitree'));
    k.init();
	myInit = true;

}


//cateno - f�r Ajax-Suche: Navigation �ber Pfeiltasten
function check_key() {    
    if (! k){
    	var k = new keynavigation(document.getElementById('navitree')); 
    }
	k.check();
	
	if(!myInit && keyCd==0){
		auto_suggest();	
	}
}

function eventHandling(element,type,callBack,returnParams) {
	/*
	  * eventhandler festlegen
	  */				  
	var returnParams = returnParams;				
	  
	if(document.addEventListener) { //gute Browser
		if(type.match(/^on/)) type = type.replace(/^on/,"");
			element.addEventListener(type,handleEvent,false);
	} else { // IE
		if(!type.match(/^on/))	type = "on"+type; 
			element.attachEvent(type,handleEvent);
	}
	
	function handleEvent (evt) {
		
		var event  = (evt)?evt:(window.event)?window.event:'';
					
		if(event.stopPropagation) {
			event.stopPropagation();
		} else {
			event.cancelBubble = true;
		}
		
		var target = event.srcElement || event.currentTarget;						
		
		callBack.call(callBack,event,target,(returnParams)?returnParams:null);
	}
}

function keynavigation (obj) {

     naviElement = null;    
                
    function keyPressedCheck (evt) {
        var curKey = evt.charCode || evt.keyCode;   
              
        switch (curKey) {
            case 38:
                //alert('hoch');
                keyCd = 38;
            break;
            case 40:
            	//alert('runter');
            	keyCd = 40;
            break;
            case 13:
            	//alert('enter');
            	keyCd = 13;
            break;
            default:
            	// alert('sonst');
            	keyCd = 0;
        }
    }
    
    function keyPressed (evt) {
        var curKey = evt.keyCode; 
        var npos = 'navitree_pn_'+pos;  
        var selValue = '';
        var test = 0;
        if(objct == null){
        	objct = document.getElementById('navitree');
        }

        switch (curKey) {
            case 38:
                //alert('hoch');
                test = parseInt(pos)-parseInt(1);            
                if(test>0) {
                    pos = parseInt(pos)-parseInt(1);
                    document.getElementById('navitree_'+pos).className="suggest_link_over";
                    prepos = parseInt(pos)+parseInt(1);
                    document.getElementById('navitree_'+prepos).className="suggest_link";
                    scroll('up');
                }
            break;
            case 40:
            	//alert('runter');
            	test = parseInt(pos)+parseInt(1);
            	selValue = document.getElementById('navitree_pn_'+test).innerHTML;
            	if(selValue != '') {
            	    pos = parseInt(pos)+parseInt(1);
            	    document.getElementById('navitree_'+pos).className="suggest_link_over";
            	    prepos = parseInt(pos)-parseInt(1);
              		document.getElementById('navitree_'+prepos).className="suggest_link";
              		scroll('down');
            	  }
            break;
            case 13:
                //alert("enter"); 
                if(pos > 0){//alert("enter1"); 
                	npos = 'navitree_pn_'+pos;
                	selValue = document.getElementById('navitree_pn_'+pos).innerHTML;
					//datamints MW110125: zusätzlichen Parameter angehängt, um in der erweiterten Suche nur im Titel suchen zu können
					top.document.location.href = "advanced_search_result.php?keywords=" + selValue + "&onlytitle=1";
                	//top.document.location.href = 'advanced_search_result.php?keywords='+selValue;
                		
                }
            break;
            default:  
            	//alert("sonst"); 
            	scroll('init');
            	auto_suggest();
            	pos=0; 
        }
    }

    function clearSpaces (strOut) {
        strOut = strOut.replace(/>\s+/gm,'>');	
     	strOut = strOut.replace(/\s+</gm,'<');			
     	strOut = strOut.replace(/>\s+</gm,'><');                 					                                
     	return strOut;
    }
         	
    this.init = function () { 
		if(!myInit){
			eventHandling(document,"keyup",keyPressed);
			myInit = true;
		}        
        obj.innerHTML = clearSpaces (obj.innerHTML); 
        naviElement   = obj;
        
    	pos = 0;
    	
    }
    this.check = function () {
		if(!myCheck){
			eventHandling(document,"keyup",keyPressedCheck);
			myCheck = true;
		}            	
    }    

}


    function scroll (job) {
    	if(job == 'down'){
    		document.getElementById('search_suggest').scrollTop = document.getElementById('search_suggest').scrollTop + 15;
    	}else if(job == 'up'){
    		document.getElementById('search_suggest').scrollTop = document.getElementById('search_suggest').scrollTop - 15;
    	}else{
    		document.getElementById('search_suggest').scrollTop = 0;
    	}
    }


