function isblank( s )
{
	for( var i = 0; i < s.length; i++)
	{
		var c = s.charAt( i );
		if ((c != ' ') && (c != '\n') && (c != '\t'))
		{
			return false;
		}
	}
	return true;
}

function verifyQty( el )
{
	var nQuantity = parseInt( el.value );
	if (el.value.length = 0)
		return true
	else
		if (isNaN( nQuantity )) {
			alert("Error: Quantities must be numeric.");
			return false;
		}
		else {
			el.value = nQuantity;
			return true;
		}
}

function verify( frm )
{
	var msg          = "";

	var empty_field  = "";
	var number_field = "";
	var opt_number_field = "";
	var phone_field  = "";
	var opt_phone_field  = "";
	var cc_field     = "";
	var email_field  = "";
	var opt_email_field  = "";

	for (var i = 0; i < frm.elements.length; i++)
	{
		var el = frm.elements[ i ];
		
		if (el.required)
		{	//if (el.selectedIndex<=0)
			if ((el.value == null) || (el.value == "") || isblank( el.value ))
			{
				empty_field += "\n        " + el.name;
				continue;
			}
		}
		else if (el.number)
		{
			var nQuantity = parseInt( el.value );
			if (nQuantity == 0 || isNaN( nQuantity ))
			{
				number_field += "\n        " + el.name;
				continue;
			}
		}
		else if (el.optnumber)
		{
			if (el.value.length > 0)
			{
				var nQuantity = parseInt( el.value );
				if (isNaN( nQuantity ))
				{
					opt_number_field += "\n        " + el.name;
					continue;
				}
			}
		}
		else if (el.phonenumber)
		{
			var str = "";
			for( var n = 0; n < el.value.length; n++)
			{
				var c = el.value.charAt( n );
				if ((c >= '0') && (c <= '9'))
					str += c;
			}
			el.value = str;

			var nQuantity = parseInt( el.value );
			if (nQuantity == 0 || isNaN( nQuantity ) || el.value.length < 7)
			{
				phone_field += "\n        " + el.name;
				continue;
			}
		}
		else if (el.optphonenumber)
		{
			if (el.value.length > 0 && el.value != "0")
			{
				var str = "";
				for( var n = 0; n < el.value.length; n++)
				{
					var c = el.value.charAt( n );
					if ((c >= '0') && (c <= '9'))
						str += c;
				}
				el.value = str;

				var nQuantity = parseInt( el.value );
				if (nQuantity == 0 || isNaN( nQuantity ) || el.value.length < 7)
				{
					opt_phone_field += "\n        " + el.name;
					continue;
				}
			}
			else
			{
				el.value = ""
			}
		}
		else if (el.creditcard)
		{
			var str = "";
			for( var n = 0; n < el.value.length; n++)
			{
				var c = el.value.charAt( n );
				if ((c >= '0') && (c <= '9'))
					str += c;
			}
			el.value = str;

			var nQuantity = parseInt( el.value );
			if (nQuantity == 0 || isNaN( nQuantity ) || (el.value.length != 13 && el.value.length != 15 && el.value.length != 16))
			{
				cc_field += "\n        " + el.name;
				continue;
			}
		}
		else if (el.email)
		{
			if ((el.value == null) || (el.value == "") || isblank( el.value ) || el.value.indexOf('@',0) < 1 || el.value.indexOf ('.',0) < 1 || el.value.length < 6)
			{
				email_field += "\n        " + el.name;
				continue;
			}
		}
		else if (el.optemail)
		{
			if (el.value.length > 0)
				if (el.value.indexOf('@',0) < 1 || el.value.indexOf ('.',0) < 3 || el.value.length < 6)
				{
					opt_email_field += "\n        " + el.name;
					continue;
				}
		}
	}
	
	if (!empty_field && !number_field && !opt_number_field && !phone_field && !opt_phone_field && !cc_field && !email_field && !opt_email_field)
	{
		return true;
	}
	
	msg  = "-------------------------------------------\n";
	msg += "The following error(s) need to be corrected:\n";
	msg += "-------------------------------------------\n\n";
	
	if (empty_field)
	{
		msg += "- The following required field(s) are empty:"
			 + empty_field + "\n";
	}
	
	if (number_field)
	{
		if (msg.length > 0)
		{
			msg += "\n";
		}
		msg += "- The following required field(s) must be numeric:"
			 + number_field + "\n";
	}
	
	if (opt_number_field)
	{
		if (msg.length > 0)
		{
			msg += "\n";
		}
		msg += "- The following optional field(s) must be numeric:"
			 + opt_number_field + "\n";
	}
	
	if (phone_field)
	{
		if (msg.length > 0)
		{
			msg += "\n";
		}
		msg += "- The following required field(s) must be valid phone numbers:"
			 + phone_field + "\n";
	}
	
	if (opt_phone_field)
	{
		if (msg.length > 0)
		{
			msg += "\n";
		}
		msg += "- The following optional field(s) must be valid phone numbers:"
			 + opt_phone_field + "\n";
	}
	
	if (cc_field)
	{
		if (msg.length > 0)
		{
			msg += "\n";
		}
		msg += "- The following required field(s) must be valid credit card numbers:"
			 + cc_field + "\n";
	}
	
	if (email_field)
	{
		if (msg.length > 0)
		{
			msg += "\n";
		}
		msg += "- The email address must be valid\n"
	}
	
	if (opt_email_field)
	{
		if (msg.length > 0)
		{
			msg += "\n";
		}
		msg += "- The email address, while optional, must be a valid.\n"
	}
	
	alert( msg );
	return false;
}
