﻿//-- declarando globais
var q;
var formu;
var dataok;
var mailok;
var clidata;
var climail;

function verradio(){
    var nome1 = document.getElementById("nome1");
    var nome2 = document.getElementById("nome2");
    var franquia = document.getElementById("rfran");
    var multi = document.getElementById("rmult");
    if(franquia.checked){
            nome2.disabled = "disabled";
            nome1.disabled = "";
    }else if (multi.checked){
            nome1.disabled = "disabled";
            nome2.disabled = "";
    }
}
//-- validação dos forms
function valida(q){
    var u = document.URL;
    
//
//
    var confirma = true;
    if(q=="contato"){
       formu = document.getElementById("form_contato");
       climail = document.getElementById("email");
	   telefones = document.getElementById("telefones").value;
       //clidata = document.getElementById("data_nasc");
       var idcamp = new Array("nome", "endereco", "uf", "cidade", "mensagem");
       //
       var indexok = true;
       for(var c=0;c<idcamp.length;c++){
            var vercamp = document.getElementById(idcamp[c]);
            indexok = (vercamp.value == "" || vercamp.value == " ") ? false : indexok;
       }
       //
       if ((!indexok) || ((climail.value == "") && (telefones == ""))){
          confirma = false;
          alert("Há campos não preenchidos ou com dados inválidos!");
       }
	   else{
           if (climail.value != ""){
			   fmail();
			   //fdataout();
			   confirma = (!mailok) ? false : confirma;
			   //confirma = (!dataok) ? false : confirma;
		   }
	   }
	   
       if(confirma){
            formu.submit();
       }
    }
    //
    //
	
    else if(q=="receita"){
	   
	   formu = document.getElementById("form_receita");
       climail = document.getElementById("email");
       
       var idcamp = new Array("nome", "email", "cidade", "endereco", "uf", "titulo", "ingredientes", "receita");
       //
       var indexok = true;
       for(var c=0;c<idcamp.length;c++){
            var vercamp = document.getElementById(idcamp[c]);
            indexok = (vercamp.value == "" || vercamp.value == " ") ? false : indexok;
       }
       //
       if(!indexok){
          confirma = false;
          alert("Há campos não preenchidos ou com dados inválidos!");
       }
	   else{
       fmail();
       //fdataout();
       confirma = (!mailok) ? false : confirma;
       //confirma = (!dataok) ? false : confirma;
	   }
	   
       if(confirma){
            formu.submit();
       }

    }
	//
    //
	
    else if(q=="editar_cliente"){
	   
	   formu = document.getElementById("form_cadastro_cliente");
       climail = document.getElementById("email");
	   
	   var pass = document.getElementById("pass").value;
	   var rpass = document.getElementById("rpass").value;
       
	   var datanasc = document.getElementById("datanasc").value;
       
	   var idcamp = new Array("nome", "cpf", "rg", "datanasc", "sexo", "endereco", "bairro", "cidade", "uf", "telefone", "email", "cep");
       //
       var indexok = true;
       for(var c=0;c<idcamp.length;c++){
            var vercamp = document.getElementById(idcamp[c]);
            indexok = (vercamp.value == "" || vercamp.value == " ") ? false : indexok;
       }
       //
       if(!indexok){
          confirma = false;
          alert("Há campos não preenchidos ou com dados inválidos!");
       }
	   else{
       fmail();
       //fdataout();
       confirma = (!mailok) ? false : confirma;
       //confirma = (!dataok) ? false : confirma;
	   }
	   
	  
	   fdataout(datanasc);
       confirma = (!dataok) ? false : confirma;
	  
	   if (pass != "" || rpass != "") {
		   if (pass != rpass) {
			   
			   confirma = false;
			   alert("A senha não é igual a confirmação.");
			   
		   }
	   }
	   
	   
       if(confirma){
            formu.submit();
       }

    }
	//
    //
	//
    //
	
    else if(q=="cliente"){
	   
	   formu = document.getElementById("form_cadastro_cliente");
       climail = document.getElementById("email");
	   
	   var pass = document.getElementById("pass").value;
	   var rpass = document.getElementById("rpass").value;
       
	   var datanasc = document.getElementById("datanasc").value;
       
	   var idcamp = new Array("nome", "cpf", "rg", "datanasc", "sexo", "endereco", "bairro", "cidade", "uf", "telefone", "email", "pass", "rpass", "cep");
       //
       var indexok = true;
       for(var c=0;c<idcamp.length;c++){
            var vercamp = document.getElementById(idcamp[c]);
            indexok = (vercamp.value == "" || vercamp.value == " ") ? false : indexok;
       }
       //
       if(!indexok){
          confirma = false;
          alert("Há campos não preenchidos ou com dados inválidos!");
       }
	   else{
       fmail();
       //fdataout();
       confirma = (!mailok) ? false : confirma;
       //confirma = (!dataok) ? false : confirma;
	   }
	   
	   //if (! VerificaData(datanasc)) {
		   
	//	   confirma = false;
     //      alert("Data de nascimento inválida.");
		   
	//   }
	  
	   fdataout(datanasc);
       confirma = (!dataok) ? false : confirma;
	  
	   if (pass != rpass) {
		   
		   confirma = false;
           alert("A senha não é igual a confirmação.");
		   
	   }
	   
	   
       if(confirma){
            formu.submit();
       }

    }
	
	
    else if(q=="endereco"){
	   
	   formu = document.getElementById("form_altera_endereco");
       climail = document.getElementById("email");
	   
	   
	   var idcamp = new Array("endereco", "bairro", "cidade", "uf", "telefone", "cep");
       //
       var indexok = true;
       for(var c=0;c<idcamp.length;c++){
            var vercamp = document.getElementById(idcamp[c]);
            indexok = (vercamp.value == "" || vercamp.value == " ") ? false : indexok;
       }
       //
       if(!indexok){
          confirma = false;
          alert("Há campos não preenchidos ou com dados inválidos!");
       }
	   
	   
       if(confirma){
            formu.submit();
       }

    }
	
}
//
//
//
function VerificaData(data) {
  var DataEntrada = RetiraEspacos(data);
  var expReg = /^((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}$/;
  var aRet = true;
  if ((DataEntrada) && (DataEntrada.match(expReg)) && (DataEntrada != '')) {
    var dia = DataEntrada.substring(0,2);
    var mes = DataEntrada.substring(3,5);
    var ano = DataEntrada.substring(6,10);
		
    if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia > 30))
      aRet = false;
	else
      if ((ano % 4) != 0 && mes == 2 && dia > 28)
        aRet = false;
      else
        if ((ano%4) == 0 && mes == 2 && dia > 29)
          aRet = false;
  }  else  aRet = false;  

  return aRet;
}


//-- DATA
function fdata(){
    var v = clidata.value;
    var n = v.length;
    var l = v.substring(n-1, n);
    var isnum = false;
    for(var c=0; c<=9;c++){
       isnum = (l==c.toString()) ? true : isnum;
    }
    if(isnum){
       if(n==2){v+="/";}
       else if(n==4){
          if(l>1){  v = (l=="/")? v : v.substring(0, n-1);}
       }
       else if(n==5){
          var mes = v.substring(3, n);
          if(mes == 00 || mes > 12){ v = (l=="/")? v : v.substring(0, n-2);}
          else{ v+="/";}
       }
    }
    else{
       var dataok = true;
       v = (l=="/")? v : v.substring(0, n-1);
    }
    clidata.value = v;
}

function fdataout(v){
    dataok = true;
    var n = v.length;
    if(n!=10){
        alert("Data incompleta!");
        dataok = false;
    }
    else{
        var dia = v.substring(0, 2);
        var mes = v.substring(3, 5);
        if(dia>31 || dia==00){
            alert("Dia de Aniversário inválido!");
            dataok = false;
        }else if(mes>12 || mes == 00){
            alert("Mês de Aniversário inválido!");
            dataok = false;
        }else {dataok = true;}
    }
}
//-- EMAIL
function fmail(){
    mailok = true;
    //var climail = document.getElementById("email");
    var v = climail.value.toLowerCase();
    var n = v.length;
    var pa = v.indexOf("@");
    var ua = v.lastIndexOf("@");
    if(pa!=ua){
        alert("Endereço de email inválido. Duas ou mais '@'.")
        mailok = false;
    }
    else if(pa==0 || ua==n-1){
        alert("Endereço de email inválido!");
        mailok = false;
    }
    else{
        var charv = new Array("q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m", "-", "_", ".", "@");
        var dok = true;
        var uok = true;
        var domi = v.substring(pa+1, n);
        var user = v.substring(0, pa);
        //
        var din = domi.indexOf(".");
        var dinl = domi.lastIndexOf(".");
        if(din == - 1 || din == 0 || dinl == (domi.length-1)){ dok = false; }
        //
        var uip = user.indexOf(".");
        var uipl = user.lastIndexOf(".");
        if(uip == 0 || uipl == (user.length-1)){ uok = false; }
        if(!dok || !uok){
            alert("Endereço de email inválido!");
            mailok = false;
        }
        //
        for (var i=0;i<n;i++){
            var l = v.charAt(i);
            var charok = false;
            for(var c=0;c<=9;c++){
               if(l == c.toString()){ charok = true; }
            }
            for(var cc=0;cc<charv.length;cc++){
                if(l == charv[cc]){ charok = true; }
            }
            if(!charok){
               alert("Endereço de email com carácteres inválidos!");
               mailok = false;
            }
        }

    }
}