﻿//////////////////////////////////////////////////////
//          dynform scripts - DO NOT MODIFY!        //        
//////////////////////////////////////////////////////

var DFisUploading = false;

function CheckPasswordLength(sender, args)
{
    var el = document.getElementById(PasswordOldId);
    
    if (el != null && el.value != '') {
        if (args.Value != null) {
            if (args.Value.length < 6 || args.Value.length > 20) {
                args.IsValid = false;            
            } 
        }
    }
}

function NotifyBeginUploading()
{
    //alert('Begonnen met uploaden, show popup');
    DFisUploading = true;
}

function NotifyEndUploading()
{
    //alert('Uploaden klaar, hide popup');
    DFisUploading = false;
}

function IsUploading() {
    //alert('Is uploading? ' + DFisUploading);
    return DFisUploading;
}

function CheckUploading(el)
{
    //alert('check uploading ' + DFisUploading);
    if (DFisUploading) {
        //DFuploadingMessage must be defined
        alert(DFuploadingMessage);
        el.blur();
    }
}

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()+1)+"").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 = "/";    
        
    var b = value.split(sep);
    
    if (value != "")
    {
        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 != '') {
        // eerst testen of het formaat geldig is
        //  geldig zijn de formaten: dd-mm-yyyy, dd/mm/yyyy, ddmmyyyy
        var today = GetTodayString();

        var regExp = /^\d{1,2}\/\d{1,2}\/\d{4}$/;

        // test eerst op formaat dd/mm/yyyy
        if(regExp.test(args.Value)) {
            args.IsValid = true;
        } else {
            // test daarna op dd-mm-yyyy
            regExp = /^\d{1,2}-\d{1,2}-\d{4}$/;
            if(regExp.test(args.Value)) {
                args.IsValid = true;
            } else {
                // test daarna op ddmmyyyy
                regExp = /^\d{8}$/;
                if(regExp.test(args.Value)) {
                    args.IsValid = true;
                } else {
                    args.IsValid = false;
                }
            }
        }
        
        if (args.IsValid)
        {
            //  test of datum in de toekomst is
            args.IsValid = (getDateString(args.Value) <= today);
        }
    }
    else {
        args.IsValid = true;
    }    
    return;
}

function checkExpectedDate(sender, args)
{
    var today = GetTodayString();
    
    if (args.Value != '') {
        args.IsValid = (getDateString(args.Value) >= today);
    }
    else {
        args.IsValid = true;
    }    
    return;
}

var lastpostalcode = '';
var lastcity = '';

function updateAddress(PostalcodeNL, Housenumber, Street, City)
{
    if (DynformId != null)
    {
        PostcodeField = document.getElementById(DynformId + "_answer" + PostalcodeNL);
        HousenumberField = document.getElementById(DynformId + "_answer" + Housenumber);
        StreetField = document.getElementById(DynformId + "_answer" + Street);
        CityField = document.getElementById(DynformId + "_answer" + City);
    }
    if (PostcodeField != null && HousenumberField != null && StreetField != null && CityField != null) 
    {
        if (PostcodeField.value != '' && HousenumberField.value != '')
        {
            getAddressData(PostcodeField.value, HousenumberField.value, StreetField, CityField);
        }
    }
}
