// *******************************************
// Javascript client side form validation
//
// Author: Mark A. Lutz
// Copyright: 2005 Mark A. Lutz
//
// Updates:
//		10/28/2005 - Initial Release
//
// *******************************************

var errStr="";
var errType = "NONE"

function ValidateField(FieldName, FieldType, Parms, ErrOutName)
{
	errStr="";
	switch (FieldType)
	{
		case "txt" :
			CommonText(FieldName, Parms);
			break;
		case "num" :
			
			break;
		case "phone" :
			
			break;
		case "email" :
			CommonText(FieldName, Parms);
			TestEmail(FieldName, Parms);
			break;
		case "ddl" :
			
			break;
		case "date" :
			
			break;
		case "email" :
			
			break;
	}

	if (errStr!="")
	{
		if (ErrOutName.toUpperCase()=="ALERT")
		{
			alert(errStr);
			if (errType == "ERROR")
			{
				document.getElementById("e"+FieldName).className="ErrorShow";
			}
			else
			{
				if (errType == "WARN")
				{
					document.getElementById("e"+FieldName).className="ErrorWarnShow";
				}
			}
			document.getElementById("e"+FieldName).innerHTML=errStr;
			errStr="";
		}
		else
		{
			if (errType == "ERROR")
			{
				document.getElementById("e"+FieldName).className="ErrorShow";
			}
			else
			{
				if (errType == "WARN")
				{
					document.getElementById("e"+FieldName).className="ErrorWarnShow";
				}
			}
			document.getElementById("e"+FieldName).innerHTML=errStr;
			errStr="";
		}
	}
	else
	{
		document.getElementById("e"+FieldName).className="ErrorHide"
		document.getElementById("e"+FieldName).innerHTML="&nbsp;"
		errStr=""
	}
}

function CommonText(fFieldName, fParms)
{
	var TestVal = trim(document.getElementById(fFieldName).value)
	var mParms = fParms.split(",")
	var CanBeNull = mParms[0].toUpperCase();
	var MinLen = mParms[1];
	var MaxLen = mParms[2];
	if ((CanBeNull=="NONULL") && (TestVal.length<1))
	{
		errStr += "This field cannot be blank.<br>"
		errType = "ERROR"
	}
	if (TestVal.length<MinLen)
	{
		errStr += "This field must contain at least " + MinLen + " characters.<br>"
		errType = "ERROR"
	}
	if (TestVal.length>MaxLen)
	{
		errStr += "This field cannot have more then " + MaxLen + " characters.<br>"
		errType = "ERROR"
	}

}

function trim(str)
{
  return str.replace(/^\s+|\s+$/g, '')
};

function TestEmail(fFieldName, fParms)
{			
	var TestVal = trim(document.getElementById(fFieldName).value)
	var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/
	if (!email.test(TestVal)) 
	{
		errStr += "This is not a valid e-mail address.<br>";
		errType = "ERROR"
	}
	else
	{
		var email2 = /^[A-Za-z][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z][A-Za-z]$/
		if (!email2.test(TestVal)) 
		{
			errStr += "Warning: Unusual e-mail address - check if correct.<br>";
			errType = "WARN"
		}
	}			
}