var m_rexEmail = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;

var m_rexURL = /^(([\w]+([\w\d-\.]*):(\/{2})?)([\S]+:[\S]+@)?((((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?))|(\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?)))(:[\d]+)?(\?|\/([^(\s|:|@|&|=|\?|\+|\$|,|#|\*|!)])+)*(\?([\w\d\[\]]+=[\w\d\[\]]+)([;|&|]([\w\d\[\]]+=[\w\d\[\]]+))*)?(#([\w\d])+)?$/i;

var m_rexNumber = /^\d+$/;
var m_rexTelNumber = /^[\d-]+$/;
var m_rexPrijzen = /^\d+(,\d{2})?$/;
var m_rexPostcode = /^([1-9]{1}\d{3}\s{1}[a-zA-Z]{2}$)/;
var m_rexVoorletters = /^[\w|.]+$/i;
var m_rexLetters = /^\w+$/i;

function resizeContent(){
    var l_objContentDiv = document.getElementById('Content');

    var l_intCurrentContent = l_objContentDiv.offsetHeight;
    var l_intNewContent = document.body.clientHeight - l_objContentDiv.offsetTop - 37;
    
    if (l_intNewContent >= l_intCurrentContent){
        l_objContentDiv.style.height = l_intNewContent + 'px';
    }
}

function resizeContentByDiv(p_strDiv){
    var l_objOverlayDiv = document.getElementById(p_strDiv);
    var l_objMainContainer = document.getElementById('MainContainer');
    var l_intMainContainerHeight = l_objMainContainer.offsetHeight;
    var l_intNewHeight = l_objOverlayDiv.offsetHeight + l_objOverlayDiv.offsetTop + 50;
    
    
    if (l_intMainContainerHeight < l_intNewHeight){
        document.getElementById('MainContainer').style.height = l_intNewHeight + 'px';
    }
}

function logInOnEnter(e)
{
    e = e || window.event;
    if (e.keyCode == 13) {
        document.Inloggen.submit();
        return false;
    }
}

function wachtwoordSubmitOnEnter(e)
{
    e = e || window.event;
    if (e.keyCode == 13) {
        document.WachtwoordVergeten.submit();
        return false;
    }
}

function submitZoekArchOnEnter(e)
{
    e = e || window.event;
    if (e.keyCode == 13) {
        checkZoekArchitect();
        return false;
    }
}

function submitZoekScholingOnEnter(e)
{
    e = e || window.event;
    if (e.keyCode == 13) {
        checkZoekBijNascholing();
        return false;
    }
}

function checkRegisterPoints(p_objInput, p_blnOnlyRegistrationNumber)
{
    if (p_blnOnlyRegistrationNumber || m_rexNumber.test(p_objInput.value.substring(0,1)))
    {   
        p_objInput.value = p_objInput.value.replace(/[^0-9]/g,'');
        if (p_objInput.value.length > 7){        
            p_objInput.value = p_objInput.value.replace(/([0-9]{1})([0-9]{6})([0-9]{1,3})([0-9]*)/g,'$1.$2.$3');
        }else if (p_objInput.value.length == 7){
            p_objInput.value = p_objInput.value.replace(/([0-9]{1})([0-9]{1,6})/g,'$1.$2') + '.';
        }else if (p_objInput.value.length == 1){
            p_objInput.value = p_objInput.value + '.';
        }else{
            p_objInput.value = p_objInput.value.replace(/([0-9]{1})([0-9]{1,6})/g,'$1.$2');
        }
    }
}

function changeColor(p_strElement, p_strBackground) {
    var l_intElements = document.getElementsByName(p_strElement).length;
    for (r=0;r<l_intElements;r++){
        if (document.getElementsByName(p_strElement)[r].parentNode.parentNode.nodeName == 'TR'){
            document.getElementsByName(p_strElement)[r].parentNode.parentNode.style.backgroundColor = p_strBackground
        }else{
            document.getElementsByName(p_strElement)[r].parentNode.parentNode.parentNode.style.backgroundColor = p_strBackground
        }
    }
}

function changeInputType(p_objOldElement, p_strType) {
    var l_objNewElement = document.createElement('input');
    l_objNewElement.type = p_strType;
    
    if(p_objOldElement.size) l_objNewElement.size = p_objOldElement.size;
    if(p_objOldElement.name) l_objNewElement.name = p_objOldElement.name;
    if(p_objOldElement.id) l_objNewElement.id = p_objOldElement.id;
    if(p_objOldElement.className) l_objNewElement.className = p_objOldElement.className;
    if(p_objOldElement.onkeypress) l_objNewElement.onkeypress = p_objOldElement.onkeypress;
    
    p_objOldElement.parentNode.replaceChild(l_objNewElement,p_objOldElement);
    
    l_objNewElement.focus();
    l_objNewElement.focus(); //IE7 fix (ipv een delay)
}

function daysInFebruary (p_intYear){
    return (((p_intYear % 4 == 0) && ( (!(p_intYear % 100 == 0)) || (p_intYear % 400 == 0))) ? 29 : 28 );
}

function DaysArray() {
	for (var i = 1; i <= 12; i++) {
		this[i] = 31;
		if (i==4 || i==6 || i==9 || i==11) {
		    this[i] = 30
		}
		if (i==2) {
		    this[i] = 29
		}
   } 
   return this
}

function checkZoekArchitect() {
   
    var l_arrVelden = ["zoeknaam", "zoekwoonplaats", "zoekregistratienr"];
    var l_blnFilled = false;
    var l_intAantalVelden = l_arrVelden.length;
    
    for (i=0;i<l_intAantalVelden;i++){
        if (document.getElementById(l_arrVelden[i]).value.length > 0){
            l_blnFilled = true;
        }
    }
    
    if (!l_blnFilled){
        alert('U dient minimaal 1 veld in te vullen buiten discipline.');
    }else if (document.getElementById('zoeknaam').value.length == 1){
        alert('Naam moet minimaal 2 tekens bevatten');
    }else{
        document.ZoekArchitect.submit();
    }
}

function checkZoekBijNascholing() {

    var l_arrVelden = ["zoekwoord", "zoekdoelgroep", "zoektype", "zoekplaats"];
    var l_blnFilled = false;
    var l_intVeldenLength = l_arrVelden.length;
    
    for (i=0;i<l_intVeldenLength;i++){
        if (document.getElementById(l_arrVelden[i]).value.length > 0){
            l_blnFilled = true;
        }
    }
    
    if (!l_blnFilled){
        alert('U dient minimaal 1 veld in te vullen.');
    }else{
        document.ZoekBijNascholing.submit();
    }
}

function showInlogScherm()
{

    if (window.pageYOffset == null){
        document.getElementById('Inlogscherm').style.top=document.body.parentNode.scrollTop + 62;
        document.getElementById('Inlogscherm').style.display='block'
    } else {
        document.getElementById('Inlogscherm').style.top=(window.pageYOffset + 62) +'px';
        document.getElementById('Inlogscherm').style.display='block'
    }
}

function checkLength(p_intMaxLength, p_objElement, p_strNextElement){
    var l_intValueLength = p_objElement.value.length;
    if (l_intValueLength > p_intMaxLength){
        p_objElement.value = p_objElement.value.substring(0,p_intMaxLength);
    }
    l_intValueLength = p_objElement.value.length;
    if (l_intValueLength == p_intMaxLength && p_strNextElement != ''){
        document.getElementById(p_strNextElement).focus();
    }
}

function checkLengthAndValue(p_intMaxLength, p_objElement, p_strCharactersId){
    var l_intValueLength = p_objElement.value.length;
    if (l_intValueLength > p_intMaxLength){
        p_objElement.value = p_objElement.value.substring(0,p_intMaxLength)
    }
    l_intValueLength = p_objElement.value.length;
    if (p_strCharactersId != null){
        if (p_intMaxLength-l_intValueLength == 1){
            document.getElementById(p_strCharactersId).innerHTML='nog '+(p_intMaxLength-l_intValueLength)+' karakter';
        }else{
            document.getElementById(p_strCharactersId).innerHTML='nog '+(p_intMaxLength-l_intValueLength)+' karakters';        
        }
    }
}

function capitalizeFirstLetter(p_strValue){
    return(p_strValue.charAt(0).toUpperCase()+p_strValue.substr(1));
}

function checkUitschrijven(){
    var l_blnCorrect = true;
    var l_arrDaysInMonth = DaysArray();
    
    l_blnCorrect = true;
    var l_intDay = document.getElementById('UitschrijfDag').value;
    var l_intShortDay = l_intDay;
    if (l_intShortDay.charAt(0) == 0)
    {
        l_intShortDay = l_intShortDay.substr(1);
    }
    var l_intMonth = document.getElementById('UitschrijfMaand').value;
    var l_intShortMonth = l_intMonth;
    if (l_intShortMonth.charAt(0) == 0)
    {
        l_intShortMonth = l_intShortMonth.substr(1);
    }
    var l_intYear = document.getElementById('UitschrijfJaar').value;
    
    var l_dtFullDate = new Date();
    l_dtFullDate.setFullYear(l_intYear,l_intMonth-1,l_intDay);
    var l_dtToday = new Date();
    
    if (l_intDay.length == 0 || l_intMonth.length == 0 || l_intYear.length == 0){//datum niet ingevuld
        l_blnCorrect = false;
    }else if (!m_rexNumber.test(l_intDay) || !m_rexNumber.test(l_intMonth) || !m_rexNumber.test(l_intYear)){
        l_blnCorrect = false;
    }else if (l_intShortMonth < 1 || l_intShortMonth > 12) { //Maanden
        l_blnCorrect = false;
    }else if (l_intYear < 1900 || l_intYear > 2100){ //Jaren
        l_blnCorrect = false;
    }else if(l_intShortDay<1 || l_intShortDay>31 || (l_intShortMonth==2 && l_intShortDay>daysInFebruary(l_intYear)) || l_intShortDay > l_arrDaysInMonth[l_intShortMonth]){ //Dagen
        l_blnCorrect = false;
    }else if(l_dtFullDate<l_dtToday){ //Eerder dan huidige datm
        l_blnCorrect = false;
    } 
    
    if (!l_blnCorrect ){
        window.alert('de datum is niet in het juiste format (dd-mm-jjjj) of is in het verleden.');
    } else {
        document.Uitschrijven.submit();
    }    
}

function checkHerinschrijven(){
    var l_blnCorrect = true;
    var l_arrDaysInMonth = DaysArray();
    var l_strAlert = '';
    var l_intDay = 0;
    var l_intShortDay = 0;
    var l_intMonth = 0;
    var l_intShortMonth = 0;
    var l_intYear = 0;    
    var l_dtFullDate = new Date();
    var l_dtToday = new Date();
    
    if (document.getElementById('emailHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nE-mailadres is niet ingevuld';
    }
    else if (!m_rexEmail.test(document.getElementById('emailHer').value))
    {
        l_strAlert = l_strAlert + '\nE-mailadres is niet in het juiste format (example@example.com)';
    }
    if (document.getElementById('achternaamHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nAchternaam is niet ingevuld';
    }
    if (document.getElementById('voornaamHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nVoornaam is niet ingevuld';
    }
    
    l_intDay = document.getElementById('geboortedatumDagHer').value;
    l_intShortDay = l_intDay;
    if (l_intShortDay.charAt(0) == 0)
    {
        l_intShortDay = l_intShortDay.substr(1);
    }
    l_intMonth = document.getElementById('geboortedatumMaandHer').value;
    l_intShortMonth = l_intMonth;
    if (l_intShortMonth.charAt(0) == 0)
    {
        l_intShortMonth = l_intShortMonth.substr(1);
    }
    l_intYear = document.getElementById('geboortedatumJaarHer').value;
    
    l_dtFullDate = new Date();
    l_dtFullDate.setFullYear(l_intYear,l_intMonth-1,l_intDay);
    l_dtToday = new Date();
    
    if (l_intDay.length == 0 || l_intMonth.length == 0 || l_intYear.length == 0){//datum niet ingevuld
        l_blnCorrect = false;
    }else if (!m_rexNumber.test(l_intDay) || !m_rexNumber.test(l_intMonth) || !m_rexNumber.test(l_intYear)){
        l_blnCorrect = false;
    }else if (l_intShortMonth < 1 || l_intShortMonth > 12) { //Maanden
        l_blnCorrect = false;
    }else if (l_intYear < 1900 || l_intYear > 2100){ //Jaren
        l_blnCorrect = false;
    }else if(l_intShortDay<1 || l_intShortDay>31 || (l_intShortMonth==2 && l_intShortDay>daysInFebruary(l_intYear)) || l_intShortDay > l_arrDaysInMonth[l_intShortMonth]){ //Dagen
        l_blnCorrect = false;
    }
    
    if (!l_blnCorrect ){
        l_strAlert = l_strAlert + '\nJe geboortedatum is niet in het juiste format (dd-mm-jjjj) of is niet ingevuld.';
    }
    
    
    if (document.getElementById('straatHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nStraat is niet ingevuld';
    }
    if (document.getElementById('huisnummerHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nHuisnummer is niet ingevuld';
    }
    if (document.getElementById('postcodeHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nPostcode is niet ingevuld';
    }
    else if (!m_rexPostcode.test(document.getElementById('postcodeHer').value) && document.getElementById('landHer').value == 'NEDERLAND')
    {
        l_strAlert = l_strAlert + '\nPostcode is niet in het juiste format (1234 AB)';
    }
    if (document.getElementById('plaatsHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nPlaats is niet ingevuld';
    }   
    if (document.getElementById('landHer').value.length == 0)
    {
        l_strAlert = l_strAlert + '\nLand is niet ingevuld';
    }   
    
    if (l_strAlert.length > 0){
        window.alert('De volgende problemen zijn geconstateerd:'+l_strAlert);
    } else {
        document.Herinschrijven.submit();
    }   
}

function checkUitschrijvenAanbieder(){
    var l_blnCorrect = true;
    var l_arrDaysInMonth = DaysArray();
    
    l_blnCorrect = true;
    var l_intDay = document.getElementById('UitschrijfDagAanbieder').value;
    var l_intShortDay = l_intDay;
    if (l_intShortDay.charAt(0) == 0)
    {
        l_intShortDay = l_intShortDay.substr(1);
    }
    var l_intMonth = document.getElementById('UitschrijfMaandAanbieder').value;
    var l_intShortMonth = l_intMonth;
    if (l_intShortMonth.charAt(0) == 0)
    {
        l_intShortMonth = l_intShortMonth.substr(1);
    }
    var l_intYear = document.getElementById('UitschrijfJaarAanbieder').value;
    
    var l_dtFullDate = new Date();
    l_dtFullDate.setFullYear(l_intYear,l_intMonth-1,l_intDay);
    var l_dtToday = new Date();
    
    if (l_intDay.length == 0 || l_intMonth.length == 0 || l_intYear.length == 0){//datum niet ingevuld
        l_blnCorrect = false;
    }else if (!m_rexNumber.test(l_intDay) || !m_rexNumber.test(l_intMonth) || !m_rexNumber.test(l_intYear)){
        l_blnCorrect = false;
    }else if (l_intShortMonth < 1 || l_intShortMonth > 12) { //Maanden
        l_blnCorrect = false;
    }else if (l_intYear < 1900 || l_intYear > 2100){ //Jaren
        l_blnCorrect = false;
    }else if(l_intShortDay<1 || l_intShortDay>31 || (l_intShortMonth==2 && l_intShortDay>daysInFebruary(l_intYear)) || l_intShortDay > l_arrDaysInMonth[l_intShortMonth]){ //Dagen
        l_blnCorrect = false;
    }else if(l_dtFullDate<l_dtToday){ //Eerder dan huidige datm
        l_blnCorrect = false;
    } 
    
    if (!l_blnCorrect ){
        window.alert('de datum is niet in het juiste format (dd-mm-jjjj) of is in het verleden.');
    } else {
        document.UitschrijvenAanbieder.submit();
    }    
}

function checkBeroepsmatig(){    
    var l_blnFilled = false;
    var l_objRadio = eval('document.Beroepsmatig.Bezwaar');
    if (l_objRadio && l_objRadio.value == null) {
        var l_intRadioLength = l_objRadio.length;
        for(n=0;n<l_intRadioLength;n++){
            if (l_objRadio[n]) {
                if (l_objRadio[n].checked){
                    l_blnFilled = true
                }
            }
        }
    } 
    
    if (!l_blnFilled ){
        window.alert('u bent vergeten aan te geven of u wel of geen bezwaar tegen vermelding heeft.');
    } else {
        document.Beroepsmatig.submit();
    }    
}


function changeSpanLanguage(p_strLanguage)
{
    var l_objSpans = document.getElementsByTagName("span");    
    var l_intSpansLength = l_objSpans.length;
    
    for(var i=0;i<l_intSpansLength; i++)
    {
        if(l_objSpans[i].className == 'nlnl' || l_objSpans[i].className == 'engb')
        {
            if(l_objSpans[i].className == p_strLanguage)
            {
                l_objSpans[i].style.display = 'inline';
            }
            else
            {
                l_objSpans[i].style.display = 'none';
            }
        }
    }
}

function checkAanmeldenAanbieder()
{
    var l_dcLongNames = new Object;
    l_dcLongNames.bedrijfsnaam = 'Bedrijfsnaam';
    l_dcLongNames.contactpersoon = 'Contactpersoon';
    l_dcLongNames.straat = 'Straat';
    l_dcLongNames.huisnummer = 'Huisnummer';
    l_dcLongNames.postcode = 'Postcode';
    l_dcLongNames.plaats = 'Plaats';
    l_dcLongNames.email = 'E-mail';
    l_dcLongNames.telefoonnummer = 'Telefoonnummer';
    l_dcLongNames.website = 'Website';
    l_dcLongNames.omschrijving = 'Omschrijving aanbod';

    var l_blnCorrect = true;
    var l_strAlert = '';
    
    var l_arrVerplicht = ["bedrijfsnaam", "contactpersoon", "straat", "huisnummer", "postcode", "plaats", "email", "telefoonnummer", "website", "omschrijving"];
    var l_intVerplichtLength = l_arrVerplicht.length;
    
    // Verplichte velden
    for (i=0;i<l_intVerplichtLength;i++){
        if (document.getElementById(l_arrVerplicht[i])) {
            if (document.getElementById(l_arrVerplicht[i]).value.length == 0){
                if (l_blnCorrect){
                    l_blnCorrect = false
                    l_strAlert = "U bent vergeten de volgende velden in te vullen:\n"
                }
                l_strAlert = l_strAlert + "\t" + l_dcLongNames[l_arrVerplicht[i]] + "\n";
            }
        }
    }
    
    if (!l_blnCorrect ){
        window.alert(l_strAlert);
    } else {
        document.AanmeldenAanbieder.submit();
    }
}