// JavaScript Document

var t_search_result = new Array();

var index = 0;
var timer;

var AjaxCallSuggest = {

	
	handleSuccess:function(o){
		//Success handler
		//alert(o.responseText);
		eval(o.responseText);
		build_suggests();
	},

	handleFailure:function(o){
		// Failure handler	
	},

	processResult:function(o){
		// This member is called by handleSuccess
	},

	startRequest:function(_key_word) {
		YAHOO.util.Connect.asyncRequest('POST', 'suggest.php', callbackSuggest, 'ID_type_produit=0&key_word='+ _key_word);
	}
	
}

var callbackSuggest ={
	success:AjaxCallSuggest.handleSuccess,
	failure:AjaxCallSuggest.handleFailure,
	scope: AjaxCallSuggest
};


var getSuggest = function (){
    if(Dom.get('Recherche').value.length > 1){
        AjaxCallSuggest.startRequest( Dom.get('Recherche').value );   
    }
}


function updateDisplay( keycode )
{  
    switch(keycode)
    {       
        case 27://echap
            hide_suggests();
            break;
            
        case 38://up
            index--; 
            listUpdateCursor();
            break;
            
        case 40://down
            index++; 
            listUpdateCursor();        
            break;
            
        case 13://entry
            select_suggest();
            break;
                        
        default:
            window.setTimeout('getSuggest();', 250);  
    }
}

var select_suggest = function()
{
    var word = Dom.get('Recherche').value;
    
	if(word.length > 1){
		document.location.replace('search-result.php?new_search=oui&ID_type_produit=0&motor=internal&word=' + word );	
	}
    else{
        alert("Veuillez préciser votre recherche.");
    }
}

var select_suggest_one = function(word)
{   
	if(word.length > 1){
		document.location.replace('search-result.php?new_search=oui&ID_type_produit=0&motor=internal&word=' + word );	
	}
    else{
        alert("Veuillez préciser votre recherche.");
    }
}


var display_suggests = function() {
	Dom.setStyle( div_suggest_search ,'display', 'block');
    index = -1;
}

var hide_suggests = function() {
	Dom.setStyle( div_suggest_search ,'display', 'none');
}

//function qui construit la div de suggestion
var build_suggests = function() 
{
	div_suggest_search.innerHTML = '';

	for(var i=0;i<t_search_result.length;i++) {
		new_div_element = document.createElement('div');
		new_div_element.innerHTML = t_search_result[i];
		div_suggest_search.appendChild(new_div_element);
	}
	
	if(t_search_result.length > 0) {
		display_suggests();
	}
	else {
		hide_suggests();
	}
}


function listUpdateCursor()
{
    if(index<0){
        index = div_suggest_search.childNodes.length-1;
    }
    else if(index>div_suggest_search.childNodes.length-1){
        index = 0;
    }
    
    for(var i=0;i<div_suggest_search.childNodes.length;i++){
        var el =  div_suggest_search.childNodes[i].firstChild;
        if(index == i){
            Dom.setStyle(el, 'background-color', '#cbcbcb');
            Dom.setStyle(el, 'cursor', 'pointer');
            if(Dom.getStyle(div_suggest_search, 'display') == 'block' ){
                Dom.get('Recherche').value = Dom.get('div_result_'+i).firstChild.nodeValue;   
            }
        }else{
            el.className = "div_suggest";
            Dom.setStyle(el, 'background-color', '#FFFFFF');
            Dom.setStyle(el, 'cursor', 'default');
        }
        Dom.setStyle(el, 'text-decoration', 'none');
    }
}