function alelo38MudaPontoVirgula(al38Numero){
	
	al38NInt= parseInt(al38Numero);
   		if (al38Numero == al38NInt){
   			al38Numero= al38Numero * 100;
   		}
			
	al38Numero= al38Numero.toString();
		al38ExistePonto= al38Numero.indexOf(".");
		
			if(al38ExistePonto > 0){
				al38Numero= al38Numero.substring(0,al38ExistePonto + 3);
				al38TamI= al38Numero.length;
					if((al38TamI - al38ExistePonto) < 3){
							al38Numero= al38Numero+ '0';
					}
				
				al38Numero= al38Numero.replace('.','');
			}
			
			while(al38Numero.substring(0, 1) == '0'){
				al38Numero= al38Numero.replace('0','');	
			}
					
	al38Tam= al38Numero.length;
				
		a= al38Numero.substring((al38Tam - 2),al38Tam);
		b= al38Numero.substring((al38Tam - 5),(al38Tam - 5) + 3);
		c= al38Numero.substring((al38Tam - 8),(al38Tam - 8) + 3);
		d= al38Numero.substring((al38Tam - 11),(al38Tam - 11) + 3);	
		e= al38Numero.substring((al38Tam - 14),(al38Tam - 14) + 3);
			
					
	if( al38Tam > 11 ){
		al38Ret= e+ "." +d+ "." +c+ "." +b+ "," +a;
	}else if(al38Tam <= 11 && al38Tam >	 8){
		al38Ret= d+ "." +c+ "." +b+ "," +a;
	}else if(al38Tam <= 8 && al38Tam > 5){
		al38Ret= c+ "." +b+ "," +a;
	}else if(al38Tam <= 5 && al38Tam >= 3){
		al38Ret= b+ ',' +a;
	}else if(al38Tam == 2){
		al38Ret= '0,' +a;
	}else if(al38Tam == 1){
		al38Ret= '0,' +a+ '0';
	}else{
		al38Ret= '0,00';
	}
	
	return al38Ret;
}

function alelo38Data(){
 		al38Data = new Date();
			al38Ano= al38Data.getFullYear();		
			al38Mes= al38Data.getMonth() + 1;
			al38Dia= al38Data.getDate();
			
				if(al38Mes <= 9){
					al38Mes= '0' +al38Mes;
				}
	
				if(al38Dia < 9){
					al38Dia= '0' + al38Dia;
				}
				
			al38Data= al38Dia+ '-' +al38Mes+ '-' +al38Ano;
		return al38Data;
}

function alelo38Mensagem(al38Event,al38Mensagem){
	if (!al38Mensagem){
		alelo38DivMensagem.style.visibility = 'hidden';
	}else{
		alelo38DivMensagem.innerHTML = al38Mensagem;
			if (al38Event.pageX) {			// para FireFox
				novox = al38Event.pageX;
				novoy = al38Event.pageY;
			}else{							// para IE
				novox = al38Event.clientX+document.body.scrollLeft;
				novoy = al38Event.clientY+document.body.scrollTop;
			}

		alelo38DivMensagem.style.left = (novox+10)+'px';
		alelo38DivMensagem.style.top = (novoy+10)+'px';
		alelo38DivMensagem.style.visibility = 'visible';
	}
}			

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function al38CalculaParcela(al38VlrCredor, al38NroParcelas,al38RetData){
	var al38Formulario= al38NroParcelas.form.name;
	var al38NroParcelas= al38NroParcelas.value;
		al38VlrCredor= al38LimpaNumerico(al38VlrCredor) / 100;
					
	if(al38VlrCredor > '0' && al38NroParcelas > '0'){
		al38VlrParcelas= al38VlrCredor / al38NroParcelas;
	}
		document.forms[al38Formulario].elements[al38RetData].value= alelo38MudaPontoVirgula(al38VlrParcelas);
		return true; 
}

function al38DiasEntreDatas(al38DataH, al38NroDias,al38RetData){
	var al38Formulario= al38NroDias.form.name;
	var al38NroDias= al38NroDias.value;
	var al38DiaH= parseInt(al38DataH.substr(0,2));
	var al38MesH= parseInt(al38DataH.substr(3,2));
	var al38AnoH= parseInt(al38DataH.substr(6,4));
		var al38MesSoma=  parseInt(al38NroDias / 30);
		var al38MesSomaI= parseInt(al38NroDias / 30) * 30;
					
	if(al38MesSomaI != al38MesSoma){
		al38DiasRestantes=  al38NroDias - al38MesSomaI;
	}
						
		al38MesesTotal= parseInt(al38MesH + al38MesSoma);
		al38DiasTotal= parseInt(al38DiaH + al38DiasRestantes);
					
	if(al38DiasTotal > 30){
		al38DiasRestantes= al38DiasTotal - 30;
		al38MesExtra= parseInt(al38DiasRestantes / 30);
		al38MesesTotal= al38MesesTotal + al38MesExtra;
	}else{
		al38DiasRestantes= al38DiasTotal;
	}
						
		if(al38MesesTotal > 12){
			al38AnoSoma= parseInt(al38MesesTotal / 12);
			al38AnoNovo= al38AnoH + al38AnoSoma;
			al38MesNovo= al38MesesTotal - 12;
		}else{
		 	al38AnoNovo= al38AnoH;
		 	al38MesNovo= al38MesH + al38MesSoma;
		}
						 
		if(al38MesNovo <= 9){
		 	al38MesNovo= '0' +al38MesNovo;
		}
					 
		if(al38DiasRestantes <= 9){
		 	al38DiasRestantes= '0' +al38DiasRestantes;
		}
		
			document.forms[al38Formulario].elements[al38RetData].value= al38DiasRestantes+ "-" +al38MesNovo+ "-" +al38AnoNovo;
	return true; 
}

function al38CalculaAreaTerreno(){
	al38AreaTotal= document.forms["al38FormularioCadastroImovel"].elements["xal38AreaTotal"].value;
	al38AreaConstruida= document.forms["al38FormularioCadastroImovel"].elements["al38AreaTotalConstruida"].value;
	
		if(al38AreaTotal > '0' && al38AreaConstruida > '0'){
			al38AreaTotal= al38LimpaNumerico(al38AreaTotal);
			al38AreaConstruida= al38LimpaNumerico(al38AreaConstruida);
				al38AreaTerreno= al38AreaTotal - al38AreaConstruida;
				al38AreaTerreno= (al38AreaTerreno)/ 100;
			
					document.forms["al38FormularioCadastroImovel"].elements["al38AreaTotalTerreno"].value= alelo38MudaPontoVirgula(al38AreaTerreno);				
		}else{
					document.forms["al38FormularioCadastroImovel"].elements["al38AreaTotalTerreno"].value= '0,00';				
		}
}

function al38CalculaComissao(al38VlrAVista){
	al38Form= al38VlrAVista.form.name;
	al38Campo= al38VlrAVista.name;
	al38VlrAVista= al38VlrAVista.value;
	
	al38ComCor= (document.forms[al38Form].elements["al38PercentualCorretor"].value / 100);
	al38ComAge= (document.forms[al38Form].elements["al38PercentualAgenciador"].value / 100);
	al38ObrCom= (document.forms[al38Form].elements["al38PercentualComprador"].value / 100);		
	al38ObrVen= (document.forms[al38Form].elements["al38PercentualVendedor"].value / 100);	

		if(al38VlrAVista != ''){
			al38VlrAVista= al38LimpaNumerico(al38VlrAVista);
			
			al38VlrComCorr= (al38VlrAVista * al38ComCor) / 100;
			al38VlrComAgen= (al38VlrAVista * al38ComAge) / 100;
			al38VlrObrCom=  (al38VlrAVista * al38ObrCom) / 100;
			al38VlrObrVen=  (al38VlrAVista * al38ObrVen) / 100;		

			
				document.forms[al38Form].elements["al38ValorParaAgenciador"].value= alelo38MudaPontoVirgula(al38VlrComAgen);			
				document.forms[al38Form].elements["al38ValorParaCorretor"].value= alelo38MudaPontoVirgula(al38VlrComCorr);
				document.forms[al38Form].elements["al38ValorComprador"].value= alelo38MudaPontoVirgula(al38VlrObrCom);
				document.forms[al38Form].elements["al38ValorVendedor"].value= alelo38MudaPontoVirgula(al38VlrObrVen);				
		}else{
				document.forms[al38Form].elements["al38ValorParaCorretor"].value= '0,00';
				document.forms[al38Form].elements["al38ValorParaAgenciador"].value= '0,00';
				document.forms[al38Form].elements["al38ValorComprador"].value= '0,00';				
				document.forms[al38Form].elements["al38ValorVendedor"].value= '0,00';				
		}
	return true;
}

function al38CalculaComissaoReverso(al38VlrComissao,al38VlrAVista,al38Devolve){
	al38Form= al38VlrAVista.form.name;
	al38VlrAVista= al38VlrAVista.value;
	al38VlrComissao= al38VlrComissao.value;

		if(al38VlrAVista != '' && al38VlrComissao){
			al38VlrAVista= al38LimpaNumerico(al38VlrAVista);
			al38VlrComissao= al38LimpaNumerico(al38VlrComissao);
			al38Result= ((al38VlrComissao / al38VlrAVista) * 100);
			
				document.forms[al38Form].elements[al38Devolve].value= al38Result.toFixed(2);				
		}
	return true;
}

function al38FormataNumeros(al38Campo, al38SeparadorMilhar, al38SeparadorDecimal, al38Evento) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var al38WhichCode = (window.Event) ? al38Evento.which : al38Evento.keyCode;
	var al38Campo= al38Campo;
	var al38Form= al38Campo.form.name;

	if (al38WhichCode == 0){
		return true;
	}else if(al38WhichCode == 13){
  		for (var i = 0; i < al38Campo.form.length; i++) {
   			if (al38Campo.form[i] == al38Campo && al38Campo.form[(i + 1)] && al38Campo.form[(i + 1)].type != "hidden") {
    			al38Seguinte= al38Campo.form[(i + 1)].name;
					document.forms[al38Form].elements[al38Seguinte].focus();
					break;
			}
  		}	
       	return false;
	}
	
	key = String.fromCharCode(al38WhichCode);  // Get key value from key code
	if (strCheck.indexOf(key) == -1) {
		return false;  // Not a valid key
	}
	len = al38Campo.value.length;
	for(i = 0; i < len; i++) {
		if ((al38Campo.value.charAt(i) != '0') && (al38Campo.value.charAt(i) != al38SeparadorDecimal)) {
			break;
		}
	}
	aux = '';
	for(; i < len; i++) {
		if (strCheck.indexOf(al38Campo.value.charAt(i))!=-1) {
			aux += al38Campo.value.charAt(i);
		}
	}
	aux += key;
			
	len = aux.length;
	if (len == 0) {
		al38Campo.value = '';
	} else if (len == 1) {
		al38Campo.value = '0'+ al38SeparadorDecimal + '0' + aux;
	} else if (len == 2) {
		al38Campo.value = '0'+ al38SeparadorDecimal + aux;
	} else if (len > 2) {
		aux2 = '';

		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				aux2 += al38SeparadorMilhar;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		al38Campo.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--) {
			al38Campo.value += aux2.charAt(i);
		}
		al38Campo.value += al38SeparadorDecimal + aux.substr(len - 2, len);
	}	
return false;
// como usar
// onKeyPress="return(currencyFormat(this,'.',',',event));

}

function al38ECampo(al38Acao,al38NomeCampo,al38NomeCampo1){
  al38NomeFormulario= al38Acao.form.name;
  al38Acao= al38Acao.value;
	if(al38Acao == '_'){
		document.forms[al38NomeFormulario].elements[al38NomeCampo].disabled = true;			
		document.forms[al38NomeFormulario].elements[al38NomeCampo].style.background = "#f1f1f1";							
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].disabled = true;
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].style.background = "#f1f1f1";
		document.forms[al38NomeFormulario].elements[al38NomeCampo].value= "";											
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].value= "";																						
	}else if(al38Acao == '0'){
		document.forms[al38NomeFormulario].elements[al38NomeCampo].disabled = true;			
		document.forms[al38NomeFormulario].elements[al38NomeCampo].style.background = "#f1f1f1";
		document.forms[al38NomeFormulario].elements[al38NomeCampo].value = "<- digite aqui!";									
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].disabled = false;
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].style.background = "#fff";							
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].value= "";
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].focus();													
	}else if(al38Acao == '1'){
		document.forms[al38NomeFormulario].elements[al38NomeCampo].disabled = false;
		document.forms[al38NomeFormulario].elements[al38NomeCampo].style.background = "#fff";												
		document.forms[al38NomeFormulario].elements[al38NomeCampo].value= "";
		document.forms[al38NomeFormulario].elements[al38NomeCampo].focus();																										
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].disabled = true;
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].style.background = "#f1f1f1";									
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].lenght="250";																	
		document.forms[al38NomeFormulario].elements[al38NomeCampo1].value= "digite aqui!->";
	}
}

// funcao gererica para utilizacao interna
function al38InArray(al38ASerVerificado,al38ArrayQueContem){
		var al38Txt = "¬" + al38ArrayQueContem.join("¬") + "¬";
		var er = new RegExp ("¬" + al38ASerVerificado + "¬", "gim");
	return ( (al38Txt.match (er)) ? true : false );
}

function al38Validar(al38Which,al38ModAjax,al38Retorno,al382Div){
var mm='';
var libera=true;
if(document.images){
        for (i=0; i < al38Which.length; i++){
                var tempobj=al38Which.elements[i];
                if(tempobj.name.substring(0,6) == "xal38_" || tempobj.name.substring(0,5) == "al38_"){
                        // Aqui verifica se o campo esta preenchido com todos os caracteres necessarios
                        var al38Conteudo = tempobj.value;
                        var al38Digitos = al38Conteudo.length;
                        var al38Tamanho=  tempobj.maxLength;

                        if(tempobj.type == "text" && al38Digitos < al38Tamanho){
                            libera=false;
                            break;
                        }
                }
                if(tempobj.name.substring(0,5) == "xal38"){
                        // Aqui verifica geral se o campo deve ou nao ser preenchido
                        if(((tempobj.type == "text" || tempobj.type == "textarea") && (tempobj.value=='' || tempobj.value=='Redigite!'))
                            ||(tempobj.type.toString().charAt(0)== "s" && tempobj.selectedIndex == 0)
                            ||(tempobj.type=="password" && tempobj.value=='senha')
                            ||(tempobj.type=="checkbox" && !tempobj.checked)
                        ){
                            libera=false;
                            break;
                        }
                }
        }
}

        if (!libera) {
                campo= tempobj.name.substring(5,40).toUpperCase();
                alert("O campo " +campo+ " precisa estar preenchido corretamente. \n" +mm);
                        var a=("document." +al38Which.name+ "." +tempobj.name+ ".focus()");
                        eval(a);
                return false;
        }else{
			if(al38ModAjax != 'normal'){
				// vetor que prove o modulo a ser incluido
				al38ModuloAjax= [	"al38UsuarioLogado",
									"al38VerificaMensagens",
									"al38Validacao",
									"al38Ramais",
									"al38Calendario",
									"al38Cep"
								];
								
				// função que executa a consulta em Ajax desejada
				// busca em al38Ajax.js essa chamada	
					al38AjaxFeature(al38Which,'indexWorksAjax.php',al38Retorno,'1','','');
					
						// executa o Ajax na 2ª div se forem duas					
						// somente qdo as divis são duas, pois o formulário é muito grande
						if(al382Div == '1'){
							al38AjaxM('indexWorksAjax.php','al38DivRespostaListas','0');
						}
			}
        	return true;
        }
}


function al38EnviaPagina(){
        $rr= parent.menu.location='source/php/alelo38Menu.inc.php';
        return ($rr);
}

function al38EnviaPaginaOFF(){
        $rr= parent.menu.location='source/php/alelo38Menu.inc.php';
        return ($rr);
}

function al38TrocaCampo(al38Evento,al38Campo){
        al38Form= al38Campo.form.name;
        al38Aqui= al38Campo.name;
                if(al38Evento.keyCode == 13){
  						for (var i = 0; i < al38Campo.form.length; i++) {
   							if (al38Campo.form[i] == al38Campo && al38Campo.form[(i + 1)] && al38Campo.form[(i + 1)].type != "hidden") {
    							al38Seguinte= al38Campo.form[(i + 1)].name;
                        			document.forms[al38Form].elements[al38Seguinte].focus();
    							break;
   							}
  						}
                   return true;
                }
        event.cancelBubble = true;
        return true;
}

function al38LimpaNumerico(nro){
        // Deixa so os digitos no numero
        var Digitos = "0123456789";
        var temp = "";
        var digito = "";

        for (var i=0; i < nro.length; i++){
                digito = nro.charAt(i);
                if (Digitos.indexOf(digito)>=0){
                        temp= temp + digito
                }
        }
        return temp;
}

function al38FormataCnpj(which,al38Next){
        var frName= which.form.name;
        var frCampo= which.name;
        var al38Cnpj = '';

                al38Cnpj = al38Cnpj + which.value;
                if (al38Cnpj.length == 2 || al38Cnpj.length == 6){
                        al38Cnpj = al38Cnpj + '.';
                        document.forms[frName].elements[frCampo].value = al38Cnpj;
                }

                if (al38Cnpj.length == 10){
                        al38Cnpj = al38Cnpj + '/';
                        document.forms[frName].elements[frCampo].value = al38Cnpj;
                }

                if (al38Cnpj.length == 15){
                        al38Cnpj = al38Cnpj + '-';
                        document.forms[frName].elements[frCampo].value = al38Cnpj;
                }

                if(al38Cnpj.length == 18){
                        if(valida_CGC(al38Cnpj) == false){
                                alert("CNPJ com erro! Por favor redigite-o!");
                                document.forms[frName].elements[frCampo].style.color = "red";
                                document.forms[frName].elements[frCampo].value = '';
                                document.forms[frName].elements[frCampo].focus();
                        }else{
                        		document.forms[frName].elements[frCampo].style.background='#ffffff';                	                        	
                        		document.forms[frName].elements[al38Next].focus();
                        }
                }
}

function valida_CGC(al38Cnpj){
        var i;
        al38Cnpj = al38LimpaNumerico(al38Cnpj);
        var c = al38Cnpj.substr(0,12);
        var dv = al38Cnpj.substr(12,2);
        var d1 = 0;

        for (i = 0; i < 12; i++){
                d1 += c.charAt(11-i)*(2+(i % 8));
        }

        if (d1 == 0) return false;
        d1 = 11 - (d1 % 11);

        if (d1 > 9) d1 = 0;

        if (dv.charAt(0) != d1){
                return false;
        }

        d1 *= 2;

        for (i = 0; i < 12; i++){
                d1 += c.charAt(11-i)*(2+((i+1) % 8));
        }

        d1 = 11 - (d1 % 11);

        if (d1 > 9) d1 = 0;

        if (dv.charAt(1) != d1){
                return false;
        }

        return true;
}

function ValidaEmail(which){
  var frName= which.form.name;
  var frCampo= which.name;
  var frvCampo= which.value;
  var erMail=/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/i;

        if (!erMail.test(frvCampo)) {
                alert('Email incorreto! Por favor digite corretamente.');
                document.forms[frName].elements[frCampo].value='';
                return false;
        }
}

function al38FormataCep(which){
        var frName= which.form.name;
        var frCampo= which.name;
        var myCep = '';

              myCep = myCep + which.value;
              if (myCep.length == 5){
                  myCep = myCep + '-';
                  document.forms[frName].elements[frCampo].value = myCep;
              }
}

function Completa(Campo,Tamanho){
        var Zeros = "00000000000000000000", Conteudo = Campo.value;
        var Digitos = Conteudo.length;
        if(Tamanho == null) Tamanho = Campo.maxLength;
        if(Digitos < Tamanho) Campo.value = Zeros.substring(0, Tamanho-Digitos) + Conteudo;
}

function al38SomenteNumeros(e){
        var tecla;

        tecla  = e.keyCode;
                if (tecla == 0) //so para mozilla
                        tecla = e.charCode; // so para o Mozilla

                if (tecla < 30 && tecla != 13 || (tecla > 47 && tecla < 58) || (tecla > 34 && tecla < 41) || (tecla == 46))
                        return;

                e.returnValue = false;

                try{
                        e.preventDefault();  // so para o Mozilla
                }
                catch(e){}
}

function al38SomenteLetras(a,b){
        var tecla;

        tecla  = a.keyCode;
                if (tecla == 0) //so mozilla
                        tecla = a.charCode; // so para o Mozilla

        if(b == 1){    // serve para qq campo de texto puro
                if (tecla < 33 && tecla != 13 || (tecla > 64 && tecla < 93) || (tecla > 96 && tecla < 123)  || (tecla > 34 && tecla < 41) || tecla == 46)
                        return;

        }else if(b == 2){   // especifico para campos de eMail (@,nro,alfa e .)
                if (tecla < 33 && tecla != 13 || (tecla > 64 && tecla < 93) || (tecla > 94 && tecla < 123) || tecla == 64 || tecla == 190 || (tecla > 47 && tecla < 58)  || (tecla > 34 && tecla < 41) || tecla == 46)
                        return;
        }else if(b == 3){
                if (tecla != 13)        	
        				return;
        }else if(b == 4){
                if (tecla < 33 && tecla != 13 || (tecla > 64 && tecla < 93) || (tecla > 94 && tecla < 123) || tecla == 64 || tecla == 190 || (tecla > 46 && tecla < 59)  || (tecla > 34 && tecla < 41) || tecla == 46)                        	
        				return;
        }
        
        
                a.returnValue = false;

                try{
                        a.preventDefault();  // so para o Mozilla
                }
                catch(a){}
}


function al38FormataCpf(which){
        var frName= which.form.name;
        var frCampo= which.name;
        var mycpf = '';
        var mm='true';

              mycpf = mycpf + which.value;
              if (mycpf.length == 3 || mycpf.length == 7){
                  mycpf = mycpf + '.';
                  document.forms[frName].elements[frCampo].value = mycpf;
              }
              if (mycpf.length == 11){
                  mycpf = mycpf + '-';
                  document.forms[frName].elements[frCampo].value = mycpf;
              }
              if (mycpf.length == 14){
                        al38ValidaCpf(mycpf,frName,frCampo);
              }
}

function al38ValidaCpf(s,a,b){
        var al38Mensagem= 'Este CPF esta errado!';
        var caracteres = "abcdefghijklmnopqrstuvwxyzÃƒÂ¡ÃƒÂ©ÃƒÂ­ÃƒÂ³ÃƒÂºÃƒÂ ÃƒÂ¨ÃƒÂ¬ÃƒÂ²ÃƒÂ¹ÃƒÂ¢ÃƒÂªÃƒÂ®ÃƒÂ´ÃƒÂ»ÃƒÂ¤ÃƒÂ«ÃƒÂ¯ÃƒÂ¶ÃƒÂ¼ÃƒÂ£ÃƒÂµ@#$%^&*()_+=-~` ÃƒÂ§.\/[]{}<>?!|:;,";
                var retorno  = "";
                        for(i=0;i<caracteres.length;i++){
                                for(j=0;j<s.length;j++){
                                        retorno = s.replace(caracteres.substr(i,1),"");
                                        s = retorno;
                                }
                        }

                        var c = retorno.substr(0,9);
                        var dv = s.substr(9,2);

                        var d1 = 0;
                                for (i = 0; i < 9; i++){
                                        d1 += c.charAt(i)*(10-i);
                                }

                                if (d1 == 0){
                                        alert(al38Mensagem);
                                                document.forms[a].elements[b].style.color = "red";
                                                document.forms[a].elements[b].value = '';
                                        return false;
                                }

                        d1 = 11 - (d1 % 11);
                        if (d1 > 9) d1 = 0;
                                if (dv.charAt(0) != d1){
                                        alert(al38Mensagem);
                                                document.forms[a].elements[b].style.color = "red";
                                                document.forms[a].elements[b].value = '';
                                        return false;
                                }

                        d1 *= 2;
                        for (i = 0; i < 9; i++){
                                d1 += c.charAt(i)*(11-i);
                        }

                        d1 = 11 - (d1 % 11);
                                if (d1 > 9) d1 = 0;
                                if (dv.charAt(1) != d1){
                                        alert(al38Mensagem+ ' Digito verificador nao e esse!');
                                                document.forms[a].elements[b].style.color = "red";
                                                document.forms[a].elements[b].value = '';
                                        return false;
                                }
}

function al38FormataData(which,al38Futura){
        var frName= which.form.name;                //recebe o nome do formulario
        var frCampo= which.name;                //recebe o nome do campo do formulario
        var al38Data= '';
        var al38Ano;
        var al38Hoje= new Date();                //recebe a data corrente completa
        var al38Ano= al38Hoje.getFullYear();        //atribui o ano corrente
        var al38Mes= al38Hoje.getMonth() + 1;
        var al38Dia= al38Hoje.getDate();
        var al38AnoOld= al38Ano - 120;

                // recebe os valores digitados no formulario
                al38Data = al38Data + which.value;

                if (al38Data.length == 2 || al38Data.length == 5){
                        al38Data = al38Data + '-';
                        document.forms[frName].elements[frCampo].value = al38Data;
                }else{
                        if (al38Data.length == 10 ){
                                al38AnoHoje= al38Data.substring(6,10);
                                al38MesHoje= al38Data.substring(3,5);
                                al38DiaHoje= al38Data.substring(0,2);
                                al38DataHoje= al38AnoHoje + al38MesHoje + al38DiaHoje;
                                if(al38Mes < 10){
                                        al38Mes= '0' + al38Mes;
                                }
                                al38DataX= al38Ano+''+al38Mes+''+al38Dia;

                                if(al38AnoHoje >= al38AnoOld && al38DataHoje <= al38DataX){ //consistencia da data
                                        al38VerificaData(frName,frCampo); //valida a data
                                }else if(al38Futura == '1' && al38AnoHoje >= al38AnoOld){
                                        al38VerificaData(frName,frCampo); //valida a data                                	
                                }else{
                                        alert("Inconsistencia, o ano devera ser entre " +al38AnoOld+ " - " +al38Ano+ " ou data MAIOR que Hoje");
                                        document.forms[frName].elements[frCampo].style.color = "red";
                                        document.forms[frName].elements[frCampo].value= '';
                                        document.forms[frName].elements[frCampo].focus();
                                }
                        }
                }
}

function al38VerificaData(a,b){
        var al38Dia = (document.forms[a].elements[b].value.substring(0,2));
        var al38Mes = (document.forms[a].elements[b].value.substring(3,5));
        var al38Ano = (document.forms[a].elements[b].value.substring(6,10));
        var al38Finalizador = "";
        var al38Mensagem="";

                // verifica o dia valido para cada mes
                if(
                        (al38Dia < 01)||(al38Dia < 01 || al38Dia > 30) &&
                        (al38Mes == 04 || al38Mes == 06 || al38Mes == 09 || al38Mes == 11 ) ||
                         al38Dia > 31)
                {
                        al38Finalizador = "falsa";
                        al38Mensagem= "Os meses [Abril | Junho | Setembro | Novembro]\n sao de 30 dias apenas.";
                }

            // verifica se o mes e valido
                if (al38Mes < 01 || al38Mes > 12) {
                        al38Finalizador = "falsa";
                        al38Mensagem= "Inconsistencia, o mes devera ser entre 1 e 12!!!.";
                }

                // verifica se eh ao bissexto
                    if (al38Mes == 2){
                         if(al38Dia < 01 || al38Dia > 29){
                                al38Finalizador = "falsa";
                                al38Mensagem= "Inconsistencia, o dia devera ser entre 28 ou 29 dias!";
                        }else{
                                if(al38Dia == 29 && (al38Ano%4 != 0)){
                                        al38Finalizador = "falsa";
                                        al38Mensagem= "Inconsistencia, ano nao e bissexto - 28 dias!";
                                }
                        }
                }
                if(al38Finalizador == "falsa"){
                        alert("Data ERRADA! " +al38Mensagem);
                        document.forms[a].elements[b].style.color = "red";
                        document.forms[a].elements[b].value= '';
                        document.forms[a].elements[b].focus();
                }
}

