
function isValidEmail(str) 
{
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function getCheckedValue(radioObj) 
{
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
function getComboValue(obj)
{
	if (obj)
	{
		var itemIndex = obj.selectedIndex;
		var itemVal = obj.options[itemIndex].value;
		return itemVal;
	} else {
		return false;
	}
}
function getTextValue(obj)
{
	var val = "";
	if (obj)
	{
		val = obj.value;
	}
	return val;
}
function isRequired(elName)
{
	for (var x=0; x<reqd.length; x++)
	{
		if (elName == reqd[x]) return true;
	}
}

function frmValidate(frm)
{
	var error = "";
	var val = "";
	var prevEl = "";

	for (var x=0; x<frm.elements.length; x++)
	{
		var el = frm.elements[x];
		var elType = el.type;
		var elName = el.name;
		
		// validate based on type of element.
		if (elType=="text" || elType=="password" || elType=="textarea" || elType=="hidden")
		{
			if (isRequired(elName))
			{
				val = getTextValue(el);
				if (val == "") 
				{
					error += elName+" is a required field.\n";
				} else {
					// validate email field.
					if (elName == emailField)
					{
						if (!isValidEmail(val))
						{
							error += elName+" is not a valid email address.\n";
						}
					}
				}
			}
		} else if (elType=="select-one") {
			if (isRequired(elName))
			{
				val = getComboValue(el);
				if (val == "") error += elName+" is a required field.\n";
			}
		} else if (elType=="radio") {
			if (isRequired(elName) && elName != prevEl)
			{
				//val = getCheckedValue(el);
				if (el.checked) error += elName+" is a required field.\n";
				prevEl = elName;
			}
		} else if (elType=="checkbox") {
			if (isRequired(elName))
			{
				//val = getCheckedValue(el);
				if (!el.checked) error += elName.replace('[]', '')+" is a required field.\n";
				prevEl = elName;
			}
		} else {
			// ignore.
		}
	}

	if (error > "")
	{
		alert(error);
	} else {
		frm.submit();
	}
}