function valida_email(email) {

	return email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);

}

/*************************************************/

function e_numero(string){
//usado para browsers que não suportam event da função anterior

    var re = /\D+/;

	return !re.test(string);

}

/*************************************************/

/*************************************/
/* Funções para verificar cpf e cnpj */
/*************************************/
//  Francisco C Paulino - Tofinha - fcptofinha@globo.com '
//  06/11/2002
//Função para Cálculo do Digito do CPF/CNPJ
function DigitoCPFCNPJ(numCIC) {
	var numDois = numCIC.substring(numCIC.length-2, numCIC.length);
	var novoCIC = numCIC.substring(0, numCIC.length-2);

	switch (numCIC.length){
		case 11 :
			numLim = 11;
			break;
		case 14 :
			numLim = 9;
			break;
		default : return false;
	}

	var numSoma = 0;
	var Fator = 1;

	for (var i=novoCIC.length-1; i>=0 ; i--) {

		Fator = Fator + 1;

		if (Fator > numLim) {
			Fator = 2;
		}

		numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
	}

	numSoma = numSoma/11;
	var numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));

	if (numResto > 1) {
		numResto = 11 - numResto;
	} else {
		numResto = 0;
	}
	//-- Primeiro dígito calculado.  Fará parte do novo cálculo.

	var numDigito = String(numResto);
	novoCIC = novoCIC.concat(numResto);
	//--
	numSoma = 0;
	Fator = 1;

	for (var i=novoCIC.length-1; i>=0 ; i--) {

		Fator = Fator + 1;

		if (Fator > numLim) {
			Fator = 2;
		}

		numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
	}

	numSoma = numSoma/11;
	numResto = numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));

	if (numResto > 1) {
		numResto = 11 - numResto;
	} else {
		numResto = 0;
	}
	//-- Segundo dígito calculado.

	numDigito = numDigito.concat(numResto);

	if (numDigito == numDois) {
		return true;
	} else {
		return false;
	}
}
//--< Fim da Função >--

//-- Retorna uma string apenas com os números da string enviada
function ApenasNum(strParm) {

	strParm = String(strParm);
	var chrPrt = "0";
	var strRet = "";
	var j=0;

	for (var i=0; i < strParm.length; i++) {

		chrPrt = strParm.substring(i, i+1);

		if ( chrPrt.match(/\d/) ) {

			if (j==0) {
				strRet = chrPrt;
				j=1;
			} else {
				strRet = strRet.concat(chrPrt);
			}

		}
	}
	return strRet;
}
//--< Fim da Função >--

//-- Somente aceita os caracteres válidos para CPF e CNPJ.
function PreencheCIC(objCIC) {

	var chrP = objCIC.value.substring(objCIC.value.length-1, objCIC.value.length);

	if ( !chrP.match(/[0-9]/) && !chrP.match(/[\/.-]/) ) {
		objCIC.value = objCIC.value.substring(0, objCIC.value.length-1);
		return false;
	}

	return true;
}
//--< Fim da Função >--

function FormataCIC (numCIC) {

	numCIC = String(numCIC);

	switch (numCIC.length){
		case 11 :
			return numCIC.substring(0,3) + "." + numCIC.substring(3,6) + "." + numCIC.substring(6,9) + "-" + numCIC.substring(9,11);
		case 14 :
			return numCIC.substring(0,2) + "." + numCIC.substring(2,5) + "." + numCIC.substring(5,8) + "/" + numCIC.substring(8,12) + "-" + numCIC.substring(12,14);
		default :
			return "";
	}
}

//-- Remove os sinais, deixando apenas os números e reconstroi o CPF ou CNPJ, verificando a validade
//-- Recebe como parâmetros o número do CPF ou CNPJ, com ou sem sinais e o atualiza com sinais é validado.
function ConfereCIC(objCIC) {

	var strCPFPat  = /^\d{3}\.\d{3}\.\d{3}-\d{2}$/;
	var strCNPJPat = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/;

	numCPFCNPJ = ApenasNum(objCIC.value);

	if (!DigitoCPFCNPJ(numCPFCNPJ)) {
		return false;
	}

	objCIC.value = FormataCIC(numCPFCNPJ);

	if (objCIC.value.match(strCNPJPat)) {
		return true;
	} else if (objCIC.value.match(strCPFPat)) {
		return true;
	} else {
		return false;//modificado por filipi
	}
}
//Fim da Função para Cálculo do Digito do CPF/CNPJ
/*********************************************************************/



function formata_cep(campo) {

	var tam = campo.value.length;

	if (tam == 5){
		campo.value = campo.value + "-";
	}

}

/*********************************************************************/

function valida_form(form){

	var retorno = true;
	var msg =  "";

	for (var i = 0; i < form.length; i++){
		if (((form[i].type == "text") || (form[i].name == "estado") || (form[i].name == "pais")) && (form[i].value == "")){
			retorno = false;
			msg = msg + "Todos os campos devem ser preenchidos.\n";
			break;
		}
	}

	if (!valida_email(form.email.value)){
		retorno = false;
		msg = msg + "Valor inválido de e-mail. Por favor, insira um valor válido.\n";
	}

	if (!ConfereCIC(form.cnpj)){
		retorno = false;
		msg = msg + "CNPJ inválido. Por favor, forneça um CNPJ válido.";
	}

	if (!retorno)
		alert(msg);

	return retorno;
}



