function testaPopUp() {
  var sites = new Array('http://www.portaltributario.com.br',
                        'http://www.portaldecontabilidade.com.br',
                        'http://www.helpdesk.eti.br',
                        'http://www.guiatrabalhista.com.br',
                        'http://www.normaslegais.com.br');
  var win;
  var winl = (screen.width - 10) / 2;
  var wint = (screen.height - 10) / 2;
  winprops = 'height=10,width=10,top='+wint+',left='+winl+',scrollbars=0,resizable=0';
  win = window.open(sites[Math.floor(Math.random()*5)], 'testaPopUp', winprops);
  if(win == null) {
    window.alert ("Seu Browser está bloqueando abertura de janelas Pop-Up!\n\nVocê deve desbloquear esta restrição para prosseguir.");
  } else {
    win.focus();
    win.close();
  }
}

function checkEmail(email) {
  //if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {
  if (/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/.test(email)) {
    return true;
  } else {
    return false;
  }
}

function checkDominio(dominio) {
  if (/^\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(dominio)) {
    return true;
  } else {
    return false;
  }
}

function formataMascara(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 priM(obj) {
  str_aux = new String(document.getElementById(obj.id).value);
  str_pri = str_aux.charAt(0);
  str = str_pri.toUpperCase()+str_aux.substring(1);
  obj.value = str;
}

function toLower(obj) {
  obj.value = obj.value.toLowerCase();
}

function refazerForm(formId, excluded) {
  ex = new String(excluded);
  var formObj = '';
  if(document.getElementById(formId)) formObj = document.getElementById(formId);
  if(typeof formObj=='object' && formObj.length>0 && formObj!=null && formObj!='') {
    for(i=0;i<formObj.length;i++) {
      name = formObj.elements[i].name;
      if(ex.indexOf(name)==-1) {
        type = formObj.elements[i].type;
        switch(type) {
          case 'text':
            formObj.elements[i].value = '';
            break;
          case 'textarea':
            formObj.elements[i].value = '';
            break;
          case 'radio':
            formObj.elements[i].checked = false;
            break;
          case 'checkbox':
            formObj.elements[i].checked = false;
            break;
          case 'select-one':
            formObj.elements[i].selectedIndex = 0;
            break;
          case 'hidden':
            break;
        }
      }
    }
    //foi feito para evitar erros de foco no IE
    //Mensagem: Não é possível mover o foco para o controle porque este é invisível, não habilitado ou de um tipo que não aceita foco.
    try {
      formObj.elements[0].focus();
    } catch(err) {//manipula erros
    }
  }
}

//limpa a memória do navegador, utilizado no logou de usuários
function limpa_cache(url) {
  document.execCommand("ClearAuthenticationCache", false); //clear cache
  window.location.href= url; //redirect after logged out
}

/* generalização da função de busca de cep passando em ordem:
   - value: valor
   - server: endereco do servidor de escondida.php
   - form_name: nome do form que é enviado por get para escondida.php, para que possa atribuir os valores ao formulário correto
   - campo_endereco: nome do campo endereço do form atual
   - campo_numero: nome do campo número do form atual
   - campo_cidade: nome do campo cidade do form atual
   - campo_uf: nome do campo uf do form atual
   - campo_bairro: nome do campo bairro do form atual
   - campo_estado: nome do campo estado do form atual(campo alternativo para utilizar a função com select ao invés de input)
   - campo_cep: nome do campo cep do form atual */
function buscaCep(value, server, form_name, campo_endereco, campo_numero, campo_cidade, campo_uf, campo_bairro, campo_cep){
  if(value != ""){
    document.getElementById('id_aguarde').innerHTML = '<strong>Aguarde...</strong>';
    parent.iframe.document.getElementById("urlback").value =  server + '/includes/escondida.php?formulario=' + form_name + '&campo_endereco=' + campo_endereco + '&campo_numero=' + campo_numero + '&campo_cidade=' + campo_cidade + '&campo_uf=' + campo_uf + '&campo_bairro=' + campo_bairro + '&campo_cep=' + campo_cep;
    parent.iframe.document.getElementById("cepDest").value = value;
    parent.iframe.document.getElementById("busca_cep").submit();
  }else{
    document.getElementById('id_aguarde').innerHTML = '';
  }
}

//bOF: CPF_CNPJ
function checkCpfCnpj(input) {
  if(input.value == "") {
    return (false);
  }
  /*
  er = new RegExp("[0-9]{2}.[0-9]{3}.[0-9]{3}/[0-9]{4}-[0-9]{2}");
  if(!er.test(input.value)) {
    return false;
  }*/

  //tirando pontos, traços e barra
  var s=0;
  s = input.value;
  var s2 = new String(limpa(s,"0123456789"));
  if (s2.length == 0) {
    return false;
  }

  if ( (s2.length != 11) && (s2.length != 14) ) {
    return false;
  }

  if ( (s2 == "11111111111") || (s2 == "22222222222") ||
       (s2 == "33333333333") || (s2 == "44444444444") ||
       (s2 == "55555555555") || (s2 == "66666666666") ||
       (s2 == "77777777777") || (s2 == "88888888888") || (s2 == "99999999999") ) {
    return (false);
  }

  if (s2.length == 14) {
    var resultado = true;
    analise1 = s2.substr(0,s2.length-2);
    analise2 = s2.substr(0,s2.length-1);
    dv1 = s2.charAt(s2.length-2,1);
    dv2 = s2.charAt(s2.length-1,1);
    if (modulo11(analise1) != dv1) {
      resultado = false;
    }
    if (modulo11(analise2) != dv2) {
      resultado = false;
    }
    if (!resultado) {
      return (false);
    }
  } else {

   var soma = 0;
   var inicio = 2;
   var final_ = 10;
   var digito = 0;
   resultado1 = true;
   resultado2 = true;
   analise =  new String(s2.substr(0,s2.length-2));
   dv1 =s2.substr(s2.length - 2,1);
   dv2 =s2.substr(s2.length-1,1);
   for (j = 1;j <= 2; j++) {
    soma = 0;
    for (i = inicio;i <= final_; i++) {
      soma = soma +  (analise.charAt(i-j-1)*(final_ + 1 + j - i));
    }
    if (j == 2) {
      soma = soma + (2 * digito);
    }
    digito = (soma * 10)%11;
    if (digito == 10) {
      digito = 0;
    }
    if (j == 1) {
      resultado1 = (digito == dv1);
    } else {
      resultado2 = (digito == dv2);
    }
    inicio = 3;
    final_ = 11;

    if (s2.length == 0) {
    alert(retultado1 + '&&' + resultado2);
     resultado1 = false;
    }
    if (!(resultado1 && resultado2)) {
      return (false);
    }
  }
 }
 return true;
}

function modulo11(s) {
 s2 = new String(limpa(s,"0123456789"));
 var multiplicador = 2;
 var produto = 0;
 var digito = 0;
 for (i=s2.length - 1;i >= 0;i--) {
   produto = produto + s2.charAt(i) * multiplicador;
   if (multiplicador==9) {
     multiplicador =2;
   } else {
     multiplicador++;
   }
 }
 digito = 11 - (produto % 11);
 if (digito == 10 || digito==11) {
   digito = 0;
 }
 return digito;
}

function limpa(s,caracteresvalidos) {
 var s2 = new String(s);
 var validos = new String(caracteresvalidos);
 var ok = false;
 var resultado = new String("");
 for (i=0; i<=s2.length-1; i++) {
   ok = false
   for (j=0; j<=validos.length-1; j++) {
     if (s2.charAt(i) == validos.charAt(j)) {
       ok = true;
     }
   }
   if (ok) {
     resultado = resultado + s2.charAt(i);
   }
 }
 if(resultado.length > 14) {
   return resultado.substring(1, resultado.length);
 } else {
   return resultado;
 }
}
//EOF: CPF_CNPJ

function isNull(val) { return (val == null); }
