﻿function startDateBeforeEndDate(oSrc, args) {
    var parent = $j(oSrc).parents("div");
    var start = parent.find(".startdate");
    var end = parent.find(".enddate");
    if (typeof(start) != 'undefined' && start.val() != "") {
        if (end.val() == "") {
            args.IsValid = false;
        } else {
            if (new Date(start.val()) > new Date(end.val())) {
                    args.IsValid = false;
            } else {
                    args.IsValid = true;
            }
        }
    } else {
        args.IsValid = false;
    }
}

function threeMonthDateDifference(oSrc, args) {
    var parent = $j(oSrc).parents("div");
    var start = parent.find(".startdate");
    var end = parent.find(".enddate");
    if ((new Date(end.val()).getTime() - new Date(start.val()).getTime()) > 7776000000) {
        args.IsValid = false;
    } else {
        args.IsValid = true;
    }
}

function bothDatesFilledIn(oSrc, args) {
    if (args.Value != "") {
        var parent = $j(oSrc).parents("div");
        var start = parent.find(".startdate");
        var end = parent.find(".enddate");
        if (end.val() == "" || start.val() == "") {
            args.IsValid = false;
        } else {
            args.IsValid = true;
        }
    }
}

function atLeastOneChecked(oSrc, args) {
    var parent = $j(oSrc).parents("td");
    var selectedChildren = parent.find(':checked');
    if (selectedChildren.length == 0) {
        args.IsValid = false;    
    }
}

function isValidDate(oSrc, args) {
    var d = Date.parse(args.Value);
    if (isNaN(d)) { args.IsValid = false; } else { args.IsValid = true; }
}

function validateCaptcha(oSrc, args) {
    var parent = $j(oSrc).parents("td");
    if (parent.find('input[type="text"]').val() != "") { args.IsValid = true; } else { args.IsValid = false; }
}

function validateCheckbox(oSrc, args) {
    var parent = $j(oSrc).parents("td");
    if (parent.find(':checked').length > 0) { args.IsValid = true; } else { args.IsValid = false; }
}
