function CalcularDV(sCampo, iPeso){

	var iTamCampo;
	var iPosicao, iDigito;
	var iSoma1 = 0;
	var iSoma2=0;
	var iDV1, iDV2;
		
	iTamCampo = sCampo.length;
	
	for (iPosicao=1; iPosicao<=iTamCampo; iPosicao++){
		iDigito = sCampo.substr(iPosicao-1, 1);
		iSoma1 = parseInt(iSoma1,10) + parseInt((iDigito * Calcular_Peso(iTamCampo - iPosicao, iPeso)),10);
		iSoma2 = parseInt(iSoma2,10) + parseInt((iDigito * Calcular_Peso(iTamCampo - iPosicao + 1, iPeso)),10);
		}
	
	iDV1 = 11 - (iSoma1 % 11);
	if (iDV1 > 9)
		iDV1 = 0;
	
	iSoma2 = iSoma2 + (iDV1 * 2);
	iDV2 = 11 - (iSoma2 % 11);
	if (iDV2 > 9)
		iDV2 = 0;
	
	Ret = (parseInt(iDV1 * 10,10) + parseInt(iDV2));
	
	Ret = "0" + Ret;
	Ret = Ret.substr(Ret.length - 2,Ret.length);
		
	return(Ret);
}

//////////////////////////////////////////////////////////////////		
function Calcular_Peso(iPosicao, iPeso){

	//Pesos
	//CPF 11
	//CNPJ 9
	return (iPosicao % (iPeso - 1)) + 2;
	}
	
/////////////////////////////////////////////////////////////////
function LimpaCampo(sValor,iBase){
	var tam = sValor.length
	var saida = new String
	for (i=0;i<tam;i++)
		if (!isNaN(parseInt(sValor.substr(i,1),iBase)))
			saida = saida + String(sValor.substr(i,1));
	return (saida);		
	}
/////////////////////////////////////////////////////////////////
function TestaForm(theForm,iTipo){
	if (!(TestaNI (theForm.NI,iTipo)))
		return (false);
	
	if (!(TestaControle (theForm.Controle)))  
		return (false);

	var controle = LimpaCampo(theForm.Controle.value,16);
	var tam = controle.length;

	if	(tam == 16){ 
		if (!(TestaData(theForm.Data)))
			return (false);
	
		if (!(TestaHora(theForm.Hora)))
			return (false);		
		}		
	else{
		if (theForm.Data.value != "")	{
			alert('Só preencher data da emissão para certidão emitida pela Internet');
			theForm.Data.value = "";
			theForm.Data.focus();
			return(false);
		}
		if (theForm.Hora.value != "")	{	
			alert('Só preencher hora da emissão para certidão emitida pela Internet');
			theForm.Hora.value = "";
			theForm.Hora.focus();
			return(false);
		}
	}		
	return (true);
}
/////////////////////////////////////////////////////////////////
function TestaFormItr(theForm,iTipo){
	if (!(TestaNI (theForm.NI,iTipo)))
		return (false);
	
	if (!(TestaControle (theForm.Controle)))  
		return (false);
	
	return (true);
	}
/////////////////////////////////////////////////////////////////
function TestaNI(cNI,iTipo){
	var NI 
	NI = LimpaCampo(cNI.value,10);
	switch (iTipo) {
		case 1:
			if (NI.length != 14){
				alert('O número do CNPJ informado está incorreto');
				cNI.value = "";
				cNI.focus();
				return(false);
			}

			if (NI.substr(12,2) != CalcularDV(NI.substr(0,12), 9)){
				alert('O número do CNPJ informado está incorreto');
				cNI.value = "";
				cNI.focus();
				return(false);
			}
			break;

		case 2:
			if (NI.length != 11){
				alert('O número do CPF informado está incorreto');
				cNI.value = "";
				cNI.focus();
				return(false);
			}

			if (NI.substr(9,2) != CalcularDV(NI.substr(0,9), 11)){
				alert('O número do CPF informado está incorreto');
				cNI.value = "";
				cNI.focus();
				return(false);
			}
			break;
	
		case 3:
			if (NI.length != 8){
				alert('O número do ITR informado está incorreto');
				cNI.value = "";
				cNI.focus();
				return(false);
			}
			var dv = new String(); 
			dv = CalcularDV(NI.substr(0,7), 9);
			dv = dv.substr(0,1);
			if (NI.substr(7,1) != dv){
				alert('O número do ITR informado está incorreto');
				cNI.value = "";
				cNI.focus();
				return(false);
			}
			break;

		default:
			return(false);
		}
	return (true);	
} 

	function mascaracep(){
   var cep = document.faleAssinatura.cep.value;
	 
   if (cep.length == 5)
     document.faleAssinatura.cep.value = document.faleAssinatura.cep.value + "-";	 
	}
	
	function erro(){
	 var cep = document.faleAssinatura.cep.value;
	 if (cep.length < 10)
	 {
	     alert("Seu CEP está incorreto.");
		 return false;
	} else {
	    return true;
	}
	}
function FormataCPF(Campo, teclapres){
	var tecla = teclapres.keyCode;
	
	var vr = new String(Campo.value);
	vr = vr.replace(".", "");
	vr = vr.replace(".", "");
	vr = vr.replace("-", "");

	tam = vr.length + 1;
	
	if (tecla != 9 && tecla != 8){
		if (tam > 3 && tam < 7)
			Campo.value = vr.substr(0, 3) + '.' + vr.substr(3, tam);
		if (tam >= 7 && tam <10)
			Campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,tam-6);
		if (tam >= 10 && tam < 12)
			Campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,3) + '-' + vr.substr(9,tam-9);
		}
}
function FormataCNPJ(Campo, teclapres){

	var tecla = teclapres.keyCode;

	var vr = new String(Campo.value);
	vr = vr.replace(".", "");
	vr = vr.replace(".", "");
	vr = vr.replace("/", "");
	vr = vr.replace("-", "");

	tam = vr.length + 1 ;

	
	if (tecla != 9 && tecla != 8){
		if (tam > 2 && tam < 6)
			Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
		if (tam >= 6 && tam < 9)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
		if (tam >= 9 && tam < 13)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
		if (tam >= 13 && tam < 15)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
		}
}

function checkAG() {
	with(document.faleAssinatura) {	
		size = cpf.value.length;
		if(size != 14) {
			alert("Por favor, coloque seu CPF!");
			cpf.focus();
			return;
		}
		if(cpf.value.indexOf(".")==-1 || cpf.value.indexOf('-') ==-1) {
			alert("Por favor, coloque seu CPF!");
			cpf.focus();
			return;
			}
		
			
		size4 = senha.value.length;
		if(size4 >= 9) {
			alert("Coloque uma senha de até 8 digitos!");
			senha.focus();
			return;
			}
		
		if(senha.value=="") {
			alert("Coloque sua senha de até 8 digitos!");
			senha.focus();
			return;
		}
			if(nome.value=="") {
			alert("Coloque um Nome de usuário, por favor!");
			nome.focus();
			return;
		}  
		  if(email.value.indexOf("@")==-1 || email.value.indexOf('.') ==-1) {
			alert("Coloque um email valido, por favor!");
			email.focus();
			return;
			}
			
			if(pj.value=="") {
			alert("Coloque o nome completo, pessoa fisica ou juridica, por favor!");
			pj.focus();
			return;
		}
		
			if(ender.value=="") {
			alert("Coloque seu Endereco, por favor!");
			ender.focus();
			return;
		}
			if(bairro.value=="") {
			alert("Coloque seu Bairro, por favor!");
			bairro.focus();
			return;
		}
	
		if(cidade.value=="") {
			alert("Coloque sua Cidade, por favor!");
			cidade.focus();
			return;
		}
				
		size3 = cep.value.length;
		if(size3 != 9) {
			alert("Coloque o seu CEP neste formato: (XXXXX-XXX).");
			cep.focus();
			return;
			}
		if(telefone.value=="") {
			alert("Coloque seu telefone, por favor!");
			telefone.focus();
			return;
		}	
			
			if(dddtel.value=="") {
			alert("Coloque seu DDD de telefone, por favor!");
			dddtel.focus();
			return;
		}
		
			if(assinatura.value =="") {
			alert("Selecione um valor de assinatura, por favor!");
			assinatura.focus();
			return;
		}
					submit();
	}
}
function mascaracodigo(){
	var form = document.frm;
    if (form.assinatura.length == 5)
     document.frm.Assinatura.value = form.Assinatura.value + "-";	 
     
}
	
function erro(){
	var ass = document.frm.assinatura.value;
	 if (ass.length < 7)
	 {
	     alert("Seu de codigo de assinante não está correto.");
		 return false;
	} else {
	    return true;
	}
}
function textCounter(campo, countcampo, maxlimit){//conta/mostra caracteres restantes e limita o tamanho do campo
    if (campo.value.length > maxlimit) //se passar do limite nao deixa entrar o caracter
        campo.value = campo.value.substring(0, maxlimit);
        //reduz o valor do campo de contadem
    else 
        countcampo.value = maxlimit - campo.value.length;
}