﻿function ValidateRequired(formElementSelector, attrName, minLength) {
    var valToCheck = _getValToCheck(formElementSelector, attrName);
    if (typeof(minLength) == "undefined") {
        return valToCheck != "";
    }
    return (valToCheck != "") && (valToCheck.length >= minLength);
}

function ValidateEmail(formElementSelector, attrName, isRequired) {
    if (typeof (isRequired) == "undefined") {
        isRequired = false;
    }
    var valToCheck = _getValToCheck(formElementSelector, attrName);
    if (!isRequired && (valToCheck == "")) {
        return true;
    }
    return /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(valToCheck);
}

function ValidateNumber(formElementSelector, attrName, isRequired) {
    if (typeof (isRequired) == "undefined") {
        isRequired = false;
    }
    var valToCheck = _getValToCheck(formElementSelector, attrName);
    if (!isRequired && (valToCheck == "")) {
        return true;
    }
    return /^\d+$/.test(valToCheck);
}

function ValidateEquation(formElementSelector1, formElementSelector2) {
    var val1 = _getValToCheck(formElementSelector1);
    var val2 = _getValToCheck(formElementSelector2);
    return val1 == val2;
}

/* get the value of the form element to check */
function _getValToCheck(formElementSelector, attrName) {
    var valToCheck;
    if (attrName != null && typeof (attrName) != "undefined") {
        valToCheck = $.trim($(formElementSelector).attr(attrName));
    } else {
        valToCheck = $.trim($(formElementSelector).val());
    }
    return valToCheck;
}

function showErrorSummary(containerSelector, errMsg) {
    $(containerSelector).addClass("state-error");
    $(containerSelector).html(errMsg);
    $(containerSelector).show();
}