﻿function ValidateDate(source, args)
{
    var clID = source.parentNode.id;
    var drpDay = document.getElementById(clID + "_drpDay");
    var drpMonth = document.getElementById(clID + "_drpMonth");
    var drpYear = document.getElementById(clID + "_drpYear");
    var bIsValid = (drpDay.value != "" && drpMonth.value != "" && drpYear.value != "");
    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 = drpDay.value + "." + drpMonth.value + "." + drpYear.value;
    bIsValid = ((dt.match(regExpDate) != null) && bIsValid);
    args.IsValid = bIsValid;
    return bIsValid;
}

