﻿var currentTabMargin = 0; // Huidige marge van het tabje
var tabTimer = null; // Timer om het schuiven van het tabje te regelen
var activeTab = -1; // Houdt het actieve tabje bij, -1 betekent menu is ingeklapt
var crumbleTab = -1; // Houdt het hoofdmenu tabje bij dat in het crumblepath zit
var currentUitklapMargin = -200; // Huidige marge van de uitklapper
var uitklapTimer = null; // Timer om het uitklappen van het submenu te regelen
var fadeWaarde = 60; // Hoeveel moet er gedimd worden
var moetMenuInKlappenOnClick = false; // In document.onlick wordt bij elke klik gekeken of het menu moet worden ingeklapt.

document.onclick = checkMenuKlapIn;

function checkMenuKlapIn() {
    if (moetMenuInKlappenOnClick) menuMainClose();
}

function menuMainOver(menuTel) {
    if (activeTab != -1 && menuTel != activeTab) {
        var obj = document.getElementById(menuMainArray[menuTel]);
        var opac = 100
        obj.style.opacity = opac / 100;
        obj.style.filter = "alpha(opacity=" + opac + ")";
    }
}

function menuMainOut(menuTel) {
    if (activeTab != -1 && menuTel != activeTab) {
        var obj = document.getElementById(menuMainArray[menuTel]);
        var opac = fadeWaarde;
        obj.style.opacity = opac / 100;
        obj.style.filter = "alpha(opacity=" + opac + ")";
    }
}

function menuMainClick(menuTel) {
    activeTab = menuTel;
    
    // Alles dimmen behalve het geklikte menu
    for (i = 0; i < menuMainArray.length; i++) {
        var obj = document.getElementById(menuMainArray[i]); // Het hyperlink object van een hoofdmenu item

        var img = obj.childNodes[0].childNodes[0]; // Image in hyperlink opvragen m.b.v. childNodes
        if (img == null) img = obj.childNodes[0]; // Indien geen SEO aanstaat (Firefox) dan opnieuw proberen
        
        var opac = fadeWaarde;
        if (i == menuTel) {
            opac = 100;
            // Src vervangen
            img.src = img.src.replace("veMenuMain1", "veMenuMain2");
            img.src = img.src.replace("e_WC", "_WC");
            img.src = img.src.replace("_WC", "e_WC");
        }
        else {
            // Src vervangen
            if (i == crumbleTab) {
                img.src = img.src.replace("veMenuMain2", "veMenuMain1");
                img.src = img.src.replace("e_WC", "_WC");
            }
            else {
                img.src = img.src.replace("veMenuMain2", "veMenuMain0");
                img.src = img.src.replace("e_WC", "_WC");
            }
        }
        
        obj.style.opacity = opac / 100;
        obj.style.filter = "alpha(opacity=" + opac + ")";
    }
    
    // Het juiste subomvat panel tonen
    for (i = 0; i < menuSubArray.length; i++) {
        var obj = document.getElementById(menuSubArray[i]);
        if (obj) {
            if (i == menuTel) {
                obj.style.display = 'block';
            }
            else {
                obj.style.display = 'none';
            }
        }
    }
    
    // Menu tabje opvragen
    var tab = document.getElementById("vestedaMenu2_tab");
    
    // Als het tabje links zit, het tabje een andere klasse
    // en marge geven (alléén als browser *niet* IE6 is)
    if (navigator.appVersion.indexOf("MSIE 6.0") == -1) {
        if (menuTel == 0) {
            tab.className = tab.className.replace("links", "") + "links";
            currentTabMargin = menuTel * 157;
        }
        else {
            tab.className = tab.className.replace("links", "");
            currentTabMargin = menuTel * 157 - 5;
        }
    }
    else {
        currentTabMargin = menuTel * 157 - 5;
    }
    
    // Tabje tonen op de goeie plek
    tab.style.marginLeft = currentTabMargin + "px";
    tab.style.visibility = "visible";
    
    // Witte lijn tonen
    document.getElementById("lijn").style.visibility = "visible";

    // Flash verbergen (alleen voor Home)
    var fObj = document.getElementById('flash');
    if (fObj != null) {
        fObj.style.visibility = "hidden";
    }
    
    // Uitklappen
    menuKlapUit();
}

// Schuift het tabje vloeiend naar de nieuwe
// marge met waard "value"
/*
function setTabMargin(value) {
    var tab = document.getElementById("vestedaMenu2_tab");
    var diff = Math.abs(currentTabMargin - value);
    clearTimeout(tabTimer);
    
    if (diff >= 3) {
        var newTabMargin = Math.round(currentTabMargin + ((value - currentTabMargin) / 4));
        tab.style.marginLeft = newTabMargin + "px";
        currentTabMargin = newTabMargin;
        tabTimer = setTimeout("setTabMargin(" + value + ")", 10);
    }
    else {
        tab.style.marginLeft = value + "px";
        currentTabMargin = value;
    }
}
*/

// Sluit de uitklapper
function menuMainClose() {
    activeTab = -1;
    
    menuKlapIn();
}

function menuKlapUit() {
    var value = 0;
    
    var obj = document.getElementById("uitklap");
    var diff = Math.abs(currentUitklapMargin - value);
    document.getElementById("uitklapOmvat").style.display = "block";
    clearTimeout(uitklapTimer);

    if (diff >= 3 && isWebsiteFullVersion()) {
        var newUitklapMargin = Math.round(currentUitklapMargin + ((value - currentUitklapMargin) / 4));
        obj.style.marginTop = newUitklapMargin + "px";
        currentUitklapMargin = newUitklapMargin;
        uitklapTimer = setTimeout("menuKlapUit()", 10);
    }
    else {
        obj.style.marginTop = value + "px";
        currentUitklapMargin = value;
    }
}

function menuKlapIn() {
    var value = -200;

    var obj = document.getElementById("uitklap");
    var diff = Math.abs(currentUitklapMargin - value);
    clearTimeout(uitklapTimer);

    if (diff >= 3 && isWebsiteFullVersion()) {
        var newUitklapMargin = Math.round(currentUitklapMargin + ((value - currentUitklapMargin) / 4));
        obj.style.marginTop = newUitklapMargin + "px";
        currentUitklapMargin = newUitklapMargin;
        uitklapTimer = setTimeout("menuKlapIn()", 10);
    }
    else {
        obj.style.marginTop = value + "px";
        currentUitklapMargin = value;

        // Witte lijn verbergen
        document.getElementById("lijn").style.visibility = "hidden";

        // Uitklapper verbergen
        document.getElementById("uitklapOmvat").style.display = "none";

        // Tabje uitzetten
        document.getElementById("vestedaMenu2_tab").style.visibility = "hidden";

        // Flash tonen (alleen voor Home)
        var fObj = document.getElementById('flash');
        if (fObj != null) {
            fObj.style.visibility = "visible";
        }
        
        // Alle menuitems weer goed zetten
        // Alles dimmen behalve het geklikte menu
        for (i = 0; i < menuMainArray.length; i++) {
            var obj = document.getElementById(menuMainArray[i]); // Het hyperlink object van een hoofdmenu item

            var img = obj.childNodes[0].childNodes[0]; // Image in hyperlink opvragen m.b.v. childNodes
            if (img == null) img = obj.childNodes[0]; // Indien geen SEO aanstaat (Firefox) dan opnieuw proberen

            var opac = 100;
            // Src vervangen
            if (i == crumbleTab) {
                img.src = img.src.replace("veMenuMain2", "veMenuMain1");
                img.src = img.src.replace("e_WC", "_WC");
            }
            else {
                img.src = img.src.replace("veMenuMain2", "veMenuMain0");
                img.src = img.src.replace("e_WC", "_WC");
            }

            obj.style.opacity = opac / 100;
            obj.style.filter = "alpha(opacity=" + opac + ")";
        }
    }
}

// Checkt of een object een bepaalde parent heeft
// (Wordt gebruikt in fixOnMouseOut)
function is_child_of(parent, child) {
    if (child != null) {
        while (child.parentNode) {
            if ((child = child.parentNode) == parent) {
                return true;
            }
        }
    }
    return false;
}

// Waar de normale onmouseout raar gedrag vertoont bij
// nested divjes, doet deze dat niet
function fixOnMouseOut(element, event, JavaScript_code) {
    var current_mouse_target = null;

    if (event.toElement) {
        current_mouse_target = event.toElement;
    }
    else if (event.relatedTarget) {
        current_mouse_target = event.relatedTarget;
    }

    if (!is_child_of(element, current_mouse_target) && element != current_mouse_target) {
        eval(JavaScript_code);
    }
}




// Laatst bekeken menu (history)
var hTerugKlap = -200;

var hCur = hTerugKlap;
var hNew = hTerugKlap;
var hWait;
var hSpeed;


function historyKlapUit() {
    try {
        //if (magMenuUitKlappen) {
            document.getElementById('vestedaMenu2_historyMenuUitklapOmvat').style.display = 'block';
            hWait = 10;
            hSpeed = 3;
            hNew = 0;
        //}
        //else {
        //    setTimeout("magMenuUitKlappen = true", 1500);
        //}
    }
    catch (err) {

    }
}

function historyKlapIn() {
    hWait = 30;
    hSpeed = 5;
    hNew = hTerugKlap;
}

function initHistory() {
    if (hCur == hTerugKlap && hNew == hTerugKlap) document.getElementById('vestedaMenu2_historyMenuUitklapOmvat').style.display = 'none';

    if (hWait > 0) {
        hWait--;
    }
    else {
        var obj = document.getElementById('vestedaMenu2_historyMenuUitklap');

        if (hCur != hNew) {
            var hSet = hCur + ((hNew - hCur) / hSpeed);

            if (Math.abs(hSet - hNew) <= 1) {
                hSet = hNew;

                if (hSet == hTerugKlap) {
                    document.getElementById('vestedaMenu2_historyMenuUitklapOmvat').style.display = 'none';
                }
            }

            obj.style.marginTop = hSet + 'px';
            hCur = hSet;
        }
    }
}