////////////////////////////////////////Valida o cpf 
  function ValidaCPF(CPF)
  {
    dig_1 = 0;
    dig_2 = 0;
    controle_1 = 10;
    controle_2 = 11;
    lsucesso = 1;
    numero = CPF;
    if (
         numero == "000000000-00" ||
         numero == "111111111-11" ||
         numero == "222222222-22" ||
         numero == "333333333-33" ||
         numero == "444444444-44" ||
         numero == "555555555-55" ||
         numero == "666666666-66" ||
         numero == "777777777-77" ||
         numero == "888888888-88" ||
         numero == "99999999-99" 
        )
    {
      return false;
    }    
    if ((numero.length != 12) || (numero.substring(9, 10) != "-"))
    {
      return false;
    }
    else
    {
      for (i=0 ; i < 9 ; i++)
      {
        dig_1 = dig_1 + parseInt(numero.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(numero.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(numero.substring(numero.length-2,numero.length)))
      {
        return false;
      }
    }
    return true;
  }       
////////////////////////////////////////
  function ValidaCNPJ(NroCNPJ) 
  {

    NroCNPJ = replace(NroCNPJ,"/","");
    NroCNPJ = replace(NroCNPJ,".","");
    NroCNPJ = replace(NroCNPJ,"-","");

    var dig1=0;
    var dig2=0;
    var x;
    var Mult1 = '543298765432';
    var Mult2 = '6543298765432';

    for(x=0; x<=11; x++) 
    {
      dig1 = dig1 +(parseInt(NroCNPJ.slice(x,x+1)) * parseInt(Mult1.slice(x,x+1)) ) ;
    }
    for(x=0; x<=12; x++) 
    {
      dig2 = dig2 + (parseInt(NroCNPJ.slice(x, x+1)) * parseInt(Mult2.slice(x,x+1)) );
    }


    dig1 = (dig1 * 10)%11;
    dig2 = (dig2 * 10)%11;

    if (dig1 == 10) {dig1 = 0;}
    if (dig2 == 10) {dig2 = 0;}

    if (dig1 != parseInt(NroCNPJ.slice(12, 13))) 
    {
      return false;
    } 
    else 
    {
      if (dig2 != parseInt(NroCNPJ.slice(13, 14))) 
      {
        return false;
      } 
      else 
      {
        return true;
      }
    }
  }
////////////////////////////////////////  
  function replace(string,text,by) 
  {
    // Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);

    if ((!i) && (text != string.substring(0,txtLength))) return string;
        if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
  }
////////////////////////////////////////
  function verificaPessoa()
  {     
    document.formulario.operacao.value = "Atualizar";
    document.action = "Loja_Dados.asp";
    document.formulario.submit();
  }
////////////////////////////////////////
	function Mascara(formato, keypress, objeto)
	{
	  campo = eval (objeto);
	  if (keypress == 13)
	  {
	    campo.blur();
	    return;
	  }
	  if (formato=='CPF')
		{
		  caracteres = '01234567890';
  		separacoes = 1;
	  	separacao1 = '-';
		  conjuntos = 2;
  		conjunto1 = 9;
	  	conjunto2 = 2;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
  		    (conjunto1 + conjunto2 + 1))
	  	{
		  	if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
	  }
	  if (formato=='CEP')
		{
		  caracteres = '01234567890';
		  separacoes = 1;
		  separacao1 = '-';
		  conjuntos = 2;
		  conjunto1 = 5;
		  conjunto2 = 3;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		      (conjunto1 + conjunto2 + 1))
			{
			  if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
		}
    if (formato=='CNPJ')
    {
      caracteres = '01234567890';
      separador1 = '.';
      separador2 = '/';
      separador3 = '-';
      conjunto1 = 2;
      conjunto2 = 6;
      conjunto3 = 10;
      conjunto4 = 15;
      if (caracteres.search(String.fromCharCode (keypress))!=-1 && caracteres.indexOf(String.fromCharCode (keypress)) > -1)
      {
        if (campo.value.length == conjunto1)
        {
          campo.value = campo.value + separador1;
        }
        if (campo.value.length == conjunto2)
        {
           campo.value = campo.value + separador1;
        }
        if (campo.value.length == conjunto3)
        {
          campo.value = campo.value + separador2;
        }
        if (campo.value.length == conjunto4)
        {
          campo.value = campo.value + separador3;
        }
      }
      else
      {
        event.returnValue = false;
      }
    }
	  if (formato=='DDD')
		{
		  caracteres = '01234567890';
		  separacoes = 0;
		  separacao1 = '';
		  conjuntos = 1;
		  conjunto1 = 2;
		  conjunto2 = 0;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		      (conjunto1 + conjunto2 + 0))
			{
			  if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
		}  
	  if (formato=='FONE')
		{
		  caracteres = '01234567890';
		  separacoes = 0;
		  separacao1 = '';
		  conjuntos = 1;
		  conjunto1 = 8;
		  conjunto2 = 0;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		      (conjunto1 + conjunto2 + 0))
			{
			  if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
		} 		  
	  if (formato=='RG')
		{
		  caracteres = '01234567890';
		  separacoes = 0;
		  separacao1 = '';
		  conjuntos = 1;
		  conjunto1 = 9;
		  conjunto2 = 0;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		      (conjunto1 + conjunto2 + 0))
			{
			  if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
		} 
	  if (formato=='CCM')
		{
		  caracteres = '01234567890';
		  separacoes = 0;
		  separacao1 = '';
		  conjuntos = 1;
		  conjunto1 = 18;
		  conjunto2 = 0;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		      (conjunto1 + conjunto2 + 0))
			{
			  if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
		} 
	  if (formato=='IE')
		{
		  caracteres = '01234567890';
		  separacoes = 0;
		  separacao1 = '';
		  conjuntos = 1;
		  conjunto1 = 18;
		  conjunto2 = 0;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		      (conjunto1 + conjunto2 + 0))
			{
			  if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
		} 		
	  if (formato=='NUMERO')
		{
		  caracteres = '01234567890';
		  separacoes = 0;
		  separacao1 = '';
		  conjuntos = 1;
		  conjunto1 = 20;
		  conjunto2 = 0;
		  if ((caracteres.indexOf(String.fromCharCode (keypress)) > -1 && caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		      (conjunto1 + conjunto2 + 0))
			{
			  if (campo.value.length == conjunto1) 
			    campo.value = campo.value + separacao1;
			}
		  else 
			  event.returnValue = false;
		} 		
		
  }
  
  VerifiqueTAB=true;
  function Mostra(quem, tammax) 
  {
	  if ( (quem.value.length == tammax) && (VerifiqueTAB) ) 
	  {
  		var i=0,j=0, indice=-1;
	  	for (i=0; i<document.forms.length; i++) 
	  	{
			  for (j=0; j<document.forms[i].elements.length; j++) 
			  {
				  if (document.forms[i].elements[j].name == quem.name) 
				  {
					  indice=i;
					  break;
				  }
			  }
			  if (indice != -1)
		         break;
		  }
		  for (i=0; i<=document.forms[indice].elements.length; i++) 
		  {
			  if (document.forms[indice].elements[i].name == quem.name) 
			  {
				  while ( (document.forms[indice].elements[(i+1)].type == "hidden") &&
						(i < document.forms[indice].elements.length) ) 
					{
							i++;
				  }
				  document.forms[indice].elements[(i+1)].focus();
				  VerifiqueTAB=false;
				  break;
			  }
		  }
	  }
  }
  
  function FormataReais(fld, milSep, decSep, e) 
  {
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) 
      return true;
    key = String.fromCharCode(whichCode);  // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) 
      return false;  // Chave inválida
    len = fld.value.length;
    for(i = 0; i < len; i++)
      if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
        break;
    aux = '';
    for(; i < len; i++)
      if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
        aux += fld.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) 
      fld.value = '';
    if (len == 1) 
      fld.value = '0'+ decSep + '0' + aux;
    if (len == 2) 
      fld.value = '0'+ decSep + aux;
    if (len > 2) 
    {
      aux2 = '';
      for (j = 0, i = len - 3; i >= 0; i--) 
      {
        if (j == 3) 
        {
          aux2 += milSep;
          j = 0;
        }
        aux2 += aux.charAt(i);
        j++;
      }
      fld.value = '';
      len2 = aux2.length;
      for (i = len2 - 1; i >= 0; i--)
        fld.value += aux2.charAt(i);
      fld.value += decSep + aux.substr(len - 2, len);
    }
    return false;
  }  

	function MascaraCEP (formato, keypress, objeto)
	{
	campo = eval (objeto);
	if (formato=='CEP')
		{
		caracteres = '01234567890';
		separacoes = 1;
		separacao1 = '-';
		conjuntos = 2;
		conjunto1 = 5;
		conjunto2 = 3;
		if ((caracteres.search(String.fromCharCode (keypress))!=-1) && campo.value.length < 
		(conjunto1 + conjunto2 + 1))
			{
			if (campo.value.length == conjunto1) 
			   campo.value = campo.value + separacao1;
			}
		else 
			event.returnValue = false;
		}
	}
	
//<!-- -->

  function PararTAB(quem) 
  { 
    VerifiqueTAB=false; 
  } 

//<!-- -->

  function ChecarTAB() 
  { 
    VerifiqueTAB=true; 
  }
  
  function mascara_cep(data_cep,nome_campo)
{
    var mycep = '';
    mycep = mycep + data_cep;
    if (mycep.length == 5) {
        mycep = mycep + '-';
        nome_campo.value = mycep;
    }
}
function fValidaNumerico(oEvento) 
{
	oEvento = (oEvento) ? oEvento : event;
    var charCode = (oEvento.charCode) ? oEvento.charCode : ((oEvento.keyCode) ? oEvento.keyCode : ((oEvento.which) ? oEvento.which : 0));
	if (charCode == 44) return true;	
    if (charCode > 31 && (charCode < 48 || charCode > 57)) 
    {
        return false;
    }
    return true;
}
function fValidarEmail(valor)
{
	email = valor.value;
	if (email != '')
	{
		if(email.indexOf("@") > 0 && email.indexOf(".") > 0 ) 
		{
			return true;
		}
		else
		{
			alert('O campo e-mail deve contar um endereco eletrônico válido.');
			valor.focus();
			valor = '';
			return false;
		}
	}
}


function GM_Verifica_Data(vAno, vMes, vDia)
  {
	  vOk = false;
	  //Cria uma data
		vData = new Date(vAno, vMes-1, vDia);
		//Verifica se a data criada é a mesma que foi digitada
		vDia1 = vData.getDate();
		if(vDia1<10)
		{
		vDia1 = '0'+vDia1
		}
		
		vMes1 = vData.getMonth();
		vAno1 = vData.getFullYear();  
		//alert(vDia + ' - ' + vDia1) 
		//alert(vMes-1 + ' - ' + vMes1)
		//alert(vAno + ' - ' + vAno1)
    vOk = isDateJS(vAno,vMes,vDia) && (vDia == vDia1) && ((vMes -1) == vMes1) && (vAno == vAno1);	
    return vOk;
  }

function isDateJS (year, month, day)
{   // catch invalid years (not 2- or 4-digit) and invalid months and days.
    //alert(year)
    //alert(month)
    //alert(day)
	if(parseInt(month.substring(0,1))==0)
	{
		month = parseInt(month.substring(1,2))
	}
	if(parseInt(day.substring(0,1))==0)
	{
		day = parseInt(day.substring(1,2))
	}
    if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false;
    // Explicitly change type to integer to make code work in both
    // JavaScript 1.1 and JavaScript 1.2.
    var intYear = parseInt(year);
    var intMonth = parseInt(month);
    var intDay = parseInt(day);

    // catch invalid days, except for February
    if (intDay > daysInMonth[intMonth]) return false; 

    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false;

    return true;
}

function onBlurData(campo_obj_data)
{
	var erro = 0;
	var Data = campo_obj_data.value;
	var ArrayData = Data.split("/");
	if(Data != '')
	{
	vAnoOriginal = ArrayData[2]
		if(vAnoOriginal<1900)
		{
			erro = erro + 1;
		}
		if(Data.length!=10) // Valida o len do campo
		{
			erro = erro + 1;
		}
		if(ArrayData.length!=3) // valida o tamanho do array de barras (/) DD/MM/YYYY
		{
			erro = erro + 1;
		}
		else
		{
			biSexto(Data,campo_obj_data);
		}
		if(erro>0)
		{
			campo_obj_data.value = '';
			alert('Data inválida')	
			return false;
		}
	}
}

function biSexto(data_valor, nome_campo)
{
var sData = data_valor.split("/");
var entrou;
	sDia = sData[0];
	sMes = sData[1];
	sAno=(sData[2]%4);
	sAnoOriginal=sData[2];
	entrou = 0;
	
	if((sData[1] == 2) && (sData[0] > 27))
	{
		if(sAno==0)
		{//ano bisexto (Fev tem 29 dias)
			if(sDia>29)
			{
				alert('O mês de Fevereiro ocorre variação em ano bisexto.\nVocê escolheu uma data de ano bisexto. \nEstamos corrigindo a data.');
				nome_campo.value = '29'+'/'+sData[1]+'/'+sData[2];
				entrou = 1;
			}
		}
		else
		{//nao eh ano bisexto, fev tem 28 dias
			if(sDia>28)
			{
				alert('O mês de Fevereiro ocorre variação em ano bisexto.\n A Data escolhida não é valida. \nEstamos corrigindo a data.');
				nome_campo.value = '28'+'/'+sData[1]+'/'+sData[2];
				entrou = 1;
			}
		}
	}
	if(entrou == 0)
	{
		if(GM_Verifica_Data(sAnoOriginal, sMes, sDia)==false)
		{
//			alert('Data inexistente.')
			nome_campo.value = '';
		}
	}
}


function mascara_data(data_valor,nome_campo, evento)
{
	CharCode = evento.keyCode;
	var sData = data_valor.split("/");
	var ano;
	ano = sData[2];
	if((sData[0]>31) || (sData[1]>12))
	{
		nome_campo.value='';
		alert('Data Inválida');
	}
	else
	{
		if(CharCode!=8)//verificacao do BACKSPACE, so entra qnd nao for backspace
		{
			var mydata = '';
			mydata = mydata + data_valor;
			if (mydata.length == 2) {
				mydata = mydata + '/';
				nome_campo.value = mydata;
			}
			if (mydata.length == 5) {
				mydata = mydata + '/';
				nome_campo.value = mydata;
			}
		}
	}
//	if (data_valor.length == 10)
//	{
//		biSexto(mydata,nome_campo);
//	}
}

function criaMascara(_RefObjeto, _Modelo){

  var valorAtual = _RefObjeto.value;
  var valorNumerico = '';
  var nIndexModelo = 0;
  var nIndexString = 0;
  var valorFinal = '';
  var adicionarValor = true;
 

// limpa a string valor atual para verificar
// se todos os caracteres são números
for (i = 0 ; i < _Modelo.length ; i++ ){
  if(_Modelo.substr(i,1) != '#'){
    valorAtual = valorAtual.replace(_Modelo.substr(i,1),'');
  }
}
 
// verifica se todos os caracteres são números
for (i=0;i<valorAtual.length;i++){
  if (!isNaN(parseFloat(valorAtual.substr(i,1)))){
    valorNumerico = valorNumerico + valorAtual.substr(i,1);
}}
 
// aplica a máscara ao campo informado usando
// o modelo de máscara informado no script
for (i=0;i<_Modelo.length;i++){
 
  if (_Modelo.substr(i,1) == '#'){
    if (valorNumerico.substr(nIndexModelo,1) != ''){
      valorFinal = valorFinal + valorNumerico.substr(nIndexModelo,1);
      nIndexModelo++;nIndexString++;
    }
      else {
        adicionarValor = false;
  }}
 
    else {
      if (adicionarValor && valorNumerico.substr(nIndexModelo,1) != ''){
      valorFinal = valorFinal + _Modelo.substr(nIndexString,1)
      nIndexString++;
    }}
}
 
_RefObjeto.value = valorFinal
 
}
