function CheckContact()
{
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam_en_voorletters','U bent uw naam en voorletters vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Straat_en_huisnummer','U bent uw straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Postcode','U bent uw postcode vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Plaats','U bent uw plaats vergeten in te vullen','text');
    l_strFormValues[4] = new Array('Telefoon_overdag','U bent uw telefoon overdag vergeten in te vullen','text');
    l_strFormValues[5] = new Array('Email','U bent uw e-mailadres vergeten in te vullen','text');
    l_strFormValues[6] = new Array('Email','Uw e-mail is niet correct','email');
    l_strFormValues[7] = new Array('Onderwerp','U bent vergeten onderwerp in te vullen','text');
    return CheckValues(l_strFormValues);
}

function CheckWoonfraude() {
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam_en_voorletters','U bent uw naam en voorletters vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Straat_en_huisnummer','U bent uw straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Postcode','U bent uw postcode vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Plaats','U bent uw plaats vergeten in te vullen','text');
    l_strFormValues[4] = new Array('Telefoon_overdag','U bent uw telefoon overdag vergeten in te vullen','text');
    l_strFormValues[5] = new Array('Email','U bent uw e-mailadres vergeten in te vullen','text');
    l_strFormValues[6] = new Array('Email','Uw e-mail is niet correct','email');
    l_strFormValues[7] = new Array('FraudeNaam','U bent de naam in te vullen','text');
    l_strFormValues[7] = new Array('FraudeStraat_en_huisnummer','U bent de straat en huisnummer vergeten in te vullen','text');
    return CheckValues(l_strFormValues);
}

function CheckHuuropzegging()
{
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam_huurder','U bent de naam van de verhuurder vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Straat_en_huisnummer','U bent uw straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Telefoon_overdag','U bent telefoon overdag vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Huur_beeindigen','U bent gewenste huur eindiging vergeten in te vullen','date');
    l_strFormValues[4] = new Array('Verhuis_op','U bent verhuis datum vergeten in te vullen','date');
    l_strFormValues[5] = new Array('Nieuw_straat_en_huisnummer','U bent toekomstige straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[6] = new Array('Nieuw_Postcode_en_plaats','U bent toekomstige postcode en plaats vergeten in te vullen','text');
    l_strFormValues[7] = new Array('Contactpersoon','U bent vergeten contactpersoon in te vullen','text');
    l_strFormValues[8] = new Array('Email','Uw e-mail is niet correct','email');
    l_strFormValues[9] = new Array('Mijn_post_bankrekeningnummer','U bent vergeten post/bankrekeningnummer in te vullen','text');
    return CheckValues(l_strFormValues);
}

function CheckIdeeenbus()
{
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam','U bent uw naam vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Contactpersoon','U bent contactpersoon vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Email','U bent uw e-mailadres vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Email','Uw e-mail is niet correct','email');
    l_strFormValues[4] = new Array('Idee_de_activiteit','U bent omschrijving vergeten in te vullen','text');
    l_strFormValues[5] = new Array('Leefbaarheid','U bent leefbaarheid vergeten in te vullen','text');
    l_strFormValues[6] = new Array('Specificatie_van_de_kosten','U bent specificatie van de kosten vergeten in te vullen','text');
    return CheckValues(l_strFormValues);
}

function CheckReparatieverzoek()
{
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam_en_voorletters','U bent uw naam en voorletters vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Straat_en_huisnummer','U bent uw straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Postcode_en_plaats','U bent postcode en plaats vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Telefoon_overdag','U bent telefoon overdag vergeten in te vullen','text');
    l_strFormValues[4] = new Array('Email','U bent e-mail adres vergeten in te vullen','text');
    l_strFormValues[5] = new Array('Email','Uw email adres is niet correct','email');
    l_strFormValues[6] = new Array('Omschrijving','U bent omschrijving vergeten in te vullen','text');
    return CheckValues(l_strFormValues);
}

function CheckZandEnGrond()
{
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam_en_voorletters','U bent uw naam en voorletters vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Straat_en_huisnummer','U bent uw straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Postcode_en_plaats','U bent postcode en plaats vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Telefoon_overdag','U bent telefoon overdag vergeten in te vullen','text');
    return CheckValues(l_strFormValues);
}

function CheckServiceabonnement() {
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam_en_voorletters','U bent uw naam en voorletters vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Straat_en_huisnummer','U bent uw straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Postcode_en_plaats','U bent postcode en plaats vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Telefoon_overdag','U bent telefoon overdag vergeten in te vullen','text');
    //l_strFormValues[4] = new Array('Datum','Datum is niet correct','date');
    l_strFormValues[4] = new Array('Email','U bent uw e-mailadres vergeten in te vullen','text');
    l_strFormValues[5] = new Array('Email','Uw e-mail is niet correct','email');
    return CheckValues(l_strFormValues);
}

function CheckOverlast() {
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Naam_en_voorletters','U bent uw naam en voorletters vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Straat_en_huisnummer','U bent uw straat en huisnummer vergeten in te vullen','text');
    l_strFormValues[2] = new Array('Postcode_en_plaats','U bent postcode en plaats vergeten in te vullen','text');
    l_strFormValues[3] = new Array('Telefoon_overdag','U bent telefoon overdag vergeten in te vullen','text');
    l_strFormValues[4] = new Array('Email','U bent uw e-mailadres vergeten in te vullen','text');
    l_strFormValues[5] = new Array('Email','Uw e-mail is niet correct','email');
    var l_intCounter = 6;
    if(document.getElementById('Overlast_politie_datum').value!='') {
        if(document.getElementById('Overlast_politie_datum').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_politie_datum','Datum is niet correct','date');
            l_intCounter++;
        } else {
            if(document.getElementById('Overlast_politieJa').checked){
                l_strFormValues[l_intCounter] = new Array('Overlast_politie_datum','Datum is niet correct','date');
                l_intCounter++;
            }
        }
    } 
    if(document.getElementById('Overlast_datum1').value!='') {
        if(document.getElementById('Overlast_datum1').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum1','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum2').value!='') {
        if(document.getElementById('Overlast_datum2').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum2','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum3').value!='') {
        if(document.getElementById('Overlast_datum3').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum3','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum4').value!='') {
        if(document.getElementById('Overlast_datum4').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum4','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum5').value!='') {
        if(document.getElementById('Overlast_datum5').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum5','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum6').value!='') {
        if(document.getElementById('Overlast_datum6').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum6','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum7').value!='') {
        if(document.getElementById('Overlast_datum7').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum7','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum8').value!='') {
        if(document.getElementById('Overlast_datum8').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum8','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum9').value!='') {
        if(document.getElementById('Overlast_datum9').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum9','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    if(document.getElementById('Overlast_datum10').value!='') {
        if(document.getElementById('Overlast_datum10').value!='dd-mm-jjjj') {
            l_strFormValues[l_intCounter] = new Array('Overlast_datum10','Datum is niet correct','date');
            l_intCounter++;
        }
    }
    return CheckValues(l_strFormValues);
}

function CheckValues(p_strFormValues)
{
    var l_blnCheck = false;
    var l_intCounter = 0;
    while(l_intCounter < p_strFormValues.length)
    {
        l_blnCheck = CheckElement(p_strFormValues[l_intCounter], '');
        if(!l_blnCheck)
            return l_blnCheck;
        l_intCounter++;
    }
}

function CheckElement(p_strValues, p_strExt)
{
    var l_objElement = document.getElementById(p_strValues[0] + p_strExt);
    if(l_objElement)
    {
        switch(p_strValues[2])
        {
            case 'text':
                if(l_objElement.value == '')
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'pass':
                if(l_objElement.value == '')
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else if(l_objElement.value.length < p_strValues[3])
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[4]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'email':
                if(EmailCheck(p_strValues[0]))
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'datetext':
                if(l_objElement.value == '' || l_objElement.value == 'dd-mm-yyyy')
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'date':
                if(!IsDatum(p_strValues[0] + p_strExt))
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'int': 
                if(!IsInt(l_objElement))
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'pulldown': 
                if(l_objElement.value < 0)
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else if(l_objElement.value == 0)
                {
                    l_objElement.style.borderColor='#C5BABA';
                    if(p_strValues[3])
                    {
                        if(document.getElementById(p_strValues[3][0] + 'Container'))
                            document.getElementById(p_strValues[3][0] + 'Container').style.display = 'block'
                        var l_blnCheck = CheckElement(p_strValues[3], '');
                        if(!l_blnCheck)
                            return l_blnCheck;
                    }
                    return true;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
        }
    }
}

function IsInt(p_objElement)
{
    var l_intCounter = 0;
    var l_intCounted = 0;
    var l_strValue = p_objElement.value;
    var l_blnNumeric = true;
    var l_strNumbers = '0123456789';
    if(l_strValue.length < 1)
        l_blnNumeric = false;
    while(l_intCounter < l_strValue.length)
    {
        if(l_strNumbers.indexOf(l_strValue.substring(l_intCounter, l_intCounter+1)) == -1)
            l_blnNumeric = false;
        l_intCounter++;
    }
    return l_blnNumeric;
}

function IsDatum(p_strId)
{
    var l_strDate = document.getElementById(p_strId).value;
    var l_objRegExp = new RegExp("^(\\d{1,2})[/-](\\d{1,2})[/-](\\d{4})$");
    var l_objDate;
    var l_intDay;
    var l_intMonth;
    var l_intYear;
    var l_blnOutput = true;
    if(l_objRegExp.test(l_strDate))
    {
        var l_intDaysInMonth = new Array (31,0,31,30,31,30,31,31,30,31,30,31);
        
        l_objRegExp.exec(l_strDate);
        l_intYear =  new Number(RegExp.$3);
        l_intDaysInMonth[1]= ((l_intYear%4==0)&&((l_intYear%100!=0)||(l_intYear%400==0)))?29:28;
        l_intDay =  new Number(RegExp.$1);
        l_intMonth =  new Number(RegExp.$2);
        
        if(l_intYear < 1900)
            l_blnOutput = false;
        if(l_intMonth > 12)
            l_blnOutput = false;
        if(l_intDay > l_intDaysInMonth[l_intMonth-1])
            l_blnOutput = false;

    }
    else
    {
        l_blnOutput = false;
    }
    if(l_blnOutput)
        if(document.getElementById(p_strId+'_Sub'))
            document.getElementById(p_strId+'_Sub').value = l_intMonth+'-'+l_intDay+'-'+l_intYear;
    
    return l_blnOutput;
}

function EmailCheck(p_strId)
{
    if (/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(document.getElementById(p_strId).value))
        return false;
    else
        return true
}

function IsDatum(p_strId)
{
    var l_strDate = document.getElementById(p_strId).value;
    var l_objRegExp = new RegExp("^(\\d{1,2})[/-](\\d{1,2})[/-](\\d{4})$");
    var l_objDate;
    var l_intDay;
    var l_intMonth;
    var l_intYear;
    var l_blnOutput = true;
    if(l_objRegExp.test(l_strDate))
    {
        var l_intDaysInMonth = new Array (31,0,31,30,31,30,31,31,30,31,30,31);
        
        l_objRegExp.exec(l_strDate);
        l_intYear =  new Number(RegExp.$3);
        l_intDaysInMonth[1]= ((l_intYear%4==0)&&((l_intYear%100!=0)||(l_intYear%400==0)))?29:28;
        l_intDay =  new Number(RegExp.$1);
        l_intMonth =  new Number(RegExp.$2);
        
        if(l_intYear < 1900)
            l_blnOutput = false;
        if(l_intMonth > 12)
            l_blnOutput = false;
        if(l_intDay > l_intDaysInMonth[l_intMonth-1])
            l_blnOutput = false;

    }
    else
    {
        l_blnOutput = false;
    }
    if(l_blnOutput)
        if(document.getElementById(p_strId+'_Sub'))
            document.getElementById(p_strId+'_Sub').value = l_intMonth+'-'+l_intDay+'-'+l_intYear;
    
    return l_blnOutput;
}

function IsDate(p_strValue, p_strLanguageFormat)
{
    var l_objRegExp;
    var l_intDay;
    var l_intMonth;
    var l_intYear;
    var l_intDaysInMonth;
    var l_Valid;
    var l_objDate;

    l_Valid = true;
    l_objRegExp = new RegExp("^(\\d{1,2})[/-](\\d{1,2})[/-](\\d{4})$");
//    if (!l_objRegExp.test(p_strValue))
//    {

//        l_objRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$");
//        if (!l_objRegExp.test(p_strValue))
//            return false;
//    }
    if (l_objRegExp.test(p_strValue))
    {
        l_objRegExp.exec(p_strValue);
        switch (p_strLanguageFormat)
        {
            case "English":
            {
                l_intDay = new Number(RegExp.$2);
                l_intMonth = new Number(RegExp.$1);
                break;
            }
            case "Dutch":
            {
                l_intDay = new Number(RegExp.$1);
                l_intMonth = new Number(RegExp.$2);
                break;
            }
        }
        l_intYear =  new Number(RegExp.$3);
        l_intYear += ((l_intYear < 100)?((l_intYear >= 50)?1900:2000):0);
        l_intDaysInMonth = new Array (31,0,31,30,31,30,31,31,30,31,30,31);
        l_intDaysInMonth[1]= ((l_intYear%4==0)&&((l_intYear%100!=0)||(l_intYear%400==0)))?29:28;
        l_Valid = ((l_intMonth < 1) || (l_intMonth > 12) || 
        (l_intDay < 1) || (l_intDay > l_intDaysInMonth[l_intMonth - 1]) || 
        (l_intYear < 0))?false:true;
        if (l_Valid)
        {
            l_objDate = new Date(l_intYear, (l_intMonth - 1), l_intDay);
            l_Valid = isNaN(l_objDate)?false:true;
        }      
        return l_Valid;
    }
    else
    {
        return false;
    }
} 