// JavaScript Document// EyeDea
//----------------------------------------
//popup
//----------------------------------------
function abreJanela(largura,altura,url) {
 direita = (screen.width - largura)/2
 topo = (screen.height - altura)/2
 window.open(url,'','width=' + largura + ',height=' + altura + ',top=' + topo + ', left=' + direita + 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=no')
}
//----------------------------------------
//limpa string : permite apenas numeros
//----------------------------------------
function limpa_stringNumero(S) // Deixa so os digitos no numero
{
      var Digitos = "0123456789";
      var temp = "";
      var digito = "";
      for (var i=0; i<S.length; i++)
      {
            digito = S.charAt(i);
            if (Digitos.indexOf(digito)>=0)
            {
                  temp=temp+digito
            }
      }
      return temp
}
function limpa_stringNT(S) // Deixa so os digitos no numero
{
      var Digitos = "0123456789-()";
      var temp = "";
      var digito = "";
      for (var i=0; i<S.length; i++)
      {
            digito = S.charAt(i);
            if (Digitos.indexOf(digito)>=0)
            {
                  temp=temp+digito
            }
      }
      return temp
}
function validar_num(campo)
{
      nome=campo.name
      num = limpa_stringNT(campo.value);
      campo.value = num;
}
//----------------------------------------
//verifica EMAIL
//----------------------------------------
function Validar_Email(email)
{
      if(email.length < 6) {
            return false;
      }
      var x = 0;
      for (var c=0;c<email.length;c++) {
            if (email.substring(c,c+1) == '@') {
                  x = c;
            }
      }
      var y = 0;
      if (x > 0) {
            for (c=x;c<email.length;c++) {
                  if (email.substring(c,c+1)=='.') {
                        y = c;
                        var valida = 1;
                  }
            }
            if (y > 0) {
                  var dominio = '';
                  for (c=x;c<y;c++) {
                        dominio = dominio + email.substring(1,c);
                  }
            }
      }
      else {
            return false;
      }                            
      if (y <= x+2){
            return false;
      }                       
      if (valida == 1){
            return true;
      }
}
//----------------------------------------
//Valida o cpf formatado com os pontos e traços
//----------------------------------------
function valida_cpf(CPF)
{     
      dig_1 = 0;
      dig_2 = 0;
      controle_1 = 10;
      controle_2 = 11;
      lsucesso = 1;
      
      if ((CPF.length != 14) || (CPF.substring(11, 12) != "-"))
      return false
      else
      {
      CPF = CPF.substring(0,3) + CPF.substring(4,7) + CPF.substring(8,14);
      for (i=0 ; i < 9 ; i++)
      {
            dig_1 = dig_1 + parseInt(CPF.substring(i, i+1) * controle_1);
            controle_1 = controle_1 - 1;
      }
      
      resto = dig_1 % 11;
      dig_1 = 11 - resto;
      
      if ((resto == 0) || (resto == 1)) dig_1 = 0;
      for ( i=0 ; i < 9 ; i++)
      {
            dig_2 = dig_2 + parseInt(CPF.substring(i, i + 1) * controle_2);
            controle_2 = controle_2 - 1;
      }
      dig_2 = dig_2 + 2 * dig_1;
      resto = dig_2 % 11;
      dig_2 = 11 - resto;
      
      if ((resto == 0) || (resto == 1)) dig_2 = 0;
      dig_ver = (dig_1 * 10) + dig_2;
      
      if (dig_ver != parseFloat(CPF.substring(CPF.length-2,CPF.length))) return false;
      }
      return true;
}
//----------------------------------------
//conta caracteres em campo input
//----------------------------------------
function f_ContCaracteres(objeto,nomeCampo,tamanhoCampo){
      var limite = tamanhoCampo;
      var erro = "Você ultrapassou o limite de ("+limite+") caracteres.";

      tamanho = objeto.value.length;
      if (tamanho>limite) {
            objeto.value = objeto.value.substring(0,limite);
            alert(erro);
      } 
      else 
      {
            document.getElementById(nomeCampo).innerHTML = (limite-objeto.value.length);
      }
}
//----------------------------------------
//Formatação para qualquer mascara
//----------------------------------------
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);
      }
}

/* 

Exemplos:
CEP
OnKeyPress="formatar(this, '#####-###')"
CPF
OnKeyPress="formatar(this, '###.###.###-##')"
DATA
OnKeyPress="formatar(this, '##/##/####')"
*/

//----------------------------------------
//formata telefone (31)2211-1122
//----------------------------------------
var n;
var p;
var p1;
function ValidatePhone(){
p=p1.value
if(p.length==2){
      //d10=p.indexOf('(')
      pp=p;
      d4=p.indexOf('(')
      d5=p.indexOf(')')
      if(d4==-1){
            pp="("+pp;
      }
      if(d5==-1){
            pp=pp+")";
      }
      //pp="("+pp+")";
      document.form1.telefone.value="";
      document.form1.telefone.value=pp;
}
if(p.length>2){
      d1=p.indexOf('(')
      d2=p.indexOf(')')
      if (d2==-1){
            l30=p.length;
            p30=p.substring(0,4);
            //alert(p30);
            p30=p30+")"
            p31=p.substring(4,l30);
            pp=p30+p31;
            //alert(p31);
            document.form1.telefone.value="";
            document.form1.telefone.value=pp;
      }
      }
if(p.length>5){
      p11=p.substring(d1+1,d2);
      if(p11.length>3){
      p12=p11;
      l12=p12.length;
      l15=p.length
      //l12=l12-3
      p13=p11.substring(0,3);
      p14=p11.substring(3,l12);
      p15=p.substring(d2+1,l15);
      document.form1.telefone.value="";
      pp="("+p13+")"+p14+p15;
      document.form1.telefone.value=pp;
      //obj1.value="";
      //obj1.value=pp;
      }
      l16=p.length;
      p16=p.substring(d2+1,l16);
      l17=p16.length;
      if(l17>3&&p16.indexOf('-')==-1){
            p17=p.substring(d2+1,d2+5);
            p18=p.substring(d2+5,l16);
            p19=p.substring(0,d2+1);
            //alert(p19);
      pp=p19+p17+"-"+p18;
      document.form1.telefone.value="";
      document.form1.telefone.value=pp;
      //obj1.value="";
      //obj1.value=pp;
      }
}
//}
setTimeout(ValidatePhone,100)
}
function getIt(m){
      n=m.name;
      //p1=document.forms[0].elements[n]
      p1=m
      ValidatePhone()
}
function testphone(obj1){
      p=obj1.value
      //alert(p)
      p=p.replace("(","")
      p=p.replace(")","")
      p=p.replace("-","")
      p=p.replace("-","")
      //alert(isNaN(p))
      if (isNaN(p)==true){
            alert("Verifique o campo telefone.");
            return false;
      }
}

//----------------------------------------
//fecha janela
//----------------------------------------
function fecharJanela(){
      window.close();
}

//----------------------------------------
//CNPJ
//----------------------------------------
function isNUMB(c)
{
      if((cx=c.indexOf(","))!=-1)
      {
            c = c.substring(0,cx)+"."+c.substring(cx+1);
      }
      if((parseFloat(c) / c != 1))
      {
            if(parseFloat(c) * c == 0)
            {
                  return(1);
            }
            else
            {
                  return(0);
            }
      }
      else
      {
            return(1);
      }
}

function LIMP(c)
 {
 while((cx=c.indexOf("-"))!=-1)
  {
  c = c.substring(0,cx)+c.substring(cx+1);
  }
 while((cx=c.indexOf("/"))!=-1)
  {
  c = c.substring(0,cx)+c.substring(cx+1);
  }
 while((cx=c.indexOf(","))!=-1)
  {
  c = c.substring(0,cx)+c.substring(cx+1);
  }
 while((cx=c.indexOf("."))!=-1)
  {
  c = c.substring(0,cx)+c.substring(cx+1);
  }
 while((cx=c.indexOf("("))!=-1)
  {
  c = c.substring(0,cx)+c.substring(cx+1);
  }
 while((cx=c.indexOf(")"))!=-1)
  {
  c = c.substring(0,cx)+c.substring(cx+1);
  }
 while((cx=c.indexOf(" "))!=-1)
  {
  c = c.substring(0,cx)+c.substring(cx+1);
  }
 return(c);
 }

function VerifyCNPJ(CNPJ)
 {
 CNPJ = LIMP(CNPJ);
 if(isNUMB(CNPJ) != 1)
  {
  return(0);
  }
 else
  {
  if(CNPJ == 0)
   {
   return(0);
   }
  else
   {
   g=CNPJ.length-2;
   if(RealTestaCNPJ(CNPJ,g) == 1)
    {
    g=CNPJ.length-1;
    if(RealTestaCNPJ(CNPJ,g) == 1)
     {
     return(1);
     }
    else
     {
     return(0);
     }
    }
   else
    {
    return(0);
    }
   }
  }
 }
function RealTestaCNPJ(CNPJ,g)
 {
 var VerCNPJ=0;
 var ind=2;
 var tam;
 for(f=g;f>0;f--)
  {
  VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind;
  if(ind>8)
   {
   ind=2;
   }
  else
   {
   ind++;
   }
  }
  VerCNPJ%=11;
  if(VerCNPJ==0 || VerCNPJ==1)
   {
   VerCNPJ=0;
   }
  else
   {
   VerCNPJ=11-VerCNPJ;
   }
 if(VerCNPJ!=parseInt(CNPJ.charAt(g)))
  {
  return(0);
  }
 else
  {
  return(1);
  }
 }
 

  function FormataCGC(Formulario, Campo, TeclaPres)
  {
    var tecla = TeclaPres.keyCode;
    var strCampo;
    var vr;
    var tam;
    var TamanhoMaximo = 14;
 
    eval("strCampo = document." + Formulario + "." + Campo);
 
    vr = strCampo.value;
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    vr = vr.replace(",", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace(".", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    vr = vr.replace("-", "");
    tam = vr.length;

    if (tam < TamanhoMaximo && tecla != 8)
    {
      tam = vr.length + 1;
    }

    if (tecla == 8)
    {
      tam = tam - 1;
    }

    if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105)
    {
      if (tam <= 2)
      {
        strCampo.value = vr;
      }
       if ((tam > 2) && (tam <= 6))
       {
         strCampo.value = vr.substr(0, tam - 2) + '-' + vr.substr(tam - 2, tam);
       }
       if ((tam >= 7) && (tam <= 9))
       {
         strCampo.value = vr.substr(0, tam - 6) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam);
      }
       if ((tam >= 10) && (tam <= 12))
       {
         strCampo.value = vr.substr(0, tam - 9) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam);
      }
       if ((tam >= 13) && (tam <= 14))
       {
         strCampo.value = vr.substr(0, tam - 12) + '.' + vr.substr(tam - 12, 3) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam);
      }
       if ((tam >= 15) && (tam <= 17))
       {
         strCampo.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam);
      }
    }
  } 

/*====================================================*\
                  IGOR QUIRINO DA SILVA 25/02/2008
\*====================================================*/

//----------------------------------------
// Validação de formulário
//----------------------------------------
function validaForm(input,aviso,avisoCritico,tipo)
      {
            if (tipo == "texto")
            {
                  if(input.value == "")
                  {
                        alert(aviso);
                        input.focus();
                        return false;
                  }
                  else
                  {
                        return true;
                  }
            }
            else if (tipo == "email")
            {
                  if(input.value == "")
                  {
                        alert(aviso);
                        input.focus();
                        return false;
                  }
                  else if(!Validar_Email(input.value))
                  {
                        alert(avisoCritico);
                        input.focus();
                        return false;
                  }
                  else
                  {
                        return true;
                  }
            }
            else if (tipo == "radio")
            {
                  controle = 0;
                  
                  for( var i = 0; i < input.length ;i++)
                  {
                        if(input[i].checked)
                        {
                             controle ++;
                             break;
                        }
                  }
                  if(controle == 0)
                  {
                        alert(aviso);
                        return false;
                        alert('HEY!');
                  }
                  else
                  {
                        return true;
                  }
            }
      }
/* VALIDA FORM
EXEMPLOS:
<form name="frmBrasil" id="frmBrasil" action="cadastro_exec.asp" method="post" onSubmit="return valida();">
function valida(){
      var x = document.frmBrasil;
      if (!validaForm(x.vch_name,"Preencha o campo Nome",null,"texto"))
            return false;
      if (!validaForm(x.vch_email,"Preencha o campo Email","Preencha coretamente o campo Email","email"))
            return false;
      if (!validaForm(x.vch_pass,"Preencha o campo Senha",null,"texto"))
            return false;
      return true;
}
*/

//----------------------------------------
// Máscara para qualquer formato
//----------------------------------------
function txtBoxFormat(objeto, sMask, OnlyNum, evtKeyPress) {
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

if(document.all) { // Internet Explorer
    nTecla = evtKeyPress.keyCode;
} else if(document.layers) { // Nestcape
    nTecla = evtKeyPress.which;
} else {
    nTecla = evtKeyPress.which;
    if (nTecla == 8) {
        return true;
    }
}

    sValue = objeto.value;

if(OnlyNum == "s")
{
      sValue = limpa_stringNT(sValue.toString());
}

    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( " ", "" );
    sValue = sValue.toString().replace( " ", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    mskLen = fldLen;

    while (i <= mskLen) {
      bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
      bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

      if (bolMask) {
        sCod += sMask.charAt(i);
        mskLen++; }
      else {
        sCod += sValue.charAt(nCount);
        nCount++;
      }

      i++;
    }

    objeto.value = sCod;

    if (nTecla != 8) { // backspace
      if (sMask.charAt(i-1) == "9") { // apenas números...
        return ((nTecla > 47) && (nTecla < 58)); }
      else { // qualquer caracter...
        return true;
      }
    }
    else {
      return true;
    }
  }
/*TXTBOFORMAT
 onkeypress="javascript: return txtBoxFormat(this, '99999-999','s',event)" //CEP
 onkeypress="javascript: return txtBoxFormat(this, '(099)9999-9999','s',event)" //TELEFONE

*/

//----------------------------------------
// Comparação entre dois campos
//----------------------------------------
function comparaCampos(campo1, campo2, avisoCritico)
{
      if (campo1.value != campo2.value)
      {
            alert(avisoCritico);
            campo1.value = "";
            campo2.value = "";
            campo1.focus();
            return false;
      }
      else
      {
            return true;
      }
}

//----------------------------------------
//Verifica se o campo contém somente letras e números
//----------------------------------------
function chkNum(campo)
{
	var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i < campo.value.length; i++)
	{
		temp = "" + campo.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no")
	{
		alert("Esse campo só aceita números.");
		campo.focus();
		campo.select();
		return false;
	}
	else
	{
		return true;
	}
}


//----------------------------------------
//Verifica se a data esta preenchida corretamente
//----------------------------------------
var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
var reDate4 = /^((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 reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
var reDate = reDate4;

function doDate(pStr, pFmt)
{
	//eval("reDate = reDate" + pFmt);
	alert(pStr);
	if (reDate.test(pStr)) {
		alert(pStr + " - data correta");
		return true;
	} else if (pStr != null && pStr != "") {
		alert(pStr + " - erro de formato. \nFormato correto: dd/mm/aaaa");
		return false;
	}
}


function check_date(date,msg) {
   var err = 0
   string = date
   var valid = "0123456789/"
   var ok = "yes";
   var temp;
   for (var i=0; i< string.length; i++) {
     temp = "" + string.substring(i, i+1);
     if (valid.indexOf(temp) == "-1") err = 1;
   }
   if (string.length != 10) err=1
   b = string.substring(3, 5)		// month
   c = string.substring(2, 3)		// '/'
   d = string.substring(0, 2)		// day 
   e = string.substring(5, 6)		// '/'
   f = string.substring(6, 10)	    // year
   if (b<1 || b>12) err = 1
   if (c != '/') err = 1
   if (d<1 || d>31) err = 1
   if (e != '/') err = 1
   if (f<1850 || f>2050) err = 1
   if (b==4 || b==6 || b==9 || b==11){
     if (d==31) err=1
   }
   if (b==2){
     var g=parseInt(f/4)
     if (isNaN(g)) {
         err=1 
     }
     if (d>29) err=1
     if (d==29 && ((f/4)!=parseInt(f/4))) err=1
   }
   if (err==1) {
   	if (msg == 'yes') {
		alert("Data inválida \n\nFormato correto: dd/mm/aaaa");
	}
    return false;
   }
   else {
   	//alert("Data correta");
    return true;
   }
}

