/*
funcoes/comuns.js

Funcoes comuns de javascript

*/

//==============================================================================================
//Abaixo, três funções para mostrar um relógio na barra de status
var timerID = null;
var timerRunning = false;

function stopclock (){
        if(timerRunning)
                clearTimeout(timerID);
        timerRunning = false;
}

function showtime() {
        var now = new Date();
        var hours = now.getHours();
        var minutes = now.getMinutes();
        var seconds = now.getSeconds()
        var timeValue = "" + ((hours >12) ? hours -12 :hours)
        timeValue += ((minutes < 10) ? ":0" : ":") + minutes
        timeValue += ((seconds < 10) ? ":0" : ":") + seconds
        timeValue += (hours >= 12) ? " PM" : " AM"

        window.status = timeValue;

        timerID = setTimeout("showtime()",1000);
        timerRunning = true;
}

function startclock () {
        stopclock();
        showtime();
}
//Aqui finaliza as três funções para mostrar um relógio na barra de status
//==============================================================================================

//Função para abrir uma nova página em popup. Usar da seguinte maneira:
//javascript:na_open_window('_blank', 'nomeDaPagina.php', 410, 170, 250, 140, 0, 0, 0, 0, 0)
function na_open_window(name, url, left, top, width, height, toolbar, menubar, statusbar, scrollbar, resizable)
{
// Parâmetros:
// name - identificador da janela
// url - endereco da pagina que sera aberta
// left - canto esquerdo da janela
// top - canto superior da janela
// width - largura da janela
// height - altura da janela
// toolbar - exibe barra de ferramentas do browser (1-sim; 0-nao)
// menubar - exibe o menu do browser (1-sim; 0-nao)
// statusbar - exibe a barra de status do browser (1-sim; 0-nao)
// scrollbar - exibe barras de rolagem no browser (1-sim; 0-nao)
// resizable - permite que o tamanho da janela seja alterado (1-sim; 0-nao)
toolbar_str = toolbar ? 'yes' : 'no';
menubar_str = menubar ? 'yes' : 'no';
statusbar_str = statusbar ? 'yes' : 'no';
scrollbar_str = scrollbar ? 'yes' : 'no';
resizable_str = resizable ? 'yes' : 'no';
// Manter o comando abaixo na mesma linha
window.open(url, name, 'left='+left+',top='+top+',width='+width+',height='+height+',toolbar='+toolbar_str+',menubar='+menubar_str+',status='+statusbar_str+',scrollbars='+scrollbar_str+',resizable='+resizable_str);
}

//==============================================================================================

//função para validação de e-mail
function valida_email()
{
  <!--
  if (document.form.email.value.indexOf('@', 0) == -1 || 
  document.form.email.value.indexOf('.', 0) == -1)
  {
    alert("E-mail invalido!");
    document.form.email.focus();
    document.form.email.value="";
	return false 
  }
}

//==============================================================================================

//função para validar CPF
// PAra chamar a função, utilizar este comando: onBlur="Verifica_campo_CPF(this)"
function Verifica_campo_CPF(campo) {
var CPF = document.form._CPF.value; // Recebe o valor digitado no campo

// Aqui começa a checagem do CPF
var POSICAO, I, SOMA, DV, DV_INFORMADO;
var DIGITO = new Array(10);
DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

// Desemembra o número do CPF na array DIGITO
for (I=0; I<=8; I++) {
  DIGITO[I] = CPF.substr( I, 1);
}

// Calcula o valor do 10º dígito da verificação
POSICAO = 10;
SOMA = 0;
   for (I=0; I<=8; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[9] = SOMA % 11;
   if (DIGITO[9] < 2) {
        DIGITO[9] = 0;
}
   else{
       DIGITO[9] = 11 - DIGITO[9];
}

// Calcula o valor do 11º dígito da verificação
POSICAO = 11;
SOMA = 0;
   for (I=0; I<=9; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[10] = SOMA % 11;
   if (DIGITO[10] < 2) {
        DIGITO[10] = 0;
   }
   else {
        DIGITO[10] = 11 - DIGITO[10];
   }

// Verifica se os valores dos dígitos verificadores conferem
DV = DIGITO[9] * 10 + DIGITO[10];
   if (DV != DV_INFORMADO) {
      alert('CPF inválido');
      document.form._CPF.value = '';
      document.form._CPF.focus();
      return false;
   } 
}

//==============================================================================================

// Função para formatação de qualquer tipo de campo (telefone, cpf, cep, cgc ...)
// usar: ## => para representar números separados poor "." , "-" , "/" , etc... 
function formatar(src, mask) 
{
  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);
  }
}
//==============================================================================================

//Funções para tabelas escondidas
//Função para mostrar a tabela escondida de Endereços, no cadastro de alunos
function mostraEnderecos() {
    document.getElementById('enderecos').style.top = 200;
    document.getElementById('enderecos').style.left = 180;
    document.getElementById('enderecos').style.display = "inline";
}

//Função para mostrar a tabela escondida de Contatos, no cadastro de alunos
function mostraContatos() {
    document.getElementById('contatos').style.top = 200;
    document.getElementById('contatos').style.left = 180;
    document.getElementById('contatos').style.display = "inline";
}
//Função para mostrar a tabela escondida de documentos, no cadastro de alunos
function mostraDocumentos() {
    document.getElementById('documentos').style.top = 200;
    document.getElementById('documentos').style.left = 180;
    document.getElementById('documentos').style.display = "inline";
}

//Função para esconder novamente as tabelas escondidas
function cancelar(){
  document.getElementById('enderecos').style.display = "none";	//tabela de endereços
  document.getElementById('contatos').style.display = "none";	//tabela de contatos
  document.getElementById('documentos').style.display = "none";	//tabela de documentos
}

//abaixo, três funções que servem para impedir que um usuário tente fazer consulta com mais de um valor
//na página  "principal.php?v_menu=pesquisaInicial", onde é permitido consultar apenas por 
//CPF, OU Matrícula, OU Nome
function pesqCpf(){
		window.document.form.Matricula.value="";
		window.document.form.Nome.value="";
}
function pesqMatricula(){
		window.document.form.CPF.value="";
		window.document.form.Nome.value="";
}
function pesqNome(){
		window.document.form.CPF.value="";
		window.document.form.Matricula.value="";
}


function verificaValor(){

var cpf = window.document.form.CPF.value
var matricula = window.document.form.Matricula.value
var nome = window.document.form.Nome.value

if ((cpf=="") && (matricula=="") && (nome==""))

  {
    alert("Informe ao menos um campo para a Pesquisa!");
    window.document.form.CPF.focus();
	return false
  }
}