
addListenner(window, "load", lili_menuSFRollover, true);
addListenner(window, "load", lili_loadCpSearch, true);
//customFallBack = lili_updateLinks;

window.hideTimer = {};






function lili_loadCpSearch(id, selected_text)
{
    var oField = document.getElementById('VI_id');
    if (oField) {
        oField.onkeyup  = lili_updateLinks;
        oField.onchange = lili_updateLinks;
    }
} // end of "lili_loadCpSearch()" function



/**
 * Met à jour les liens en fonction du code postal saisi
 * 
 * id, selected_text
 * @returns {Boolean}
 */
function lili_updateLinks()
{
    var oMenu = document.getElementById('categoriesArtisans');
    if (!oMenu) {
        return false;
    }
    var id, selected_text;
    selected_text = this.value;
    
    var linkList = oMenu.getElementsByTagName('a'); // ul
    
    var href = '';
    for (var i = 0; i < linkList.length; i++) {
        href = linkList[i].href;
        if (href.indexOf('&codepostal=') >= 0) {
	        href = href.split('&codepostal=');
	        linkList[i].href = href[0] + '&codepostal=' + selected_text;
	        
        } else {
	        href = href.split('?codepostal=');
	        linkList[i].href = href[0] + '?codepostal=' + selected_text;
        }
    }
} // end of "lili_updateLinks()"




function lili_menuSFRollover()
{
	var oMenu = document.getElementById('categoriesArtisans');
	if (!oMenu) {
		return false;
	}
	
	var linkList = oMenu.getElementsByTagName('a'); // ul
	
	var sousMenu = false, id = false;
	for (var i = 0; i < linkList.length; i++) {
		if (linkList[i].className.indexOf('titreCategorie') >= 0 && linkList[i].id) {
		    linkList[i].onmouseover = lili_showMenuSF;
		    linkList[i].onmouseout = lili_hideMenuSF;
		    
		    id = linkList[i].id.split('-')[1];
		    sousMenu = document.getElementById('listeSpecialites-' + id);
		    if (sousMenu) {
		        sousMenu.onmouseover = lili_showMenuSF;
		        sousMenu.onmouseout = lili_hideMenuSF;
		    }
		}
	}
} // end of "lili_menuSFRollover()"




function lili_showMenuSF()
{
    //alert('breakpoint');
    var parentLink = this;
    if (this.id.indexOf('listeSpecialites-') >= 0) {
        var id = this.id.split('-')[1];
        //alert();
        parentLink = document.getElementById('titreFamille-' + id);
    }
    
	
	var id = parentLink.id.split('-')[1];
	

    //if (parentLink.hideTimer) {
        clearTimeout(window.hideTimer[id]);
    //}
	
	
	var sousMenu = document.getElementById('listeSpecialites-' + id);
	if (sousMenu.className.indexOf('categorieVisible') >= 0) {
	    return false;
	}
	
	
	// spécial IE6
	var scroll = false;
	/*if (typeof document.body.style.maxHeight == "undefined") {
	    scroll = false;
	}*/
	
	
	// trouve la position du parent  // document.getElementById('listeFamille')
    var pos = getPosition(parentLink, scroll);
    var main = getPosition(parentLink.parentNode.parentNode);

    if (typeof document.body.style.maxHeight == "undefined") {
        sousMenu.style.left = (pos.x - main.x - 4) + 'px';
        sousMenu.style.top = (pos.y - main.y - 4) + 'px';
        
    } else {
        sousMenu.style.left = (pos.x - main.x - 4) + 'px';
        sousMenu.style.top = (pos.y - main.y - 4) + 'px';
    }
	addClass(sousMenu, 'categorieVisible');
	//alert('position : ' + pos.x + ', ' + pos.y);
} // end of "lili_showMenuSF()"




function lili_hideMenuSF()
{
    //alert('on cache le menu');
    var parentLink = this;
    if (this.id.indexOf('listeSpecialites-') >= 0) {
        var id = this.id.split('-')[1];
        parentLink = document.getElementById('titreFamille-' + id);
    }
    
    
    var id = parentLink.id.split('-')[1];
    var sousMenu = document.getElementById('listeSpecialites-' + id);
    if (!sousMenu || sousMenu.className.indexOf('categorieVisible') < 0) {
        return false;
    }

    //alert('parentLink.id = ' + parentLink.id + ', sousMenu.id = ' + sousMenu.id);
    
	function hideFn()
	{
	    //alert('enlève la classe');
		removeClass(sousMenu, 'categorieVisible');
		clearTimeout(window.hideTimer[id]);
	};
	
	window.hideTimer[id] = setTimeout(hideFn, 200);
} // end of "lili_hideMenuSF()"


