
function CheckNums(campo,teclapres) {
	var tecla = 0;
	
	if(document.all){
        tecla = teclapres.keyCode;
    }
    else{
      tecla = teclapres.which;
      if(tecla==1){tecla=0}
    }
	
	if ((tecla < 48) || (tecla > 57)) {
		return false;
	}
}

function formatarDataYY(campo, teclapres) { 
	var tecla = teclapres.keyCode;  
	vr = campo.value;  
	vr = vr.replace( '/', '' );  
	vr = vr.replace( '/', '' );  
	tam = vr.length + 1;  
	if ( tecla != 9 && tecla != 8 ) {  
	   if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) {  
		   if ( tam <= 2 ) campo.value = vr ;  
		   if ( tam > 2 && tam < 5 ) campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, tam );  
		   if ( tam >= 5 && tam <= 8 ) campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, tam );   
      }  
   }  
}  

function compDatasYY(vData1,vData2){ 
	var StrData1 = vData1; 
	var StrData2 = vData2; 
	var Data1 = new Date(StrData1.substr(6,2),StrData1.substr(3,2),StrData1.substr(0,2)); 
	var Data2 = new Date(StrData2.substr(6,2),StrData2.substr(3,2),StrData2.substr(0,2)); 
	if (Data1 > Data2){ 
		return 'F'; 
	} 
	else{ 
		return 'T'; 
	} 
}  

function validarDataYY(vValor){ 
    var checkStr = ''; 
	checkStr = vValor; 
	var err=0; 
    var psj=0; 
	var dia = 0; 
	var mes = 0; 
	var ano = 0; 
	var barra1 = ''; 
	var barra2 = ''; 
       	dia = checkStr.substring(0, 2); 
       	barra1 = checkStr.substring(2, 3); 
       	mes = checkStr.substring(3, 5); 
       	barra2 = checkStr.substring(5, 6); 
	    ano = checkStr.substring(6, 8); 
    	    //verifica??es b?sicas 
    	    if (checkStr.length != 8) 
				err = 1; 
    	    if (mes<1 || mes>12) 
				err = 1; 
    	    if (barra1 != '/') 
				err = 1; 
    	    if (dia<1 || dia>31) 
				err = 1; 
    	    if (barra2 != '/') 
				err = 1; 
    	    if (ano<0 || ano>99) 
				err = 1; 
    	    //verifica??es avan?adas 
    	    // m?s com 30 dias 
    	    if (mes==4 || mes==6 || mes==9 || mes==11){ 
    		   if (dia==31) 
			   		err=1; 
    	    } 
    	    // fevereiro e ano bissexto 
    	    if (mes==2){ 
    		    var g = parseInt(ano/4); 
    		    if (isNaN(g)) { 
    			    err=1; 
    		    } 
    		    if (dia>29) 
					err=1; 
    		    if (dia==29 && ((ano/2)!=parseInt(ano/2))) 
					err=1; 
    	    } 
    if (err==1) 
       return 'F'; 
	else 
	   return 'T'; 
}  

function validarDataYYYY(vValor){ 
    var checkStr = ''; 
	checkStr = vValor; 
	var err=0; 
    var psj=0; 
	var dia = 0; 
	var mes = 0; 
	var ano = 0; 
	var barra1 = ''; 
	var barra2 = ''; 
       	dia = checkStr.substring(0, 2); 
       	barra1 = checkStr.substring(2, 3); 
       	mes = checkStr.substring(3, 5); 
       	barra2 = checkStr.substring(5, 6); 
	    ano = checkStr.substring(6, 10); 
    	    //verifica??es b?sicas 
    	    if (checkStr.length != 10) 
				err = 1; 
    	    if (mes<1 || mes>12) 
				err = 1; 
    	    if (barra1 != '/') 
				err = 1; 
    	    if (dia<1 || dia>31) 
				err = 1; 
    	    if (barra2 != '/') 
				err = 1; 
    	    if (ano<1900 || ano>2900) 
				err = 1; 
    	    //verifica??es avan?adas 
    	    // m?s com 30 dias 
    	    if (mes==4 || mes==6 || mes==9 || mes==11){ 
    		   if (dia==31) 
			   		err=1; 
    	    } 
    	    // fevereiro e ano bissexto 
    	    if (mes==2){ 
    		    var g = parseInt(ano/4); 
    		    if (isNaN(g)) { 
    			    err=1; 
    		    } 
    		    if (dia>29) 
					err=1; 
    		    if (dia==29 && ((ano/4)!=parseInt(ano/4))) 
					err=1; 
    	    } 
    if (err==1) 
       return 'F'; 
	else 
	   return 'T'; 
}


function formatarDataYYYY(campo, teclapres) { 
	var tecla = teclapres.keyCode;  
	vr = campo.value;  
	vr = vr.replace( '/', '' );  
	vr = vr.replace( '/', '' );  
	tam = vr.length + 1;  
	if ( tecla != 9 && tecla != 8 ) {  
	   if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) {  
		   if ( tam <= 2 ) campo.value = vr ;  
		   if ( tam > 2 && tam < 5 ) campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, tam );  
		   if ( tam >= 5 && tam <= 10 ) campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, tam );   
      }  
   }  
}  

function compDatasNew(vData1,vData2){ 
	if (vData1.length == 8){ 
		var Dia1 = parseInt(vData1.substr(0,2),10); 
		var Mes1 = parseInt(vData1.substr(3,2),10); 
		var Ano1 = parseInt(vData1.substr(6,2),10); 
		var Dia2 = parseInt(vData2.substr(0,2),10); 
		var Mes2 = parseInt(vData2.substr(3,2),10); 
		var Ano2 = parseInt(vData2.substr(6,2),10); 
	} 
	else{ 
		var Dia1 = parseInt(vData1.substr(0,2),10); 
		var Mes1 = parseInt(vData1.substr(3,2),10); 
		var Ano1 = parseInt(vData1.substr(8,2),10); 
		var Dia2 = parseInt(vData2.substr(0,2),10); 
		var Mes2 = parseInt(vData2.substr(3,2),10); 
		var Ano2 = parseInt(vData2.substr(8,2),10); 
	} 
	if (Ano1 > Ano2){ 
		return 'F'; 
	} 
	else{ 
		if (Ano1 != Ano2){ 
			return 'T'; 
		} 
		else{ 
			if (Mes1 > Mes2){ 
				return 'F'; 
			} 
			else{ 
				if(Mes1 != Mes2){ 
					return 'T'; 
				} 
				else{ 
					if (Dia1 > Dia2){ 
						return 'F'; 
					} 
					else{ 
						return 'T'; 
					} 
				} 
			}  
		}  
	}  
}

/*apenas retorna uma mensagem caso a data estiver incorreta*/
function validarDataYYRetornaAlert(vValor){ 
    var checkStr = ''; 
	checkStr = vValor; 
	if (checkStr == ''){
		return true;
	}
	var err=0; 
    var psj=0; 
	var dia = 0; 
	var mes = 0; 
	var ano = 0; 
	var barra1 = ''; 
	var barra2 = ''; 
       	dia = checkStr.substring(0, 2); 
       	barra1 = checkStr.substring(2, 3); 
       	mes = checkStr.substring(3, 5); 
       	barra2 = checkStr.substring(5, 6); 
	    ano = checkStr.substring(6, 8); 
    	    //verifica??es b?sicas 
    	    if (checkStr.length != 8) 
				err = 1; 
    	    if (mes<1 || mes>12) 
				err = 1; 
    	    if (barra1 != '/') 
				err = 1; 
    	    if (dia<1 || dia>31) 
				err = 1; 
    	    if (barra2 != '/') 
				err = 1; 
    	    if (ano<0 || ano>99) 
				err = 1; 
    	    //verifica??es avan?adas 
    	    // m?s com 30 dias 
    	    if (mes==4 || mes==6 || mes==9 || mes==11){ 
    		   if (dia==31) 
			   		err=1; 
    	    } 
    	    // fevereiro e ano bissexto 
    	    if (mes==2){ 
    		    var g = parseInt(ano/4); 
    		    if (isNaN(g)) { 
    			    err=1; 
    		    } 
    		    if (dia>29) 
					err=1; 
    		    if (dia==29 && ((ano/2)!=parseInt(ano/2))) 
					err=1; 
    	    } 
    if (err==1){ 
       alert('data incorreta');
       return false;
       } 
	else{ 
	   //return 'T';
	   return true;
	   } 
}


function verificaCDC($cd) {
	//formato 0000000-00
	if (strlen($cd) != 10) return 0;
	$soma1 = ($cpf[0] * 8) +
				($cpf[1] * 7) +
				($cpf[2] * 6) +
				($cpf[3] * 5) +
				($cpf[4] * 4) +
				($cpf[5] * 3) +
				($cpf[6] * 2);
        $resto = $soma1 % 9;
	$digito1 = $resto < 2 ? 0 : 9 - $resto;

	$soma2 = ($cpf[0] * 9) +
				($cpf[1]  * 8) +
				($cpf[2]  * 7) +
				($cpf[3]  * 6) +
				($cpf[4]  * 5) +
				($cpf[5]  * 4) +
				($cpf[6]  * 3) +
				($cpf[7] * 2);
	$resto = $soma2 % 9;
	$digito2 = $resto < 2 ? 0 : 9 - $resto;

	return (($cpf[8] == $digito1) && ($cpf[9] == $digito2));
}

function validarCPF(CPF){ 
	if (CPF != ''){ 
		if (!verificarCPF(CPF)){ 
			alert('CPF Inválido!'); 
			txtCPF.value=''; 
			txtCPF.focus(); 
		} 
	} 
} 

function validarCPFResp(CPF){ 
	if (CPF != ''){ 
		if (!verificarCPF(CPF)){ 
			alert('CPF Inválido!'); 
			txtCPFResponsavel.value=''; 
			txtCPFResponsavel.focus(); 
		} 
	} 
} 

function verificarCPF(c){ 
	c = c.replace('.','');	
	c = c.replace('.','');	
	c = c.replace('-','');	
	var i;  
	s = c; 
	var c = s.substr(0,9);  
	var dv = s.substr(9,2);  
	var d1 = 0;  
	var v = false; 
	for (i = 0; i < 9; i++)  
	{  
		d1 += c.charAt(i)*(10-i);  
	}  
	if (d1 == 0){  
	v = true;  
	return false;  
	}  
	d1 = 11 - (d1 % 11);  
		if (d1 > 9) d1 = 0;  
			if (dv.charAt(0) != d1)  
			{  
		v = true; 
		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)  
	{  
	v = true; 
	return false;  
	}  
	if (!v) { 
	return true; 
	} 

	
}

function formatarCPF (campo,teclapres) { 
	var tecla = teclapres.keyCode;  
	if ((tecla < 48) || (tecla > 57)) {
		return false;
	} 
	vr = campo.value;  
	vr = vr.replace( '-', '' );  
	vr = vr.replace( '.', '' );  
	vr = vr.replace( '.', '' );  
	tam = vr.length; 
	 
	if (tam < 11 && 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 ){  
	 		campo.value = vr ; }  
	 	if ( (tam > 2) && (tam <= 5) ){  
	 		campo.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }  
	 	if ( (tam >= 6) && (tam <= 8) ){  
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ; }  
	 	if ( (tam >= 9) && (tam <= 11) ){  
	 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ; }  
	}

}

function validarCNPJ(CNPJ){ 
	if (CNPJ != ''){ 
		if (!verificarCNPJ(CNPJ)){ 
			alert('CNPJ Inválido!'); 
			txtCNPJ.value=''; 
			txtCNPJ.focus(); 
		} 
	} 
} 

function verificarCNPJ(c) { 
        CNPJ = c; 
        erro = new String; 
        if (CNPJ.length < 18) erro += "? necessarios preencher corretamente o numero do CNPJ!"; 
        if ((CNPJ.charAt(2) != '.') || (CNPJ.charAt(6) != '.') || (CNPJ.charAt(10) != '/') || (CNPJ.charAt(15) != '-')){ 
            if (erro.length == 0) erro += "E' necessarios preencher corretamente o numero do CNPJ!"; 
        } 
        //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)) erro += "A verificacao de CNPJ suporta apenas numeros!";     
        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])){ 
            return false; 
        } 
        if (erro.length > 0){ 
            alert(erro); 
   		document.formulario.txtCNPJ.value=""; 
			document.formulario.txtCNPJ.focus(); 
            return false; 
        } else { 
        } 
        return true; 
} 

function formatarCNPJ (campo,teclapres) { 
	vr = campo.value;  
	vr = vr.replace( '-', '' );  
	vr = vr.replace( '/', '' );  
	vr = vr.replace( '.', '' );  
	vr = vr.replace( '.', '' );  
	tam = vr.length;  
		if ( tam <= 2 ){  
	 		campo.value = vr ; }  
	 	if ( (tam > 2) && (tam <= 5) ){  
	 		campo.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, tam ) ; }  
	 	if ( (tam >= 6) && (tam <= 8) ){  
	 		campo.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '.' + vr.substr( 5, tam ) ; }  
	 	if ( (tam >= 9) && (tam <= 12) ){  
	 		campo.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '.' + vr.substr( 5, 3 ) + '/' + vr.substr( 8, tam ) ; }  
	 	if ( (tam >= 13) && (tam <= 14) ){  
	 		campo.value = vr.substr( 0, 2 ) + '.' + vr.substr( 2, 3 ) + '.' + vr.substr( 5, 3 ) + '/' + vr.substr( 8, 4 ) + '-' + vr.substr( 12, tam ) ; }  
}    
  
function FormataValor(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	var vr = 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 ){ 
	 		campo.value = vr ; }
	 	tam = tam - 1;
	 	if ( (tam > 2) && (tam <= 5) ){
	 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		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) ){
	 		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) ){
	 		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 ) ;}
	}
}

function validaData(pValor,nome){
	if(document.form.elements[nome].value!='' && validarDataYYYY(pValor)=='F'){
		alert('Data incorreta!');
		document.form.elements[nome].value='';
		document.form.elements[nome].focus();
	}
}
 
function CaixaAlta(fsValor, foForm, foNome) { 
	if (window.event.keyCode >= 65 && window.event.keyCode <= 90){
		x = new String(document.forms[foForm].elements[foNome].value);
		document.forms[foForm].elements[foNome].value = x.toUpperCase();
	}
} 

function CaixaBaixa(fsValor, foForm, foNome) { 
	if (window.event.keyCode >= 65 && window.event.keyCode <= 90){
		x = new String(document.forms[foForm].elements[foNome].value);
		document.forms[foForm].elements[foNome].value = x.toLowerCase();
	}
} 


function validaEmail(Email){
	var filter = /^(([a-zA-Z0-9_-])+(([\.\])+([a-zA-Z0-9_-]{0,1})))+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
	var arrayEmail = Email.split(";"); //Separa os email 
	for (var i=0;i < arrayEmail.length; i++){ //varre a lista de emails 
		if ( !filter.test(arrayEmail[i]) ){ 
			return false; //se tiver erro sai com false 
		}
		else{ 
			return true; // se nao achou erro retorrna verdadeiro 
		}
	}
} 

function formatarMask(e,src,mask) {
    if(window.event) { _TXT = e.keyCode; } 
    else if(e.which) { _TXT = e.which; }
    if(_TXT > 47 && _TXT < 58) { 
 		var i = src.value.length; var saida = mask.substring(0,1); var texto = mask.substring(i)
 	if (texto.substring(0,1) != saida) { src.value += texto.substring(0,1); } 
    	return true; } else { if (_TXT != 8) { return false; } 
 	else { return true; }
    }
}


function sumirCombo(){
	for (i=0;i<document.form.elements.length;i++){
		if (document.form.elements.type == "select"){
			document.form.elements.visibility="hidden";
		}
	}
}


