﻿
 
//http://www.codeproject.com/KB/validation/EnhanceASPNETDisplay.aspx
var __funcbody, newfunc;

__funcbody = ValidatorUpdateDisplay.toString();
__funcbody = __funcbody.substring(__funcbody.indexOf("{") + 1,
                                 __funcbody.lastIndexOf("}"));

newfunc = new Function("val", "ChangeLabelColor(val ); " +
                                             __funcbody);

ValidatorUpdateDisplay = newfunc;

function ChangeLabelColor(val) {
    if ($('#' + val.controltovalidate + '_lbl').length == 1) {
        var k, value;
        // Find out all validators associated 
        var vals = new Array();
        for (k = 0; k < Page_Validators.length; k++) {
            if (Page_Validators[k].controltovalidate == val.controltovalidate)
                vals.push(Page_Validators[k]);
        }
        //Determine if some validator fails 
        value = true;
        for (k = 0; k < vals.length; k++)
            value = (value && vals[k].isvalid);

        // Change label text color 
        if (value) {
            $('#' + val.controltovalidate + '_lbl').removeClass('red-text');

        } else {
            $('#' + val.controltovalidate + '_lbl').addClass('red-text');
        }
        //$("#output").text($("#output").text() + '\n ' + 'value:' + value  );
    }
}


//function ValidateDate(sender, args) {
//    var birthdate = args.Value;
//    var pattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;

//    if (!birthdate.match(pattern)) {
//        args.IsValid = false;
//        return;
//    }

//    return true;
//}

//function ValidateAge(sender, args) {
//    if (args.Value == "invalid")
//        return false;
//        
//    var birthday = new Date(args.Value);
//    var currDate = new Date();
//    currDate.setFullYear(currDate.getFullYear() - 18);
//    if ((currDate - birthday) < 0) {
//        args.IsValid = false;
//        return;
//    }

//    return true;

//}

function AgreeToTerms(sender, args) {

    var checked = $("input[id$=ReadAndAgree]").attr("checked");
    if (!checked) {
        args.IsValid = false;
        return false;
    }
}