// ***************************************************************************************************
// * (c) 2005/2006 Pepperstream
// *
// * Project      : Pepperstream Container CMS
// * Auteur       : Aldo Quispel
// * File         : peppermenu.js
// * Omschrijving : Alle javascript functionaliteit om het peppermenu te laten werken. Functies hier
// *                hebben betrekking op het in en uitklappen van het menu.
// ***************************************************************************************************

// Globale systeem variabelen (niet instelbaar)
var mouseon  = false;       //Onthoud of een menu wel alles mag dichtklappen of niet.
var vorigitem;              //Onthoud het item waar men net met de muis overheen ging (object).
var is_ie = false;


function imageRollover(imageobject, imagesrc) {
    // *****************************************************************************
    // * Omschrijving : Zorgt voor rolover van juiste image
    // * Input        : imageobject - <img> node
    // *                imagesrc    - src code die gebruikt moet gaan worden
    // * Auteur       : Aldo Quispel
    // * Aangemaakt   : 2/21/2005 4:10PM
    // *****************************************************************************
		
    imageobject.src = imagesrc;
}

function menuactiesuit(id, menuitem) {
    // *****************************************************************************
    // * Omschrijving : Veranderd de class name om de menu acties uit te zetten.
    // * Input        : id        - id van de div
    // *                menutitem - volledige div node
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    vorigitem = menuitem; //onthoud wat het vorige item was voor dehighlighting

    setTimeout("hideSubmenu('"+'sub_'+id+"')",menuopentijd);

}

function deHighlight(menuitem) {
    // *****************************************************************************
    // * Omschrijving : Zorgt ervoor dat een item zijn highlight weer verliest.
    // * Input        : menutitem - volledige div node
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    if (menuitem.className.indexOf("over") > 0) {
        menuitem.className = menuitem.className.substr(0, menuitem.className.indexOf("over"));
        window.status = '';
    }

}

function highlight(menuitem) {
    // *****************************************************************************
    // * Omschrijving : Zorgt ervoor dat een item ge-highlight wordt.
    // * Input        : menutitem - volledige div node
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    if (menuitem.className.indexOf("over") < 0) {
        menuitem.className = menuitem.className + 'over';
        if (menuitem.display != 'undefined') {
            window.status = menuitem.innerText+" ("+menuitem.display+")";
            deHighLightSameLvl(menuitem.id);
        }
    }
}

function deHighLightSameLvl(id) {
    // *****************************************************************************
    // * Omschrijving : Zorgt ervoor dat als je een menu item highlight, alle andere
    // *                menu items op hetzelfde niveau gedehighlight worden. Dit
    // *                om incorrectie trailing highlighting te voorkomen.
    // * Input        : id       - id van de div
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    pepKids = document.getElementById('peppermenu').childNodes;
    for (i=0; i < pepKids.length; i++) {
        if (pepKids[i].id != undefined) {
            if (pepKids[i].id != '') {
                mainKids = document.getElementById(pepKids[i].id).childNodes;
                for (ii=0; ii < mainKids.length; ii++) {
                    if (mainKids[ii].id != undefined) {
                        if (mainKids[ii].id.length == id.length) {
                            if (mainKids[ii].id.substr(0, (mainKids[ii].id.length - 1)) == id.substr(0, (id.length - 1))) {
                                if (mainKids[ii].id != id) {
                                    deHighlight(mainKids[ii]);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

function toonGeenKinderen(id, menuitem) {
    // *****************************************************************************
    // * Omschrijving : Actie die uitgevoerd wordt op onmouseout als er geen kinderen
    // *                zijn. Zet andere takken uit en zorgt voor de juiste dehighligts
    // *                en highlights.
    // * Input        : id       - id van de div
    // *                menuitem - volledige div node
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    //Dehighlight het vorige menu item.
    if (vorigitem) {
        if (menuitem.id.substr(0, (menuitem.id.length - 2)) != vorigitem.id ) {
            deHighlight(vorigitem);
        }
    }
		
    //Sluit niet actieve takken zodat er altijd maar 1 tak open is.
    sluitNietActiveTak(id);

    //Highlight door andere class op mouseover
    highlight(menuitem);
}

function hideSubmenu(id) {
    // *****************************************************************************
    // * Omschrijving : Deze functie sluit alle submenus behalve de submenu structuur
    // *                waar men op dit moment in surft.
    // * Input        : id        - id van de div
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    if (mouseon == false) {
        if (document.getElementById(id)) {
            pepKids = document.getElementById('peppermenu').childNodes;
            for (i=0; i < pepKids.length; i++) {
                if (pepKids[i].id != undefined) {

                    if (pepKids[i].id.substr(0,4)  == 'sub_') {
                        pepKids[i].style.display = 'none';
                    } else {

                        if (pepKids[i].id != '') {
                            mainKids = document.getElementById(pepKids[i].id).childNodes;
                            for (ii=0; ii < mainKids.length; ii++) {
                                if (mainKids[ii].id != undefined) {
                                    deHighlight(mainKids[ii]);
                                }
                            }
                        }
                    }
                }
            }
        }
    		showSelects();
    } else {
        setTimeout("hideSubmenu('"+id+"')",menuopentijd);
    }
    
}

function ganaar(id) {
    // *****************************************************************************
    // * Omschrijving : gaat naar het ID waarop geklikt is.
    // * Input        : id        - id van de div
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    window.location = "?id="+id;
}

function noHide() {
    // *****************************************************************************
    // * Omschrijving : Zet mouseon op true zodat er geen menu's automatisch inklappen
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    mouseon = true;
}

function canHide() {
    // *****************************************************************************
    // * Omschrijving : Geeft mouseon vrij met eenfalse zodat alle menus gehide mogen
    // *                worden.
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    mouseon = false;
}

function toonKinderen(id, menuitem) {
    // *****************************************************************************
    // * Omschrijving : Toont de kinderen van een menu item als daarover heen wordt
    // *                gegaan.
    // * Input        : id        - id van de div
    // *                menutitem - volledige div node
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    divs = document.getElementsByTagName('div');
    var par_div=document.getElementById("menu"+id.substr(9,id.length));

    //Sluit niet actieve takken zodat er altijd maar 1 tak open is.
    sluitNietActiveTak(id);
		
		hideSelects();
		
    if (vorigitem) {
        if (menuitem.id.substr(0, (menuitem.id.length - 2)) != vorigitem.id ) {
            deHighlight(vorigitem);
        }
    }

    //Highlight door andere class op mouseover
    highlight(menuitem);

    if (document.getElementById('sub_'+id)) {

        if (document.getElementById('sub_'+id).style.display == 'none') {

        	document.getElementById('sub_'+id).style.top     = par_div.parentNode.offsetTop + par_div.offsetTop + "px";    //Hoogte
        	document.getElementById('sub_'+id).style.left    = par_div.parentNode.offsetLeft + par_div.offsetWidth + "px"; //Breedte
            document.getElementById('sub_'+id).style.display = 'block'; // zichtbaar maken

            mouseon = true; //Mag niet inklappen want we staan met de muis op het menu
        }
    }
}


function sluitNietActiveTak(id) {
    // *****************************************************************************
    // * Omschrijving : Sluit alle takken die op dit moment niet open mogen staan.
    // *                De actieve tag wordt gespaard en alle andere takken worden
    // *                verborgen.
    // * Input        : id        - id van de div
    // * Auteur       : Aldo Quispel
    // *****************************************************************************

    pepKids = document.getElementById('peppermenu').childNodes;

    currentid = id.split("-");

    /* voorbeeld van mogelijkte tak structuren in ids:

       sub_container0-1
       sub_container0-1-1
       sub_container0-1-1-1

       sub_container0-1
       sub_container0-1-2
       sub_container0-1-2-1

       sub_container0-1
       sub_container0-1-20
       sub_container0-1-20-1
    */

    for (i=0; i < pepKids.length; i++) {
        if (pepKids[i].id != undefined) {
            if (pepKids[i].id.substr(0,4)  == 'sub_') {

                pepid = pepKids[i].id.split("-");

                if (pepKids[i].id != id) {
                    // Niet het huidige ID
                    if (pepid.length >= currentid.length ) {
                        //Dit id is groter of gelijk aan het huidige id en kan dus geen ouder van deze div zijn.
                        pepKids[i].style.display = 'none';
                        deHighlight(pepKids[i]);
                    } else {
                        for (x=0; x < pepid.length; x++) {
                            if (pepid[x] != "sub_"+currentid[x]) {
                                if (pepid[x] != currentid[x]) {
                                    pepKids[i].style.display = 'none';
                                    deHighlight(pepKids[i]);
                                } // if (pepid[x] != currentid[x]) {
                            } // if (pepid[x] != "sub_"+currentid[x]) {
                        } // for (x=0; x < pepid.length; x++) {
                    } // if (pepid.length >= currentid.length ) {
                } // if (pepKids[i].id != id) {
            } // if (pepKids[i].id.substr(0,4)  == 'sub_') {
        } // if (pepKids[i].id != undefined) {
    } // for (i=0; i < pepKids.length; i++) {

}

function hideSelects() {
    // *****************************************************************************
    // * Omschrijving : Zel alle SELECT tags uit in de website;
    // * Auteur       : Dennie Prins
    // *****************************************************************************
    if (selectUitIe == true && is_ie) {
	    selectvelden = document.getElementsByTagName('SELECT');
	    for (i=0; i< selectvelden.length; i++) {
	        selectvelden[i].style.visibility = 'hidden';
	    }
    }

}

function showSelects() {
    // *****************************************************************************
    // * Omschrijving : Zel alle SELECT tags aan in de website;
    // * Auteur       : Dennie Prins
    // *****************************************************************************
	 if (selectUitIe == true && is_ie) {
	    selectvelden = document.getElementsByTagName('SELECT');
	    for (i=0; i< selectvelden.length; i++) {
	        selectvelden[i].style.visibility = 'visible';
	    }
	 }
}

function browsercontroler() {
    // *****************************************************************************
    // * Omschrijving : Zel alle SELECT tags aan in de website;
    // * Auteur       : Dennie Prins
    // *****************************************************************************
		if (selectUitIe==true) {
			  if( typeof( window.innerWidth ) == 'number' ) {
					is_ie = false;
			  } else {
					is_ie = true;
			  }			
		} 
			
		
}
browsercontroler();


