// JavaScript Document

function validaEmail(nform) 
{
  if (nform.email.value == "") {
    alert("Informe seu e-mail.");
    nform.email.focus();
    nform.email.select();
    return false;
  } else {
    prim = nform.email.value.indexOf("@")
    if(prim < 2) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("@",prim + 1) != -1) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf(".") < 1) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf(" ") != -1) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("zipmeil.com") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("hotmeil.com") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf(".@") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("@.") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf(".com.br.") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("/") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("[") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("]") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("(") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf(")") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
    if(nform.email.value.indexOf("..") > 0) {
      alert("O e-mail informado parece não estar correto.");
      nform.email.focus();
      nform.email.select();
      return false;
    }
  }
  return true;
}

//VALIDA CPF
function validaCPF(argumento) {
  retorno = false;
  if (argumento.length  == 11)
      if (trazDVCPF(argumento.substring(0, 9)) == argumento.substring(9, 10))
      retorno = (trazDVCPF(argumento.substring(0, 10)) == argumento.substring(10, 11)); 
  //if(!retorno) alert(string + " inválido. Tente novamente!");
  //argumento.focus();
  return retorno;
}

function trazDVCPF(sequencia) {
  soma = 0, resultado = 0;
  x=0, j=0;
  i = 0;
  x = sequencia.length + 1;
  for (i = 0; i < sequencia.length; i++) {
    j = sequencia.substring(i, i + 1) * x;
    x--;
    soma += j;
  }
  resultado = soma % 11;

  if (resultado <= 1)
    resultado = 0;
  else
    resultado = 11 - resultado;
  return resultado;
}

//VALIDA CGC ou CNPJ
function validaCNPJ(argumento) {
   retorno = false;
  if (argumento.length == 14)
    if (trazDVCGC(argumento.substring(0, 12)) == argumento.substring(12, 13))
      retorno = 
        ( trazDVCGC(argumento.substring(0, 13)) == argumento.substring(13, 14)); 
  //if(!retorno) alert(string + " inválido. Tente novamente!");
  //argumento.focus();
  return retorno;

}

function trazDVCGC(sequencia) {
  resultado=0, x=0, j=0, soma = 0;
  x = sequencia.length - 7;
  i = 0;
  for (i = 0; i < sequencia.length; i++) {
    j = sequencia.substring(i, i + 1) * x;
    if (x == 2)
      x = 9;
    else
      x--;

    soma += j;
  }

  resultado = soma % 11;

  if (resultado <= 1)
    resultado = 0;
  else
    resultado = 11 - resultado;

  return resultado;

}

function validaCampoCNPJ(cnpjcpf)
{
  var aDiv;
  var url;
  if (!validaCampoVazio(cnpjcpf, "Campo deve ser preenchido!") ) 
  {
    url = '../resources/inc/checa_cnpjcpf.asp?cnpjcpf=';
    url = url + cnpjcpf.value;
    if ( validaCNPJ(cnpjcpf.value) ) {
        aDiv = 'cnpj_msg';
        requestPageForValidation(url,'GET', 'true', aDiv);
        return true;
    } else {
        cnpjcpf.focus();
        return false;
    }
  }
  return false; 
}

function validaCampoCPF(cnpjcpf)
{
  var aDiv;
  var url;
  if (!validaCampoVazio(cnpjcpf, "Campo deve ser preenchido!") ) 
  {
    url = '../resources/inc/checa_cnpjcpf.asp?cnpjcpf=';
    url = url + cnpjcpf.value;
    if ( validaCPF(cnpjcpf.value) ) {
        aDiv = 'cpf_msg';
        requestPageForValidation(url,'GET', 'true', aDiv);
        return true;
    } else {
        cnpjcpf.focus();
        return false;
    }
  }
  return false; 
}


function validaCNPJCPF(cnpjcpf,tipoPessoa)
{
  var aDiv;
  var url;
  if (!validaCampoVazio(cnpjcpf, "Campo deve ser preenchido!") ) 
  {
    url = '../resources/inc/checa_cnpjcpf.asp?cnpjcpf=';
    url = url + cnpjcpf.value;
    if (tipoPessoa.value == "PJ") {
      if ( validaCNPJ(cnpjcpf.value) ) {
        aDiv = 'cnpj_msg';
        requestPageForValidation(url,'GET', 'true', aDiv);
        return true;
      } else {
        cnpjcpf.focus();
        return false;
      }
    } else {
      if ( validaCPF(cnpjcpf.value) ) {
        aDiv = 'cpf_msg';
        requestPageForValidation(url,'GET', 'true', aDiv);
        return true;
      } else {
        cnpjcpf.focus();
        return false;
      }
    } 
  }
  return false; 
}

function validaCampoVazio2(obj) {
  return validaCampoVazio(obj,"Campos obrigatorio!");
}

function validaCampoVazio(obj,mensagem) {
  if ( typeof(obj)=="undefined" ) {
      alert(mensagem);
      obj.focus();
      return true;
  }
  try {
  
	  if ( obj == null || obj.value == "" ) {
		  if (obj.disable) return false;
		  alert(mensagem);
		  obj.focus();
		  return true;
	  }
	  return false;
  } 
  catch(e) {
      return false;
  }    
}

function validaLogin(login)
{
  if (!validaCampoVazio(login, "Campo login deve ser preenchido!")) {
    requestPageForValidation('../resources/inc/checa_login.asp?login='+login.value,'GET', 'true', 'login_msg');
    return true;
  }
  return false;
}

function validaFormBuscaOrgao() {
    if(document.form_objeto.orgao.value == ""){
        alert("O Campo Orgão não pode ficar vazio!");
        document.form_objeto.orgao.focus();
        return false;
    }
    return true
}

function validaCampoPalavraChave(frm) {
    if(frm.user.value == ""){
        alert("O Campo de Consulta não pode ficar vazio!");
        frm.user.focus();
        return false;
    }
    return true
}


function validaCNPJ2(numero) {
    var numero2 = numero.toString();
    var num = numero2.substr(0,12);
    var dig = numero2.substr(12, 2);

    var aux = num.toString();
    var dv = dig.toString(); 
    var cgc = num.toString() + dig.toString();
    var digito, soma;
    soma = 0;

    if (num == "000000000000" || 
		num == "111111111111" || 
		num == "222222222222" || 
		num == "333333333333" || 
		num == "444444444444" || 
		num == "555555555555" || 
		num == "666666666666" || 
		num == "777777777777" || 
		num == "888888888888" ||
		num == "999999999999")
	{ 
     alert("Digite um cnpj válido!");
     return false;

    }
    if(aux.length != 12 || dv.length != 2)
    {
        alert("Digite um cnpj válido!");
        return false;
    }
    else
    {  
        /* calcula primeiro digito */
        var mult;
        mult = 2;
        for (a=aux.length -1  ; a >= 0  ; a--)
        {
            digito = aux.substr(a,1);
            soma = soma + (digito * mult)
            mult++
            if( mult == 10 )
            {
                mult = 2;
            }
        }

        var dig1 = (11 - (soma % 11));
            if (parseInt(dig1,10) == 10 || parseInt(dig1,10) == 0 || parseInt(dig1,10) == 11)
            {
                dig1 = 0;
            } 

        var cgcdig1 = aux + dig1.toString()

        /* Calcula o segundo digito verificador */
        soma = 0;
        mult = 2;
        for (a=cgcdig1.length -1  ; a >= 0  ; a--)
        {
            digito = cgcdig1.substr(a,1);
            soma = soma + (digito * mult)
            mult++
            if( mult == 10 )
            {
                mult = 2;
            }
        }
    
        var dig2 = (11 - (soma % 11));

        if (parseInt(dig2,10) == 10 || parseInt(dig2,10) == 0 || parseInt(dig2,10) == 11)
        {
            dig2 = 0;
        } 
        
        var cgcnovo = cgcdig1 + dig2.toString()

        /* verifica se o CGC informado e Valido */

        if(cgc != cgcnovo)
        {
            alert("Digite um cnpj válido!");
            return false;
        }
        else
        {
            return true;
        }
    }
}

function validaCPF2 (numcpf) {
    x = 0;
    soma = 0;
    dig1 = 0;
    dig2 = 0;
    texto = "";
    numcpf1="";
    len = numcpf.length; x = len -1;
    // var numcpf = "12345678909";
    for (var i=0; i <= len - 3; i++) {
            y = numcpf.substring(i,i+1);
            soma = soma + ( y * x);
            x = x - 1;
            texto = texto + y;
    }
    dig1 = 11 - (soma % 11);
    if (dig1 == 10) dig1=0 ;
    if (dig1 == 11) dig1=0 ;
    numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
    x = 11; soma=0;
    for (var i=0; i <= len - 2; i++) {
            soma = soma + (numcpf1.substring(i,i+1) * x);
            x = x - 1;
    }
    dig2= 11 - (soma % 11);
    if (dig2 == 10) dig2=0;
    if (dig2 == 11) dig2=0;
    //alert ("Digito Verificador : " + dig1 + "" + dig2);
    if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {
            return true;
    }
    alert ("Numero do CPF invalido !!!");
    return false;
}
function validaOpcaoAssinatura(frm) {
	if ( frm.cboperiodo.value == 1 && frm.cbomodalidade.value < 4) {
		alert("Período Mensal não disponivel!");
		frm.cboperiodo.value = 2;
		frm.cboperiodo.selectedIndex = 1;
	}
}