﻿var requiredFields = new Array();
var currentRequiredFields = new Array();

jQuery.fn.required = function() { SetRequiredField(this); };




function RequiredPageFieldSetup(pageName) {
    requiredFields[pageName] = new Array();
    currentRequiredFields = requiredFields[pageName];
} //function SetRequiredPageSetup(pageName) {




function SetRequiredField(obj) {
    $(obj).blur(function() { CheckForRequired(this); });
    $(obj).click(function() { CheckForRequiredField_OnClick(this); });
    currentRequiredFields.push(obj);    
} //SetRequiredField




function CheckForRequiredField_OnClick( obj ){
    var type = $(obj).attr("type");
    if( type == "text" || type == "textarea" || type =="select-one" ){
        return;
    }//if    
    CheckForRequired(obj);
}//function CheckForRequiredField_OnClick( obj ){




function CheckForRequired(obj) {
    var type = $(obj).attr("type");
    var result = false;
    
    switch (type) {
        case "text": 
            {
                result = CheckForRequiredText(obj);
                break;
            }// text
        case "select-one":
            {
                result =  CheckForRequiredSelect(obj);
                break;
            }
        case "checkbox":
            {
                result =  CheckForRequiredCheckBox(obj);
                break;
            }
        case "textarea":
        {
            result = CheckForRequiredText(obj);
            break;
        }
    } //switch
    $(obj).attr("isValid", result);    
    
    return result;
} //CheckForRequired




function CheckForRequiredCheckBox(obj) {
    var itemId = obj.id;
    var val = $(obj).attr("checked");
    if (val == false ) {
        //show error
        $("#" + itemId + "Error").show();
        return false;
    } else {
        //hide error
    $("#" + itemId + "Error").hide();
        return true;
    } //if
} //CheckForRequiredText




function CheckForRequiredText(obj) {
    var itemId = obj.id;
    var val = $(obj).val();
    if (val.length == 0) {
        //show error
        $("#" + itemId + "Error").show();
        return false;
    } else {
        //hide error
        $("#" + itemId + "Error").hide();
        return true;
    }//if
} //CheckForRequiredText




//all drop downs should have a -1 for not selected.
function CheckForRequiredSelect(obj) {
    var itemId = obj.id;
    var val = $(obj).val();    
    if (val == "-1") {
        //show error
        $("#" + itemId + "Error").show();
        return false;
    } else {    
        //hide error
    $("#" + itemId + "Error").hide();
        return true;
    } //if
} //CheckForRequiredText



