var FormUtil = new Object;

FormUtil.focusOnFirst = function() 
{
	if (document.forms.length > 0)
	{
		for (var i=0; i < document.forms[0].elements.length; i++)
		{
			var oField = document.forms[0].elements[i];
			if (oField.type && oField.type != "hidden")
			{
				oField.focus();
				return;
			}
		}
	}
}

function stripLeadingZeroes(input)
{
	if((input.length > 1) && (input.substr(0,1) == "0"))
	{
		return input.substr(1);
	}
	else
	{
		return input;
	}
}

form_validate = function()
{
	if(document.clicked != 'Reset')
	{
		valid = true;
	
		var alertMsg = "<h4>Please check the following fields</h4><ul>\n";
		
		var l_Msg = alertMsg.length;
		
		if ( document.crm.pc_fname.value == '' )
		{
			alertMsg += "<li>First name is required</li>\n"
			valid = false;
		}
		
		if ( document.crm.pc_lname.value == '' )
		{
			alertMsg += "<li>Last name is required </li>\n"
			valid = false;
		}	
		
		
		if ( document.crm.pc_email.value == '' )
		{
			alertMsg += "<li>Email is required </li>\n"
			valid = false;
		}

		if ( document.crm.pc_email.value != '' )
		{
			var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i
			var email_test = re.test(document.crm.pc_email.value)
			if (email_test != true)
			{
				alertMsg += "<li>Email not valid</li>\n"
				valid = false;
			}
		}
		
		if (( document.crm.pc_telenum.value == '' ) &&
			 ( document.crm.pc_mobile.value == '' ) )
		{
			alertMsg += "<li>Either a telephone or mobile number is required </li>\n"
			valid = false;
		}		
	
		var budgetmin = document.crm.pc_budgetmin.value;
		var budgetmax = document.crm.pc_budgetmax.value;

		if (budgetmin == '')
		{
			alertMsg += "<li>Minimum budget is required</li>\n"
			valid = false;
		}
		
		if (budgetmax == '')
		{
			alertMsg += "<li>Maximum budget is required</li>\n"
			valid = false;
		}		
		
		
		if (budgetmin != '' && budgetmax != '')
		{
			if 	(budgetmin - budgetmax >= 0) 
			{
				alertMsg += "<li>Minimum budget must be less than maximum budget</li>\n"
				valid = false;
			}
		}	
		
		var floormin = document.crm.pc_floormin.value;
		var floormax = document.crm.pc_floormax.value;
		
		if(floormin !=  '')
		{
			
			var re = /^[1-9]+[0-9]*$/
			var floormin_test = re.test(floormin)
			if (floormin_test != true)
			{
				alertMsg += "<li>Minimum floor area must be a whole number > than 0</li>\n"
				valid = false;
			}
		}
		
		if(floormax !=  '')
		{
			
			var re = /^[1-9]+[0-9]*$/
			var floormax_test = re.test(floormax)
			if (floormax_test != true)
			{
				alertMsg += "<li>Maximum floor area must be a whole number greater than 0</li>\n"
				valid = false;
			}
		}	
		
		if (floormin != '' && floormax != '')
		{
			if 	(floormin - floormax >= 0) 
			{
				alertMsg += "<li>Minimum floor must be less than maximum floor</li>\n"
				valid = false;
			}
		}	
		
		var landmin = document.crm.pc_landmin.value;
		var landmax = document.crm.pc_landmax.value;
		
		if (landmin != '' && landmax != '')
		{
			if 	(landmin - landmax >= 0) 
			{
				alertMsg += "<li>Minimum land must be less than maximum land</li>\n"
				valid = false;
			}
		}	
		
		if (alertMsg.length == l_Msg)
		{
			if(document.crm.type.value == 'edit')
			{
				var conf = confirm('Are you sure you want to edit this client?');
				if (conf)
				{
					return true;	
				}
				else
				{
					return false;	
				}
			}
			else
			{
				return true;	
			}
		} 
		else 
		{
			document.getElementById('error').innerHTML = alertMsg + "</ul>";
			scroll(0,0);
			
			return false;
		}
			return valid;
	}
}
