﻿function ValidateDate(source, args)
{
    var txtDate = document.getElementById(source.parentNode.id + "_txtDate");
    
    var bIsValid = (txtDate.value == "");
    if(!bIsValid)
    {
        var regExpDate = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
        var dt = txtDate.value;
        bIsValid = (dt.match(regExpDate) != null);
    }
    args.IsValid = bIsValid;
    return bIsValid;
}
function FormDate(ref, datePart)
{

    var clID = ref.parentNode.id;
    var drpDay = document.getElementById(clID + "_drpDay");
    var drpMonth = document.getElementById(clID + "_drpMonth");
    var drpYear = document.getElementById(clID + "_drpYear");
    var txtDate = document.getElementById(clID + "_txtDate");
    var bIsEmpty = (drpDay.value == "" && drpMonth.value == "" && drpYear.value == "");
    if(bIsEmpty)
    {
        txtDate.value = "";
    }
    else
    {
        txtDate.value = drpDay.value + "." + drpMonth.value + "." + drpYear.value;
    }
}