function valida_contactus(){
    //valido el nombre
	
	var txtName = document.contactus.name;
	var txtPhone = document.contactus.phone;
	var txtEmail = document.contactus.email;
	var txtComments = document.contactus.comments;
	var contactDate = document.contactus.contactDate;
	
	//var txtComments = document.contactus.comments.value;
	//var txtPhone = document.getElementById('phone');
	//var txtEmail = document.getElementById('email');
	//var txtComments = document.getElementById('comments');	
		
	if (ValidateContactUs(txtName,txtPhone,txtEmail,txtComments, contactDate)) document.contactus.submit(); 	
}


function ValidateContactUs(Name,Phone,Email,Comments, contactDate)
{
	Name.value=trim(Name.value);
	Phone.value=trim(Phone.value); 	
	Email.value=trim(Email.value);       
	Comments.value=trim(Comments.value); 

	if (contactDate.value != "")
		return false;
	
	//Full Name
	if (Name.value == Name.defaultValue)
	{
		alert('Please, enter your name.');
		Name.focus();
		return false;
	}
       else
	{
		if(!ValidateName(Name.value))
		{
			alert("Please check your name.");
			Name.focus();
			return false;
		}

		if(!ValidateConsonants(Name.value))
		{
			alert("Please check your name consonants.");
			Name.focus();
			return false;
		}	
	}
	
		
	//Phone
	
	if (Phone.value == Phone.defaultValue)
	{
		alert("Please enter your phone.");
		Phone.focus();
		return false;
	}
	else
	{
		if( !ValidatePhone(Phone.value))
		{
			alert("Please check your phone.");
			Phone.focus();
			return false;
		}		
	}
	
		
	//Email
	if (Email.value == "" || (Email.value == Email.defaultValue))
	{
		alert('Please, enter your email.');
		Email.focus();
		return (false);
	}
	else
	{
		if(!ValidateEmailCharacters(Email.value))
		{
			alert("Please check your email.");
			Email.focus();
			return false;
		}

		if(!ValidateEmail(Email.value))
		{
			alert("Please check your email.");
			Email.focus();
			return false;
		}

		if(!ValidateEmailDomain(Email.value))
		{
			alert("Please check your email, domain (.ru, .sk, .ua) isn't valid.");
			Email.focus();
			return false;
		}

	}
	
	//Comments
	if (Comments.value == "" || (Comments.value == Comments.defaultValue))
	{
		alert('Please, enter your comments.');
		Comments.focus();
		return (false);
	}			
	return true;
}


function ValidateEmail(valor) 
{    
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]{2,60}(\.[a-zA-Z]{2,4}){1,2}$/;  
    	return emailPattern.test(valor); 
}
	
function trim(myString)
{
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}
	

function ValidateName(valor) 
{
	valor = valor.toLowerCase();
	if (/^[a-z ]+$/i.test(valor))
		return true;
	else
		return false;
} 


function ValidateConsonants(valor) 
{
	valor = valor.toLowerCase();
	if (/[bcdfghjklmnpqrstvwxyz]{7}/.test(valor))
		return false;
	else
		return true;
} 

function ValidateEmailDomain(valor) 
{
	valor = valor.toLowerCase();
	if (/.ru$|.sk$|.ua$/i.test(valor))
		return false;	
	else
		return true;
}

function ValidateEmailCharacters(valor)
{
	valor = valor.toLowerCase();
 	var ValidChars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";   
 	var Char;
 	var IsCorrect=true;

 
 	for (cont = 0; cont < valor.length && IsCorrect == true; cont++) 
 	{ 
	  	Char = valor.charAt(cont); 
  		if (ValidChars.indexOf(Char) == -1) {
			return false;
		}
	}
	return true;
}

function ValidatePhone(incoming)
{
	var ValidChars = "0123456789.()- ";			
	var Char;
	var IsCorrect=true;
	
	for (cont = 0; cont < incoming.length && IsCorrect == true; cont++) 
	{ 
		Char = incoming.charAt(cont); 
		if (ValidChars.indexOf(Char) == -1) {
			 
			 return false;
		}
	}
	return true;
}

