﻿var msGarbage = navigator.appName.indexOf("Microsoft Internet Explorer") > -1;

function isActive(el_check) {
    // controleer of parents visible zijn:
    var blnActive = true;
    var el = el_check;
    while (el != null) {
        // bekijk of het element bewerkbaar is.
        // el.isContentEditable == false || 
        if (el.hidden == true || el.isDisabled == true || el.style.visibility == 'hidden' || el.style.display == 'none' || el.readOnly == true)
        {
            blnActive = false;
            //alert('set inactive');

            break;
        }
        el = el.parentElement;
    }

    //alert('el[' + el.id + '] : ' + blnActive + ' // [' + (el.style.visibility == 'hidden') + '] [' + (el.style.display == 'none') + '] ' + (el.hidden == true) + ' ' + (el.isDisabled == true) + ' ' + (el.isContentEditable == true) + ' ' + (el.visibility == true) + ' ' + (el.readOnly == true));
    return blnActive;
}

function focus_first() {
    // focus op het eerste input-veld op het formulier.
    var el = null;
    var el_focus = null;
    var el_focus_other = null;
    var elements = document.getElementsByTagName('input');
    for (var i = 0; i < elements.length; i++) {
        el = elements[i];
        if (isActive(el)) {
            if (el.type == 'text' && el_focus == null) {
                el_focus = el;
                break;
            } else if (el_focus_other == null && el.type != 'hidden') {
                el_focus_other = el;
            }
        }
    }

    if (!el_focus && !el_focus_other) {
        // probeer een selectbox
        elements = document.getElementsByTagName('select');

        for (var i = 0; i < elements.length; i++) {
            el = elements[i];
            if (isActive(el) && el_focus_other == null) {
                el_focus_other = el;
                break;
            }
        }
    }

    if (!el_focus && !el_focus_other) {
        // probeer een textarea
        elements = document.getElementsByTagName('textarea');

        for (var i = 0; i < elements.length; i++) {
            el = elements[i];
            if (isActive(el) && el_focus_other == null) {
                el_focus_other = el;
                break;
            }
        }
    }

    if (el_focus) {
        //alert('id = ' + el_focus.id);
        el_focus.focus();
    }
    else if (el_focus_other) {
        //alert('id_other = ' + el_focus_other.id);
        el_focus_other.focus();
    }

}

function toggleMenu(p_strID) {
    if (document.frmMenu.Menustate.value.indexOf(p_strID) > 0) {
        document.frmMenu.Menustate.value = document.frmMenu.Menustate.value.replace(p_strID + ',', '');
    }
    else {
        document.frmMenu.Menustate.value = document.frmMenu.Menustate.value + p_strID + ',';
    }
    js_toggle(p_strID);
    js_setCookie('Menu', document.frmMenu.Menustate.value, 10);
}

function js_toggle(p_id) {
    if (document.getElementById(p_id).style.display == 'none') {
        document.getElementById(p_id).style.display = 'block'
    }
    else {
        document.getElementById(p_id).style.display = 'none'
    }
}


function js_toggle_oud(p_id) {
    if (document.getElementById(p_id).style.display == 'none') {
        document.getElementById(p_id).style.display = 'block'
        new Effect.SlideDown(p_id, { duration: 0.5 });
        document.getElementById(p_id).style.display = 'none'
    }
    else {
        document.getElementById(p_id).style.display = 'none'
        new Effect.SlideUp(p_id, { duration: 0.5 });
        document.getElementById(p_id).style.display = 'block'
    }
}

function js_toggleTree(p_strID) {
    var TreeState;

    TreeState = document.frmForm.strTree.value;

    TreeState = TreeState.replace('undefined', '');
    TreeState = TreeState.replace('null', '');
    TreeState = ',' + TreeState + ',';

    while (TreeState.indexOf(',,') >= 0) {
        TreeState = TreeState.replace(',,', ',');
    };

    if (TreeState.indexOf(',' + p_strID + ',') >= 0) {
        var arrTree;
        var i;
        var NewTree;

        NewTree = ',';

        arrTree = TreeState.substring(1, TreeState.length - 1).split(',');
        for (i = 0; i < arrTree.length; i++) {
            if (arrTree[i].substring(0, p_strID.length) == p_strID) {
                if (arrTree[i] == p_strID) {
                    // exact match, deze wordt later getoggled;
                } else {
                    // alert(arrTree[i])
                    toggleIcon(arrTree[i]);
                    js_toggle(arrTree[i]);
                };
            } else {
                // node met rust laten
                NewTree = NewTree + arrTree[i] + ',';
            };

        };
        TreeState = NewTree;
        //TreeState = TreeState.replace(p_strID + ',','');
    } else {
        TreeState = TreeState + p_strID + ',';
    }

    document.frmForm.strTree.value = TreeState;

    toggleIcon(p_strID);
    js_toggle('tr_' + p_strID);
    js_setCookie('strTree', TreeState, 10);
}

function js_confirmDelete(p_strURL) {
    if (confirm('Wilt u dit onderdeel verwijderen?') == true) {
        location.replace(p_strURL)
    }
}

function js_confirmDeleteIframe(url, confirmText, title, iFrameName, iFrameWidth, iFrameHeight, iFrameLeft, iFrameTop, onClose) {
    if (confirm(confirmText) == true) {
        iFrameBox(url, title, iFrameName, iFrameWidth, iFrameHeight, iFrameLeft, iFrameTop, onClose)
    }
}

function js_confirmUnDelete(p_strURL) {
    if (confirm('Wilt u deze verwijdering ongedaan maken?') == true) {
        location.replace(p_strURL)
    }
}

function js_confirmCopy(p_strURL) {
    if (confirm('Wilt u dit onderdeel kopieëren?') == true) {
        location.replace(p_strURL)
    }
}

function js_openFullscreenWindow(p_strURL) {
    window.open(p_strURL, "_blank", "fullscreen=yes,resizable=no,scrollbar=no,scrolling=no")
}


function js_setCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}


function js_getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function js_replace(p_value, p_replace_value, p_replace_by) {
    var strValue = p_value;
    strValue = strValue.replace(p_replace_value, p_replace_by);
    return strValue;
}

/*************************************************************************************************
***
***		FUNCTIES t.b.v. picklist
***
*************************************************************************************************/
function copyToList(from, to) {
    fromList = eval('document.frmForm.' + from);
    toList = eval('document.frmForm.' + to);
    if (toList.options.length > 0 && toList.options[0].value == 'temp') {
        toList.options.length = 0;
    }
    var sel = false;
    for (i = 0; i < fromList.options.length; i++) {
        var current = fromList.options[i];
        if (current.selected) {
            sel = true;
            if (current.value == 'temp') {
                alert('Deze optie mag niet verplaatst worden!');
                return;
            }
            txt = current.text;
            val = current.value;
            toList.options[toList.length] = new Option(txt, val);
            fromList.options[i] = null;
            i--;
        }
    }
}

function compareOptionValues(a, b) {
    var sA = parseInt(a.value, 36);
    var sB = parseInt(b.value, 36);
    return sA - sB;
}

function compareOptionText(a, b) {
    var sA = parseInt(a.text, 36);
    var sB = parseInt(b.text, 36);
    return sA - sB;
}

function moveDualList(srcList, destList, moveAll) {
    if ((srcList.selectedIndex == -1) && (moveAll == false)) {
        return;
    }
    newDestList = new Array(destList.options.length);
    var len = 0;
    for (len = 0; len < destList.options.length; len++) {
        if (destList.options[len] != null) {
            newDestList[len] = new Option(destList.options[len].text, destList.options[len].value, destList.options[len].defaultSelected, destList.options[len].selected);
        }
    }
    for (var i = 0; i < srcList.options.length; i++) {
        if (srcList.options[i] != null && (srcList.options[i].selected == true || moveAll)) {
            newDestList[len] = new Option(srcList.options[i].text, srcList.options[i].value, srcList.options[i].defaultSelected, srcList.options[i].selected);
            len++;
        }
    }
    for (var j = 0; j < newDestList.length; j++) {
        if (newDestList[j] != null) {
            destList.options[j] = newDestList[j];
        }
    }
    for (var i = srcList.options.length - 1; i >= 0; i--) {
        if (srcList.options[i] != null && (srcList.options[i].selected == true || moveAll)) {
            //srcList.options[i].value = "";
            //srcList.options[i].text  = "";
            srcList.options[i] = null;
        }
    }
}

/*************************************************************************************************
***
***		OVERIGE FUNCTIES
***
*************************************************************************************************/
function showNote(what, eventDOM) {
    var currentLayer = document.getElementById(what);
    if (msGarbage) {
        xPos = event.clientX + document.body.scrollLeft;
        yPos = event.clientY + document.body.scrollTop;
        Xwindow = document.body.scrollWidth;
        Ywindow = document.body.scrollHeigth;
    }
    else {
        xPos = eventDOM.pageX;
        yPos = eventDOM.pageY;
        Xwindow = 0;
        YWindow = 0;
    }
    //	alert(xPos);
    //	alert(yPos);
    with (currentLayer.style) {
        noteWidth = parseInt(200) + 10;
        noteHeight = parseInt(70) + 10;
        //		alert(noteWidth);
        //		alert(noteHeight);
        if (xPos + noteWidth > Xwindow) {
            xPos = xPos - noteWidth - 10;
        }
        else {
            xPos += 10;
        }
        if (yPos + noteHeight > Ywindow) {
            yPos = yPos - noteHeight - 10;
        }
        else {
            yPos += 10;
        }
        top = yPos;
        left = xPos;
        display = 'block';
    }
}

function hideNote(what) {
    document.getElementById(what).style.display = 'none';
}


function emptySelect(selectBox) {
    //alert(selectBox);
    var selSelect = document.getElementById(selectBox);
    /*Leegmaken select-opties, behalve eerste lege optie */
    //alert(selSelect.length);
    while (selSelect.length > 0) {
        selSelect.options[selSelect.length - 1] = null;
    }
}

// controleer of invoer numeriek is.
// gebruik als: onkeypress=return isNumericKey(event)
function isNumericKey(e) {
    var strChar;

    if (!e)
        e = window.event;

    if (e.keyCode)
        strChar = String.fromCharCode(e.keyCode); // IE
    else
        strChar = String.fromCharCode(e.which); // firefox

    return ('0123456789'.indexOf(strChar) >= 0);
}

function NumCheckKey(field) {
    var strChar;
    strChar = String.fromCharCode(event.keyCode);
    //alert(strChar)
    if ('0123456789'.indexOf(strChar) == -1) {
        if (strChar == String.fromCharCode(13)) {
            strChar = '[Enter]';
        }
        else {
            event.returnValue = false
        }
    }
}

function NumCheckKey2(field) {
    var strChar;
    strChar = String.fromCharCode(event.keyCode);
    //alert(strChar)
    if ('0123456789.,'.indexOf(strChar) == -1) {
        if (strChar == String.fromCharCode(13)) {
            strChar = '[Enter]';
        }
        else {
            event.returnValue = false
        }
    }
}

function NumCheckKeyAllowed(field, allowed) {
    var strChar;
    strChar = String.fromCharCode(event.keyCode);
    //alert(strChar)
    if (allowed.indexOf(strChar) == -1) {
        if (strChar == String.fromCharCode(13)) {
            strChar = '[Enter]';
        }
        else {
            event.returnValue = false
        }
    }
}

function maakrekenbedrag(Bedrag) {
    //alert ('maakrekenbedrag = ' + Bedragfieldname.value);
    ttl = Bedrag;
    //  ttl = document.all[Bedragfieldname].value;
    ttl = ttl.replace(',', '.')
    if (isNaN(ttl)) {
        //  	  alert('geen getal')
        ttl = '0';
    }
    return parseFloat(ttl);
}

function maakmooibedrag(Bedrag) {
    //alert ('maakmooibedrag = ' + Bedrag);
    var ttl = new String(Bedrag);
    ttl = ttl.replace('.', ',')
    var ttlarr = ttl.split(',');
    if (ttlarr.length == 1) {
        ttl = ttl + ',000';
    }
    else {
        if (ttlarr[1].length == 1) { ttl = ttl + '00' }
        if (ttlarr[1].length == 2) { ttl = ttl + '0' }
    }
    return ttl;
}

function maakmooibedrag2(field) {
    //alert ('maakmooibedrag = ' + Bedrag);
    var ttl = new String(field.value);
    ttl = ttl.replace('.', ',');
    var ttlarr = ttl.split(',');
    //	alert(ttlarr.length);
    if (ttlarr.length == 1) {
        ttl = ttl + ',000';
    }
    else {
        if (ttlarr[1].length == 1) { ttl = ttl + '00' }
        if (ttlarr[1].length == 2) { ttl = ttl + '0' }
    }
    field.value = ttl;
}

/*************************************************************************************************
***
***		TEXTAREA FUNCTIES
***
*************************************************************************************************/
var blnError = false;

function TextCheckKey(maxlen, field) {
    var strChar;
    strChar = String.fromCharCode(event.keyCode);
    //alert(strChar)
    //	if('^@$èéùìòÇÅ !"#%&\'()*+,-.ÄÖÑÜäöñüàÉ/?à:;<=>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[]_'.indexOf(strChar)==-1)
    if ('^@$ !"#%&\'()*+,-./?:;<=>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[]_'.indexOf(strChar) == -1) {
        if (strChar == String.fromCharCode(13)) {
            strChar = '[Enter]';
        }
        else {
            document.all("PCount" + field).innerText = 'Ongeldig teken: ' + strChar;
            blnError = true;
            event.returnValue = false
        }
    }
    else {
        blnError = false;
        if (CountChars(field) >= maxlen)
            event.returnValue = false;
    }
}

function UpdateCount(maxlen, field) {	//alert(maxlen)
    if (!blnError)
        document.all("PCount" + field).innerText = 'Aantal resterende tekens: ' + (maxlen - CountChars(field));
}

function CountChars(field) {
    return document.all(field).innerText.length;
}

function chkAreaOnPaste(maxlen, field) {
    var sNewString = ''
    var veld = document.getElementById(field)

    event.returnValue = false;
    veld.innerText = window.clipboardData.getData("Text", sNewString);

    if (veld.innerText.length > maxlen) {
        document.all("PCount" + field).innerText = 'Gecopieerde tekst is langer dan ' + maxlen + ' tekens;beperkt tot maximum';
        veld.innerText = veld.innerText.substr(0, maxlen);
        veld.focus();
        blnError = true;
    }
    else {
        blnError = false;
        UpdateCount(maxlen, field)
    }
}

/*************************************************************************************************
***
***		AJAX FUNCTIES
***
*************************************************************************************************/
var http_request = false;
var windowhandle;

function AJAXcallback(targetdiv, targeturl) {
    var target;
    //alert(targetdiv);
    //alert(targeturl);
    target = document.getElementById(targetdiv);
    target.innerHTML = '<table height="100%" width="100%"><tr><td valign="middle" align="center"><img src="/tbt/images/loading.gif"/></td></tr></table>';

    new Ajax.Updater(targetdiv, targeturl);
}

function searchBox(url, title) {
    searchBoxClose();
    var windowhandle = dhtmlwindow.open('searchWindow', 'iframe', url, title, 'width=500px,height=350px,resize=0,scrolling=0,center=0', 'recal');
    windowhandle.moveTo(200, 100);
    //		new Effect.Appear(windowhandle,{duration:0.8});
}

function searchBoxClose() {
    if (windowhandle != null) windowhandle.hide();
}

function iFrameBox(url, title, iFrameName, iFrameWidth, iFrameHeight, iFrameLeft, iFrameTop, onClose) {
    iFrameBoxClose();
    var windowhandle = dhtmlwindow.open(iFrameName, 'iframe', url, title, 'width=' + iFrameWidth + 'px,height=' + iFrameHeight + 'px,resize=0,scrolling=0,center=0', 'recal');
    windowhandle.moveTo(iFrameLeft, iFrameTop);
    //Run custom code when window is about to be closed
    if (onClose == 'ja') {
        windowhandle.onclose = function() {
            parent.window.location.reload();
        }
    }

    //	alert(document.getElementById('_iframe-'+iFrameName).scrollHeight);
    //	document.getElementById('_iframe-'+iFrameName).scrollHeight=14;


    //		new Effect.Appear(windowhandle,{duration:0.8});
}

function iFrameBoxClose() {
    if (windowhandle != null) windowhandle.hide();
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft

        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
        }
    }
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curtop += obj.offsetTop
        }
    }
    return curtop;
}

/*-------------------------------------------------------------------------------
Naam       : funcGetSelect
Auteur     : Ronald Strous
Datum      : 23 mei 2006
Doel       : Ophalen opties selectbox
Parameters : selectBox	= naam select veld
parameters = met te geven parameters
							
-------------------------------------------------------------------------------*/
function funcGetSelect(selectBox, parameters, masterValue, selectValue) {
    //alert(selectBox);
    //alert(parameters);
    //alert(masterValue);
    var url = path_scripts + '/select_xml.aspx';
    var selSelect = document.getElementById(selectBox);
    //alert(url);
    // eventueel ophalen oude geselecteerde waarde
    if (selectValue == 1) {
        selectValue = selSelect.options[selSelect.selectedIndex].value;
    }

    /*Leegmaken select-opties, behalve eerste lege optie */
    while (selSelect.length > 0) {
        selSelect.options[selSelect.length - 1] = null;
    }

    /*Ophalen nieuwe opties */
    // aanmaken XMLhttp object
    parameters += masterValue;
    makeRequest(url, parameters);

    var strHTML = http_request.responseText;
    //alert(strHTML);

    // indien de geselecteerde waarde van de master (b.v. klant) niet leeg is (selectie van een andere klant)
    // ==> geselecteerde waarde van de beoogde selectbox (b.v. module) leeg maken (er moet dan opnieuw worden gekozen)
    if (masterValue != '') {
        selectValue = ''
    }

    // toevoegen opties aan selectbox
    var arrOptions = strHTML.split('|');
    var arrOption;
    for (var i = 0; i < arrOptions.length; i++) {
        arrOption = arrOptions[i].split('=');
        if (arrOption[1] == 'selectedvalue') {
            selectValue = arrOption[0];
            //      alert(selectValue);
        }
        else {
            if (arrOption[0] == selectValue) {
                selSelect.options[i] = new Option(arrOption[1], arrOption[0], false, true);
            }
            else {
                selSelect.options[i] = new Option(arrOption[1], arrOption[0], false, false);
            }
        }
    }

}

/*-------------------------------------------------------------------------------
Naam       : makeRequest
Auteur     : Ronald Strous
Datum      : 24 mei 2006
Doel       : xmlHTTP object aanmaken
Parameters : url					= de pagina die moet worden aangeroepen
parameters	= de parameters die mee moeten worden gegeven
-------------------------------------------------------------------------------*/
function makeRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    }
    else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) { }
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = alertContents;
    http_request.open('GET', url + parameters, false);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    //	http_request.setRequestHeader("Connection", "close");
    http_request.send(null);
}


function alertContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            //alert(http_request.responseText); 
        }
        else {
            alert('There was a problem with the request.');
        }
    }
}

/*************************************************************************************************
***
***		TBT-Functies
***
*************************************************************************************************/
function toggle_display(field, togglefieldName) {
    //alert(togglefieldName);
    var togglefield = document.getElementById(togglefieldName);
    // wijzigen display-waarde
    if (togglefield.style.display == 'none') {
        togglefield.style.display = ''
    }
    else {
        togglefield.style.display = 'none'
    }
    // link wijzigen
    if (field.innerHTML == '+') {
        field.innerHTML = '-'
    }
    else {
        field.innerHTML = '+'
    }
}

function toggle_display2(field, togglefieldName, tabelNaam) {
    //alert('togglefieldName = ' + togglefieldName);
    var oObject = document.all.item(togglefieldName);
    var i;
    if (oObject != null) {
        if (oObject.length != null) {
            for (i = 0; i < oObject.length; i++) {
                if (oObject(i).style.display == 'none') {
                    //tonen, alleen voor huidige object
                    oObject(i).style.display = '';
                }
                else {
                    //niet tonen
                    oObject(i).style.display = 'none';
                    // nu eventueel voor de childs (alleen inklappen)
                    //alert('object ' + i + ' = ' + oObject(i).waarde);
                    inKlappen(oObject(i).waarde);
                } // einde if style.display
            } // einde for
        }
        else		// object bestaat wel, maar er is er maar 1 van
        {
            var togglefield = document.getElementById(togglefieldName);
            if (togglefield.style.display == 'none') {
                //tonen, alleen voor huidige object
                togglefield.style.display = '';
            }
            else {
                //niet tonen
                togglefield.style.display = 'none';
                // nu eventueel voor de childs (alleen inklappen)
                //alert('enkele = ' + togglefield.waarde);
                inKlappen(togglefield.waarde);
            }
        } // einde oObject.length != null	
    } // einde oObject != null

    // link wijzigen
    if (field.innerHTML == '+') {
        // uitgeklapt
        field.innerHTML = '-'
    }
    else //ingeklapt
    {
        field.innerHTML = '+'

        //nu de onderliggende niveau ook op openklappen zetten
        inKlapZetten(togglefieldName)
    }

    //* nu nog door de tablerows lopen en de class goed zetten
    //==> LET OP! table.id = tabel
    if (typeof tabelNaam == 'undefined') {
        tabelNaam = 'tabel';
    }
    OddEven(tabelNaam)

}

function inKlappen(waarde) {
    var i;
    //alert('waarde = ' + waarde);
    if (waarde != '') {
        var oObject = document.all.item(waarde);
        if (oObject != null) {
            if (oObject.length != null) {
                for (i = 0; i < oObject.length; i++) {
                    oObject(i).style.display = 'none';
                    // nu eventueel voor de childs (alleen inklappen)
                    //alert('object sub ' + i + ' = ' + oObject(i).waarde);
                    inKlappen(oObject(i).waarde);
                }
            }
            else {
                togglefield = document.getElementById(waarde);
                togglefield.style.display = 'none';
                // nu eventueel voor de childs (alleen inklappen)
                //alert('enkele sub = ' + togglefield.waarde);
                inKlappen(togglefield.waarde);
            }
        }

        // nu de de '+' zetten
        inKlapZetten(waarde)

    } // einde if waarde

}

function inKlapZetten(waarde) {
    //alert('waarde = ' + waarde);
    var i;
    var oObject = document.all.item('a_' + waarde);
    if (oObject != null) {
        if (oObject.length != null) {
            for (i = 0; i < oObject.length; i++) {
                oObject(i).innerHTML = '+';
            }
        }
        else {
            document.getElementById('a_' + waarde).innerHTML = '+';
        }
    }
}

function OddEven(tablename) {
    var i;
    var tabel = document.getElementById(tablename);
    var strClass = 'row_even';
    for (i = 0; i < tabel.rows.length; i++) {
        // alleen de regels die getoond worden
        if (tabel.rows(i).style.display != 'none') {
            tabel.rows(i).className = strClass;
            // wisselen van class
            if (strClass == 'row_odd') {
                strClass = 'row_even';
            }
            else {
                strClass = 'row_odd';
            }
        }
    }
}

function chkMaxValue(field, maxValue) {
    //	alert(field.value);
    if (field.value > parseFloat(maxValue)) {
        alert('Maximaal 100% toegestaan!');
        field.value = maxValue;
        field.focus();
    }
}

function chkMaxValues(changedRow, die_vermogen, con_vermogen, con_vermogen_geinstalleerd, culture) {
    var strName;
    var chkValue = maakrekenbedrag(changedRow.value);
    //nu eerst omzetten van Watt naar kW
    die_vermogen = parseFloat(die_vermogen / 1000);
    con_vermogen = parseFloat(con_vermogen / 1000);
    con_vermogen_geinstalleerd = parseFloat(con_vermogen_geinstalleerd / 1000);
    //controleren of het ingevoerde vermogen groter is dan het vermogen van de dienst
    if (chkValue > die_vermogen) {
        alert('Ingevoerde vermogen is groter dan het maximum vermogen van deze positie; vermogen is gezet op het maximum vermogen');
        chkValue = die_vermogen;
    }
    //controleren of het nieuwe vermogen groter is dan het con_vermogen
    //optellen huidige velden van de ruimte
    var arrInput = document.getElementsByTagName('input');
    for (i = 0; i < arrInput.length; i++) {
        if (arrInput[i].type == 'text') {
            strName = arrInput[i].name;
            if (strName.indexOf('text_') == 0) {
                con_vermogen_geinstalleerd += maakrekenbedrag(arrInput[i].value);
            }
        }
    }
    //nu controleren of nieuwe geinstalleerde contractvermogen groter is dan het contractvermogen
    if (con_vermogen_geinstalleerd > con_vermogen) {
        alert('Totale waarde van nieuwe geinstalleerde contract vermogen is groter dan het contract vermogen');
        chkValue = die_vermogen;
    }
    changedRow.value = maakmooibedrag(chkValue);
}

function js_toggleMenu(p_strID) {
    if (document.frmMenu.Menustate.value.indexOf(p_strID) > 0) {
        document.frmMenu.Menustate.value = document.frmMenu.Menustate.value.replace(p_strID + ',', '');
    }
    else {
        document.frmMenu.Menustate.value = document.frmMenu.Menustate.value + p_strID + ',';
    }
    js_toggle(p_strID);
    js_setCookie('Menu', document.frmMenu.Menustate.value, 10);
}

function reset_velden() {
    var oObject = document.frmForm.elements;
    var i;
    if (oObject != null) {
        if (oObject.length != null) {
            for (i = 0; i < oObject.length; i++) {
                //alert(oObject(i).id + ' = ' + oObject(i).type);
                if (oObject(i).type == 'text') {
                    oObject(i).value = '';
                }
                if (oObject(i).type == 'select-one') {
                    oObject(i).selectedIndex = -1;
                }

            } // einde for

        } // einde oObject.length != null	
    } // einde oObject != null

}

function formatNumber(veld) {
    var waarde = veld.value;
    var part1, part2, part3, part4;
    waarde = waarde.replace('.', '');
    waarde = waarde.replace('.', '');
    waarde = waarde.replace('.', '');
    waarde = waarde.replace('.', '');

    if (waarde.length > 9) {
        // meer dan 9 tekens ==> drie punten toevoegen
        part1 = waarde.substr(waarde.length - 3, 3);
        part2 = waarde.substr(waarde.length - 6, 3);
        part3 = waarde.substr(waarde.length - 9, 3);
        part4 = waarde.substr(0, waarde.length - 9);
        veld.value = part4 + '.' + part3 + '.' + part2 + '.' + part1;
        return true;
    }

    if (waarde.length > 6) {
        // meer dan 6 tekens, maar minder dan 10 tekens ==> twee punten toevoegen
        part1 = waarde.substr(waarde.length - 3, 3);
        part2 = waarde.substr(waarde.length - 6, 3);
        part3 = waarde.substr(0, waarde.length - 6);
        veld.value = part3 + '.' + part2 + '.' + part1;
        return true;
    }

    if (waarde.length > 3) {
        // meer dan 3 tekens, maar minder dan 7 tekens ==> een punten toevoegen
        part1 = waarde.substr(waarde.length - 3, 3);
        part2 = waarde.substr(0, waarde.length - 3);
        veld.value = part2 + '.' + part1;
        return true;
    }

    if (waarde.length <= 3) {
        veld.value = waarde;
        return true;
    }
}