// {{{ activateTab

/**
 * Activeren van de diverse tabs
 *
 * @param   string   tab   Het gekozen tabblad
 */
function activateTab( tab ) {
    switch( tab ) {
        case "zoeken":
			if (document.getElementById("tabZoeken")) { document.getElementById("tabZoeken").className = "active"; }
            if (document.getElementById("tabUitgebreid")) { document.getElementById("tabUitgebreid").className = ""; }
            if (document.getElementById("tabRegio")) { document.getElementById("tabRegio").className = ""; }
            if (document.getElementById("frameZoeken")) { document.getElementById("frameZoeken").style.display = "block"; }
            if (document.getElementById("frameUitgebreid")) { document.getElementById("frameUitgebreid").style.display = "none"; }
            if (document.getElementById("frameRegio")) { document.getElementById("frameRegio").style.display = "none"; }
        break;
        case "uitgebreid":
			if (document.getElementById("tabZoeken")) { document.getElementById("tabZoeken").className = ""; }
            if (document.getElementById("tabUitgebreid")) { document.getElementById("tabUitgebreid").className = "active"; }
            if (document.getElementById("tabRegio")) { document.getElementById("tabRegio").className = ""; }
            if (document.getElementById("frameZoeken")) { document.getElementById("frameZoeken").style.display = "none"; }
            if (document.getElementById("frameUitgebreid")) { document.getElementById("frameUitgebreid").style.display = "block"; }
            if (document.getElementById("frameRegio")) { document.getElementById("frameRegio").style.display = "none"; }
        break;
        case "regio":
			if (document.getElementById("tabZoeken")) { document.getElementById("tabZoeken").className = ""; }
            if (document.getElementById("tabUitgebreid")) { document.getElementById("tabUitgebreid").className = ""; }
            if (document.getElementById("tabRegio")) { document.getElementById("tabRegio").className = "active"; }
            if (document.getElementById("frameZoeken")) { document.getElementById("frameZoeken").style.display = "none"; }
            if (document.getElementById("frameUitgebreid")) { document.getElementById("frameUitgebreid").style.display = "none"; }
            if (document.getElementById("frameRegio")) { document.getElementById("frameRegio").style.display = "block"; }
        break;
    }
}

// }}}
// {{{ toonMeer

/**
 * Meer resultaten tonen
 *
 * @param   string   input   De zoekopdracht die meer resultaten moet tonen
 */
function toonMeer(input) {
    document.getElementById(input + "Short").style.display = "none";
    document.getElementById(input + "Long").style.display = "block";
}

// }}}
// {{{ toonMinder

/**
 * Minder resultaten tonen
 *
 * @param   string   input   De zoekopdracht die meer resultaten moet tonen
 */
function toonMinder(input) {
    document.getElementById(input + "Short").style.display = "block";
    document.getElementById(input + "Long").style.display = "none";
}

// }}}
// {{{ show

/**
 * Klapt boxje open en dicht
 *
 * @param   geen idee
 */
function show(classje) {
    var allElems = document.getElementsByTagName('li');

    for (var i = 0; i < allElems.length; i++) {
        var thisElem = allElems[i];

        if (thisElem.className && thisElem.className == classje) {
            if(thisElem.style) {
                if(thisElem.style.display) {
                    thisElem.setAttribute('style','');
                    document.getElementById(classje).src='_images/open.gif';
                } else {
                    thisElem.setAttribute('style','display:none;');
                    document.getElementById(classje).src='_images/closed.gif';
                }
            } else {
                thisElem.setAttribute('style','display:none;');
                document.getElementById(classje).src='_images/closed.gif';
            }
        }
    }
}

// }}}
// {{{ overProvincie

/**
 * Highlight de provincienaam bij mouseover
 *
 * @param   string   provincie   De provincie die gehighlight moet worden
 */
function overProvincie(provincie) {
    document.getElementById(provincie).style.fontWeight= "bold";
}

// }}}
// {{{ outProvincie

/**
 * Toon provincienaam weer normaal bij mouseout
 *
 * @param   string   provincie   De provincie die aangepast moet worden
 */
function outProvincie(provincie) {
    document.getElementById(provincie).style.fontWeight= "normal";
}

// }}}
// {{{ functies

/**
 * Genereer een string van een array functies
 */
function functies() {
    var length = document.getElementById("type").options.length;
    valueItems = "";
    for(i=0; i < length; i++) {
        if( document.getElementById("type").options[i].selected ) {
            valueItems += document.getElementById("type").options[i].value + "-";
        }
    }

    document.forms[0].branches.value = valueItems.slice(0,valueItems.length-1);
}

// }}}
// {{{ raw_popup

/**
 * Popup windows van een bepaalde url
 * 
 * @param    string   url        De link van de pagina
 * @param    string   target     Het target waarin de link geladen moet worden
 * @param    string   features   De opties die voor deze popup gelden
 * @return   mixed               De popup
 */
function raw_popup(url, target, features) {
    // pops up a window containing url optionally named target, optionally having features
    if (isUndefined(features)) features = settings;
    if (isUndefined(target  )) target   = '_blank';
    var theWindow = window.open(url, target, features);
    theWindow.focus();
    return theWindow;
}

// }}}
// {{{ link_popup

/**
 * Popup scherm openen vanuit een link
 *
 * @param    object   src        Het te laden object
 * @param    string   features   De opties die voor deze popup gelden
 * @return   mixed               De popup
 */
function link_popup(src, features) {
    // to be used in an html event handler as in: <a href="..." onclick="link_popup(this,...)" ...
    // pops up a window grabbing the url from the event source's href
    return raw_popup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features);
}

// }}}
// {{{ event_popup

/**
 * Toont een popup bij een bepaald event
 *
 * @param   event   Het event dat de popup triggert
 */
function event_popup(e) {
    // to be passed as an event listener
    // pops up a window grabbing the url from the event source's href
    link_popup(e.currentTarget);
    e.preventDefault();
}

// }}}
// {{{ event_popup_features

/**
 * Geeft bepaalde features door aan een popup
 *
 * @param    string   features   De opties die voor deze popup gelden
 * @return   mixed               De popup
 */
function event_popup_features(features) {
    // generates an event listener similar to event_popup, but allowing window features
    return function(e) { link_popup(e.currentTarget, features); e.preventDefault() }
}
