var focus = false;
function CustomValidateEmail(source, arguments)
{
    if(arguments)
    {
        var Email = getElementContact(source.controltovalidate);
        if (Email.value == "")
	    {
		    source.errormessage = 'Please, enter your Email.';
		    if(!focus)
		    {
			    Email.focus();
			    focus = true;
		    }
		    arguments.IsValid=false;
		    return;
	    }
	    else
	    {
	        if(!ValidateEmail(Email.value))
		    {
			    source.errormessage = "Please, check your Email.";
			    if(!focus)
		        {
			        Email.focus();
			        focus = true;
		        }
			    arguments.IsValid=false;
			    return;
		    }
	    }
        arguments.IsValid=true;    
    }    
}

function ValidateEmail(valor) 
{
    if (/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(valor))
	    return true;
    else
	    return false;
}

function CustomValidateFirstName(source, arguments)
{
    focus = false;
    var FName = getElementContact(source.controltovalidate);
    if (FName.value == "")
	{
		
		FName.focus();
		focus = true;		
		arguments.IsValid=false;
		return;
	}		
    arguments.IsValid=true;
}
function CustomValidateLastName(source, arguments)
{
    
    var LName = getElementContact(source.controltovalidate);
    if (LName.value == "")
	{
		if(!focus)
		{
			LName.focus();
			focus = true;
		}		
		arguments.IsValid=false;
		return;
	}		
    arguments.IsValid=true;
}
function CustomValidateComments(source, arguments)
{
    var Comment = getElementContact(source.controltovalidate);
    if (Comment.value == "")
	{
		source.errormessage = 'Please, enter your Comments.';
		if(!focus)
		    {
			    Comment.focus();
			    focus = true;
		    }
		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 CustomValidatePhone(source, arguments)
{
    var ValidChars = "0123456789.()- ";
    var Char;
    incoming = getElementContact(source.controltovalidate);
    if (incoming.value == "")
	{
		source.errormessage = 'Please, enter your Phone.';
		if(!focus)
		    {
			    incoming.focus();
			    focus = true;
		    }
		arguments.IsValid=false;
		return;
	}
	else
	{
        for (cont = 0; cont < incoming.value.length; cont++) 
        { 
            Char = incoming.value.charAt(cont); 
            if (ValidChars.indexOf(Char) == -1)
            {
                source.errormessage = 'Please, check your Phone.';
                if(!focus)
		        {
			        incoming.focus();
			        focus = true;
		        }
                arguments.IsValid= false;
                return;
            }
        }
    }
    arguments.IsValid= true;
}