// função para validar email
//_________________________________________________________________________________________________

function validarEmail(form,classe){
	var errados = Array()
	form.email.className = classe
	if (!(/^\w+([\_.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(form.email.value))){
		errados[0] = "email"
		exibirErros(classe,form,errados)
		return false
	}
	return true
}





//_________________________________________________________________________________________________
// função para trocar o foco do campo automaticamente
//_________________________________________________________________________________________________

function trocaCampo(campo1,campo2,limite){
	if(campo1.value.length == limite){
	campo2.value = ''
	campo2.focus()
    } 
 } 
 
 
 
 
 
//_________________________________________________________________________________________________
// função para validar formularios
//_________________________________________________________________________________________________

function validarFormulario(form,classe){
	var errados = Array()
	var erro = false
	var args = form.length
	for(cont=0;cont<args;cont++){
		if((form.elements[cont].type!="checkbox")&&(form.elements[cont].type!="radio")){
			form.elements[cont].className = classe
		}
		switch(form.elements[cont].alt){
			case "email": if (!(/^\w+([\_.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(form.elements[cont].value))){ 
						  errados.push(form.elements[cont].name)
						  erro = true
						  }	
						  break
			case "cnpj":  if(!validarCNPJ(form.elements[cont].value)){
						  errados.push(form.elements[cont].name)
						  erro = true
						  }	
						  break	
			case "cpf":  if(!validarCPF(form.elements[cont].value)){
						  errados.push(form.elements[cont].name)
						  erro = true
						  }	
						  break	
			case "senha": if((form.elements[cont].value!=form.confirmaSenha.value)||(form.elements[cont].value=='')){
						  errados.push(form.elements[cont].name)
						  errados.push("confirmaSenha")
						  erro = true
						  }
						  break
			case "cep":   re = /\d{5}([-])\d{3}/
						  if(!re.test(form.elements[cont].value)){
						  	errados.push(form.elements[cont].name)
						  	erro = true
						  }	
						  break
			case "data":  re =/^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/
						  if(!re.test(form.elements[cont].value)){
						  	errados.push(form.elements[cont].name)
						  	erro = true
						  }	
						  break
			case "tel":  re = /^\(\d{2}\)\ \d{4}\-\d{4}$/
						  if(!re.test(form.elements[cont].value)){
						  	errados.push(form.elements[cont].name)
						  	erro = true
						  }	
						  break						  
			case "requerido": if(form.elements[cont].value==''){
              				  	errados.push(form.elements[cont].name)
						  		erro = true
						  	  }	
						  	  break						  
		}
	}
	if(erro){
		exibirErros(classe,form,errados)
		return false
	}
	for(cont=0;cont<args;cont++){
		if(form.elements[cont].disabled){
			form.elements[cont].disabled = false
		}
	}
}





//_________________________________________________________________________________________________
// Função para exibir erros do formulário
//_________________________________________________________________________________________________

function exibirErros(classe,form,errados){
	var args1 = form.length
	var args2 = form.length
	for(cont=0;cont<args1;cont++){
		for(cont2=0;cont2<args2;cont2++){
			if(form.elements[cont].name==errados[cont2]) form.elements[cont].className = "invalido"
	 	}
	}
	alert("Preencha os campos corretamente")
} 





//_________________________________________________________________________________________________
//função para abrir janelas popup centralizada na página independente da resolução
//_________________________________________________________________________________________________

function abrirpopup(pagina,tamVert,tamHoriz) {
	h = tamVert
	w = tamHoriz
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	features = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',fullscreen=no,toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=yes,resizable=0'
	win = window.open(pagina,"tabela",features);
}





//_________________________________________________________________________________________________
//função para limpar um campo texto quando clica (box)
//_________________________________________________________________________________________________

function limparCampo(campo){
	campo.value=''
}





//_________________________________________________________________________________________________
//função para mascarar campo de telefone
//_________________________________________________________________________________________________

function AjustarTelefone(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		if (Objeto.value.indexOf("-") == -1)
	  {
      if ((event.keyCode = 45) && ((Objeto.value.length == 9) || (Objeto.value.length == 8)))
      {
        Objeto.value = Objeto.value + "-";
      }
	  }
		event.returnValue = false;
	} 
	else 
	{	 	  
		if (Objeto.value.length == 0)
		{
			Objeto.value = "(" + Objeto.value;
		}
		else if ((Objeto.value.length == 1) && (Objeto.value.indexOf("(") == -1))
		{
		  Objeto.value = "(" + Objeto.value;
		}
		else if (Objeto.value.length == 3)
		{
			Objeto.value = Objeto.value + ") ";
		}				
		else if (Objeto.value.length == 4)
		{
			Objeto.value = Objeto.value + " ";
		}
		else if ((Objeto.value.length == 9) && (Objeto.value.indexOf("-") == -1))
    {
      Objeto.value = Objeto.value + "-";
    }
    else if ((event.keyCode!=13)&&(Objeto.value.length == 13) && (Objeto.value.indexOf("-") == 8))
		{
		  event.returnValue = false;
		}
		else if ((Objeto.value.length == 14)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para mascarar campo de CEP
//_________________________________________________________________________________________________

function AjustarCep(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
	else 
	{ 
		if(Objeto.value.length == 5)
		{		
			Objeto.value = Objeto.value + "-";
		}
		else if((Objeto.value.length == 9)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para aceitar somente numeros
//_________________________________________________________________________________________________

function numeros(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
}





//_________________________________________________________________________________________________
//função para mascarar campo de CPF
//_________________________________________________________________________________________________

function AjustarCPF(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
	else 
	{ 
		if ((Objeto.value.length == 3) || (Objeto.value.length == 7))
		{
			Objeto.value = Objeto.value + "." ;
		}
		else if (Objeto.value.length == 11)
  	{		
			Objeto.value = Objeto.value + "-" ;
		}
		else if ((Objeto.value.length == 14)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para mascarar campo de CNPJ
//_________________________________________________________________________________________________

function AjustarCNPJ(Objeto)
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57)))
	{
		event.returnValue = false;
	} 
	else 
	{ 
		if((Objeto.value.length == 2) || (Objeto.value.length == 6))
		{
			Objeto.value = Objeto.value + "." ;
		}
		else if(Objeto.value.length == 10)
  	{		
			Objeto.value = Objeto.value + "/" ;
		}		
		else if(Objeto.value.length == 15)
  	{		
			Objeto.value = Objeto.value + "-" ;					
		}
		else if((Objeto.value.length == 18)&&(event.keyCode!=13))
  	{		
			event.returnValue = false;
		}		
	}		
}





//_________________________________________________________________________________________________
//função para mascarar campo de Data
//_________________________________________________________________________________________________

function AjustarData(Objeto) 
{
	if ((event.keyCode!=13)&&((event.keyCode < 48) || (event.keyCode > 57))) 
	{
		event.returnValue = false; 
	}
	else 
	{
		if ((Objeto.value.length == 2) || (Objeto.value.length == 5))
		{
			Objeto.value = Objeto.value + "/";
		}
		else if ((Objeto.value.length == 10)&&(event.keyCode!=13))
		{
		  event.returnValue = false;
		}
	}
}





//_________________________________________________________________________________________________
//função para desabilitar ou habilitar campos
//_________________________________________________________________________________________________

function habilitarCampos(){
	var args = arguments.length
	for(cont=0;cont<args;cont++){
		if(arguments[cont].disabled==false){
			arguments[cont].disabled=true
		}
		else{
			arguments[cont].disabled=false
		}
	}
}





//_________________________________________________________________________________________________
//função para validar CPF
//_________________________________________________________________________________________________

function validarCPF(numeroCPF) {
	cpf = numeroCPF.substr(0,3)
	cpf+= numeroCPF.substr(4,3)
	cpf+= numeroCPF.substr(8,3)
	cpf+= numeroCPF.substr(12,2)	
    erro = new String;
    if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n"; 
    if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
    	erro += "Numero de CPF invalido!"
    }
    var a = [];
    var b = new Number;
    var c = 11;
    for (i=0; i<11; i++){
    	a[i] = cpf.charAt(i);
        if (i < 9) b += (a[i] * --c);
    }
    if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
    b = 0;
    c = 11;
    for (y=0; y<10; y++) b += (a[y] * c--); 
    if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
    if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
    	erro +="Digito verificador com problema!";
    }
    if (erro.length > 0){
        return false;
	}
    return true;
}





//_________________________________________________________________________________________________
//função para validar CNPJ
//_________________________________________________________________________________________________

function validarCNPJ(numeroCNPJ) {
	CNPJ = numeroCNPJ;
    erro = new String;
    if (CNPJ.length < 17) erro += "É necessario preencher corretamente o número do CNPJ1! \n\n"; 
    if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
    	if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ2! \n\n";
    }
                 //substituir os caracteres que não são números
   	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; 
   	CNPJ = CNPJ. replace (".","");
    CNPJ = CNPJ. replace (".","");
    CNPJ = CNPJ. replace ("-","");
    CNPJ = CNPJ. replace ("/","");
    var nonNumbers = /\D/;
    if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n"; 
    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])){
    	erro +="Dígito verificador com problema!";
    }
    if (erro.length > 0){
	    return false;
    }
    return true;
}






//_________________________________________________________________________________________________
//função para verificar erros na pagina
//_________________________________________________________________________________________________

function verificaErro(erro){
	switch(erro){
		case 1: alert("Este e-mail já está cadastrado em nosso sistema.")
				break;
		case 2: alert("Este e-mail já está cadastrado em nosso sistema.\n\tO CEP digitado é inválido.")
				break;
		case 3: alert("O CEP digitado é inválido.")
				break;
		case 4: alert("\tEste email foi cadastrado recentemente.\nConfirme o cadastro atraves da confirmação enviada para seu email.")
				location='cadastroClientes.php'
				break;
	}
}






//_________________________________________________________________________________________________
//função para alterar tipo de cadastro pessoa física/jurídica
//_________________________________________________________________________________________________

function alterarTipoCadastro(tipo,email,cep)
{
	if(tipo=='F'){
		location='cadastroClienteF.php?email='+email+'&cep='+cep
	}
	else{
		location='cadastroClienteJ.php?email='+email+'&cep='+cep
	}
}





//_________________________________________________________________________________________________
//função para rolar a tela
//_________________________________________________________________________________________________

function rolar(pixVert,pixHor)
{
	self.scrollBy(pixHor,pixVert)
}
