function validamail(formname,campo,camponome,campocid,campoest)
{

	var Kwords = new Array();
	var muda = new Array();
	var barrar = new Array();

	
	//como usar??
	//<form method="post" action="pagina" name="teste" onsubmit="return validamail('teste','campo');">	


        //XXXXXXXXXXXX Configurar aqui os filtros....XXXXXXXXXXXXX
	//XXXXXXXXXXXX Nao esquecer de marcar a ultima posicao XXXXXX

		var inicio = 1;
		var fim = 22;


		Kwords[1] = "hotmail.com.br";
		Kwords[2] = "aol.com.br";
		Kwords[3] = "uol.com";
		Kwords[4] = "globo.com.br";
		Kwords[5] = "rotmail.com";
		Kwords[6] = "rotmail.com.br";
		Kwords[7] = "hotmai.com";
		Kwords[8] = "zipmai.com.br";
		Kwords[9] = "zipmail.com";
		Kwords[10] = "igcom.br";
		Kwords[11] = "bol.com";
		Kwords[12] = "zipamail.com.br";
		Kwords[13] = "zipmaill.com.br";
		Kwords[14] = "msn.com.br";
		Kwords[15] = "zipamil.com";
		Kwords[16] = "hotmaill.com";
		Kwords[17] = "hotmil.com";
		Kwords[18] = "hot.mail.com";
		Kwords[19] = "terra.br";
		Kwords[20] = "htomail.com";
		Kwords[21] = "golbo.com";
		Kwords[22] = "zipamil.com.br";

	//XXXXXXXXXXXXXXXXXx mudanças XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
		
		muda[1]	= "hotmail.com";
		muda[2] = "aol.com";
		muda[3] = "uol.com.br";
		muda[4] = "globo.com";
		muda[5] = "hotmail.com";
		muda[6] = "hotmail.com";
		muda[7] = "hotmail.com";
		muda[8] = "zipmail.com.br";
		muda[9] = "zipmail.com.br";
		muda[10] = "ig.com.br";
		muda[11] = "bol.com.br";
		muda[12] = "zipmail.com.br";
		muda[13] = "zipmail.com.br";
		muda[14] = "msn.com";
		muda[15] = "zipmail.com.br";
		muda[16] = "hotmail.com";
		muda[17] = "hotmail.com";
		muda[18] = "hotmail.com";
		muda[19] = "terra.com.br";
		muda[20] = "hotmail.com";
		muda[21] = "globo.com";
		muda[22] = "zipmail.com.br";
		
	//XXXXXXXXXXXXXXXXXXX depois do @ - não pode ter  XXXXXXXXXXXXX

		var barra_fim = 10;
		barrar[1] = "com.br";
		barrar[2] = "com.b";
		barrar[3] = "con.b";
		barrar[4] = "com.r";
		barrar[5] = "com.be";
		barrar[6] = "com.brr";
		barrar[7] = "com.br.";
		barrar[8] = "xxxx";
		barrar[9] = "com.bra";
		barrar[10] = "com.brq";


	//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx


	var campt = document[formname][campo].value;

	if(campt.length < 3)
	{
		alert('Digite o email corretamente!!');
		document[formname][campo].focus();
		document[formname][campo].select();
		return false;
	}
	if(campt.search("@") < 0)
	{
		alert('O email não foi informado de forma correta!');
		document[formname][campo].focus();
		document[formname][campo].select();
		return false;
	}
	if(campt.indexOf(".") < 0)
	{
		alert('O email não foi informado de forma correta!');
		document[formname][campo].focus();
		document[formname][campo].select();
		return false;	
	}

	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
	arroba=0;
	e = campt;


	for(i=0; i < e.length ;i++)
	{
		if(ok.indexOf(e.charAt(i))<0)
		{ 
			alert('O email não foi informado de forma correta!');
			document[formname][campo].focus();
			document[formname][campo].select();
			return false;
		}	
		else
		{
			if(e.charAt(i)=="@" )
			{
				arroba++;
				if(arroba>1)
				{
					alert('O email não foi informado de forma correta!');
					document[formname][campo].focus();
					document[formname][campo].select();
					return false;
				}
			}
		}
	} 

	campt = campt.replace(".@","@");

	var inicio = campt.substring(0,parseInt(campt.indexOf("@")) + 1);	
	campt = campt.substring(parseInt(campt.indexOf("@"))+1,parseInt(campt.length));

	campt = trim(campt);
	inicio = trim(inicio);

	campt = campt.toLowerCase();
	
	if(campt.length <= 4)
	{
		alert('O email não foi informado de forma correta!');
		document[formname][campo].focus();
		document[formname][campo].select();
		return false;
	}
	

	if(campt.substring(0,1) == ".")
	{
		campt = campt.substring(1,parseInt(campt.length));		
	}	
	
	


	// **** barrar email digitados após @ que ficam num array ******

		for(i=1;i<=barra_fim;i++)
		{
			if(campt == barrar[i])
			{
				alert('O email digitado não é válido!');	
				document[formname][campo].focus();
				document[formname][campo].select();
				return false;
			}	
		}

	//**************************************************************



	for(i=1;i<=fim;i++)
	{
		if(campt == Kwords[i])
		{

 			campt = muda[i];

		}
				
	}
	
	valor = inicio + campt;
	valor = valor.replace('á','a');
	valor = valor.replace('à','a');
	valor = valor.replace('ã','a');
	valor = valor.replace('é','e');
	valor = valor.replace('è','e');
	valor = valor.replace('í','i');
	valor = valor.replace('ì','i');
	valor = valor.replace('ó','o');
	valor = valor.replace('ò','o');
	valor = valor.replace('ô','o');
	valor = valor.replace('õ','o');
	valor = valor.replace('ú','u');
	valor = valor.replace('ù','u');
	valor = valor.replace(';','.');
	valor = valor.replace(',','.');
	valor = valor.replace('..','.');
	valor = valor.replace('.com.br.','.com.br');
	valor = valor.replace('.combr','com.br');
	valor = valor.replace('.co.br','.com.br');
	valor = valor.replace('!','');
	valor = valor.replace('?','');
	valor = valor.replace('<','');
	valor = valor.replace('>','');
	valor = valor.replace('/','.');
	valor = valor.replace('.cpm.br','.com.br');
	valor = valor.replace('.cpm','.com');
		
	
	
	document[formname][campo].value = valor.toLowerCase();
	
	
	//camponome,campocid,campoest


	if(camponome != 'vazio')
	{
		if(document[formname][camponome].value == "")
		{
			alert('Digite o nome corretamente!');
			document[formname][camponome].focus;
			document[formname][camponome].select();
			return false;
		}
	}	
	if(campocid != 'vazio')
	{
		if(document[formname][campocid].value == "")
		{
			alert('Digite a cidade corretamente!');
			document[formname][campocid].focus;
			document[formname][campocid].select();
			return false;
		}
	}
	if(campoest != 'vazio')
	{
		if(document[formname][campoest].value == "")
		{
			alert('Digite o estado corretamente!');
			document[formname][campoest].focus;
			document[formname][campoest].select();
			return false;
		}
	}

}

function trim(strText) 
{ 

	var str;
	str=''
	for(i=0;i<strText.length;i++)	
	{

		if((strText.substring(i,i+1) == " ") || (strText.substring(i,i+1) == "'"))
		{	
			str = str + '';
		}			
		else
		{
			str=str + strText.substring(i,i+1)
		}

	}

  return str;
} 




