function ValidatePhone(source, arguments)
{
	var Phone = getElementContact(source.controltovalidate);
    if (Phone.value == "")
    {
    
        source.errormessage = 'Please, enter your Phone.';	   
	    arguments.IsValid=false;		
	    return;
    }
    else		
    {
	    var ValidChars = "0123456789.()- ";
	    var IsCorrect=true;
	    var Char;
        var IsValid=false;
        incoming= document.getElementById(source.controltovalidate).value;
	    for (cont = 0; cont < incoming.length && IsCorrect == true; cont++) 
	    { 
	        Char = incoming.charAt(cont); 
	        if (ValidChars.indexOf(Char) == -1) {
				 source.errormessage = 'Please, check the Phone.';
	             arguments.IsValid= false;
	             return;
	        }
	    }
	 }
	 arguments.IsValid= true;
}

function ValidateFirstName(source, arguments)
{
    var FirstName = getElementContact(source.controltovalidate);
    if (FirstName.value == "")
    {
	    source.errormessage = 'Please, enter your First Name.';	 
	    arguments.IsValid=false;		
	    return;
    }
	else
	{
		if (!ValidateName(FirstName.value))
		{
			source.errormessage = 'Please, check your First Name.';	 
			arguments.IsValid=false;		
			return;
		}
		if (!ValidateConsonants(FirstName.value))
		{
			source.errormessage = 'Please, check your First Name.';	 
			arguments.IsValid=false;		
			return;
		}
	}
    arguments.IsValid=true;
}

function ValidateLastName(source, arguments)
{
    var LastName = getElementContact(source.controltovalidate);
    if (LastName.value == "")
    {
	    source.errormessage = 'Please, enter your Last Name.';	   
	    arguments.IsValid=false;		
	    return;
    }
	else
	{
		if (!ValidateName(LastName.value))
		{
			source.errormessage = 'Please, check your Last Name.';	   
			arguments.IsValid=false;		
			return;
		}
		if (!ValidateConsonants(LastName.value))
		{
			source.errormessage = 'Please, check your Last Name.';	   
			arguments.IsValid=false;		
			return;
		}
	}	
    arguments.IsValid=true;
}

function ValidateCity(source, arguments)
{
    var City = getElementContact(source.controltovalidate);
    if (City.value == "")
    {
	    source.errormessage = 'Please, enter your City.';	   
	    arguments.IsValid=false;		
	    return;
    }
	else
	{
		if (!ValidateName(City.value))
		{
			source.errormessage = 'Please, check your City.';	   
			arguments.IsValid=false;		
			return;
		}
		if (!ValidateConsonants(City.value))
		{
			source.errormessage = 'Please, check your City.';	   
			arguments.IsValid=false;		
			return;
		}
	}
    arguments.IsValid=true;
}

function ValidateState(source, arguments)
{    
    var State = getElementContact(source.controltovalidate);
        
	if (State.value == "")
	{
		source.errormessage = "Please, enter your State.";
		arguments.IsValid=false;		
	    return;
	}
	else
	{
		if (!ValidateName(State.value))
		{
			source.errormessage = "Please, check your State.";
			arguments.IsValid=false;		
			return;
		}
		if (!ValidateConsonants(State.value))
		{
			source.errormessage = "Please, check your State.";
			arguments.IsValid=false;		
			return;
		}
	}
    arguments.IsValid=true;
}

function ValidateComments(source, arguments)
{

    var Comments = getElementContact(source.controltovalidate);
    if (Comments.value == "")
    {
	    source.errormessage = 'Please, enter your Comments.';	   
	    arguments.IsValid=false;		
	    return;
    }		
    arguments.IsValid=true;
}

function getElementContact(name)
{
    var object = null;
    var tbSmallContact=document.getElementById('tbContact'); 
    for (var i=0; i<tbSmallContact.rows.length; i++)
    {
        for (var j=0; j<tbSmallContact.rows[i].cells.length; j++)
        {
            for (var k=0; k<tbSmallContact.rows[i].cells[j].childNodes.length; k++)
            {                
                if(tbSmallContact.rows[i].cells[j].childNodes[k].id == name)
                {
                   object = tbSmallContact.rows[i].cells[j].childNodes[k];
                   return object;
                }
            }
        }
       
    }    
}

function CustomValidateEmail(source, arguments)
{
    if(arguments)
    {
        var Email = getElementContact(source.controltovalidate);
        if (Email.value == "")
        {
	        source.errormessage = 'Please, enter your Email Address.';    	   
	        arguments.IsValid=false;			
	        return;
        }
        else
        {		
			if(!ValidateEmailCharacters(Email.value))
			{
				source.errormessage = "Please check the Email Address.";				
		        arguments.IsValid=false;				
		        return;
			}
			if(!ValidateEmail(Email.value))
			{
				source.errormessage = "Please check the Email Address.";				
		        arguments.IsValid=false;				
		        return;
			}
			if(!ValidateEmailDomain(Email.value))
			{
				source.errormessage = "Please check the Email Address, domain (.ru, .sk, .ua) isn't valid.";			
		        arguments.IsValid=false;				
		        return;
			}
			if(!ValidateConsonants(Email.value))
			{
				source.errormessage = "Please check the Email Address.";				
		        arguments.IsValid=false;				
		        return;
			}
        }
        arguments.IsValid=true;
    }
}

function ValidateCapcha()
{
    var txt = document.getElementById("txtCaptcha");
    if(txt != null)
    {
        if(trim(txt.value) == "")
        {
           alert("Please, fill the captcha");
           txt.value = "";
           txt.focus(); 
           return false;
        }
    }
    return true;
}

function trim(myString)
{
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}

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

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

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 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 ValidateEmailDomain(valor) 
{
	valor = valor.toLowerCase();
	if (/.ru$|.sk$|.ua$/i.test(valor))
		return false;	
	else
		return true;
} 
