﻿function InitValidation() {

    var __funcbody, newfunc;

    __funcbody = ValidatorUpdateDisplay.toString();
    __funcbody = __funcbody.substring(__funcbody.indexOf("{") + 1, __funcbody.lastIndexOf("}"));

    newfunc = new Function("val", "ChangeInputClass(val ); " + __funcbody);

    ValidatorUpdateDisplay = newfunc;

}

function ChangeInputClass(val) {

    if ($(val).parent().parent() != null) {

        var parentDiv = $(val).parent().parent();
        // 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);

        ChangeDivClass(parentDiv, value);
    }
}

function ValidateAgreement(source, arguments) {
    arguments.IsValid = false;
    var elements = $("input");
    for (i = 0; i < elements.length; i++) {
        if (elements[i].value == "chAgreement") {
            if (elements[i].checked)
                arguments.IsValid = true;
        }
    }
    ChangeDivClass($(source).parent().parent(), arguments.IsValid);
}

function ValidateGender(source, arguments) {
    arguments.IsValid = false;
    var elements = $("input");
    for (i = 0; i < elements.length; i++) {
        if (elements[i].value == "mrRadio" || elements[i].value == "missRadio") {
            if (elements[i].checked)
                arguments.IsValid = true;
        }
    }
    ChangeDivClass($(source).parent().parent(), arguments.IsValid);
}

function ChangeDivClass(element, isValid) {
    if (isValid) {
        $(element).removeClass("error");
    }
    else {
        $(element).addClass("error");
    }
}
