function preencheCampo(fieldid,fieldvalue) {
	//Preenche os radio buttons
	if (window.document.getElementById(fieldid).type == "radio") {
		if (window.document.getElementById(fieldid).value == fieldvalue) {
			window.document.getElementById(fieldid).checked = true;
		}
	} else if (window.document.getElementById(fieldid).type == "checkbox") {
		if (window.document.getElementById(fieldid).value == fieldvalue) {
			window.document.getElementById(fieldid).checked = true;
		} else {
			window.document.getElementById(fieldid).checked = false;
		}
	} else if (window.document.getElementById(fieldid).multiple == true) {
		numItensSelect = window.document.getElementById(fieldid).length;
		arraySelect = fieldvalue.split(",");
		numItensArray = arraySelect.length;
		for (cont = 0; cont < numItensArray; cont++) {
			for (cont1 = 0; cont1 < numItensSelect; cont1++) {
				if (arraySelect[cont] == window.document.getElementById(fieldid).options[cont1].value) {
					window.document.getElementById(fieldid).options[cont1].selected = true;
				} else {
					window.document.getElementById(fieldid).options[cont1].selected = false;
				}
			}
		}
	
	} else {
		window.document.getElementById(fieldid).value = fieldvalue;
	}	
}
function confereSenha(senha,confSenha) {
	if (senha.value != "") {
		if (senha.value.length < senha.size) {
			alert("Senha inferior à " + senha.size + " digitos.");
			senha.focus();
			return false;	
		}
		if (senha.value != confSenha.value) {
			alert("As senhas não são conferem.");
			senha.focus();
			return false;
		}
	}
}
function mascaraData(campo)
{ 
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 2) { 
		mData = mData + '/'; 
		campo.value = mData; 
	} if (mData.length == 5) { 
		mData = mData + '/'; 
		campo.value = mData; 
	} if (mData.length == 10) { 
		return true;
	} 
}
function mascaraMesAno(campo)
{ 
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 2) { 
		mData = mData + '/'; 
		campo.value = mData; 
	} if (mData.length == 7) { 
		return true;
	} 
}
function mascaraHora(campo)
{ 
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 2) { 
		mData = mData + ':'; 
		campo.value = mData; 
	} if (mData.length == 5) { 
		return true;
	} 
}
function mascaraTel(campo)
{ 
	var mData = '';
	mData = mData + campo.value; 
	if (mData.length == 2) { 
		mData = mData + ')';
		mData = '(' + mData;
		campo.value = mData; 
	} 
	if (mData.length == 8) { 
		mData = mData + '-'; 
		campo.value = mData;
	}
	if (mData.length == 13) { 
		return true;
	} 
}
function mascaraTelefone(campo)
{ 
	var mData = '';
	mData = mData + campo.value; 
	if (mData.length == 2) { 
		mData = mData + ')';
		mData = '(' + mData;
		campo.value = mData; 
	} 
	if (mData.length == 8) { 
		mData = mData + '-'; 
		campo.value = mData;
	}
	if (mData.length == 13) { 
		return true;
	} 
}
function mascaraCep(campo)
{ 
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 5) { 
		mData = mData + '-'; 
		campo.value = mData; 
	} if (mData.length == 9) { 
		return true;
	} 
}
function mascaraCnpj(campo)
{
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 2) { 
		mData = mData + '.'; 
		campo.value = mData;
	} if (mData.length == 6) { 
		mData = mData + '.'; 
		campo.value = mData;
	} if (mData.length == 10) { 
		mData = mData + '/'; 
		campo.value = mData;
	} if (mData.length == 15) { 
		mData = mData + '-'; 
		campo.value = mData;
	} if (mData.length == 18) { 
		return true;
	}
}
function mascaraCpf(campo)
{ 
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 3) { 
		mData = mData + '.'; 
		campo.value = mData; 
	} if (mData.length == 7) { 
		mData = mData + '.'; 
		campo.value = mData;
	} if (mData.length == 11) { 
		mData = mData + '-'; 
		campo.value = mData;
	} if (mData.length == 14) { 
		return true;
	} 
}
function mascaraRg(campo)
{ 
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 2) { 
		mData = mData + '.'; 
		campo.value = mData; 
	} if (mData.length == 6) { 
		mData = mData + '.'; 
		campo.value = mData;
	} if (mData.length == 10) { 
		mData = mData + '-'; 
		campo.value = mData;
	} if (mData.length == 12) { 
		return true;
	} 
}
function mascaraIe(campo)
{ 
	var mData = ''; 
	mData = mData + campo.value; 
	if (mData.length == 3) { 
		mData = mData + '.'; 
		campo.value = mData; 
	} if (mData.length == 7) { 
		mData = mData + '.'; 
		campo.value = mData;
	} if (mData.length == 11) { 
		mData = mData + '.'; 
		campo.value = mData;
	} if (mData.length == 15) { 
		return true;
	} 
}
//Utilização: onKeyPress="return mascaraMoeda(this,'.',',',event)"
function mascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e) {
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) {
		return true;
	}
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) {
		return false; // Chave inválida
	}
    len = objTextBox.value.length;
    for(i = 0; i < len; i++) {
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) {
			break;
		}
    	aux = '';
	}
    for(; i < len; i++) {
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) {
			aux += objTextBox.value.charAt(i);
		}
	}
	
    aux += key;
    len = aux.length;
	
    if (len == 0) {
		objTextBox.value = '';
	}
    if (len == 1) {
		objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
	}
    if (len == 2) {
		objTextBox.value = '0'+ SeparadorDecimal + aux;
	}
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--) {
			objTextBox.value += aux2.charAt(i);
		}
			objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}
//Obs.: Não serão verificados campos hidden e readOnly e disabled, mesmo que sejam passados pela array.
//Os tipo de dados são: numero, letra, alfanumerico, data, email, vazio, cnpj, cpf, ie, moeda, cep, telefone, nenhum.
//O campo poderá ser obrigatório e não obrigatório seu reenchiemento, quem
//set´rá esta valor será o último parametro: ob => obrigatório e nob => não obrigatório
//Utilização: onClick="return validaSubmit(0,arrayCampos,'text','alerta');"
//formNum : Número do sequência do formulário. Ex.: forms[0]
//arrayCampos: Array que contém os dados dos campos
//estiloNormal : Nome da folha de estilo para normal
//estiloAlerta : Nome da folha de estilo de alerta para os rotulos dos campos.
//Obs: Para que o script venha a funcionar o rotulo do campo obrigatório deverá conter um id informa da seguinte forma:
//nome_do_campo_alerta. Exemplo: txt_Nome_alerta
//Formatos: CEP -> xxxxx-xxx, Telefone/Fax -> (xx)xxxx-xxxx
function validaSubmit(formNum,arrayCampos,estiloNormal,estiloAlerta) {
	for (cont = 0; cont < arrayCampos.length; cont++) {
		//Pega os paramentros do campo
		/*tamanhoString = arrayCampos[cont].length;
		virgula1 = arrayCampos[cont].indexOf(",");
		virgula2 = virgula1 + 1 + arrayCampos[cont].substring((virgula1 + 1),tamanhoString).indexOf(",");
		virgula3 = virgula2 + 1 + arrayCampos[cont].substring((virgula2 + 1),tamanhoString).indexOf(",");
		virgula4 = virgula3 + 1 + arrayCampo
		s[cont].substring((virgula3 + 1),tamanhoString).indexOf(",");
		virgula5 = virgula4 + 1 + arrayCampos[cont].substring((virgula4 + 1),tamanhoString).indexOf(",");
		nomeCampo = arrayCampos[cont].substring(0,virgula1);
		rotulo = arrayCampos[cont].substring(++virgula1,virgula2);
		minCaracter = arrayCampos[cont].substring(++virgula2,virgula3);
		maxCaracter = arrayCampos[cont].substring(++virgula3,virgula4);
		tipo = arrayCampos[cont].substring(++virgula4,virgula5);
		obrigatorio = arrayCampos[cont].substring(++virgula5);
		idAlerta = nomeCampo+"_alerta";
		campo = document.getElementsByName(nomeCampo)[0];*/
		
		//Explode os valores da array arrayCampos em variáveis
		arrayParametros = arrayCampos[cont].split(",");
		campo = arrayParametros[0];
		campoTeste = arrayParametros[0];
		rotulo = arrayParametros[1];
		minCaracter = arrayParametros[2];
		maxCaracter = arrayParametros[3];
		tipo = arrayParametros[4];
		obrigatorio = arrayParametros[5];
		idAlerta = campo+"_alerta";
		campo = document.getElementsByName(campo);
		//Fim pega os parametro do campo
		
		//Teste para verificar se o objeto existe seu id é o mesmo que nomeobjeto_alerta.
		if (campo[0] == undefined) {
			alert('Objeto não existe.');
			return false;
		}
		if (document.getElementById(idAlerta) == undefined) {
			alert('ID_ALERTA do objeto está incorreto.');
			return false;
		}
		//Não verifcar os campos que são do tipo hidden e readOnly.
		if (campo[0].disabled != true && campo[0].readOnly != true && campo[0].type != 'hidden') {
			//alert('Campo '+nomeCampo+' pode ser validado...');
			//Obriga a seleção de pelo menos uma opção caso o campo seja um radio button.
			if (campo[0].type == "radio") {
				naoSelecionados = 0;
				for (cont1 = 0; cont1 < campo.length; cont1++) {
					if (campo[cont1].checked == false) {
						naoSelecionados++;
					}
				}
				if (naoSelecionados == campo.length) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Selecionar uma opção do campo " + rotulo + ".");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			}
			//Verifica se o campo está vazio ou se o preenchimento com caracteres minímo ou máximo foram atendidos.
			if (campo[0].value == "" && obrigatorio == "ob") {
				document.getElementById(idAlerta).className = estiloAlerta;
				alert("O preenchimento do campo " + rotulo + " é obrigatório.");
				campo[0].focus();
				return false;
			//Verifica se o campo esta preenchido com o mínimo de caracteres e é obrigatório
			} else if (campo[0].value.length < minCaracter && obrigatorio == "ob") {
				document.getElementById(idAlerta).className = estiloAlerta;
				alert("O número minimo de caracteres do campo " + rotulo + " não foi atingido");
				campo[0].focus();					
				return false;
			//Verificar se o campo está preenchido excedendo o número máxinmo de caracteres.
			} else if (campo[0].value.length > maxCaracter) {
				document.getElementById(idAlerta).className = estiloAlerta;
				alert("O número maximo de caracteres do campo " + rotulo + " foi atingido");
				campo[0].focus();					
				return false;
			//Verifica se o campo esta preenchido somente com números
			} else if (tipo == "numero") {
				var num = /^[0-9]+$/;
					if (!num.test(campo[0].value)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Preencher o campo " + rotulo + " somente com números.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido somente com letras
			} else if (tipo == "letra") {
				var letra = /^[a-zA-ZáàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ]+$/;
					if(!letra.test(campo[0].value)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Preencher o campo " + rotulo + " somente com letras.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido somente com caracteres alfanumérico
			} else if (tipo == "alfanumerico") {
				var alfanumerico = /^[0-9a-zA-ZáàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ]+$/;
					if(!alfanumerico.test(campo[0].value)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Preencher o campo " + rotulo + " somente com letras ou números.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido somente com dados que expressam o tempo no formato hh:mm.
			} else if (tipo == "hora") {
				var hora = /^\d{1,2}\:\d{1,2}$/;
				var hour = parseInt(campo[0].value.substring(0,2));
				var minutes = parseInt(campo[0].value.substring(3,5));
				if(!hora.test(campo[0].value)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Preencher o campo " + rotulo + " somente com o formato hh:mm.");
					campo[0].focus();
					return false;
				} if ((hour > 23) || (hour < 0)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("A hora do campo " + rotulo + " está incorreto.");
					campo[0].focus();
					return false;
				} if ((minutes) > 59 || (minutes < 0)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("O minuto do campo " + rotulo + " está incorreto.");
					campo[0].focus();
					return false;
				}
			//Verifica se o campo esta preenchido somente com dados que empressem datas nos formatos dd/mm/YYYY e mm/YYYY
			} else if (tipo == "data") {
				//Verifica se o campo está limitado à sete caracters se sim é um campo do tipo data informado por mês e ano.
				//Ex.: xx/xxxx.
				if (campo[0].value.length == 7) {
					//alert(campo.value.length);
					var data = /^\d{1,2}\/\d{1,4}$/;
					//O campo deverá ser passado da seguinte forma: mm/aaaa.
					var mes = parseInt(campo[0].value.substring(0,2));
					var ano = parseInt(campo[0].value.substring(3,7));
					if (!data.test(campo[0].value)) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("Preencher o campo " + rotulo + " corretamente.\nFormato: mmaaaa.");
						campo[0].focus();
						return false;
					}
					if (mes <= 0 || mes > 12) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("Mês de " + rotulo + " inválido.");
						campo[0].focus();
						return false;	
					} 
					if (campo[0].value.substring(3,4) == 0) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("Ano de " + rotulo + " inválido.");
						campo[0].focus();
						return false;							
					}
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
				if (campo[0].value.length == 10) {
					var data = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
					if(!data.test(campo[0].value)) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("Preencher o campo " + rotulo + " corretamente.\nFormato: ddmmaaaa.");
						campo[0].focus();
						return false;
					}
					//O campo deverá ser passado da seguinte forma: dd/mm/aaaa.
					var dia = parseInt(campo[0].value.substring(0,2),10);

					var mes = parseInt(campo[0].value.substring(3,5),10);
					var ano = parseInt(campo[0].value.substring(6,10),10);
					//Testa o dia
					if ((dia == 0 ) || (dia > 31)) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("Dia de " + rotulo +" inválido.");
						campo[0].focus();
						return false;
					}
					//Testa o mês
					if ((mes == 0 ) || (mes > 12)) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("Mês de " + rotulo + " inválido.");
						campo[0].focus();
						return false;
					}
					//Testa o ano
					if (campo[0].value.substring(6,7)== '0') {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("O ano de " + rotulo +  " inválido.");
						campo[0].focus();
						return false;
					}
					//Teste mês 02 com calculo de ano bisexto.
					if (mes == 2 ) {
						if (dia > 29) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Dia  de " + rotulo + " inválido.");
							campo[0].focus();
							return false;
						}
						if (dia == 29) {
							if ((ano % 4) != 0) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Dia de " + rotulo + " inválido.");
								campo[0].focus();
								return false;
							}
						}
					}
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido com dados que expressam um padrão de endereço de e-mail.
			} else if (tipo == "email") {
				var email = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,}$/;
				if (!email.test(campo[0].value)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Preencher o campo " + rotulo + " corretamente.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido com dados que expressãm um número de cpf.
			} else if (tipo == "cpf") {
				var cpf = campo[0].value; // Recebe o valor digitado no campo
				if ((cpf.charAt(3) != ".") || (cpf.charAt(7) != ".") || (cpf.charAt(11) != "-")) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("É necessarios preencher corretamente o número do " + rotulo + ".");
					campo[0].focus();
					return false;
				}
				cpfFrmt = cpf.replace('.','');
				cpfFrmt = cpfFrmt.replace('.','');
				cpf = cpfFrmt.replace('-','');
				var posicao, i, soma, dv, dv_informado;
				var digito = new Array(10); //Cria uma array de 11 posições para armazenar o cpf
				dv_informado = cpf.substr(9, 2); // Armazena os dois últimos dígito do cpf
				for (i=0; i<=8; i++) { // Desmembra o número do cpf na array digito
					digito[i] = cpf.substr( i, 1);
				}
				// Calcula o valor do 10° dígito da verificação
				posicao = 10;
				soma = 0;
				for (i=0; i<=8; i++) {
					soma = soma + digito[i] * posicao;
					posicao = posicao - 1;
				}
				digito[9] = soma % 11;
				if (digito[9] < 2) {
					digito[9] = 0;
				} else {
					digito[9] = 11 - digito[9];
				}
				// Calcula o valor do 11° dígito da verificação
				posicao = 11;
				soma = 0;
				for (i=0; i<=9; i++) {
					soma = soma + digito[i] * posicao;
					posicao = posicao - 1;
				}
				digito[10] = soma % 11;
				if (digito[10] < 2) {
					digito[10] = 0;
				} else {
					digito[10] = 11 - digito[10];
				}
				//Verifica se os dígitos verificadores conferem
				dv = digito[9] * 10 + digito[10];
				if (dv != dv_informado || 
					cpf == 00000000000 ||
					cpf == 11111111111 || 
					cpf == 22222222222 || 
					cpf == 33333333333 || 
					cpf == 44444444444 || 
					cpf == 55555555555 || 
					cpf == 66666666666 || 
					cpf == 77777777777 || 
					cpf == 88888888888 || 
					cpf == 99999999999) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Número do " + rotulo + " é inválido.");
					campo[0].focus();
					return false;
				}
			//Verifica se o campo esta preenchido com dados que expressam um número de cnpj.
			} else if (tipo == "cnpj") {
				cnpj = campo[0].value;
				if ((cnpj.charAt(2) != ".") || (cnpj.charAt(6) != ".") || (cnpj.charAt(10) != "/") || (cnpj.charAt(15) != "-")) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("É necessarios preencher corretamente o numero do " + rotulo + ".");
					campo[0].focus();
					return false;
				}
				//substituir os caracteres que nao sao numeros
				if (document.layers && parseInt(navigator.appVersion) == 4) {
					x = cnpj.substring(0,2);
					x += cnpj.substring(3,6);
					x += cnpj.substring(7,10);
					x += cnpj.substring(11,15);
					x += cnpj.substring(16,18);
					cnpj = x; 
				} else {
					cnpj = cnpj.replace(".","");
					cnpj = cnpj.replace(".","");
					cnpj = cnpj.replace("-","");
					cnpj = cnpj.replace("/","");
				}
				var nonNumbers = /\D/;
				if (nonNumbers.test(cnpj)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Número do " + rotulo + " inválido.");
					campo[0].focus();
					return false;					
				} else {
					document.getElementById(idAlerta).className = estiloNormal;	
				}
				var a = [];
				var b = new Number;
				var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
				for (i=0; i<12; i++){
					a[i] = cnpj.charAt(i);
					b += a[i] * c[i+1];
				}
				if ((x = b % 11) < 2) { 
					a[12] = 0;
				} else { 
					a[12] = 11-x;
				}
				b = 0;
				for (y=0; y<13; y++) {
					b += (a[y] * c[y]); 
				}
				if ((x = b % 11) < 2) { 
					a[13] = 0; 
				} else { 
					a[13] = 11-x;
				}
				if ((cnpj.charAt(12) != a[12]) || (cnpj.charAt(13) != a[13])) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Número do " + rotulo + " inválido.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;	
				}
			} else if (tipo == "ie") {
				//Verifica se o campo esta preenchido com dados que expressão um número de ie.
				//Esta função trabalha em conjunto com a função "CheckIE".
				//Esta função precisa obrigatórimamente de um combo box com todos os estados com o nome de "cmb_Estado"
				var ie =   campo[0].value;
				var estado = document.forms[formNum].cmb_Estado.value;
				var campoEstado = document.forms[formNum].cmb_Estado;
				if (estado == "" && ie != "ISENTO") {												
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Por favor selecionar um estado");
					campoEstado.focus();
					return false;
				} else if (!CheckIE(ie , estado)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Número da " + rotulo + " inválido.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido com dados que expressam valores monetários formatados no padrão 1.000,00
			} else if (tipo == "moeda") {
				var moeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;
				if (!moeda.test(campo[0].value) && campo[0].value != "") {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Preencher o campo " + rotulo + " somente com números.\n Obs.: Não utilizar virgula nem ponto.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido com dados que expressam um número CEP no padrão XXXXX-XXX
			} else if (tipo == "cep") {
				var cep = /^\d{5}-\d{3}$/;
				if (!cep.test(campo[0].value)) {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert("Preencher o campo " + rotulo + " corretamente.");
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Verifica se o campo esta preenchido com dados que expressam um número Telefone no padrão (XX)XXXX-XXXX
			} else if (tipo == "telefone") {
				var tel = /^\(\d{2}\)\d{4}\-\d{4}$/;
				if (!tel.test(campo[0].value) && campo[0].value != "") {
					document.getElementById(idAlerta).className = estiloAlerta;
					alert('Preencher o campo ' + rotulo + ' corretamente.\nFormato: ddxxxxxxxx');
					campo[0].focus();
					return false;
				} else {
					document.getElementById(idAlerta).className = estiloNormal;
				}
			//Caso todos os campos e caso sejam verdadeiros efetua o Submit do formário e tira o alerta do campo preenchido incorretamente
			} else if (tipo == "senha") {
				//Verificação de senha
			} else {
				document.getElementById(idAlerta).className = estiloNormal;
			}
		}
	}
if (cont == arrayCampos.length) {
	document.forms[formNum].submit();
}
//alert('Total de campos: '+arrayCampos.length);
//alert('Total de campos verificados: '+(cont));
}
//Obs.: Não serão verificados campos hidden e readOnly e disabled, mesmo que sejam passados pela array.
//Os tipo de dados são: numero, letra, alfanumerico, data, email, vazio, cnpj, cpf, ie, moeda, cep e telefone.
//O campo poderá ser obrigatório e não obrigatório seu reenchiemento, quem
//set´rá esta valor será o último parametro: ob => obrigatório e nob => não obrigatório
//Utilização: onClick="return validaSubmit(0,arrayCampos,'text','alerta');"
//formNum : Número do sequência do formulário. Ex.: forms[0]
//arrayCampos: Array que contém os dados dos campos
//estiloNormal : Nome da folha de estilo para normal
//estiloAlerta : Nome da folha de estilo de alerta para os rotulos dos campos.
//Obs: Para que o script venha a funcionar o rotulo do campo obrigatório deverá conter um id informa da seguinte forma:
//nome_do_campo_alerta. Exemplo: txt_Nome_alerta
//Formatos: CEP -> xxxxx-xxx, Telefone/Fax -> (xx)xxxx-xxxx
function validaSubmit_old(formNum,arrayCampos,estiloNormal,estiloAlerta) {
	totalCampos = document.forms[formNum].elements.length;
	for (cont = 0; cont < totalCampos; cont++) {
		campoForm = document.forms[formNum].elements[cont];
		i = 0;
		tamanArray = arrayCampos.length;
		//O While verifica se o campo está na array arrayCampos;
		while (tamanArray > i) {
			//Pega os paramentros do campo
			tamanhoString = arrayCampos[i].length;
			virgula1 = arrayCampos[i].indexOf(",");
			virgula2 = virgula1 + 1 + arrayCampos[i].substring((virgula1 + 1),tamanhoString).indexOf(",");
			virgula3 = virgula2 + 1 + arrayCampos[i].substring((virgula2 + 1),tamanhoString).indexOf(",");
			virgula4 = virgula3 + 1 + arrayCampos[i].substring((virgula3 + 1),tamanhoString).indexOf(",");
			virgula5 = virgula4 + 1 + arrayCampos[i].substring((virgula4 + 1),tamanhoString).indexOf(",");
			nome = arrayCampos[i].substring(0,virgula1);
			rotulo = arrayCampos[i].substring(++virgula1,virgula2);
			minCarac = arrayCampos[i].substring(++virgula2,virgula3);
			maxCarac = arrayCampos[i].substring(++virgula3,virgula4);
			tipo = arrayCampos[i].substring(++virgula4,virgula5);
			obrigatorio = arrayCampos[i].substring(++virgula5);
			idAlerta = nome+"_alerta";
			//Fim pega os parametro do campo
			if (nome == campoForm.name) {
				//Não verifcar os campos que são do tipo hidden e readOnly.
				if (document.forms[formNum].elements[cont].disabled != true && document.forms[formNum].elements[cont].readOnly != true && document.forms[formNum].elements[cont].type != 'hidden') {
					//Obriga a seleção de pelo menos uma opção caso o campo seja um radio button.
					if (document.forms[formNum].elements[cont].type == "radio") {
						marcado = -1;
						//Pega posição do primeiro radio button
						for (i = 0; i < document.forms[formNum].elements.length; i++) {
							if (document.forms[formNum].elements[i].type == "radio") {
								primeiroRadio = i;
								break;
							}
						}
						for (i = primeiroRadio; i < document.forms[formNum].elements[nome].length + primeiroRadio; i++) {
							if (document.forms[formNum].elements[i].checked) {
								marcado = i;
							}
						}	
						if (marcado == -1) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Selecione o " + rotulo + ".");
							campoForm.focus();
							return false;
						}
					}
					//Verifica se o campo está vazio ou se o preenchimento com caracteres minímo ou máximo foram atendidos.
					if (campoForm.value == "" && obrigatorio == "ob") {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("O preenchimento do campo " + rotulo + " é obrigatório.");
						campoForm.focus();
						return false;
					} else if (document.forms[formNum].elements[cont].value.length < minCarac && obrigatorio == "ob") {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("O número minimo de caracteres do campo " + rotulo + " não foi atingido");
						campoForm.focus();					
						return false;
					} else if (document.forms[formNum].elements[cont].value.length > maxCarac) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("O número maximo de caracteres do campo " + rotulo + " foi atingido");
						campoForm.focus();					
						return false;
					} else if (tipo == "numero") {
						var num = /^[0-9]+$/;
						if (!num.test(document.forms[formNum].elements[cont].value)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo " + rotulo + " somente com números.");
							campoForm.focus();
							return false;
						}
					//Caso o campo seja do tipo letra ele deverá ser preenchido somente com letras.
					} else if (tipo == "letra") {
						var letra = /^[a-zA-ZáàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ]+$/;
						if(!letra.test(document.forms[formNum].elements[cont].value)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo " + rotulo + " somente com letras.");
							campoForm.focus();
							return false;
						}
					//Caso o campo seja do tipo alfanumerico ele deverá ser preenchido somente com números e letras.
					} else if (tipo == "alfanumerico") {
						var alfanumerico = /^[0-9a-zA-ZáàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ]+$/;
						if(!alfanumerico.test(document.forms[formNum].elements[cont].value)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo " + rotulo + " somente com letras ou números.");
							campoForm.focus();
							return false;
						}
					} else if (tipo == "hora") {
						var hora = /^\d{1,2}\:\d{1,2}$/;
						var hour = parseInt(campoForm.value.substring(0,2));
						var minutes = parseInt(campoForm.value.substring(3,5));
						if(!hora.test(document.forms[formNum].elements[cont].value)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo " + rotulo + " somente com o formato hh:mm.");
							campoForm.focus();
							return false;
						} if ((hour > 23) || (hour < 0)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("A hora do campo " + rotulo + " está incorreto.");
							campoForm.focus();
							return false;
						} if ((minutes) > 59 || (minutes < 0)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("O minuto do campo " + rotulo + " está incorreto.");
							campoForm.focus();
							return false;
						}
					} else if (tipo == "data") {
						//Verifica se o campo está limitado à sete caracters se sim é um campo do tipo data informado por mês e ano.
						//Ex.: xx/xxxx.
						if (campoForm.value.length == 7) {
							//alert(campoForm.value.length);
							var data = /^\d{1,2}\/\d{1,4}$/;
							//O campo deverá ser passado da seguinte forma: mm/aaaa.
							var mes = parseInt(campoForm.value.substring(0,2));
							var ano = parseInt(campoForm.value.substring(3,7));
							if (!data.test(document.forms[formNum].elements[cont].value)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " corretamente.\nFormato: mmaaaa.");
								campoForm.focus();
								return false;
							}
							if (mes <= 0 || mes > 12) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Mês de " + rotulo + " inválido.");
								campoForm.focus();
								return false;	
							} 
							if (campoForm.value.substring(3,4) == 0) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Ano de " + rotulo + " inválido.");
								campoForm.focus();
								return false;							
							}
						}
						if (campoForm.value.length == 10) {
							var data = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
							if(!data.test(document.forms[formNum].elements[cont].value)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " corretamente.\nFormato: ddmmaaaa.");
								campoForm.focus();
								return false;
							}
							//O campo deverá ser passado da seguinte forma: dd/mm/aaaa.
							var dia = parseInt(campoForm.value.substring(0,2),10);
							var mes = parseInt(campoForm.value.substring(3,5),10);
							var ano = parseInt(campoForm.value.substring(6,10),10);
							//Testa o dia
							if ((dia == 0 ) || (dia > 31)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Dia de " + rotulo +" inválido.");
								campoForm.focus();
								return false;
							}
							//Testa o mês
							if ((mes == 0 ) || (mes > 12)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Mês de " + rotulo + " inválido.");
								campoForm.focus();
								return false;
							}
							//Testa o ano
							if (campoForm.value.substring(6,7)== '0') {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("O ano de " + rotulo +  " inválido.");
								campoForm.focus();
								return false;
							}
							//Teste mês 02 com calculo de ano bisexto.
							if (mes == 2 ) {
								if (dia > 29) {
										document.getElementById(idAlerta).className = estiloAlerta;
										alert("Dia  de " + rotulo + " inválido.");
										campoForm.focus();
										return false;
									}
									if (dia == 29) {
										if ((ano % 4) != 0) {
											document.getElementById(idAlerta).className = estiloAlerta;
											alert("Dia de " + rotulo + " inválido.");
											campoForm.focus();
											return false;
										}
									}
							}
						}
					} else if (tipo == "email") {
						var email = /^[a-z0-9@._-]+$/;
						arroba = campoForm.value.indexOf("@");
						ponto = campoForm.value.indexOf(".");
						tamanhoDominio = campoForm.value.substring(arroba + 1,ponto).length;
						if(!email.test(document.forms[formNum].elements[cont].value) && document.forms[formNum].elements[cont].value != "") {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo " + rotulo + " corretamente.");
							campoForm.focus();
							return false;	
						} if (campoForm.value.indexOf("@") == -1 && document.forms[formNum].elements[cont].value != "") {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo teste " + rotulo + " corretamente.");
							campoForm.focus();
							return false;
						} else if (campoForm.value.indexOf(".") == -1 && document.forms[formNum].elements[cont].value != "") {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo teste " + rotulo + " corretamente.");
							campoForm.focus();
							return false;
						} else if (tamanhoDominio < 2 && document.forms[formNum].elements[cont].value != "") {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Domínio incorreto.");
								campoForm.focus();
								return false;
						} else {
							//Limpa os estilo e deixa o estilo normal
							document.getElementById(idAlerta).className = estiloNormal;
							//Efetua o submit do formulário
							//document.forms[formNum].submit();
							//alert('Teste');
						}
					} else if (tipo == "cpf") {
						var cpf = campoForm.value; // Recebe o valor digitado no campo
						if ((cpf.charAt(3) != ".") || (cpf.charAt(7) != ".") || (cpf.charAt(11) != "-")) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("É necessarios preencher corretamente o número do " + rotulo + ".");
								campoForm.focus();
								return false;
						}
						cpfFrmt = cpf.replace('.','');
						cpfFrmt = cpfFrmt.replace('.','');
						cpf = cpfFrmt.replace('-','');
						var posicao, i, soma, dv, dv_informado;
						var digito = new Array(10); //Cria uma array de 11 posições para armazenar o cpf
						dv_informado = cpf.substr(9, 2); // Armazena os dois últimos dígito do cpf
						for (i=0; i<=8; i++) { // Desmembra o número do cpf na array digito
						digito[i] = cpf.substr( i, 1);
						}
						// Calcula o valor do 10° dígito da verificação
						posicao = 10;
						soma = 0;
						for (i=0; i<=8; i++) {
						soma = soma + digito[i] * posicao;
						posicao = posicao - 1;
						}
						digito[9] = soma % 11;
						if (digito[9] < 2) {
						digito[9] = 0;
						}else{
						digito[9] = 11 - digito[9];
						}
						// Calcula o valor do 11° dígito da verificação
						posicao = 11;
						soma = 0;
						for (i=0; i<=9; i++) {
						soma = soma + digito[i] * posicao;
						posicao = posicao - 1;
						}
						digito[10] = soma % 11;
						if (digito[10] < 2) {
						digito[10] = 0;
						}else {
						digito[10] = 11 - digito[10];
						}
						//Verifica se os dígitos verificadores conferem
						dv = digito[9] * 10 + digito[10];
						if (dv != dv_informado || 
						cpf == 00000000000 ||
						cpf == 11111111111 || 
						cpf == 22222222222 || 
						cpf == 33333333333 || 
						cpf == 44444444444 || 
						cpf == 55555555555 || 
						cpf == 66666666666 || 
						cpf == 77777777777 || 
						cpf == 88888888888 || 
						cpf == 99999999999) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Número do " + rotulo + " é inválido.");
							campoForm.focus();
							return false;
						}
					} else if (tipo == "cnpj") {
						cnpj = campoForm.value;
						if ((cnpj.charAt(2) != ".") || (cnpj.charAt(6) != ".") || (cnpj.charAt(10) != "/") || (cnpj.charAt(15) != "-")) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("É necessarios preencher corretamente o numero do " + rotulo + ".");
							campoForm.focus();
							return false;
						}
						//substituir os caracteres que nao sao numeros
						if (document.layers && parseInt(navigator.appVersion) == 4) {
							x = cnpj.substring(0,2);
							x += cnpj.substring(3,6);
							x += cnpj.substring(7,10);
							x += cnpj.substring(11,15);
							x += cnpj.substring(16,18);
							cnpj = x; 
						} else {
							cnpj = cnpj.replace(".","");
							cnpj = cnpj.replace(".","");
							cnpj = cnpj.replace("-","");
							cnpj = cnpj.replace("/","");
						}
						var nonNumbers = /\D/;
						if (nonNumbers.test(cnpj)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Número do " + rotulo + " inválido.");
							campoForm.focus();
							return false;					
						}
						var a = [];
						var b = new Number;
						var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
						for (i=0; i<12; i++){
						a[i] = cnpj.charAt(i);
						b += a[i] * c[i+1];
						}
						if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
						b = 0;
						for (y=0; y<13; y++) {
						b += (a[y] * c[y]); 
						}
						if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
						if ((cnpj.charAt(12) != a[12]) || (cnpj.charAt(13) != a[13])) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Número do " + rotulo + " inválido.");
							campoForm.focus();
							return false;
						}
					} else if (tipo == "ie") {
						//Esta função precisa obrigatórimamente de um combo box com todos os estados
						var ie =   campoForm.value;
						var estado = document.forms[formNum].cmb_Estado.value;
						var campoEstado = document.forms[formNum].cmb_Estado;
						if (estado == "" && ie != "ISENTO") {												
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Por favor selecionar um estado");
							campoEstado.focus();
							return false;		
						} else {
							if (!CheckIE(ie , estado)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Número da " + rotulo + " inválido.");
								campoForm.focus();
								return false;
							}
						}						
					} else if (tipo == "moeda") {
						var moeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;
						if (!moeda.test(document.forms[formNum].elements[cont].value) && document.forms[formNum].elements[cont].value != "") {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo " + rotulo + " somente com números.\n Obs.: Não utilizar virgula nem ponto.");
							campoForm.focus();
							return false;
						}
					} else if (tipo == "cep") {
						var cep = /^\d{5}-\d{3}$/;
						if (!cep.test(document.forms[formNum].elements[cont].value)) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Preencher o campo " + rotulo + " corretamente.");
							campoForm.focus();
							return false;
						}
					} else if (tipo == "telefone") {
						var tel = /^\(\d{2}\)\d{4}\-\d{4}$/;
						if (!tel.test(document.forms[formNum].elements[cont].value) && document.forms[formNum].elements[cont].value != "") {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert('Preencher o campo ' + rotulo + ' corretamente.\nFormato: ddxxxxxxxx');
							campoForm.focus();
							return false;
						}		
					} else {

					}
				} 
			}
			i++;
			alert('Total de campos:'+totalCampos);
			alert('cont = '+cont);
			alert('i = '+i);
			/*if (i == cont) {
				document.forms[formNum].submit();
			}*/
		}
	}
}
//Obs.: Não serão verificados campos hidden e readOnly e disabled, mesmo que sejam passados pela array.
//Os tipo de dados são: numero, letra, alfanumerico, data, email, vazio, cnpj, cpf, ie, moeda, cep e telefone.
//O campo poderá ser obrigatório e não obrigatório seu reenchiemento, quem
//set´rá esta valor será o último parametro: ob => obrigatório e nob => não obrigatório
//Utilização: onClick="return validaPost(0,arrayCampos,'text','alerta');"
//formNum : Número do sequência do formulário. Ex.: forms[0]
//arrayCampos: Array que contém os dados dos campos
//estiloNormal : Nome da folha de estilo para normal
//estiloAlerta : Nome da folha de estilo de alerta para os rotulos dos campos.
//Obs: Para que o script venha a funcionar o rotulo do campo obrigatório deverá conter um id informa da seguinte forma:
//nome_do_campo_alerta. Exemplo: txt_Nome_alerta
//Formatos: CEP -> xxxxx-xxx, Telefone/Fax -> (xx)xxxx-xxxx
function validaPost(formNum,arrayCampos,estiloNormal,estiloAlerta) {
	totalCampos = document.forms[formNum].elements.length;
	for (cont = 0; cont < totalCampos; cont++) {
		campoForm = document.forms[formNum].elements[cont];
		i = 0;
		var campoObrig;
		tamanArray = arrayCampos.length;
		while (tamanArray > i) {
			//Pega os paramentros do campo
			tamanhoString = arrayCampos[i].length;
			virgula1 = arrayCampos[i].indexOf(",");
			virgula2 = virgula1 + 1 + arrayCampos[i].substring((virgula1 + 1),tamanhoString).indexOf(",");
			virgula3 = virgula2 + 1 + arrayCampos[i].substring((virgula2 + 1),tamanhoString).indexOf(",");
			virgula4 = virgula3 + 1 + arrayCampos[i].substring((virgula3 + 1),tamanhoString).indexOf(",");
			virgula5 = virgula4 + 1 + arrayCampos[i].substring((virgula4 + 1),tamanhoString).indexOf(",");
			nome = arrayCampos[i].substring(0,virgula1);
			rotulo = arrayCampos[i].substring(++virgula1,virgula2);
			minCarac = arrayCampos[i].substring(++virgula2,virgula3);
			maxCarac = arrayCampos[i].substring(++virgula3,virgula4);
			tipo = arrayCampos[i].substring(++virgula4,virgula5);
			obrigatorio = arrayCampos[i].substring(++virgula5);
			idAlerta = nome+"_alerta";
			//Fim pega os parametro do campo
			if (nome == campoForm.name) {
				//Não verifcar os campos que são do tipo hidden e readOnly.
				if (document.forms[formNum].elements[cont].disabled != true && document.forms[formNum].elements[cont].readOnly != true && document.forms[formNum].elements[cont].type != 'hidden') {
					//Obriga a seleção de pelo menos uma opção caso o campo seja um radio button.
					if (document.forms[formNum].elements[cont].type == "radio") {
						marcado = -1;
						//Pega posição do primeiro radio button
						for (i = 0; i < document.forms[formNum].elements.length; i++) {
							if (document.forms[formNum].elements[i].type == "radio") {
								primeiroRadio = i;
								break;
							}
						}
						for (i = primeiroRadio; i < document.forms[formNum].elements[nome].length + primeiroRadio; i++) {
							if (document.forms[formNum].elements[i].checked) {
								marcado = i;
							}
						}	
						if (marcado == -1) {
							document.getElementById(idAlerta).className = estiloAlerta;
							alert("Selecione o " + rotulo + ".");
							campoForm.focus();
							return false;
						}
					}
					//Verifica se o campo está vazio ou se o preenchimento com caracteres minímo ou máximo foram atendidos.
					if (campoForm.value == "" && obrigatorio == "ob") {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("O preenchimento do campo " + rotulo + " é obrigatório.");
						campoForm.focus();
						return false;						
					} else if (document.forms[formNum].elements[cont].value.length < minCarac && obrigatorio == "ob") {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("O número minimo de caracteres do campo " + rotulo + " não foi atingido");
						campoForm.focus();					
						return false;
					} else if (document.forms[formNum].elements[cont].value.length > maxCarac) {
						document.getElementById(idAlerta).className = estiloAlerta;
						alert("O número maximo de caracteres do campo " + rotulo + " foi atingido");
						campoForm.focus();					
						return false;
					} else {
						document.getElementById(idAlerta).className = estiloNormal;
					//}					
					//Caso o campo seja do tipo númerico ele deverá ser preenchido somente com números.
						if (tipo == "numero") {
							var num = /^[0-9]+$/;
							if (!num.test(document.forms[formNum].elements[cont].value)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " somente com números.");
								campoForm.focus();
								return false;
							}
						//Caso o campo seja do tipo letra ele deverá ser preenchido somente com letras.
						} else if (tipo == "letra") {
							var letra = /^[a-zA-ZáàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ]+$/;
							if(!letra.test(document.forms[formNum].elements[cont].value)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " somente com letras.");
								campoForm.focus();
								return false;
							}
						//Caso o campo seja do tipo alfanumerico ele deverá ser preenchido somente com números e letras.
						} else if (tipo == "alfanumerico") {
							var alfanumerico = /^[0-9a-zA-ZáàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ]+$/;
							if(!alfanumerico.test(document.forms[formNum].elements[cont].value)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " somente com letras ou números.");
								campoForm.focus();
								return false;
							}
						} else if (tipo == "hora") {
							var hora = /^\d{1,2}\:\d{1,2}$/;
							var hour = parseInt(campoForm.value.substring(0,2));
							var minutes = parseInt(campoForm.value.substring(3,5));
							if(!hora.test(document.forms[formNum].elements[cont].value)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " somente com o formato hh:mm.");
								campoForm.focus();
								return false;
							} if ((hour > 23) || (hour < 0)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("A hora do campo " + rotulo + " está incorreto.");
								campoForm.focus();
								return false;
							} if ((minutes) > 59 || (minutes < 0)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("O minuto do campo " + rotulo + " está incorreto.");
								campoForm.focus();
								return false;
							}
						} else if (tipo == "data") {
							//Verifica se o campo está limitado à sete caracters se sim é um campo do tipo data informado por mês e ano.
							//Ex.: xx/xxxx.
							if (campoForm.value.length == 7) {
								//alert(campoForm.value.length);
								var data = /^\d{1,2}\/\d{1,4}$/;
								//O campo deverá ser passado da seguinte forma: mm/aaaa.
								var mes = parseInt(campoForm.value.substring(0,2));
								var ano = parseInt(campoForm.value.substring(3,7));
								if (!data.test(document.forms[formNum].elements[cont].value)) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Preencher o campo " + rotulo + " corretamente.\nFormato: mmaaaa.");
									campoForm.focus();
									return false;
								}
								if (mes <= 0 || mes > 12) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Mês de " + rotulo + " inválido.");
									campoForm.focus();
									return false;	
								} 
								if (campoForm.value.substring(3,4) == 0) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Ano de " + rotulo + " inválido.");
									campoForm.focus();
									return false;							
								}
							}
							if (campoForm.value.length == 10) {
								var data = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
								if(!data.test(document.forms[formNum].elements[cont].value)) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Preencher o campo " + rotulo + " corretamente.\nFormato: ddmmaaaa.");
									campoForm.focus();
									return false;
								}
								//O campo deverá ser passado da seguinte forma: dd/mm/aaaa.
								var dia = parseInt(campoForm.value.substring(0,2),10);
								var mes = parseInt(campoForm.value.substring(3,5),10);
								var ano = parseInt(campoForm.value.substring(6,10),10);
								//Testa o dia
								if ((dia == 0 ) || (dia > 31)) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Dia de " + rotulo +" inválido.");
									campoForm.focus();
									return false;
								}
								//Testa o mês
								if ((mes == 0 ) || (mes > 12)) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Mês de " + rotulo + " inválido.");
									campoForm.focus();
									return false;
								}
								//Testa o ano
								if (campoForm.value.substring(6,7)== '0') {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("O ano de " + rotulo +  " inválido.");
									campoForm.focus();
									return false;
								}
								//Teste mês 02 com calculo de ano bisexto.
								if (mes == 2 ) {
									if (dia > 29) {
											document.getElementById(idAlerta).className = estiloAlerta;
											alert("Dia  de " + rotulo + " inválido.");
											campoForm.focus();
											return false;
										}
										if (dia == 29) {
											if ((ano % 4) != 0) {
												document.getElementById(idAlerta).className = estiloAlerta;
												alert("Dia de " + rotulo + " inválido.");
												campoForm.focus();
												return false;
											}
										}
								}
							}
						} else if (tipo == "email") {
							var email = /^[a-z0-9@._-]+$/;
							if(!email.test(document.forms[formNum].elements[cont].value) && document.forms[formNum].elements[cont].value != "") {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " corretamente.");
								campoForm.focus();
								return false;
							} else {
								if (campoForm.value.indexOf("@") == -1 && document.forms[formNum].elements[cont].value != "") {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Preencher o campo " + rotulo + " corretamente.");
									campoForm.focus();
									return false;
								}
								if (campoForm.value.indexOf(".") == -1 && document.forms[formNum].elements[cont].value != "") {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Preencher o campo " + rotulo + " corretamente.");
									campoForm.focus();
									return false;
								}
								//tamanhoString = campoForm.value.length;
								arroba = campoForm.value.indexOf("@");
								ponto = campoForm.value.indexOf(".");
								tamanhoDominio = campoForm.value.substring(arroba + 1,ponto).length;
								if (tamanhoDominio < 2 && document.forms[formNum].elements[cont].value != "") {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Domínio incorreto.");
									campoForm.focus();
									return false;
								}
							}
						} else if (tipo == "cpf") {
							var cpf = campoForm.value; // Recebe o valor digitado no campo
							if ((cpf.charAt(3) != ".") || (cpf.charAt(7) != ".") || (cpf.charAt(11) != "-")) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("É necessarios preencher corretamente o número do " + rotulo + ".");
									campoForm.focus();
									return false;
							}
							cpfFrmt = cpf.replace('.','');
							cpfFrmt = cpfFrmt.replace('.','');
							cpf = cpfFrmt.replace('-','');
							var posicao, i, soma, dv, dv_informado;
							var digito = new Array(10); //Cria uma array de 11 posições para armazenar o cpf
							dv_informado = cpf.substr(9, 2); // Armazena os dois últimos dígito do cpf
							for (i=0; i<=8; i++) { // Desmembra o número do cpf na array digito
							digito[i] = cpf.substr( i, 1);
							}
							// Calcula o valor do 10° dígito da verificação
							posicao = 10;
							soma = 0;
							for (i=0; i<=8; i++) {
							soma = soma + digito[i] * posicao;
							posicao = posicao - 1;
							}
							digito[9] = soma % 11;
							if (digito[9] < 2) {
							digito[9] = 0;
							}else{
							digito[9] = 11 - digito[9];
							}
							// Calcula o valor do 11° dígito da verificação
							posicao = 11;
							soma = 0;
							for (i=0; i<=9; i++) {
							soma = soma + digito[i] * posicao;
							posicao = posicao - 1;
							}
							digito[10] = soma % 11;
							if (digito[10] < 2) {
							digito[10] = 0;
							}else {
							digito[10] = 11 - digito[10];
							}
							//Verifica se os dígitos verificadores conferem
							dv = digito[9] * 10 + digito[10];
							if (dv != dv_informado || 
							cpf == 00000000000 ||
							cpf == 11111111111 || 
							cpf == 22222222222 || 
							cpf == 33333333333 || 
							cpf == 44444444444 || 
							cpf == 55555555555 || 
							cpf == 66666666666 || 
							cpf == 77777777777 || 
							cpf == 88888888888 || 
							cpf == 99999999999) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Número do " + rotulo + " é inválido.");
								campoForm.focus();
								return false;
							}
						} else if (tipo == "cnpj") {
							cnpj = campoForm.value;
							if ((cnpj.charAt(2) != ".") || (cnpj.charAt(6) != ".") || (cnpj.charAt(10) != "/") || (cnpj.charAt(15) != "-")) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("É necessarios preencher corretamente o numero do " + rotulo + ".");
								campoForm.focus();
								return false;
							}
							//substituir os caracteres que nao sao numeros
							if (document.layers && parseInt(navigator.appVersion) == 4) {
								x = cnpj.substring(0,2);
								x += cnpj.substring(3,6);
								x += cnpj.substring(7,10);
								x += cnpj.substring(11,15);
								x += cnpj.substring(16,18);
								cnpj = x; 
							} else {
								cnpj = cnpj.replace(".","");
								cnpj = cnpj.replace(".","");
								cnpj = cnpj.replace("-","");
								cnpj = cnpj.replace("/","");
							}
							var nonNumbers = /\D/;
							if (nonNumbers.test(cnpj)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Número do " + rotulo + " inválido.");
								campoForm.focus();
								return false;					
							}
							var a = [];
							var b = new Number;
							var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
							for (i=0; i<12; i++){
							a[i] = cnpj.charAt(i);
							b += a[i] * c[i+1];
							}
							if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
							b = 0;
							for (y=0; y<13; y++) {
							b += (a[y] * c[y]); 
							}
							if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
							if ((cnpj.charAt(12) != a[12]) || (cnpj.charAt(13) != a[13])) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Número do " + rotulo + " inválido.");
								campoForm.focus();
								return false;
							}
						} else if (tipo == "ie") {
							//Esta função precisa obrigatórimamente de um combo box com todos os estados
							var ie =   campoForm.value;
							var estado = document.forms[formNum].cmb_Estado.value;
							var campoEstado = document.forms[formNum].cmb_Estado;
							if (estado == "" && ie != "ISENTO") {												
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Por favor selecionar um estado");
								campoEstado.focus();
								return false;		
							} else {
								if (!CheckIE(ie , estado)) {
									document.getElementById(idAlerta).className = estiloAlerta;
									alert("Número da " + rotulo + " inválido.");
									campoForm.focus();
									return false;
								}
							}						
						} else if (tipo == "moeda") {
							var moeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;
							if (!moeda.test(document.forms[formNum].elements[cont].value) && document.forms[formNum].elements[cont].value != "") {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " somente com números.\n Obs.: Não utilizar virgula nem ponto.");
								campoForm.focus();
								return false;
							}
						} else if (tipo == "cep") {
							var cep = /^\d{5}-\d{3}$/;
							if (!cep.test(document.forms[formNum].elements[cont].value)) {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert("Preencher o campo " + rotulo + " corretamente.");
								campoForm.focus();
								return false;
							}
						} else if (tipo == "telefone") {
							var tel = /^\(\d{2}\)\d{4}\-\d{4}$/;
							if (!tel.test(document.forms[formNum].elements[cont].value) && document.forms[formNum].elements[cont].value != "") {
								document.getElementById(idAlerta).className = estiloAlerta;
								alert('Preencher o campo ' + rotulo + ' corretamente.\nFormato: ddxxxxxxxx');
								campoForm.focus();
								return false;
							}
						}
					}					
				}
			}
		i++;
		}
	}
}

/*

CONVERTED FROM DELPHI TO JAVASCRIPT BY CHRISTOPHE TREVISANI CHAVEY - wG @ codingz.info - 06/2006

v1.0.0.1

Original version in delphi from Nelson Campos Filho <ncampos@sef.mg.gov.br>

@summary: Valida a inscrição estadual de qualquer estado brasileiro. 
@return: True se a inscrição estadual é valida para o estado fornecido, senão retorna False.
@use: 
if (CheckIE(InscricaoEstadual, EstadoDaMesma))
   alert('Inscrição Estadual correta.');
else
   alert('Inscrição Estadual errada.');
*/

var OrdZero = '0'.charCodeAt(0);

function CharToInt(ch)
{
return ch.charCodeAt(0) - OrdZero;
}

function IntToChar(intt)
{
return String.fromCharCode(intt + OrdZero);
}

function CheckIEAC(ie){
if (ie.length != 13)
return false;
var b = 4, soma = 0;

for (var i = 0; i <= 10; i++)
{
soma += CharToInt(ie.charAt(i)) * b;
--b;
if (b == 1) { b = 9; }
}
dig = 11 - (soma % 11);
if (dig >= 10) { dig = 0; }
resultado = (IntToChar(dig) == ie.charAt(11));
if (!resultado) { return false; }

b = 5;
soma = 0;
for (var i = 0; i <= 11; i++)
{
soma += CharToInt(ie.charAt(i)) * b;
--b;
if (b == 1) { b = 9; }
}
dig = 11 - (soma % 11);
if (dig >= 10) { dig = 0; }
if (IntToChar(dig) == ie.charAt(12)) { return true; } else { return false; }
} //AC

function CheckIEAL(ie)
{
if (ie.length != 9)
  return false;
var b = 9, soma = 0;
for (var i = 0; i <= 7; i++)
{
   soma += CharToInt(ie.charAt(i)) * b;
   --b;
}
soma *= 10;
dig = soma - Math.floor(soma / 11) * 11;
if (dig == 10) { dig = 0; }
return (IntToChar(dig) == ie.charAt(8));
} //AL

function CheckIEAM(ie)
{
if (ie.length != 9)
  return false;
var b = 9, soma = 0;
for (var i = 0; i <= 7; i++)
{
  soma += CharToInt(ie.charAt(i)) * b;
  b--;
}
if (soma < 11) { dig = 11 - soma; } 
else { 
   i = soma % 11;
   if (i <= 1) { dig = 0; } else { dig = 11 - i; }
}
return (IntToChar(dig) == ie.charAt(8));
} //am

function CheckIEAP(ie)
{
if (ie.length != 9)
  return false;
var p = 0, d = 0, i = ie.substring(1, 8);
if ((i >= 3000001) && (i <= 3017000))
{
  p =5;
  d = 0;
}
else if ((i >= 3017001) && (i <= 3019022))
{
  p = 9;
  d = 1;
}
b = 9;
soma = p;
for (var i = 0; i <= 7; i++)
{
  soma += CharToInt(ie.charAt(i)) * b;
  b--;
}
dig = 11 - (soma % 11);
if (dig == 10)
{
   dig = 0;
}
else if (dig == 11)
{
   dig = d;
}
return (IntToChar(dig) == ie.charAt(8));
} //ap

function CheckIEBA(ie)
{
if (ie.length != 8)
  return false;
die = ie.substring(0, 8);
var nro = new Array(8);
var dig = -1;
for (var i = 0; i <= 7; i++)
{
  nro[i] = CharToInt(die.charAt(i));
}
var NumMod = 0;
if (String(nro[0]).match(/[0123458]/))
   NumMod = 10;
else
   NumMod = 11;
b = 7;
soma = 0;
for (i = 0; i <= 5; i++)
{
  soma += nro[i] * b;
  b--;
}
i = soma % NumMod;
if (NumMod == 10)
{
  if (i == 0) { dig = 0; } else { dig = NumMod - i; }
}
else
{
  if (i <= 1) { dig = 0; } else { dig = NumMod - i; }
}
resultado = (dig == nro[7]);
if (!resultado) { return false; }
b = 8;
soma = 0;
for (i = 0; i <= 5; i++)
{
  soma += nro[i] * b;
  b--;
}
soma += nro[7] * 2;
i = soma % NumMod;
if (NumMod == 10)
{
  if (i == 0) { dig = 0; } else { dig = NumMod - i; }
}
else 
{
  if (i <= 1) { dig = 0; } else { dig = NumMod - i; }
}
return (dig == nro[6]);
} //ba

function CheckIECE(ie)
{
if (ie.length > 9)
  return false;
die = ie;
if (ie.length < 9)
{
  while (die.length <= 8)
   die = '0' + die;
}
var nro = Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(die[i]);
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--; 
}
dig = 11 - (soma % 11);
if (dig >= 10)
  dig = 0;
return (dig == nro[8]);
} //ce

function CheckIEDF(ie)
{
if (ie.length != 13)
  return false;
var nro = new Array(13);
for (var i = 0; i <= 12; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 4;
soma = 0;
for (i = 0; i <= 10; i++)
{
  soma += nro[i] * b;
  b--;
  if (b == 1)
   b = 9;
}
dig = 11 - (soma % 11);
if (dig >= 10)
  dig = 0;
resultado = (dig == nro[11]);
if (!resultado)
  return false;  
b = 5;
soma = 0;
for (i = 0; i <= 11; i++)
{
  soma += nro[i] * b;
  b--;
  if (b == 1)
   b = 9;
}
dig = 11 - (soma % 11);
if (dig >= 10)
  dig = 0;
return (dig == nro[12]);
}
// CHRISTOPHE T. C. <wG @ codingz.info>
function CheckIEES(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i)); 
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
i = soma % 11;
if (i < 2)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[8]);
}

function CheckIEGO(ie)
{
if (ie.length != 9)
  return false;
s = ie.substring(0, 2);
if ((s == '10') || (s == '11') || (s == '15'))
{
  var nro = new Array(9);
  for (var i = 0; i <= 8; i++)
   nro[i] = CharToInt(ie.charAt(i));
  n = Math.floor(ie / 10);
  if (n = 11094402)
  {
   if ((nro[8] == 0) || (nro[8] == 1))
    return true;
  }
  b = 9;
  soma = 0;
  for (i = 0; i <= 7; i++)
  {
   soma += nro[i] * b;
   b--;
  }
  i = soma % 11;
  if (i == 0)
   dig = 0;
  else
  {
   if (i == 1)
   {
    if ((n >= 10103105) && (n <= 10119997))
     dig = 1;
    else
     dig = 0;
   }
   else
    dig = 11 - i;
  }
  return (dig == nro[8]);
}
}

function CheckIEMA(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9); 
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[8]);
}

function CheckIEMT(ie)
{
if (ie.length < 9)
  return false;
die = ie;
if (die.length < 11)
{
  while (die.length <= 10)
   die = '0' + die;
  var nro = new Array(11);
  for (var i = 0; i <= 10; i++)
   nro[i] = CharToInt(die[i]);
  b = 3;
  soma = 0;
  for (i = 0; i <= 9; i++)
  {
   soma += nro[i] * b;
   b--;
   if (b == 1)
    b = 9;
  }
  i = soma % 11;
  if (i <= 1)
   dig = 0;
  else
   dig = 11 - i;
  return (dig == nro[10]);
}
} //muito

function CheckIEMS(ie)
{
if (ie.length != 9)
  return false;
if (ie.substring(0,2) != '28')
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[8]);
} //ms

function CheckIEPA(ie)
{
if (ie.length != 9)
  return false;
if (ie.substring(0, 2) != '15')
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[8]);
} //pra

function CheckIEPB(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;  
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[8]);
} //pb

function CheckIEPR(ie)
{
if (ie.length != 10)
  return false;
var nro = new Array(10);
for (var i = 0; i <= 9; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 3;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
  if (b == 1)
   b = 7;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
resultado = (dig == nro[8]);
if (!resultado)
  return false;
b = 4;
soma = 0;
for (i = 0; i <= 8; i++)
{
  soma += nro[i] * b;
  b--;
  if (b == 1)
   b = 7;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[9]);
} //pr

function CheckIEPE(ie)
{
if (ie.length != 14)
  return false;
var nro = new Array(14);
for (var i = 0; i <= 13; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 5;
soma = 0;
for (i = 0; i <= 12; i++)
{
  soma += nro[i] * b;
  b--;
  if (b == 0)
   b = 9;
}
dig = 11 - (soma % 11);
if (dig > 9)
  dig = dig - 10;
return (dig == nro[13]);
} //pe

function CheckIEPI(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[8]);
} //pi

function CheckIERJ(ie)
{
if (ie.length != 8)
  return false;
var nro = new Array(8);
for (var i = 0; i <= 7; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 2;
soma = 0;
for (i = 0; i <= 6; i++)
{
  soma += nro[i] * b;
  b--;
  if (b == 1)
   b = 7;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[7]);
} //rj
// CHRISTOPHE T. C. <wG @ codingz.info>
function CheckIERN(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
soma *= 10;
dig = soma % 11;
if (dig == 10)
  dig = 0;
return (dig == nro[8]);
} //rn

function CheckIERS(ie)
{
if (ie.length != 10)
  return false;
i = ie.substring(0, 3);
if ((i >= 1) && (i <= 467))
{
  var nro = new Array(10);
  for (var i = 0; i <= 9; i++)
   nro[i] = CharToInt(ie.charAt(i));
  b = 2;
  soma = 0;
  for (i = 0; i <= 8; i++)
  {
   soma += nro[i] * b;
   b--;
   if (b == 1)
    b = 9;
  }
  dig = 11 - (soma % 11);
  if (dig >= 10)
   dig = 0;
  return (dig == nro[9]);
} //if i&&i
} //rs

function CheckIEROantiga(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 6;
soma = 0;
for (i = 3; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
dig = 11 - (soma % 11);
if (dig >= 10)
  dig = dig - 10;
return (dig == nro[8]);
} //ro-antiga


function CheckIERO(ie)
{
var i = 1, y = 6, x = 0, z = 0;
var s = '';
for (var j = 0; j <= (ie.length - 1); j++)
  if (String(ie[j]).match(/[0123456789]/))
   s += ie[j];
if (s.length == 14)
  for (var i = 0; i < (14 - s.length); i++)
   s = '0' + s;
for (i = 0; i <= (s.length - 2); i++)
{
  x = s[i] * y;
  z += x;
  if (y > 2)
   y--;
  else
   y = 9;
}
x = z % 11;
y = 11 - x;
if (y == s[13])
  return true;
else
  return false; 
} //ro nova

function CheckIERR(ie)
{
if (ie.length != 9)
  return false;
if (ie.substring(0,2) != '24')
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
var soma = 0;
var n = 0;
for (i = 0; i <= 7; i++)
  soma += nro[i] * ++n;
dig = soma % 9;
return (dig == nro[8]);
} //rr

function CheckIESC(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
i = soma % 11;
if (i <= 1)
  dig = 0;
else
  dig = 11 - i;
return (dig == nro[8]);
} //sc

// CHRISTOPHE T. C. <wG @ codingz.info>

function CheckIESP(ie)
{
if (((ie.substring(0,1)).toUpperCase()) == 'P')
{
  s = ie.substring(1, 9);
  var nro = new Array(12);
  for (var i = 0; i <= 7; i++)
   nro[i] = CharToInt(s[i]);
  soma = (nro[0] * 1) + (nro[1] * 3) + (nro[2] * 4) + (nro[3] * 5) +
         (nro[4] * 6) + (nro[5] * 7) + (nro[6] * 8) + (nro[7] * 10);
  dig = soma % 11;
  if (dig >= 10)
   dig = 0;
  resultado = (dig == nro[8]);
  if (!resultado)
   return false;
}
else
{
  if (ie.length < 12)
   return false;
  var nro = new Array(12);
  for (var i = 0; i <= 11; i++)
   nro[i] = CharToInt(ie.charAt(i));
  soma = (nro[0] * 1) + (nro[1] * 3) + (nro[2] * 4) + (nro[3] * 5) +
         (nro[4] * 6) + (nro[5] * 7) + (nro[6] * 8) + (nro[7] * 10);
  dig = soma % 11;
  if (dig >= 10)
   dig = 0;
  resultado = (dig == nro[8]);
  if (!resultado)
   return false;
  soma = (nro[0] * 3) + (nro[1] * 2) + (nro[2] * 10) + (nro[3] * 9) +
         (nro[4] * 8) + (nro[5] * 7) + (nro[6] * 6)  + (nro[7] * 5) +
         (nro[8] * 4) + (nro[9] * 3) + (nro[10] * 2);
  dig = soma % 11;
  if (dig >= 10)
   dig = 0;
  return (dig == nro[11]);
}
} //sp

function CheckIESE(ie)
{
if (ie.length != 9)
  return false;
var nro = new Array(9);
for (var i = 0; i <= 8; i++)
  nro[i] = CharToInt(ie.charAt(i));
b = 9;
soma = 0;
for (i = 0; i <= 7; i++)
{
  soma += nro[i] * b;
  b--;
}
dig = 11 - (soma % 11);
if (dig >= 10)
  dig = 0;
return (dig == nro[8]);
} //se

//Em modificação. Estou aguardando retorno da sintegra(site fora do ar) sobre este algoritmo pois mudou  
function CheckIETO(ie)
{
if (ie.length != 11)
  return false;
s = ie.substring(2, 2);
if ((s == '01') || (s == '02') || (s == '03') || (s == '99'))
{
  var nro = new Array(11);
  for (var i = 0; i <= 10; i++)
   nro[i] = CharToInt(ie.charAt(i));
  b = 9;
  soma = 0;
  for (i = 0; i <= 9; i++)
  {
   if ((i != 3) && (i != 4))
   {
    soma += nro[i] * b;
    b--;
   }
  }
  i = soma % 11;
  if (i <= 1)
   dig = 0;
  else
   dig = 11 - i;
  return (dig == nro[10]);
}
} //to

function CheckIEMG(ie)
{
if (ie.substring(0,2) == 'PR')
  return true;
if (ie.substring(0,5) == 'ISENT')
  return true;
if (ie.length != 13)
  return false;
dig1 = ie.substring(11, 12);
dig2 = ie.substring(12, 13);
insc = ie.substring(0, 3) + '0' + ie.substring(3, 11);
npos = 11;
i = 1;
ptotal = 0;
psoma = 0;
while (npos >= 0)
{
  i++; 
  psoma = CharToInt(insc[npos]) * i;  
  if (psoma >= 10)
   psoma -= 9;
  ptotal += psoma;
  if (i == 2)
   i = 0;
  npos--;
} 
nresto = ptotal % 10;
if (nresto == 0)
  nresto = 10;
nresto = 10 - nresto; 
if (nresto != CharToInt(dig1))
  return false;
npos = 11;
i = 1;
ptotal = 0;
while (npos >= 0)
{
  i++;
  if (i == 12)
   i = 2;
  ptotal += CharToInt(ie[npos]) * i;
  npos--;
}
nresto = ptotal % 11;
if ((nresto == 0) || (nresto == 1))
  nresto = 11;
nresto = 11 - nresto;  
return (nresto == CharToInt(dig2));
}

function CheckIE(ie, estado)
{
ie = ie.replace(/\./g, '');
ie = ie.replace(/\\/g, '');
ie = ie.replace(/\-/g, '');
ie = ie.replace(/\//g, '');
if ((ie == 'ISENTO') || (estado == 'TO'))
  return true;
switch (estado)
{
  case '11': return CheckIEMG(ie); break;
  case '1': return CheckIEAC(ie); break;
  case '2': return CheckIEAL(ie); break;
  case '3': return CheckIEAM(ie); break;
  case '4': return CheckIEAP(ie); break;
  case '5': return CheckIEBA(ie); break;
  case '6': return CheckIECE(ie); break;
  case '7': return CheckIEDF(ie); break;
  case '8': return CheckIEES(ie); break;
  case '9': return CheckIEGO(ie); break;
  case '10': return CheckIEMA(ie); break;
  case '13': return CheckIEMT(ie); break;
  case '12': return CheckIEMS(ie); break;
  case '14': return CheckIEPA(ie); break;
  case '15': return CheckIEPB(ie); break;
  case '18': return CheckIEPR(ie); break;
  case '16': return CheckIEPE(ie); break;
  case '17': return CheckIEPI(ie); break;
  case '19': return CheckIERJ(ie); break;
  case '20': return CheckIERN(ie); break;
  case '23': return CheckIERS(ie); break;
  case '21': return ((CheckIEROantiga(ie)) || (CheckIERO(ie))); break;
  case '22': return CheckIERR(ie); break;
  case '24': return CheckIESC(ie); break;
  case '26': return CheckIESP(ie); break;
  case '25': return CheckIESE(ie); break;
  case '27': return CheckIETO(ie); break;                       
}
}
function relogio() { 
	ContrRelogio = setTimeout ("relogio()", 1000) 
	//faz com que a função Hoje seja executa de segundo e segundo 
	Hr = new Date() 
	dd = Hr.getDate()                 //dia da semana 
	mm = Hr.getMonth() + 1            //mês 
	aa = Hr.getYear()                 //ano 
	hh = Hr.getHours()                //horas 
	min = Hr.getMinutes()             //minutos 
	seg = Hr.getSeconds()             //segundos 
	// As linhas abaixo coloca os caracteres "/" e ":" na respectiva hora de acordo com o tempo atual 
	if (hh < 10){hora_atual="0"+hh+":"}else{hora_atual=hh+":"} 
	if (min < 10){hora_atual+="0"+min+":"}else{hora_atual+=min+":"} 
	if (seg < 10){hora_atual+="0"+seg}else{hora_atual+=seg} 
	document.frm_Login.txt_Hora.value = hora_atual	
}
function CriaArray (n) {this.length = n} 

nome_dia = new CriaArray(7) 
nome_dia[0] = "Domingo" 
nome_dia[1] = "Segunda-feira" 
nome_dia[2] = "Terça-feira" 
nome_dia[3] = "Quarta-feira" 
nome_dia[4] = "Quinta-feira" 
nome_dia[5] = "Sexta-feira" 
nome_dia[6] = "Sábado" 
// 
nome_mes = new CriaArray(12) 
nome_mes[0] = "Janeiro" 
nome_mes[1] = "Fevereiro" 
nome_mes[2] = "Março" 
nome_mes[3] = "Abril" 
nome_mes[4] = "Maio" 
nome_mes[5] = "Junho" 
nome_mes[6] = "Julho" 
nome_mes[7] = "Agosto" 
nome_mes[8] = "Setembro" 
nome_mes[9] = "Outubro" 
nome_mes[10] = "Novembro" 
nome_mes[11] = "Dezembro" 
// 
Data1 = new Date() 
dia = Data1.getDate()    //retorna dia do mes 
dias = Data1.getDay()    //retorna dia semana 
mes = Data1.getMonth()   //rertona o mês 
ano = Data1.getYear()    //rertona o ano 