﻿function checkbox_janee(oSrc, args)
{
    try
    {
        var srcid = oSrc.id.substr(1);
            
        var ja = document.getElementById('CB'+srcid+'_ja').checked;
        var nee = document.getElementById('CB'+srcid+'_nee').checked;

        if (!ja && !nee) args.IsValid = false;
        else args.IsValid = true;
    }
    catch(err)
    {
        args.IsValid = false;
    }
}

function checkbox_manvrouw(oSrc, args)
{
    try
    {
        var srcid = oSrc.id.substr(1);
            
        var man = document.getElementById('CB'+srcid+'_man').checked;
        var vrouw = document.getElementById('CB'+srcid+'_vrouw').checked;

        if (!man && !vrouw) args.IsValid = false;
        else args.IsValid = true;
    }
    catch(err)
    {
        args.IsValid = false;
    }
}

function checkbox_bankgiro(oSrc, args)
{
    try
    {
        var srcid = oSrc.id.substr(1);
            
        var bank = document.getElementById('CB'+srcid+'_bank').checked;
        var giro = document.getElementById('CB'+srcid+'_giro').checked;

        if (!bank && !giro) args.IsValid = false;
        else args.IsValid = true;
    }
    catch(err)
    {
        args.IsValid = false;
    }
}

function postcode(oSrc, args)
{
    try
    {
        var srcid = oSrc.id.substr(1);
            
        var letters = document.getElementById('TB'+srcid+'_letters').value;
        var cijfers = parseInt(document.getElementById('TB'+srcid+'_cijfers').value);

        if (cijfers>999 && cijfers<10000 && letters.length==2)
        {
            args.IsValid = true;
        } else 
        {
            if (document.getElementById('TB'+srcid+'_letters').value=='' || document.getElementById('TB'+srcid+'_cijfers').value=='')
            {
                oSrc.errormessage = 'De postcode is niet ingevuld.';
                oSrc.innerText = 'De postcode is niet ingevuld.';
            }
            args.IsValid = false;
        }
    }
    catch(err)
    {
        args.IsValid = false;
    }
}

function extra_controle_datum_tenaamstelling(datum)
{
    try
    {
        var datum_toelating = new Date();
            
        var dag = getInt(document.getElementById('TBdatum_toelating_dag').value);
        var maand = getInt(document.getElementById('TBdatum_toelating_maand').value);
        var jaar = getInt(document.getElementById('TBdatum_toelating_jaar').value);
        
        if (dag>0 && maand>0 && jaar>0)
        {
            datum_toelating = new Date(jaar, maand-1, dag);
            
            if (datum<datum_toelating) return false; else return true;
        } else return true;
    }
    catch(err)
    {
        return true;
    }
}


function extra_controle_ingangsdatum(datum)
{
    try
    {
        var t = new Date();
        var datum_nu = new Date(t.getFullYear(), t.getMonth(), t.getDate());
        if (datum<datum_nu) return false; else return true;
    }
    catch(err)
    {
        return true;
    }
}

function getInt(str)
{
    if (str.length>1 && str.substr(0,1)=='0') str = str.substr(1);
    var intval = parseInt(str);
    return intval;
}

function datum(oSrc, args)
{
    try
    {
        var srcid = oSrc.id.substr(1);
        var datum = new Date();
            
        var datumstr = document.getElementById('TB'+srcid+'_dag').value + '-' + document.getElementById('TB'+srcid+'_maand').value + '-' + document.getElementById('TB'+srcid+'_jaar').value;
        var datePat = /^(\d{1,2})(-)(\d{1,2})(-)(\d{4})$/;

        var dag = getInt(document.getElementById('TB'+srcid+'_dag').value);
        var maand = getInt(document.getElementById('TB'+srcid+'_maand').value);
        var jaar = getInt(document.getElementById('TB'+srcid+'_jaar').value);
   
        if (dag>0 && maand>0 && jaar>0)
        {
            datum = new Date(jaar, maand-1, dag);
            
            if (maand == datum.getMonth() + 1 && dag == datum.getDate() && jaar==datum.getFullYear())
            {
                if (srcid=='datum_tenaamstelling')
                {
                    if (extra_controle_datum_tenaamstelling(datum)) args.IsValid = true;
                    else 
                    {
                        oSrc.errormessage = 'De datum tenaamstelling mag niet voor de datum eerste toelating liggen.';
                        oSrc.innerText = 'De datum tenaamstelling mag niet voor de datum eerste toelating liggen.';
                        args.IsValid = false;
                    }
                } else if (srcid=='ingangsdatum')
                {
                    if (extra_controle_ingangsdatum(datum)) args.IsValid = true;
                    else 
                    {
                        oSrc.errormessage = 'De ingangsdatum mag niet in het verleden liggen.';
                        oSrc.innerText = 'De ingangsdatum mag niet in het verleden liggen.';
                        args.IsValid = false;
                    }
                }
                else args.IsValid = true;
            } else args.IsValid = false;
        } else 
        {
            oSrc.errormessage = 'De datum is niet ingevuld.';
            oSrc.innerText = 'De datum is niet ingevuld.';
            args.IsValid = false;
        }
    }
    catch(err)
    {
    alert(oSrc.id + ' ' + err.description);
        args.IsValid = false;
    }
}


function datum_nv(oSrc, args)
{
    try
    {
        var srcid = oSrc.id.substr(1);
        var datum = new Date();
            
        var dag = getInt(document.getElementById('TB'+srcid+'_dag').value);
        var maand = getInt(document.getElementById('TB'+srcid+'_maand').value);
        var jaar = getInt(document.getElementById('TB'+srcid+'_jaar').value);
        
        if (dag>0 && maand>0 && jaar>0)
        {
            datum = new Date(jaar, maand-1, dag);
                    
            if (maand == datum.getMonth() + 1 && dag == datum.getDate() && jaar==datum.getFullYear())
            {
                args.IsValid = true;
            } else args.IsValid = false;
        } else 
        {
            if (document.getElementById('TB'+srcid+'_dag').value!='' || document.getElementById('TB'+srcid+'_maand').value!='' || document.getElementById('TB'+srcid+'_jaar').value!='')
            {
                args.IsValid = false;
            }
        }
    }
    catch(err)
    {
        args.IsValid = false;
    }
}

function validatie(id)
{
    for (i = 0; i < Page_Validators.length; i++) 
    {
        if (Page_Validators[i].id==id) 
        {
            if (!Page_Validators[i].isvalid) 
            {
                ValidatorValidate(Page_Validators[i]);
            }
        }
    }
}        



function set_datumveld(obj, nextid)
    {
        if (event.keyCode==8 || event.keyCode==9 || event.keyCode==37 || event.keyCode==39) return;
        if (obj.value.length==2) document.getElementById(nextid).focus();
    }

function set_jaarveld(obj, nextid)
    {
        if (event.keyCode==8 || event.keyCode==9 || event.keyCode==37 || event.keyCode==39) return;
        if (obj.value.length==4 && nextid!='') document.getElementById(nextid).focus();
    }

function set_postcode(obj, nextid)
    {
        if (event.keyCode==8 || event.keyCode==9 || event.keyCode==37 || event.keyCode==39) return;
        if (obj.value.length==4) document.getElementById(nextid).focus();
    }

function set_postcodeletters(obj, nextid)
    {
        if (event.keyCode==8 || event.keyCode==9 || event.keyCode==37 || event.keyCode==39) return;
        if (obj.value.length==2) document.getElementById(nextid).focus();
    }


function opmaak(obj, mode)
    {
        var numbers = "0123456789";
        var val = obj.value;
        var valorg=val;
            
        if (mode=='kenteken')
        {
            
            val=val.replace('-', '');
            val=val.replace('-', '');

            if (val.length==6)
            {
                Char2 = val.charAt(2);
                Char3 = val.charAt(3);
                Char4 = val.charAt(4);
                Char5 = val.charAt(5);
                if (numbers.indexOf(Char2) == -1 && numbers.indexOf(Char3) == -1 && numbers.indexOf(Char4) == -1 && numbers.indexOf(Char5) == -1)   
                {
                    val=val.substr(0,2)+'-'+val.substr(2,2)+'-'+val.substr(4,2);
                } else if (numbers.indexOf(Char2) > -1 && numbers.indexOf(Char3) > -1 && numbers.indexOf(Char4) > -1 && numbers.indexOf(Char5) > -1)   
                {
                    val=val.substr(0,2)+'-'+val.substr(2,2)+'-'+val.substr(4,2);
                } else if (numbers.indexOf(Char2) == -1 && numbers.indexOf(Char3) == -1 && numbers.indexOf(Char4) == -1)   //new format
                {
                    val=val.substr(0,2)+'-'+val.substr(2,3)+'-'+val.substr(5,1);
                } else if (numbers.indexOf(Char2) > -1 && numbers.indexOf(Char3) > -1 && numbers.indexOf(Char4) > -1)   //new format
                {
                    val=val.substr(0,2)+'-'+val.substr(2,3)+'-'+val.substr(5,1);
                } else 
                {
                    val=val.substr(0,2)+'-'+val.substr(2,2)+'-'+val.substr(4,2);
                }
                val=val.toUpperCase();
            } else if (val.length==5)
            {
                if (valorg.length==7) 
                {
                    val=val.substr(0,2)+'-'+val.substr(2,2)+'-'+val.substr(4,1);
                } else 
                {
                    val=val.substr(0,2)+'-'+val.substr(2,3);
                }
            }else if (val.length==4)
            {
                val=val.substr(0,2)+'-'+val.substr(2,2);
                if (valorg.length==6) val+='-';
            } else if (val.length==3)
            {
                val=val.substr(0,2)+'-'+val.substr(2,1);
            } else if (val.length==2)
            {
                val=val.substr(0,2)+'-';
            } 
        }
        
        if (mode=='datum')
        {
            if (val.indexOf('-')==-1)
            {            
                if (val.length==8)
                {
                    val=val.substr(0,2)+'-'+val.substr(2,2)+'-'+val.substr(4,4);
                }
            }
        }
        
        if (mode=='hl1')
        {
            if (val.length>0)
            {
                val=val.substr(0,1).toUpperCase()+val.substr(1,val.length-1);
            }
        }
        
        if (mode=='voorletters')
        {
            if (event.keyCode==8) return;
            if (val.length>0)
            {
                var valnew='';
                for (var i=0; i<val.length; i++)
                {
                    if (val.substr(i,1)!='.')
                    {
                        valnew+=val.substr(i,1).toUpperCase()+'.';
                    }
                }
                val=valnew;
            }
        }
        
        if (mode=='postcode')
        {
            val=val.replace(' ', '');
            val=val.toUpperCase();
        }
        if (val!=valorg) obj.value=val;
    }
