function ValidateEmail(valor)
{
	if (/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(valor))
	return true;
	else
	return false;
}

function HasNumbers(valor) 
{
    if (/[0-9]/.test(valor))
            return true;
    else
            return false;
}

function trim(myString)
{
 return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}

function ValidateData()
{

	var element = document.getElementById('contactDate');
	if (element.value != "")
	{
		return false;
	}
	
	var element = document.getElementById('txtFullName');
	element.value=trim(element.value);
	if (element.value == "")
	{
		alert('Please, enter your  name.');
		element.focus();
		return false;
	}
	
	var element = document.getElementById('txtZipCode');
	element.value=trim(element.value);
	if (element.value == "")
	{
		alert("Please enter a value for the \"ZipCode\" field.");
		element.focus();
		return false;
	}
	else
	{
			if(!ValidateZipCode(element.value))
		{
			alert('Please, enter a valid Zip Code.');
			element.focus();
			return false;
		}
	}
	
	if (element.value.length < 5)
	{
		alert("Please enter 5 characters in the \"ZipCode\" field.");
		element.focus();
		return false;
	}
	
	
	var element = document.getElementById('txtPhone');
	element.value=trim(element.value);
	if (element.value == "")
	{
		alert('Please, enter your phone.');
		element.focus();
		return false;
	}
	else
	{
		if(!ValidatePhone(element.value))
		{
			alert("Please, enter a valid phone number.");
			element.focus();
			return false;
		}
	}
		
	
	
	var element = document.getElementById('txtEmail');
	element.value=trim(element.value);
	if (element.value == "")
	{
		alert('Please, enter your email.');
		element.focus();
		return false;
	}
	else
	{
		if(!ValidateEmail(element.value))
		{
			alert("Please check the email address");
			element.focus();
			return false;
		}
	}
	
	var element = document.getElementById('txtComments');
	element.value=trim(element.value);
	if (element.value == "")
	{
		alert('Please, enter your comment or question.');
		element.focus();
		return false;
	}

	if  ( 
			hasSpamStrings(document.getElementById('txtFullName')) ||
			hasSpamStrings(document.getElementById('txtAddress')) ||						
			hasSpamStrings(document.getElementById('txtAddress2'))  ||
			hasSpamStrings(document.getElementById('txtCity')) ||			
			hasSpamStrings(document.getElementById('txtState')) ||
			hasSpamStrings(document.getElementById('txtZipCode')) ||						
			hasSpamStrings(document.getElementById('txtPhone'))  ||
			hasSpamStrings(document.getElementById('txtExtPhone')) ||			
			hasSpamStrings(document.getElementById('txtFax')) ||			
			hasSpamStrings(document.getElementById('txtComments')) 			
		)
	{
		return false;
	}	
	return true;	
} 

function hasSpamStrings(textField)
{

	var fieldValue = textField.value;
	
	if (	
			fieldValue.indexOf('@')			!=	-1 	|| 
			fieldValue.indexOf('http://')	!=	-1
		)
	{
			alert('Please, enter a valid value.');
			textField.focus();
			return true;
	}	
	else
	{
			return false;
	}

}

function ValidatePhone(incoming)
{
	var ValidChars = "0123456789.()- ";
	var IsCorrect=true;
	var Char;

	for (cont = 0; cont < incoming.length && IsCorrect == true; cont++) 
	{ 
		Char = incoming.charAt(cont); 
		if (ValidChars.indexOf(Char) == -1) 
			return false;
	}
	return true;
}

function ValidateZipCode(incoming)
{
	var ValidChars = "0123456789 ";
	var IsCorrect=true;
	var Char;

	for (cont = 0; cont < incoming.length && IsCorrect == true; cont++) 
	{ 
		Char = incoming.charAt(cont); 
		if (ValidChars.indexOf(Char) == -1) 
			return false;
	}
	return true;
}
