function formNotEmpty(elem) 
{
	var field = elem.value;
	if (field.length == 0)
	{
		return 0;
	}
	else 
	{
		return -1;
	}
}

function formIsEmail(elem)
{
	var field = elem.value;
	var regex = /^[-_.a-z0-9]+@([-_a-z0-9]+\.)+([A-Za-z][A-Za-z]|[A-Za-z][A-Za-z][A-Za-z])|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	if(regex.test(field))
		return -1;
	else
		return 1;
}

function formIsInteger(elem)
{
	var field = elem.value;
	var regex = /(^-?\d\d*$)/;
	if(regex.test(field))
		return -1;
	else
		return 2;
}
function formIsFloat(elem)
{
	var field = elem.value;
	var regex = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
	if(regex.test(field))
		return -1;
	else
		return 3;
}

function orderFormErrors(errorNumber,fld)
{
	switch(errorNumber)
	{
		case 0:
			return fld.title;
			break;
		case 1:
			return "Please enter a valid EMail";
			break;
		case 2:
			return "Please enter a valid Integer";
			break;	
		case 3:
			return "Please enter a valid number";
			break;			
	}
}

function formValidator(frm)
{
	
	var j = 0;
	var fields = new Array();
	var checks = new Array();
	
	//Build array
	for(i=0;i<frm.length;i++)
	{	
		var elementid = frm[i].id;				
		if(elementid != "")
		{
			arr = elementid.split("_");
			if(parseInt(arr.length) > 1)
			{
				eval("fields[j]=" + "frm." + frm[i].id + ";");			
//				fields[j] = frm[i].id;				
				checks[j] = arr[arr.length-1];
				j++;
			}
		}
	}

	for (i=0; i<fields.length; i++)
	{
		var fieldValue = fields[i];	
		switch (checks[i])
		{
			case 'isValue':			
			result = formNotEmpty(fieldValue);
			break;
			case 'isEmail':
			result = formIsEmail(fieldValue);
			break;
			case 'isInteger':
			result = formIsInteger(fieldValue);			
			break;			
			case 'isFloat':
			result = formIsFloat(fieldValue);			
			break;						
		}
		if (result != -1)
		{
			alert(orderFormErrors(result,fieldValue));
			fieldValue.focus();
			return false;
		}
	}
	return true;
}

