﻿// File JScript
function DolphinValueValidatorEvaluateIsValid(val)
{
    var ctrl = document.getElementById(val.controltovalidate);
    var retVal = false;
    if(val.ischeckbox == '1')
    {
        retVal = DolphinRequiredCheckBoxEvaluateIsValid(ctrl)
    }
    if(val.ischeckbox == '0')
    {
        retVal = DolphinRequiredTextBoxEvaluateIsValid(val)
    }
    if(retVal != null)
    {
        if(!retVal) { AddClass(ctrl, val.errorclass); }
        else { RemoveClass(ctrl, val.errorclass); }
        return retVal;
    }
    return true;
}
function DolphinRequiredCheckBoxEvaluateIsValid(ctrl)
{
    var retVal = false;
    if(ctrl != null)
        retVal = ctrl.checked;
    return retVal;
}
function DolphinRequiredTextBoxEvaluateIsValid(val)
{
    var retVal = false;
    var value = ValidatorGetValue(val.controltovalidate);
    
    var chkValue = (value != null) && (value != '') && (value.length > 0);
    var chkRegExp = false;
    var chkComp = false;
    if(val.validationexpression != undefined && val.validationexpression) // != '' && chkValue)
    {
        if(chkValue)
        {
            var re = new RegExp(val.validationexpression);
            chkRegExp = re.test(value);
        }
        else
        {
            chkValue = null;
            chkRegExp = null;
            chkComp = null;
        }
    }
    else
        chkRegExp = true;
    if(val.controltocompare != undefined && val.controltocompare)
    {
        if(chkValue)
        {
            chkComp = CompareValidatorEvaluateIsValid(val);
        }
        else
        {
            chkValue = null;
            chkRegExp = null;
            chkComp = null;
        }
    }
    else
        chkComp = true;
    if(chkValue != null && chkRegExp != null && chkComp != null)
        retVal = (chkValue == chkRegExp) && (chkValue == chkComp);
    else
        retVal = null;
    //if(retVal != null)
        return retVal;
    //return true;
    //WebForm_DoCallback(val.id, value, AjaxValidatorResult, val, AjaxValidatorError, true);
}
