var strError = "";
var strValid = "";
var blError = false;
function checkForm()
{
	strError = "";
	blError = "";
	strValid = "";
	strMessage = "";
	for (iForm = 0;iForm < fieldArray.length;iForm ++)
	{
		if (eval('document.'+strFormName+'.'+fieldArray[iForm]))
		{
			checkField(fieldArray[iForm], typeArray[iForm], friendlyArray[iForm], validArray[iForm]);
		}
	}
	if (blError == false)
	{
		eval('document.'+strFormName+'.submit()');
	}
	else
	{
		if (strError != "")
		{
			strMessage = "Please fill out the following fields:.\n"+strError;
		}
		if (strValid != "")
		{
			strMessage += "The Following fields have invalid values:.\n" + strValid;
		}
		alert(strMessage);
	}
}
function checkField(strField,strType,strFriendly,strValidType)
{ 
	switch(strType)
	{
	case "text":
		var tValue = eval('document.'+strFormName+'.'+strField+'.value'); 
		if ( tValue == "")
		{
			blError = true;
			strError = strError + strFriendly + ".\n";
		}
		else
		{
			if (strValidType != "")
			{
				switch (strValidType)
				{
					case "number":
						var filter  = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
						if (!filter.test(tValue))
						{
							strValid += strFriendly + " is not a valid number.\n";
							blError = true;
						}
						break
					case "shortdate":
						var filter  = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/;
						if (!filter.test(tValue))
						{
							strValid += strFriendly + " is not a valid date.\n";
							blError = true;
						}
						break
					case "date":
						var filter  = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
						if (!filter.test(tValue))
						{
							strValid += strFriendly + " is not a valid date.\n";
							blError = true;
						}
						break
					case "email":
						var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
						if (!filter.test(tValue))
						{
							strValid += strFriendly + " is not a valid email.\n";
							blError = true;
						}
						break
					default:

				}
			}
		}
		break
	case "radio":
		myOption = -1;
		for (i = eval('document.'+strFormName+'.'+strField+'.length')-1;i>-1;i--)
		{
			if (eval('document.'+strFormName+'.'+strField+'['+i+'].checked'))
			{
				myOption = i;
				i = -1;
			}
		}
		if (myOption == -1)
		{
			blError = true;
			strError = strError + strFriendly + ".\n";
		}
		break	
	case "select":
	
		if (eval('document.'+strFormName+'.'+strField+'.selectedIndex') == 0)
		{
			blError = true;
			strError = strError + strFriendly + ".\n";
		}
		break
	case "checkbox":
		if (eval('document.'+strFormName+'.'+strField+'.checked') == 0)
		{
			blError = true;
			strError = strError + strFriendly + ".\n";
		}
		break
	case "textarea":
		if (eval('document.'+strFormName+'.'+strField+'.value') == "")
		{
			blError = true;
			strError = strError + strFriendly + ".\n";
		}
		break
	default:

	}	

}
