﻿//////////////////////////////////////////////////////
//          dynform scripts - DO NOT MODIFY!        //        
//////////////////////////////////////////////////////

function GetTodayString()
{
    var dToday = new Date();
    var today = dToday.getFullYear();
    if (((dToday.getMonth()+1)+"").length == 1)
		today = today + "0";
    
    today = String(today) + String((dToday.getMonth()+1));

    if (((dToday.getDate())+"").length == 1)
		today = today + "0";
    
    today = String(today) + String(dToday.getDate());
    
    return today;
}


function getDateString(value)
{
    var d = "";
    var sep = "-";                   
    
    if (value.indexOf("-") > -1)
        sep = "-";
    else if (value.indexOf("/") > -1)
        sep = "/";    
    else if (value.indexOf(".") > -1)
        sep = ".";       

    
    if (value != "")
    {     
        var b = value.split(sep);
        var IsValid = false;
        
        
        // eerst testen of het formaat geldig is
        // geldig zijn de formaten: dd-mm-yyyy, dd/mm/yyyy, ddmmyyyy
        var regExp = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
        
        // test eerst op formaat dd/mm/yyyy
        if(regExp.test(value)) 
        {
            IsValid = true;
        } 
        else 
        {
            // test daarna op dd-mm-yyyy
            regExp = /^\d{1,2}[-]\d{1,2}[-]\d{4}$/;
            if(regExp.test(value))
            {
                IsValid = true;
            } 
            else 
            {
                //test op dd.mm.yyyy
                regExp = /^\d{1,2}[.]\d{1,2}[.]\d{4}$/;
                
                if (regExp.test(value))
                {
                    IsValid = true;
                }
                else
                {
                    IsValid = false;
                }
            }
        }       
        
        if(IsValid)
        {
            if (format.toLowerCase().indexOf("d") < format.toLowerCase().indexOf("m"))
            {        
                // day comes before month
                d = b[2] + "";
                
                if (b[1].length == 1)
                    d = d + "0";
                d = d + b[1];
                
                if (b[0].length == 1)
                    d = d + "0";
                d = d + b[0];
                
            }
            else 
            {
                // day comes after month
                d = b[2] + "";
                
                if (b[0].length == 1)
                    d = d + "0";
                d = d + b[0];
                
                if (b[1].length == 1)
                    d = d + "0";
                d = d + b[1];
            }
        }
    }
    
    return d;     
}

function checkDateNotFuture(sender, args)
{   
    if (args.Value != '') 
    {        
        var today = GetTodayString();

        if (args.IsValid)
        {            
           
           //  test of datum in de verleden is
           var s = getDateString(args.Value);
           
           if(s.length == 0)
           {
                args.IsValid = true;
           }
           else
           {
                args.IsValid = (getDateString(args.Value) <= today);
           }
        }
    }
    else 
    {
        args.IsValid = true;
    }    
    
    checkFebruari(args);
    
    return;
}

function checkExpectedDate(sender, args)
{    
    if (args.Value != '') 
    {
      var today = GetTodayString();
        
        if(args.IsValid)
        {
            //  test of datum in de toekomst is
            var s = getDateString(args.Value);
           
           if(s.length == 0)
           {
                args.IsValid = true;
           }
           else
           {
                args.IsValid = (getDateString(args.Value) >= today);
           }
        }
    }
    else 
    {
        args.IsValid = true;
    }
    
    checkFebruari(args);
    
    return;
}

function checkFebruari(args)
{
    if( getDateString(args.Value).indexOf("0231") > -1 || getDateString(args.Value).indexOf("0230") > -1)
    {
        args.IsValid = false;
    }
    
    return;
}

function checkChildrenAmount(sender, args)
{
    if (args.Value > -1)
    {
        args.IsValid = true;
    }
    else
    {
        args.IsValid = false;
    }
    
    return;
}

