function validateform(frm)
{

	var pass=true;
	for (i=0;i<frm.length;i++)
	{
		var frmobj=frm.elements[i];
		if (frmobj.type=="text" || frmobj.type=="textarea")
		{
			if (''+frmobj.required!="undefined")
				if (isBlank(frmobj,"")) return false;

			var validationtype=""+frmobj.validationtype;
			switch (validationtype)
			{
				case '':	//none
					break;
				case 'a':	// alpas
					if (nonAlpha(frmobj,"")) return false;
					break;
				case 'n':	// numeric
					if (nonNumeric(frmobj,"")) return false;
					break;
				case 'e':	// email
					if (!validate_email(frmobj)) return false;
					break;
				
			}

		}
	}

	return pass;

}

function isBlank(obj,txt)
{
	if (obj.value=="")
	{
		alert ("Required field not supplied")
		obj.focus()
		return true;
	}
	return false;
}

function validate_email(obj)
{

	em=''+obj.value;
	var re = /[^ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.@]/i
	if (em.search(re)!=-1)
	{
		alert ("Invalid e-mail format(1)");
		obj.focus()
		return false;
	}

	if (em.indexOf("@") <1)
	{
		alert ("Invalid e-mail format(2)");
		obj.focus()
		return false;
	}

	if (em.indexOf(".",em.indexOf("@")) <=(em.indexOf("@")+1))
	{
		alert ("Invalid e-mail format(3)");
		obj.focus()
		return false;
	}

	return true;
}


function nonAlpha(obj,txt)
{
	var val=obj.value
	var re = /[^ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_ ]/i
	if (val.search(re)!=-1)
	{
		alert ("Field can only contain A-Z, a-z, 0-9,_ and ' '");
		obj.focus()
		return true;
	}

	return false;

}

function nonNumeric(obj,txt)
{
	var val=obj.value
	var re = /[^+0123456789 ]/i
	if (val.search(re)!=-1)
	{
		alert ("Field can only contain 0-9, + and ' '");
		obj.focus()
		return true;
	}

	return false;

}


