﻿function IsNullOrEmpty(itemToCheck)
{
    if(!IsNull(itemToCheck))
        if(!IsEmpty(itemToCheck))
            return false;
    
    return true;
}

function IsNull(itemToCheck)
{
    if(itemToCheck != null)
        return false;
    
    return true;
}

function IsEmpty(itemToCheck)
{
    if(itemToCheck != '')
        return false;
    
    return true;
}


function LabelRequiredFieldValidatorEvaluateIsValid(val) 
{
    var isValid = RequiredFieldValidatorEvaluateIsValid(val);    

    SetLabelFormatting(val, isValid);

    return isValid;
}


function LabelRegularExpressionValidatorEvaluateIsValid(val)
{
    var isValid = RegularExpressionValidatorEvaluateIsValid(val);
    
    SetLabelFormatting(val, isValid);
    
    return isValid;
}


function LabelCustomValidatorEvaluateIsValid(val)
{
    var isValid = CustomValidatorEvaluateIsValid(val);
    
    SetLabelFormatting(val, isValid);
    
    return isValid;
}

function LabelCompareValidatorEvaluateIsValid(val)
{
    var isValid = CompareValidatorEvaluateIsValid(val);

    SetLabelFormatting(val, isValid);
    
    return isValid;
}


function SetLabelFormatting(val, isValid)
{
/* not working in FireFox
    var controltomodify = val.getAttribute("controltomodify");
    var controlclass = val.getAttribute("controlclass");
    var controlerrorclass = val.getAttribute("controlerrorclass");
*/
    var controltomodify = val.controltomodify;
    var controlclass = val.controlclass;
    var controlerrorclass = val.controlerrorclass;

    if((!IsNullOrEmpty(controltomodify)) && (!IsNull(controlclass)) && (!IsNull(controlerrorclass)))
    {
            
        controltomodify = document.getElementById(controltomodify);
        if(controltomodify != null)
        {
            //alert(val.id + '\n' + controltomodify.id + '\n' + isValid + '\nSTART');
            var fullyValid = isValid;
            var errorItem = controltomodify.getAttribute("errorList");
            if(errorItem)
            {
                //remove the current item from the list if there
                errorItem = errorItem.replace(val.id + ';', '');
                if(isValid)
                    fullyValid = (errorItem.length == 0);
                    
                //alert('fullyValid:' + fullyValid + '\nerrorItem.length:' + errorItem.length);
                controltomodify.setAttribute("errorList", errorItem + (isValid ? '' : val.id + ';'));
            }
            else if(!errorItem)
            {
                //alert('!errorItem - adding attribute');
                if(!isValid)
                    controltomodify.setAttribute("errorList",val.id + ';');
            }

            controltomodify.className = (fullyValid ? controlclass : controlerrorclass);
            
            //alert('[' + controltomodify.errorList + ']');
            //alert(val.id + '\n' + controltomodify.id + '\n' + isValid + '\nEND');
        }
    }
}