﻿function RegisterDefaultButton(layoutID, buttonID, formAction) 
{
    $(document).ready(
        function() {
            $("input,select", $('#' + layoutID)).keypress(
                function(event) {
                    if (event.keyCode == '13') {
                        if (formAction != null)
                            document.forms[0].action = formAction;
                        $('#' + buttonID).click();
                        return false;
                    }
                }
            );
        }
    );
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function ShowValidatorStatus(success, validatorID, alertCss, alertMsg, visibleMsg) 
{
    if (!success) 
    {
        $('#' + validatorID).show().addClass(alertCss).text(alertMsg);
    }
    else {
        $('#' + validatorID).removeClass(alertCss);
        if (visibleMsg != null)
            $('#' + validatorID).text(visibleMsg);
        else
            $('#' + validatorID).hide();
    }
}

function ValidateRequiredField(fieldID, validatorID, alertCss, alertMsg, visibleMsg) 
{
    var status = true;

    //alert(fieldID + ", " + alertCss);

    if (fieldID != null) 
    {
        $('#' + fieldID)
            .each(
            function() {
                var value = $(this).val();
                if (value == null || trim(value).length == 0)
                    status = false;
                ShowValidatorStatus(status, validatorID, alertCss, alertMsg, visibleMsg);
            }
        );
    }
    
    return status;
}

function ValidateEmail(fieldID, validatorID, alertCss, alertMsg, visibleMsg) 
{
    var status = true;
    var emailReg = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

    if (fieldID != null) {
        $('#' + fieldID)
            .each(
            function() {
                var value = $(this).val();
                if (value == null || !emailReg.test(value)) 
                    status = false;
                ShowValidatorStatus(status, validatorID, alertCss, alertMsg, visibleMsg);
            }
        );
    }

    return status;
}

function ValidateNumber(fieldID, validatorID, alertCss, alertMsg, visibleMsg) {
    var status = true;
    var numberReg = /^[1234567890.]+$/;

    if (fieldID != null) {
        $('#' + fieldID)
            .each(
            function() {
                var value = $(this).val();
                if (value == null || !numberReg.test(value))
                    status = false;
                ShowValidatorStatus(status, validatorID, alertCss, alertMsg, visibleMsg);
            }
        );
    }

    return status;
}