// Copyright 2003, 2004 Peter L. Blum, All Rights Reserved, www.PeterBlum.com
// Professional Validation And More v2.0.1 Level 2


function VAM_EvalVisCond(pCO)
{
var vFld = VAM_GetById(pCO.IDToEval);
var vVisible = true;
while (vVisible && (vFld != null) && (vFld != document.body))
{
vVisible = !((vFld.style.visibility == "hidden") || (vFld.style.display == "none"));
vFld = vFld.parentNode;
} 
return vVisible == pCO.Vis ? 1 : 0;
} 

function VAM_EvalEnabledCond(pCO)
{
var vFld = VAM_GetById(pCO.IDToEval);
if (vFld.disabled == null)
return -1;
return (vFld.disabled != pCO.IsEnab) ? 1 : 0;
} 

function VAM_EvalReadOnlyCond(pCO)
{
var vFld = VAM_GetById(pCO.IDToEval);
if (vFld.readOnly == null)
return -1;
return (vFld.readOnly == pCO.IsRO) ? 1 : 0;
} 

function VAM_EvalClassNameCond(pCO)
{
var vFld = VAM_GetById(pCO.IDToEval);
if (vFld.className == null)
return -1;
return (vFld.className.toUpperCase() == pCO.Css) ? 1 : 0; } 

function VAM_EvalCompToValAttrCond(pCO)
{
var vFldVal = VAM_GetAttrCondVal(pCO);
if (vFldVal == null)
return -1;
return VAM_Comparer(pCO, vFldVal, pCO.Val, pCO.Op) ? 1 : 0;
} 

function VAM_EvalBTxtLenCond(pCO)
{
var vVal = VAM_GetTextValue(pCO.IDToEval, pCO.Trim);
pCO.Count = pCO.CntElFnc(pCO, vVal);
if (pCO.IDToEval2 != "")
{
vVal = VAM_GetTextValue(pCO.IDToEval2, pCO.Trim);
pCO.Count = pCO.Count + pCO.CntElFnc(pCO, vVal); }
if (pCO.Min != 0)
if (pCO.Min > pCO.Count)
{
pCO.Diff = pCO.Min - pCO.Count; return 0;
}
if (pCO.Max != 0)
if (pCO.Max < pCO.Count)
{
pCO.Diff = pCO.Count - pCO.Max;
return 0;
}
return 1;
} 

function VAM_TxtLenReplToken(pAO, pText)
{
pText = VAM_OneFldReplToken(pAO, pText);
pText = VAM_SPReplToken(pText, pAO.Cond.Count, "COUNT");
pText = VAM_SPReplToken(pText, pAO.Cond.Diff, "EXCEEDS");
pText = VAM_RERpl(pText, "{COUNT}", pAO.Cond.Count);
return VAM_RERpl(pText, "{EXCEEDS}", pAO.Cond.Diff);
} 

function VAM_CntChars(pCO, pText)
{
return pText.length;
} 

function VAM_GetAttrCondVal(pCO)
{
var vFld = VAM_GetById(pCO.IDToEval);
var vFldVal = null;
if (pCO.AT == "A")
eval("vFldVal = vFld." + pCO.Name + ";");
else
eval("vFldVal = vFld.style." + pCO.Name + ";");
if (pCO.DT != "string")
vFldVal = eval(vFldVal);
return vFldVal;
} 

