function setFontSize(percent) {
    if (document.getElementById('fwWrapper')) {
        document.getElementById('fwWrapper').style.fontSize = percent + '%'
    }
    var imgs = document.getElementsByTagName('img');
    for (var i = 0; i < imgs.length; i++) {
        if (imgs[i].className.indexOf('textsize') > -1) {
            imgs[i].className = 'textsize';
        }
    }
    if (document.getElementById('fontSizeImage' + percent)) {
        document.getElementById('fontSizeImage' + percent).className = 'textsize textsize-selected';
    }
    setCookie('fontsize', percent);
    return false;
}


function setCookie(sName, sValue, nDays) {
    var expires = "";
    if (nDays) {
        var d = new Date();
        d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 );
        expires = "; expires=" + d.toGMTString();
    }

    document.cookie = sName + "=" + sValue + expires + "; path=/";
}


function getCookie(sName) {
    var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" );
    var res = re.exec( document.cookie );
    return res != null ? res[3] : null;
}


function addEvent(el, event, handler) {
    if (el.addEventListener) {
        el.addEventListener(event, handler, false);
    } else if (el.attachEvent) {
        el.attachEvent("on" + event, handler);
    }
}


function getTopPx(obj) {
    var result = obj.offsetTop;
    while (obj.offsetParent) {
        obj = obj.offsetParent;
        result += obj.offsetTop;
    }
    return result;
}


function moveSponsors() {
    // verplaats de sponsors-logo's naar onder in de browser

    var el = document.getElementById('sponsors');
    if (window.innerHeight) {
        // Gecko
        var winHeight = window.innerHeight;
        var docBody = document.body;
    } else if (document.documentElement.clientHeight > 0) {
        // MSIE Standards mode
        var winHeight = document.documentElement.clientHeight;
        var docBody = document.documentElement;
    } else {
        // MSIE Quirks mode
        var winHeight = document.body.clientHeight;
        var docBody = document.body;
    }
    if (el) {
        var currentMargin = parseInt(el.style.marginTop);
        el.style.marginTop = Math.max((currentMargin + (winHeight - getTopPx(el)) - 48), 6) + 'px';
        el.style.visibility = '';
    }
}


var selectEl;
function replaceMap() {
    var els = document.getElementsByTagName('select');
    if (els) {
        for (var i = 0; i < els.length; i++) {
            if (els[i].name = 'arrangement') {
                selectEl = els[i];
                replaceSelect(selectEl);
                els[i].onchange = function() { changeMapImage(selectEl.value); };
                break;
            }
        }
    }
}

function changeMapImage(value) {
    var el = document.getElementById('mapImage');
    if (el) {
        el.src = '/dynimage/nederland.php?dag=' + value;
    }
}

    function selectOption(value) {
        if (!selectEl) {
            return false;
        }
        for (var i = 0; i < selectEl.options.length; i++) {
            if (selectEl.options[i].value == value) {
                selectEl.selectedIndex = i;
                break;
            }
        }
        document.getElementById('selectBox').innerHTML = getHTML(selectEl.options[i].text);
        document.getElementById('selectDropdown').style.display = 'none';
        if (selectEl.onchange) {
            selectEl.onchange();
        }
    }


    function getHTML(text) {
        text = text.replace(new RegExp('\\*([^*]+)\\*', 'g'), '<b>$1</b>');
        text = text.replace(new RegExp('\\|', 'g'), '<br />');
        return text;
    }

    function replaceSelect(el) {
        if (typeof el == 'string') {
            selectEl = document.getElementById(el);
        } else {
            selectEl = el;
        }

        var newElement = '<div id="selectDiv"><div class="select-box" id="selectBox" onclick="el = document.getElementById(\'selectDropdown\'); if (el.style.display == \'\') el.style.display = \'none\'; else el.style.display = \'\';" onmouseover="this.className=\'select-box select-box-over\';" onmouseout="this.className=\'select-box\';" id="selectBox">';

        var option = selectEl.options[selectEl.selectedIndex];
        newElement += getHTML(option.text);
        newElement += '</div><div class="select-dropdown" id="selectDropdown" style="display: none;">';

        for (var i = 0; i < selectEl.options.length; i++) {
            option = selectEl.options[i];
            if (option.value.length > 1) {
                newElement += '<div class="select-dropdown-item" onmouseover="this.className=\'select-dropdown-item select-dropdown-item-over\';" onmouseout="this.className=\'select-dropdown-item\';" selectValue="' + option.value + '" onclick="selectOption(this.getAttribute(\'selectValue\'));">' + getHTML(option.text) + '</div>';
            }
        }

        newElement += '</div></div></div>';

        htmlElement = document.createElement('div');
        htmlElement.innerHTML = newElement;
        selectEl.parentNode.insertBefore(htmlElement, selectEl);
        document.getElementById('selectDiv').style.width = selectEl.offsetWidth + 'px';
        selectEl.style.display = 'none';
    }


addEvent(window, 'load', function() { if (getCookie('fontsize')) { setFontSize(getCookie('fontsize')); } } );
addEvent(window, 'load', function() { replaceMap(); } );

