
var menu_temp = null; 
var menu_timeout = null;
var menu_timeoutDelay = 500;
var menu_detail_temp = null;
var menu_detail_timeout = null;

$(document).ready(function() {
    // Pour le menu
    $("#MainNav li").hover(function() {
        Menu_MouseOver($(this));
    }, function() {
        Menu_MouseOut($(this));
    });

    // Pour le sous-menu
    $(".SubMenu li").hover(function() {
        $(this).addClass("Hover");
        SubMenu_MouseOver($(this));
    }, function() {
        $(this).removeClass("Hover");
        SubMenu_MouseOut($(this));
    });

    // Pour les détails de sous-menu
    $(".SubMenuDetail").hover(function() {
        SubMenuDetail_MouseOver($(this));
    }, function() {
        SubMenuDetail_MouseOut($(this));
    });
});

function Menu_MouseOver(sender) {
    if (sender.hasClass("Hover")) {
        menu_temp = null;
        if (menu_timeout) clearTimeout(menu_timeout);
    } else {
        if (menu_temp) {
            menu_temp.removeClass("Hover");
            menu_temp = null;
            if (menu_timeout) clearTimeout(menu_timeout);

            HideSubMenuDetail();
            
           
        }
        sender.addClass("Hover");
    }
}
function Menu_MouseOut(sender) {
    menu_temp = sender;
    menu_timeout = setTimeout("Menu_Timeout_Finished();", menu_timeoutDelay);
}
function Menu_Timeout_Finished() {
    if (menu_temp) {
        menu_temp.removeClass("Hover");
        menu_temp = null;
    }
}

function SubMenu_MouseOver(sender) {
    var menu_detail = $("#" + sender.attr("id") + "Detail");

    if (menu_detail.css("display") == "block") {
        menu_detail_temp = null;
        if (menu_detail_timeout) clearTimeout(menu_detail_timeout);
    } else {
        HideSubMenuDetail();
    }
    
    menu_detail.show();
}
function SubMenu_MouseOut(sender) {
    var menu_detail = $("#" + sender.attr("id") + "Detail");
    menu_detail_temp = menu_detail;
    menu_detail_timeout = setTimeout(SubMenuTimeout_Finished, menu_timeoutDelay);
}
function SubMenuTimeout_Finished() {
    HideSubMenuDetail();
}

function SubMenuDetail_MouseOver(sender) {
    if (menu_detail_temp) {
        $("#" + menu_detail_temp.attr("id").replace("Detail", "")).addClass("Hover2");
        menu_detail_temp = null;
        if (menu_detail_timeout) clearTimeout(menu_detail_timeout);
    }
}
function SubMenuDetail_MouseOut(sender) {
    menu_detail_temp = sender;
    menu_detail_timeout = setTimeout(SubMenuTimeout_Finished, menu_timeoutDelay);
}



function HideSubMenuDetail() {
    if (menu_detail_temp) {
        $("#" + menu_detail_temp.attr("id").replace("Detail", "")).removeClass("Hover2");
        menu_detail_temp.hide();
        menu_detail_temp = null;
        if (menu_detail_timeout) clearTimeout(menu_detail_timeout);
    }
}
