function get(id){
  return document.getElementById(id);
}

var emailValido = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;

var numeroValido = /^\d+$/;

var loginCtrl = 0;
var senhaCtrl = 0;

function LimpaLogin(campo){
  if ((campo.id=='login')&&(!loginCtrl)){
    Limpa(campo);
    loginCtrl=1;
  }else if ((campo.id=='passwd')&&(!senhaCtrl)){
    Limpa(campo);
    senhaCtrl=1;
  }


}

function Limpa(campo){
  campo.value="";
}

function ValidaLogin(){
  if ((get('login').value=="")|| (get('passwd').value=="")){
    alert("Preencha os campos LOGIN e SENHA");
    get('login').focus();
    return false;
  }

  return true;
}

function ValidaEmail(id){
  campo = get(id);
  if(!emailValido.test(campo.value)){
    return false;
  }
  return true;
}

function ValidaForm(idForm){
  form = get(idForm);

  nome = form.nome.value;
  endereco = form.endereco.value;
  email = form.email.value;
  telefone1 = form.telefone1.value;
  telefone2 = form.telefone2.value;
  mensagem = form.mensagem.value;

  var erro="";
  tempI=0;

  if(nome==""){ erro="o NOME"; tempI=1; }
  else if(endereco=="") { erro="o ENDERECO"; tempI=1; }
  else if (email=="") { erro="o E-MAIL"; tempI=1; }
  else if((telefone1=="")&&(telefone2=="")) { erro="o TELEFONE"; tempI=1; }
  else if (mensagem=="") {erro="a MENSAGEM"; tempI=1; }

  if(tempI){ alert("Preencha "+erro); return false; }

  if((email!="")&&(!emailValido.test(email))){
    alert("Preencha o E-MAIL corretamente");
    return false;
  }

  if(!((numeroValido.test(telefone1))&&(numeroValido.test(telefone2i)))) {
    alert("Preencha o TELEFONE corretamente");
    return false;

  }

}


function ValidaFormEnvioEmail(){
  form = get('formEmail');

  nome_destinatario = form.nome_destinatario.value;
  email_destinatario = form.email_destinatario.value;

  var erro="";
  tempI=0;

  if(nome_destinatario==""){ erro="o NOME do DESTINATÁRIO"; tempI=1; }
  else if(email_destinatario==""){ erro="o E-MAIL do DESTINATÁRIO"; tempI=1; }

  if(tempI){ alert("Preencha "+erro); return false; }

  if(!emailValido.test(email_destinatario)){
    alert("Preencha o E-MAIL do DESTINATÁRIO corretamente");
    return false;
  }

}

function ValidaFormEnvioProposta(){
  form = get('formProposta');
  get('data').disabled = false;

  var nome_destinatario = form.nome_destinatario.value;
  var email_destinatario = form.email_destinatario.value;
  var data_faturamento = form.data_faturamento.value;

  var erro="";
  tempI=0;

  if(nome_destinatario==""){ erro="o NOME do DESTINATÁRIO"; tempI=1; }
  else if(email_destinatario==""){ erro="o E-MAIL do DESTINATÁRIO"; tempI=1; }
  else if(data_faturamento==""){ erro="a DATA do FATURAMENTO"; tempI=1; }

  if(tempI){ alert("Preencha "+erro); return false; }

  if(data_faturamento>31){
    alert("Preencha a DATA do FATURAMENTO corretamente");
    return false;
  }

  if(!emailValido.test(email_destinatario)){
    alert("Preencha o E-MAIL do DESTINATÁRIO corretamente");
    return false;
  }

  var inputs = document.getElementsByTagName('input');
  for(i=0; i<inputs.length; i++){
    if((inputs[i].id.split('_')[0] == "horas") && (inputs[i].value==0)){
      get('qtd_'+inputs[i].id.split('_')[1]).value = 0;
    }
  }
  return true;
}

function addEvent(obj, evt, func) {
   if (obj.attachEvent) {
     return obj.attachEvent(("on"+evt), func);
   } else if (obj.addEventListener) {
     obj.addEventListener(evt, func, true);
     return true;
   }
   return false;
}

function XMLHTTPRequest() {

   try {
     return new XMLHttpRequest(); // FF, Safari, Konqueror, Opera, ...
   } catch(ee) {
     try {
       return new ActiveXObject("Msxml2.XMLHTTP"); // activeX (IE5.5+/MSXML2+)
     } catch(e) {
       try {
         return new ActiveXObject("Microsoft.XMLHTTP"); // activeX (IE5+/MSXML1)
       } catch(E) {
         return false; // doesn't support
       }
     }
   }
}

function buscarEndereco() {

   var campos = {
     cep1: get('cep1'),
     cep2: get('cep2'),
     logradouro: get('rua'),
     bairro: get('bairro'),
     cidade: get('cidade'),
     uf: get('uf')
   };

   if(campos.cep1.value.length<5) return;

   campos.logradouro.disabled=true;
   campos.bairro.disabled=true;
   campos.cidade.disabled=true;
   campos.uf.disabled=true;

   var ajax = XMLHTTPRequest();

  var url = "/ajax/cep.php?cep="+campos.cep1.value+campos.cep2.value;

   ajax.open("GET", url, true);
   ajax.onreadystatechange = function() {
     if (ajax.readyState == 1) {
       campos.logradouro.value = "carregando...";
       campos.bairro.value = "carregando...";
       campos.cidade.value = "carregando...";
       campos.uf.value = "carregando...";

    } else if (ajax.readyState == 4) {
      var r = eval(unescape(ajax.responseText));
      campos.uf.disabled = false;
      campos.cidade.disabled = false;  
      campos.bairro.disabled = false;
      campos.logradouro.disabled = false;
      campos.uf.value = resultadoCEP.uf;
      campos.cidade.value = resultadoCEP.cidade;
      campos.bairro.value = resultadoCEP.bairro;
      campos.logradouro.value = resultadoCEP.tipo_logradouro+' '+resultadoCEP.logradouro;  
      if(resultadoCEP.resultado!=0){
        get('numero').focus();
      }else{
        campos.logradouro.value="";
        campos.logradouro.focus();
      }
      
     }
   };
  ajax.send(null);
}

function CarregaEnviaProposta(id){
  get('enviarproposta_'+id).style.display='';
}

function VerifyEvent(event){

	var obj_keycode = ((event.keyCode) ? event.keyCode : event.which);

	return ((obj_keycode != 9 && obj_keycode != 16 && obj_keycode != 17 && obj_keycode != 18 && obj_keycode != 20 && obj_keycode != 35 && obj_keycode != 36 && obj_keycode != 37 && obj_keycode != 38 && obj_keycode != 39 && obj_keycode != 40 && obj_keycode != 45 && obj_keycode != 46) ? false : true);

}

function SetFocus(obj_form,str_form_element,str_form_to_set,event){

	if(obj_form.elements[str_form_element].value.length == obj_form.elements[str_form_element].maxLength){

		if(!VerifyEvent(event)){

			obj_form.elements[str_form_to_set].focus();
			obj_form.elements[str_form_to_set].select();

		}

	}

}

var bln_is_ie = (document.all && navigator.plugins.length == 0 && navigator.userAgent.indexOf('Win') != -1) ? true : false;


function IsNum(event,obj_form_element){

	var obj_keycode = ((event.keyCode) ? ((!bln_is_ie && !document.all) ? event.charCode : event.keyCode) : event.which);



	if(!bln_is_ie && document.all){if(VerifyEvent(event) || obj_keycode == 46 || obj_keycode == 33 || obj_keycode == 34){return false;};}

	if(bln_is_ie){if(VerifyEvent(event) || obj_keycode == 96 || obj_keycode == 97 || obj_keycode == 98 || obj_keycode == 99 || obj_keycode == 100 || obj_keycode == 101 || obj_keycode == 102 || obj_keycode == 103 || obj_keycode == 104 || obj_keycode == 105){return false;}}

	if(bln_is_ie || !(event.ctrlKey)){

		if(obj_keycode < 32){return true};

		if(obj_keycode > 127){return false};

		if(obj_keycode < 48 || obj_keycode > 57){alert('Atenção: ' + ((get('lbf_' + obj_form_element.name)) ? 'o campo ' + get('lbf_' + obj_form_element.name).firstChild.nodeValue : 'este campo') + ' deve conter um valor numérico.');obj_form_element.focus();return false;}

	}

}

function ValidaCPF() {
  cpf = get('cpf').value;
  if ((cpf.indexOf('.')==3)&&(cpf.length==14)){
    cpfTmp = cpf.substring(0,3)+cpf.substring(4,7)+cpf.substring(8,11)+cpf.substring(12,14);
    cpf=cpfTmp;
  }
  else if (cpf.length==12){
    cpf=cpf.substring(0,9)+cpf.substring(10,12);
  }
  erro = new String;
  if (cpf.length < 11) erro += "Número do CPF inválido! \n\n";
  var nonNumbers = /\D/;
  if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
  if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
    erro += "Número de CPF inválido"
  }
  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 +="Número de CPF inválido";
  }
  
  if (erro.length > 0){
    return false;
  }
  
  return true;
}

function ValidaFormCadastroUsuario(){
  var formulario = document.getElementById('formCadastroFuncionario');
  var i=0;
  for (i=0; i<formulario.elements.length; i++){
    switch(formulario.elements[i].name){
      case('complemento'): break;
      case('telefone2'): break;
      case('ddd2'): break;
      case('cpf'): j=ValidaCPF(formulario.elements[i]); break;
      case('email'): j=ValidaEmail(formulario.elements[i].id); break;
      default: j=formulario.elements[i].value.length; break;
    }

    if(!j){ 
      alert("Preencha corretamente o campo "+formulario.elements[i].name.toUpperCase());
      formulario.elements[i].focus();
      formulario.elements[i].select();
      return false;
    }
  }

 return true;

}

function VerificaLogin(local){
  var ajax = XMLHTTPRequest();
  var url = "/ajax/consulta-login.php?login="+local.value;

  ajax.open("GET", url, true);
  ajax.onreadystatechange = function() {
    if (ajax.readyState == 4) {
      eval(ajax.responseText); 

      if(result){
        get('validaLogin').src='/arquivos/errado.gif';
        get('login_novo').className='formError';
        get('validaLoginSpan').innerHTML='login existente';
      }else{
        get('validaLogin').src='/arquivos/certo.gif';
        get('login_novo').className='form';
        get('validaLoginSpan').innerHTML='';
      }
    }
  };

  ajax.send(null);

}

function abrir(){
	document.getElementById('popup').style.display = 'block';
}

function fechar(){
	document.getElementById('popup').style.display = 'none';
}

