// JavaScript para funções mais usadas

//Verificando se o campo é numérico quando preenchido
function validarNumero(campo,msg){
	
	if( (campo.value != "") && (isNaN(campo.value)) ){

		if(msg != ""){
			alert(msg);
		}	
		campo.focus();	
		return(true);

	}else{
		return(false);
	}
	
}

//Verificando campo de data DIA
function validarDataDia(campo,minimo,maximo,msg){

	//Tratando o campo dia
	if( (campo.value != "") && ( (campo.value > maximo) || (campo.value < minimo) || (campo.value.length != 2) ) ){
		
		if(msg != ""){
			alert(msg);
		}	
	
		campo.focus();	
		return(true);
	
	}

}

//Verificando campo data MÊS
function validarDataMes(campo,minimo,maximo,msg){

	//Tratando o campo dia
	if( (campo.value != "") && ( (campo.value > maximo) || (campo.value < minimo) || (campo.value.length != 2) ) ){
		
			if(msg != ""){
				alert(msg);
			}	
	
			campo.focus();	
			return(true);
	
	}

}

//Verificando campo data ANO
function validarDataAno(campo,minimo,maximo,msg){

	//Tratando o campo dia
	if( (campo.value != "") && ( (campo.value > maximo) || (campo.value < minimo) || (campo.value.length != 4) ) ){
		
		if(msg != ""){
			alert(msg);
		}	
	
		campo.focus();	
		return(true);
	
	}

}

//Verificando se o campo é vazio
function validarVazio(campo,msg){
	
	//Para teste de campos cheios
	if( campo.value == "" ){
		
		if(msg != ""){
			alert(msg);
		}
			
		campo.focus();
		return(true);
			
	}else{
		return(false);
	}

}

//Verificando se o campo foi selecionado
function validarSelecao(campo,msg){

	if( campo.selectedIndex=="-1" ){

		if(msg != ""){
			alert(msg);
		}
		campo.focus();
		return(true);
	
	}else{
		return(false);
	}

}
//Verificando o número de opções selecionadas
function validarNumSelecao(campo,numOpcoes,msg){

	var numSelecionados = 0;
	
	//Contando o número de seleções
	for (i=0; i<campo.options.length; i++){
	
		if(campo.options[i].selected == true){
			numSelecionados++;
		}
	}

	if( numSelecionados > numOpcoes ){
		
		if(msg != ""){
			alert(msg);
		}
		
		campo.focus();
		return(true);
	}else{
		return(false);
	}

}

//Verificando se o campo é uma url válida
function validarURL(campo){

	//Convertendo os caracteres para minúsculo
	objString = new String(campo.value);
	var valor = objString.toLowerCase();
	
	if( (valor.indexOf("http://")==-1) && (campo.value != "") ){
		alert("Por favor, preencha este campo com uma URL válida.");
		campo.focus();
		return(true);
	}else{
	
		if( (campo.value.indexOf(".")==-1) && (campo.value != "") ){
			alert("Por favor, preencha este campo com uma URL válida.");
			campo.focus();
			return(true);
		}else{
		
			return(false);
			
		}
	
	}
	
}

function validarCPF(campo,msg){

	var conf=0
	var temp
	var temp1
	var cont
	var dg1
	var dg1_1
	var dg2
	var dg2_2
	var digits = "0123456789"
      
	for (var i=0;i<campo.value.length;i++){
		temp1 = temp;
		temp = campo.value.substring(i,i+1);
			
		if (temp==temp1){
			conf++;
		}
			
	}
      
	if (conf==10){
		alert(msg);
		campo.focus();
		return(true);
	}
		
	cont=0;
		
	for (var i=0;i<campo.value.length;i++){
		temp=campo.value.substring(i,i+1);
		cont++;
	}

	if (cont!=0){
        
		if (cont!=11){
			alert(msg);
			campo.focus();
			return(true);
		}else{
			cont=1;
			dg1=0;
			dg2=0;
            
			for (var i=0;i<campo.value.length;i++){
				temp=Math.abs(campo.value.substring(i,i+1));
			
				if (cont==1){
					dg1=dg1+Math.abs(temp*10);
				}
				if (cont==2){
					dg1=dg1+Math.abs(temp*9);
				}
				if (cont==3){
					dg1=dg1+Math.abs(temp*8);
				}
				if (cont==4){
					dg1=dg1+Math.abs(temp*7);
				}
				if (cont==5){
					dg1=dg1+Math.abs(temp*6);
				}
				if (cont==6){
					dg1=dg1+Math.abs(temp*5);
				}
				if (cont==7){
					dg1=dg1+Math.abs(temp*4);
				}
				if (cont==8){
					dg1=dg1+Math.abs(temp*3);
				}
				if (cont==9){
					dg1=dg1+Math.abs(temp*2);
				}
				if (cont==10){
					dg1_1=temp;
				}
				if (cont==11){
					dg2_2=temp;
				}
				
				cont++;
            
			}
            
			dg1=11-(dg1-((Math.floor(dg1/11))*11));
            
			if (dg1==10 || dg1==11){
				dg1=0;
            }
			
            if (dg1!=dg1_1){
				alert(msg);
				campo.focus();
				return(true);
			}else{
				cont=1
			
				for (var i=0;i<campo.value.length;i++){
					temp=Math.abs(campo.value.substring(i,i+1))
					
					if (cont==1){
                   		dg2=dg2+Math.abs(temp*11);
					}
					if (cont==2){
						dg2=dg2+Math.abs(temp*10);
					}
					if (cont==3){
						dg2=dg2+Math.abs(temp*9);
					}
					if (cont==4){
						dg2=dg2+Math.abs(temp*8);
					}
					if (cont==5){
						dg2=dg2+Math.abs(temp*7);
					}
					if (cont==6){
						dg2=dg2+Math.abs(temp*6);
					}
					if (cont==7){
						dg2=dg2+Math.abs(temp*5);
					}
					if (cont==8){
						dg2=dg2+Math.abs(temp*4);
					}
					if (cont==9){
						dg2=dg2+Math.abs(temp*3);
					}
					if (cont==10){
						dg2=dg2+Math.abs(temp*2);
					}
					
					cont++;
					
				}
				
				dg2=11-(dg2-((Math.floor(dg2/11))*11));
				
				if (dg2==10 || dg2==11){
					dg2=0;
				}
				
				if (dg2!=dg2_2){
					alert(msg);
					campo.focus();
					return(true);
				}
			}
		}
	}
}




function validarCNPJ(campo){

	var temp
	var cont
	var dg1
	var dg1_1
	var dg2
	var dg2_2
    
	cont = campo.value.length;
	
	if (cont!=0){
		
		if (cont!=14){
			alert("CNPJ Inválido");
			campo.focus();
			return(true);
		}
        
		if ( (campo.value=='00000000000000') || (campo.value=='11111111111111') || (campo.value=='22222222222222') || (campo.value=='33333333333333') || (campo.value=='44444444444444') || (campo.value=='55555555555555') || (campo.value=='66666666666666') || (campo.value=='77777777777777') || (campo.value=='88888888888888') || (campo.value=='99999999999999') ){
			alert("CNPJ Inválido");
			campo.focus();
			return(true);
		}
		
		cont=1
		dg1=0
		dg2=0
            
		for (var i=0;i<campo.value.length;i++){
			temp=Math.abs(campo.value.substring(i,i+1))
            if (cont==1){
               dg1=dg1+Math.abs(temp*5)}
            if (cont==2){
               dg1=dg1+Math.abs(temp*4)}
            if (cont==3){
               dg1=dg1+Math.abs(temp*3)}
            if (cont==4){
               dg1=dg1+Math.abs(temp*2)}
            if (cont==5){
               dg1=dg1+Math.abs(temp*9)}
            if (cont==6){
               dg1=dg1+Math.abs(temp*8)}
            if (cont==7){
               dg1=dg1+Math.abs(temp*7)}
            if (cont==8){
               dg1=dg1+Math.abs(temp*6)}
            if (cont==9){
               dg1=dg1+Math.abs(temp*5)}
            if (cont==10){
               dg1=dg1+Math.abs(temp*4)}
            if (cont==11){
               dg1=dg1+Math.abs(temp*3)}
            if (cont==12){
               dg1=dg1+Math.abs(temp*2)}
            if (cont==13){
               dg1_1=temp}
            if (cont==14){
               dg2_2=temp}
            cont=cont+1
         }
         dg1=11-(dg1-((Math.floor(dg1/11))*11))
		if (dg1==10 || dg1==11){
			dg1=0
		}
		
		if (dg1!=dg1_1){
			alert("CNPJ Inválido")
            campo.focus()
			return(true)
		}
         
		cont=1
		
		for (var i=0;i<campo.value.length;i++){
            temp=Math.abs(campo.value.substring(i,i+1))
            if (cont==1){
               dg2=dg2+Math.abs(temp*6)}
            if (cont==2){
               dg2=dg2+Math.abs(temp*5)}
            if (cont==3){
               dg2=dg2+Math.abs(temp*4)}
            if (cont==4){
               dg2=dg2+Math.abs(temp*3)}
            if (cont==5){
               dg2=dg2+Math.abs(temp*2)}
            if (cont==6){
               dg2=dg2+Math.abs(temp*9)}
            if (cont==7){
               dg2=dg2+Math.abs(temp*8)}
            if (cont==8){
               dg2=dg2+Math.abs(temp*7)}
            if (cont==9){
               dg2=dg2+Math.abs(temp*6)}
            if (cont==10){
               dg2=dg2+Math.abs(temp*5)}
            if (cont==11){
               dg2=dg2+Math.abs(temp*4)}
            if (cont==12){
               dg2=dg2+Math.abs(temp*3)}
            if (cont==13){
               dg2=dg2+Math.abs(temp*2)}
            cont=cont+1
         }
         dg2=11-(dg2-((Math.floor(dg2/11))*11))
			if (dg2==10 || dg2==11){
	         dg2=0
   		}
		if (dg2!=dg2_2){
            alert("CNPJ Inválido")
            campo.focus()
			return(true)
		}
      }

}

//Verificando se o e-mail é válido
function validarEmail(campo,msg){

	var erro = 0;
	
	if( (campo.value.indexOf("@")==-1) && (campo.value != "") ){
		erro = 1;		
	}else{
		if( (campo.value.indexOf(".")==-1) && (campo.value != "") ){
			erro = 2;
		}else{
			if( campo.value.indexOf("@") != campo.value.lastIndexOf("@") ){
				erro = 3;
			}
		}
	}

	if( erro != 0 ){
		if( msg != "" ){
			alert(msg);
		}	
		campo.focus();
		return(true);
	}

}

function validarConf(campo1,campo2,msg){

	if( (campo1.value != campo2.value) && (campo1.value != "") && (campo2.value != "") ){
		
		if(msg != ""){
			alert(msg)			
		}

		campo2.focus();
		return(true);
	}

}

function validarValor(campo,valor){

	if( (campo.value != valor) ){
		alert("Por favor, preencha este campo com um valor válido!")
		campo.focus();
		return(true);
	}

}