<script language=javascript>
function EhIgual(campo) 
	{ // Verifica se todos os valores são iguais
		var i = 0
		var j = 1
		var igual = true;
		// Todos os caracteres devem ser diferentes
		while (i < campo.length-1 && igual == true) {
			while (j < campo.length && igual == true) {
				if (campo.charAt(i) != campo.charAt(j)) {
					igual = false;
				}
				else j++;
			}
			i++;
		}
	return igual;
}
function check_cpf(numcpf) 
{ // faz a validação do cpf
	if (EhIgual(numcpf)==true) {
	 alert ("Numero do CPF invalido!"); 
	 return false; }
	x=0; soma=0; dig1=0; dig2=0; texto=""; numcpf1="";
	len = numcpf.length; x = len -1;
	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1); 
		soma = soma + ( y * x);
		x = x - 1; 
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ; 
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x); x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0; 
	if (dig2 == 11) dig2=0;
	if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {
		return true;
	}
	alert ("Numero do CPF invalido!");
return false;
}
function check_cgc(cgc) 
{ // faz a validação do cgc
	if (EhIgual(cgc)==true) { 
	alert ("Numero do CNPJ invalido!"); 
	return false; 
	}
	dac1 = 0; dac2 = 0; dac = ""; dact = ""; sum = 0;
	dac = cgc.substring(cgc.length-2, cgc.length);
	cgc = cgc.substring(0,cgc.length-2);
	for (i=cgc.length-1, j=2; i >= 0 ; i--, j++)
		{	j = (j == 10) ? 2 : j; 
		sum += (cgc.substring(i, i+1) * j); }
		dac1 = ((sum * 10) % 11); 
		dac1 = (dac1 == 10) ? 0 : 
		dac1; sum = 0;
	for (i=cgc.length-1, j=3; i >= 0 ; i--, j++)
		{	j = (j == 10) ? 2 : j; 
		sum += (cgc.substring(i, i+1) * j); }
		sum  += (dac1 * 2); 
		dac2 = ((sum * 10) % 11); 
		dac2 = (dac2 == 10) ? 0 : 
		dac2; dact = dac1+""+dac2;
	if (dact == dac) return true;
		else {	alert ("Número do CNPJ inválido !!!"); 
		return false; }
}

function FormataData(campo,teclapres) {
	
	var tecla = teclapres.keyCode;
	vr = document.forms["frmPrincipal"].elements[campo].value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;

	if ( tecla != 9 && tecla != 8 ){
		if ( tam > 2 && tam < 5 )
			document.forms["frmPrincipal"].elements[campo].value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
		if ( tam >= 5 && tam <= 10 )
			document.forms["frmPrincipal"].elements[campo].value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); }
			
}



function FormataTelefone(caixa,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.forms["frmPrincipal"].elements[caixa].value;
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length+1;

	if (tam == 1 && tecla != 8 ){ document.forms["frmPrincipal"].elements[caixa].value = '(' + vr ; }
	else
	if (tam == 4 && tecla != 8 ){ document.forms["frmPrincipal"].elements[caixa].value = vr + ')' ; }
	else
	if (tam == 9 && tecla != 8 ){ document.forms["frmPrincipal"].elements[caixa].value = vr + '-' ; }
	else { document.forms["frmPrincipal"].elements[caixa].value = vr ; }
}



//===============================================================================
//	Tornar as entradas de um campo Maiúsculo
//===============================================================================

function Tornar_Maiusculas(caixa) {
	document.all[caixa].value = document.all[caixa].value.toUpperCase();
}



//===============================================================================
//	Funções para consistência de dados numéricos, deixando passar
//	apenas dados numéricos e um caracter especial (caracter) Ex. ','
//===============================================================================
function checar_digitacao(caracter) {
	//No evento KeyPress pode ser verificado os caracteres durante a digitação

	var charCode = (navigator.appName == "Netscape") ? event.which : event.keyCode;
	if (charCode == 13) {return true;}

	var var_caracter = String.fromCharCode(charCode);
	if ((var_caracter==caracter) || ((var_caracter>="0") && (var_caracter<="9"))) {return true;}
	else {return false;}
}

function checar_digitacao_texto(caracter) {
	//No evento KeyPress pode ser verificado os caracteres durante a digitação

	var charCode = (navigator.appName == "Netscape") ? event.which : event.keyCode;
	if (charCode == 13) {return true;}

	var var_caracter = String.fromCharCode(charCode);
	if ((var_caracter==caracter) || ((var_caracter>="a") && (var_caracter<="z")) || ((var_caracter>="A") && (var_caracter<="Z"))) {return true;}
	else {return false;}
}

function checar_digitacao_numero(caixa) {
	//No evento KeyUp pode ser verificado os caracteres após a digitação
	//Consistência para não se ter ",,"
	var string_virgula = document.forms["frmPrincipal"].elements[caixa].value;
	string_virgula = string_virgula.toString()
	var tamanho=string_virgula.length;

	for (var i=1; i<=tamanho; i++) {
		var posicao_virgula = string_virgula.indexOf(",,")
		if (posicao_virgula!= -1) {
			string_virgula = string_virgula.replace(",," , ",");
		}
	}
	document.form[caixa].value = string_virgula;

	//No evento KeyUp pode ser verificado os caracteres após a digitação
	var string_virgula = document.forms["frmPrincipal"].elements[caixa].value;

	string_virgula = string_virgula.toString()
	if (string_virgula.charAt(0)==",") {
		//Não deixar a primeira posição ser vírgula
		string_virgula = string_virgula.substring(1,string_virgula.length);
	} 

	if (string_virgula.charAt(string_virgula.length-1)==",") {
		//Não deixar a última posição ser vírgula
		string_virgula = string_virgula.substring(0,string_virgula.length-1);
	}
	document.forms["frmPrincipal"].elements[caixa].value=string_virgula;
}
//=====================
//	Fim da consistência numérica
//===============



//========================================
//	Verifica se uma data é válida
//========================================
function comparadata(data,campo){

	if (document.forms["frmPrincipal"].elements[campo].value.length >0){
		var dia = data.substr(0,2);
		var mes = data.substr(3,2);
		var ano = data.substr(6,4);

		if (dia < 1 || dia > 31){
			alert("O Dia desta data é inválido!");
			document.forms["frmPrincipal"].elements[campo].focus();
			document.forms["frmPrincipal"].elements[campo].value="";
			return false;
		}

		if (mes < 1 || mes > 12){
			alert("O Mês desta data é inválido");
			document.forms["frmPrincipal"].elements[campo].focus();
			document.forms["frmPrincipal"].elements[campo].value="";
			return false;
		} else {
			if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia >30)) {
			alert("O Dia desta data é inválido!");
			document.forms["frmPrincipal"].elements[campo].focus();
			document.forms["frmPrincipal"].elements[campo].value="";
			return false;
			} else {
				if (mes == 2){
				var resto = (ano % 4)
				if ((resto == 0) && (dia > 29)) {
					alert("O Dia desta data é inválido!");
					document.forms["frmPrincipal"].elements[campo].focus();
					document.forms["frmPrincipal"].elements[campo].value="";
					return false;
					} else {
						if ((resto != 0 ) && (dia > 28)) {
							alert("O Dia desta data é inválido!");
							document.forms["frmPrincipal"].elements[campo].focus();
							document.forms["frmPrincipal"].elements[campo].value="";
							return false;
						}
					}
				}
				}
			}


		if (ano.length < 4){
			alert("O Ano precisa ter 4 dígitos");
			document.forms["frmPrincipal"].elements[campo].focus();
			document.forms["frmPrincipal"].elements[campo].value="";
			return false;
		} else {
			if (ano < 1900 || ano > 2100){
				alert("O Ano desta data é inválido!");
				document.forms["frmPrincipal"].elements[campo].focus();
				document.forms["frmPrincipal"].elements[campo].value="";
				return false;
			}
		}
	}

		return true;
}
//========================================
//	Fim da verificação de Data
//========================================



// Checa se o e-mail está no formato: *@*.*. Retorna Verdadeiro caso Positivo, e Falso caso Negativo
function Checar_Email(EmailAddr) {
	Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	if (Filtro.test(EmailAddr))
		return true;
	else {
		return false;
    }
}

function checaEmail(form,value) {

	//if (value == "") {
	//	alert("Informe seu e-mail.");
	//	form.txtEmail.focus();
	//	form.txtEmail.select();
	//	return false;
	//} else {
	if (value != "") {
		prim = value.indexOf("@")
		if(prim < 2) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("@",prim + 1) != -1) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf(".") < 1) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf(" ") != -1) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("zipmeil.com") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("hotmeil.com") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf(".@") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("@.") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf(".com.br.") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("/") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("[") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("]") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("(") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf(")") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
		if(value.indexOf("..") > 0) {
			alert("O e-mail informado parece não estar correto.");
			form.txtEmail.focus();
			form.txtEmail.select();
			return false;
		}
	}
		return true;
}

function contaChars(campo,tam) {
//Limita o tamanho do campo resumo
		
var c = eval(campo);
					
	var aux = c.value;
	if (aux.length > tam){
		alert ("Por favor, este campo não deve ter mais de " + tam + " caracteres")
		var chars = aux.length-1
		c.value = aux.substring(0,chars)
	}
}


function FormataValor(campo,tammax,teclapres) {
	//Formata o valor digitado, como usado em bancos

	//campo = eval(campo);
	var tecla = teclapres.keyCode;
	vr = document.forms["frmPrincipal"].elements[campo].value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){ 
	 		document.forms["frmPrincipal"].elements[campo].value = vr ; }
	 	if ( (tam > 2) && (tam <= 5) ){
	 		document.forms["frmPrincipal"].elements[campo].value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		document.forms["frmPrincipal"].elements[campo].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		document.forms["frmPrincipal"].elements[campo].value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		document.forms["frmPrincipal"].elements[campo].value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		document.forms["frmPrincipal"].elements[campo].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
	}
		
	for (var ct = 0; ct < document.frmPrincipal.elements.length; ct++) {
		if (document.frmPrincipal.elements[ct].name == document.frmPrincipal.elements[campo].name) {
			if ( !teclapres.shiftKey && tecla == 9 && document.frmPrincipal.elements[ct+1] && document.frmPrincipal.elements[ct+1].name == "senhaConta" && document.applets['tclJava'] ){
				document.applets['tclJava'].setFocus();
			}	
		}
	}
}
</script>