function addClickFunction(id) {{
    var b = document.getElementById(id);
    if (b && typeof(b.click) == 'undefined') b.click = function() {{
        var result = true; if (b.onclick) result = b.onclick();
        if (typeof(result) == 'undefined' || result) {{ eval(b.getAttribute('href')); }}
    }}} 
}
    
function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
}

function toggleDiv(id, id2, class1, class2) {
    if (document.getElementById(id).style.visibility == 'hidden') {
        document.getElementById(id).style.visibility = 'visible';
        removeClass(document.getElementById(id2), class1);
        addClass(document.getElementById(id2), class2)
    }
    else {
        document.getElementById(id).style.visibility = 'hidden';
        removeClass(document.getElementById(id2), class2);
        addClass(document.getElementById(id2), class1)
    }
}

function hasClass(el, name) {
    return new RegExp('(\\s|^)' + name + '(\\s|$)').test(el.className);
}
function addClass(el, name) {
    if (!hasClass(el, name)) { el.className += (el.className ? ' ' : '') + name; }
}
function removeClass(el, name) {
    if (hasClass(el, name)) {
        el.className = el.className.replace(new RegExp('(\\s|^)' + name + '(\\s|$)'), ' ').replace(/^\s+|\s+$/g, '');
    }
}

function toupcase(id) {
    var _obj = document.getElementById(id);
    _obj.value = _obj.value.toUpperCase();
}

function IsAlphabet(strString) {
    var exprOne = /[a-zA-z]/;
    var expTwo = /[0-9]/;

    if (exprOne.test(strString) && !expTwo.test(strString))
        return true;
    else
        return false;

}

function IsNumeric(strString) {
    var strValidChars = "0123456789\n";
    var strChar;
    var blnResult = true;

    if (strString.length == 0) return false;
    for (z = 0; z < strString.length && blnResult == true; z++) {
        strChar = strString.charAt(z);
        if (strValidChars.indexOf(strChar) == -1) {
            blnResult = false;
        }
    }
    return blnResult;
}

function validatePostcodeNL(postcodeID, huisnummerID, straatnaamID, plaatsID) {

    var boolNum = false;
    var boolAlp = false;
    var boolHuisnummer = false;

    var tbPostcode = document.getElementById(postcodeID);
    var tbHuisnummer = document.getElementById(huisnummerID);

    var Postcode = tbPostcode.value;
    var Huisnummer = tbHuisnummer.value;

    if (Postcode.length == 6) {

        if (Huisnummer != "")           //==check if huisnummer and postcode are filled in
        {
            var num = Postcode.substring(0, 4);
            var alp = Postcode.substring(4);

            boolNum = IsNumeric(num);
            boolAlp = IsAlphabet(alp);
            boolHuisnummer = IsNumeric(Huisnummer);

            if (boolNum && boolAlp) {
                //==postcode check
                postcodeCheck(Postcode, Huisnummer, straatnaamID, plaatsID);
                //document.getElementById('postcodeMessage').innerHTML = '';

            }
            else {
                //==false
                //document.getElementById('postcodeMessage').innerHTML = 'postcode is onbekend';
            }
        }
    }
    else if (Postcode.length > 6) {
        tbPostcode.value = Postcode.substring(0, 6);
    }
}



/*XMLHTTPRequest*/
function postcodeCheck(_postcode, _nummer, tbStraatnaam, tbPlaats) {
    var _url = "/cendris/cendris.ashx?postcode=" + _postcode + "&nummer=" + _nummer + "&straatid=" + tbStraatnaam + "&plaatsid=" + tbPlaats + "&timekey=" + Math.random();

    InitXmlHttp();
    xmlhttp.onreadystatechange = XMLHttpRequestCompleted;
    xmlhttp.open("GET", _url, true);
    xmlhttp.send(null);
}

function InitXmlHttp() {
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {

        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E) {
            xmlhttp = false;
        }
    }

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
        xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = XMLHttpRequestCompleted;
}


function XMLHttpRequestCompleted() {
    if (xmlhttp.readyState == 4 || xmlhttp.readyState == "complete") {
        try {
            var _returnValue = xmlhttp.responseText;
            var ary = _returnValue.split(";");

            document.getElementById(ary[2]).value = ary[0];
            document.getElementById(ary[3]).value = ary[1];
            //            document.getElementById('ctl00_center_tbAdres').value = ary[1];
            //            document.getElementById('ctl00_center_tbCity').value =  ary[2];
            //            document.getElementById('ctl00_center_tbDeliveryAdres').value = ary[1];
            //            document.getElementById('ctl00_center_tbDeliveryCity').value =  ary[2];
        }
        catch (e) {
        }
    }
}
