$(document).ready(function(){
    imageInterval = window.setInterval("changeItem();", 3000);
    $(".real").maskMoney({symbol:"", decimal:",", thousands:"."});

    $('.toolTipFrmInp').poshytip({
            className: 'tip-yellowsimple',
            showOn: 'focus',
            alignTo: 'target',
            alignX: 'inner-left',
            offsetX: 0,
            offsetY: 5
    });
});

function changeItem()
{
    $(document).find(".contentFreteGratis").each(function(){
        var qtdLIs = $(this).find("li").length;
        var pos = parseInt($(this).find("ul").css("top").replace("px", "")) - 20;
        $(this).find("ul").stop().animate({top: pos + "px"}, {queue:false,duration:300});

        if (pos == (qtdLIs * -20)){
            $(this).find("ul").stop().animate({top: '0'}, {queue:false,duration:300});
        }
    });

    $(document).find(".contentFreteGratisProd").each(function(){
        var qtdLIs = $(this).find("li").length;
        var pos = parseInt($(this).find("ul").css("top").replace("px", "")) - 20;
        $(this).find("ul").stop().animate({top: pos + "px"}, {queue:false,duration:300});

        if (pos == (qtdLIs * -20)){
            $(this).find("ul").stop().animate({top: '0'}, {queue:false,duration:300});
        }
    });
}


$(document).ready(function(){
    //lightbox
    $("a[rel^='prettyPhoto']").prettyPhoto({
            theme: 'light_rounded' /* light_rounded / dark_rounded / light_square / dark_square */
    });


    var urlSite = $("#logo").find("a").attr("href");

    $(".btn-departamento").find("a").click(function(){
            $("#popup-departamento").show(600);
            $("#popup-departamento").find(".boxLoading").fadeIn();

            $("#popup-departamento-conteudo").load(urlSite + "ajax-lista-departamentos.php", {}, function(){
                $("#popup-departamento").find(".boxLoading").fadeOut();
            });

            return false;
    });

    $("#popup-departamento").mouseleave(function(){
            $(this).hide(600);
            $("#popup-departamento-conteudo").html("");
    });

    jQuery("#mycarousel").jcarousel({
        visible: 5,
        scroll: 5,
        auto: 5,
        wrap: 'both'
    });

    // newsletter
    $("#inpnews").focus(function(){
            var valor = $(this).val();
            if (valor == "email:")
                    $(this).val("");
    }).blur(function(){
            var valor = $(this).val();
            if (valor == "")
                    $(this).val("email:");
            else{
                    if (valor == "email:")
                            valor = "";
                    if (!validaEmail(valor)){
                            alert("E-mail inválido");
                            $(this).focus();
                    }
            }
    });
    $("#frmNewsletter").submit(function(){

        var email = $("#inpnews").val().toLowerCase();
        var erro = "";

        if (email == "")
            erro = "Informe seu email";

        if (erro){
            alert(erro);
        }else{
            if (!validaEmail(email))
                erro = "E-mail inválido";
        }

        if (!erro){
            $("#camposDoFormulario").hide();
            $("#loading").fadeIn();
            $.post("ajax-cadastra-newsletter.php", {email:email}, function(resposta){
                $("#loading").hide();
                $("#camposDoFormulario").show();

                alert(resposta);
            });
        }else{
            alert(erro);
        }

       return false;
    });
});

// funcao para validar e-mail
function validaEmail(pEmail){
	var email = pEmail;
	var resp = email.search(/^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/)==0;
	return resp
}


/* fun��o para pular de um inputtext para o outro automatico apos digitar um numero x de caracteres */
   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 PararTAB(quem)
{
   VerifiqueTAB=false;
}
function ChecarTAB()
{
   VerifiqueTAB=true;
}




function formataMascara(campo, evt, formato)
{
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;


 var result = "";
 var maskIdx = formato.length - 1;
 var error = false;
 var valor = campo.value;
 var posFinal = false;
 if (campo.setSelectionRange)
 {
  if (campo.selectionStart == valor.length)
   posFinal = true;
 }

 valor = valor.replace(/[^0123456789Xx]/g, '');
 for (var valIdx = valor.length - 1; valIdx >= 0 && maskIdx >= 0; --maskIdx)
 {
  var chr = valor.charAt(valIdx);
  var chrMask = formato.charAt(maskIdx);
  switch (chrMask)
  {
   case '#':
    if (!(/\d/.test(chr)))
     error = true;
    result = chr + result;
    --valIdx;
    break;
   case '@':
    result = chr + result;
    --valIdx;
    break;
   default:
    result = chrMask + result;
  }
 }

 campo.value = result;
 campo.style.color = error ? 'red' : '';
 if (posFinal)
 {
  campo.selectionStart = result.length;
  campo.selectionEnd = result.length;
 }
 return result;
}

// Formata o campo valor monet�rio
function formataValor(campo, evt)
{
 //1.000.000,00
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 vr = campo.value = filtraNumeros(filtraCampo(campo));
 if (vr.length > 0)
 {
  vr = parseFloat(vr.toString()).toString();
  tam = vr.length;

  if (tam == 1)
   campo.value = "0,0" + vr;
  if (tam == 2)
   campo.value = "0," + vr;
  if ((tam > 2) && (tam <= 5))
  {
   campo.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);
  }
  if ((tam >= 6) && (tam <= 8))
  {
   campo.value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
  }
  if ((tam >= 9) && (tam <= 11))
  {
   campo.value = vr.substr(0, tam - 8) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
  }
  if ((tam >= 12) && (tam <= 14))
  {
   campo.value = vr.substr(0, tam - 11) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
  }
  if ((tam >= 15) && (tam <= 18))
  {
   campo.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);
  }
 }
 MovimentaCursor(campo, xPos);
}

// Formata data no padr�o DD/MM/YYYY
function formataData(campo, evt)
{
 var xPos = PosicaoCursor(campo);
 //dd/MM/yyyy
 evt = getEvent(evt);

 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;
 vr = campo.value = filtraNumeros(filtraCampo(campo));
 tam = vr.length;

 if (tam >= 2 && tam < 4)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2);
 if (tam == 4)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/';
 if (tam > 4)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4);

 MovimentaCursor(campo, xPos);
}

//descobre qual a posi��o do cursor no campo
function PosicaoCursor(textarea)
{
 var pos = 0;
 if (typeof (document.selection) != 'undefined')
 {
  //IE
  var range = document.selection.createRange();
  var i = 0;
  for (i = textarea.value.length; i > 0; i--)
  {
   if (range.moveStart('character', 1) == 0)
    break;
  }
  pos = i;
 }
 if (typeof (textarea.selectionStart) != 'undefined')
 {
  //FireFox
  pos = textarea.selectionStart;
 }

 if (pos == textarea.value.length)
  return 0; //retorna 0 quando n�o precisa posicionar o elemento
 else
  return pos; //posi��o do cursor
}

// move o cursor para a posi��o pos
function MovimentaCursor(textarea, pos)
{
 if (pos <= 0)
  return; //se a posi��o for 0 n�o reposiciona

 if (typeof (document.selection) != 'undefined')
 {
  //IE
  var oRange = textarea.createTextRange();
  var LENGTH = 1;
  var STARTINDEX = pos;

  oRange.moveStart("character", -textarea.value.length);
  oRange.moveEnd("character", -textarea.value.length);
  oRange.moveStart("character", pos);
  //oRange.moveEnd("character", pos);
  oRange.select();
  textarea.focus();
 }
 if (typeof (textarea.selectionStart) != 'undefined')
 {
  //FireFox
  textarea.selectionStart = pos;
  textarea.selectionEnd = pos;
 }
}

//Formata data e hora no padr�o DD/MM/YYYY HH:MM
function formataDataeHora(campo, evt)
{
 xPos = PosicaoCursor(campo);
 //dd/MM/yyyy
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;
 vr = campo.value = filtraNumeros(filtraCampo(campo));
 tam = vr.length;

 if (tam >= 2 && tam < 4)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2);
 if (tam == 4)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/';
 if (tam > 4)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4);
 if (tam > 8 && tam < 11)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4) + ' ' + vr.substr(8, 2);
 if (tam >= 11)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4) + ' ' + vr.substr(8, 2) + ':' + vr.substr(10);

 campo.value = campo.value.substr(0, 16);
 //    if(xPos == 2 || xPos == 5)
 //        xPos = xPos +1;
 //    if(xPos == 11 || xPos == 14)
 //        xPos = xPos +2;
 MovimentaCursor(campo, xPos);
}
//função para validar CEP
function validaCep1(campo)
{
    var cep1 =document.getElementById(campo).value;
    if(cep1==5){
       return true;
    }
    else {
            alert('CEP inválido!');
            return false;
        }

}

// Formata s� n�meros
function formataInteiro(campo, evt)
{
 //1234567890
 xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 campo.value = filtraNumeros(filtraCampo(campo));
 MovimentaCursor(campo, xPos);
}

// Formata hora no padrao HH:MM
function formataHora(campo, evt)
{
 //HH:mm
 xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 vr = campo.value = filtraNumeros(filtraCampo(campo));

 if (tam == 2)
  campo.value = vr.substr(0, 2) + ':';
 if (tam > 2 && tam < 5)
  campo.value = vr.substr(0, 2) + ':' + vr.substr(2);
 //    if(xPos == 2)
 //        xPos = xPos + 1;
 MovimentaCursor(campo, xPos);
}

// limpa todos os caracteres especiais do campo solicitado
function filtraCampo(campo)
{
 var s = "";
 var cp = "";
 vr = campo.value;
 tam = vr.length;
 for (i = 0; i < tam; i++)
 {
  if (vr.substring(i, i + 1) != "/"
            && vr.substring(i, i + 1) != "-"
            && vr.substring(i, i + 1) != "."
            && vr.substring(i, i + 1) != "("
            && vr.substring(i, i + 1) != ")"
            && vr.substring(i, i + 1) != ":"
            && vr.substring(i, i + 1) != ",")
  {
   s = s + vr.substring(i, i + 1);
  }
 }
 return s;
 //return campo.value.replace("/", "").replace("-", "").replace(".", "").replace(",", "")
}

// limpa todos caracteres que n�o s�o n�meros
function filtraNumeros(campo)
{
 var s = "";
 var cp = "";
 vr = campo;
 tam = vr.length;
 for (i = 0; i < tam; i++)
 {
  if (vr.substring(i, i + 1) == "0" ||
            vr.substring(i, i + 1) == "1" ||
            vr.substring(i, i + 1) == "2" ||
            vr.substring(i, i + 1) == "3" ||
            vr.substring(i, i + 1) == "4" ||
            vr.substring(i, i + 1) == "5" ||
            vr.substring(i, i + 1) == "6" ||
            vr.substring(i, i + 1) == "7" ||
            vr.substring(i, i + 1) == "8" ||
            vr.substring(i, i + 1) == "9")
  {
   s = s + vr.substring(i, i + 1);
  }
 }
 return s;
 //return campo.value.replace("/", "").replace("-", "").replace(".", "").replace(",", "")
}

// limpa todos caracteres que n�o s�o letras
function filtraCaracteres(campo)
{
 vr = campo;
 for (i = 0; i < tam; i++)
 {
  //Caracter
  if (vr.charCodeAt(i) != 32 && vr.charCodeAt(i) != 94 && (vr.charCodeAt(i) < 65 ||
        (vr.charCodeAt(i) > 90 && vr.charCodeAt(i) < 96) ||
            vr.charCodeAt(i) > 122) && vr.charCodeAt(i) < 192)
  {
   vr = vr.replace(vr.substr(i, 1), "");
  }
 }
 return vr;
}

// limpa todos caracteres que n�o s�o n�meros, menos a v�rgula
function filtraNumerosComVirgula(campo)
{
 var s = "";
 var cp = "";
 vr = campo;
 tam = vr.length;
 var complemento = 0; //flag paga contar o n�mero de virgulas
 for (i = 0; i < tam; i++)
 {
  if ((vr.substring(i, i + 1) == "," && complemento == 0 && s != "") ||
            vr.substring(i, i + 1) == "0" ||
            vr.substring(i, i + 1) == "1" ||
            vr.substring(i, i + 1) == "2" ||
            vr.substring(i, i + 1) == "3" ||
            vr.substring(i, i + 1) == "4" ||
            vr.substring(i, i + 1) == "5" ||
            vr.substring(i, i + 1) == "6" ||
            vr.substring(i, i + 1) == "7" ||
            vr.substring(i, i + 1) == "8" ||
            vr.substring(i, i + 1) == "9")
  {
   if (vr.substring(i, i + 1) == ",")
    complemento = complemento + 1;
   s = s + vr.substring(i, i + 1);
  }
 }
 return s;
}

function formataMesAno(campo, evt)
{
 //MM/yyyy
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 vr = campo.value = filtraNumeros(filtraCampo(campo));
 tam = vr.length;

 if (tam >= 2)
  campo.value = vr.substr(0, 2) + '/' + vr.substr(2);
 MovimentaCursor(campo, xPos);
}

function formataCNPJ(campo, evt)
{
 //99.999.999/9999-99
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 vr = campo.value = filtraNumeros(filtraCampo(campo));
 tam = vr.length;

 if (tam >= 2 && tam < 5)
  campo.value = vr.substr(0, 2) + '.' + vr.substr(2);
 else if (tam >= 5 && tam < 8)
  campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5);
 else if (tam >= 8 && tam < 12)
  campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8);
 else if (tam >= 12)
  campo.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8, 4) + '-' + vr.substr(12);
 MovimentaCursor(campo, xPos);
}

function formataCPF(campo, evt)
{
 //999.999.999-99
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 vr = campo.value = filtraNumeros(filtraCampo(campo));
 tam = vr.length;
 if (tam >= 3 && tam < 6)
  campo.value = vr.substr(0, 3) + '.' + vr.substr(3);
 else if (tam >= 6 && tam < 9)
  campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6);
 else if (tam >= 9)
  campo.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6, 3) + '-' + vr.substr(9);
 MovimentaCursor(campo, xPos);
}

function formataDouble(campo, evt)
{
 //18,53012
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 campo.value = filtraNumerosComVirgula(campo.value);
 MovimentaCursor(campo, xPos);
}

function formataTelefone(campo, evt)
{
 //(00) 0000-0000
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 vr = campo.value = filtraNumeros(filtraCampo(campo));
 tam = vr.length;

 if (tam == 1)
  campo.value = '(' + vr;
 else if (tam >= 2 && tam < 6)
  campo.value = '(' + vr.substr(0, 2) + ') ' + vr.substr(2);
 else if (tam >= 6)
  campo.value = '(' + vr.substr(0, 2) + ') ' + vr.substr(2, 4) + '-' + vr.substr(6);

 //(
 //    if(xPos == 1 || xPos == 3 || xPos == 5 || xPos == 9)
 //        xPos = xPos +1
 MovimentaCursor(campo, xPos);
}

function formataTexto(campo, evt, sMascara)
{
 //Nome com Inicial Maiuscula.
 evt = getEvent(evt);
 xPos = PosicaoCursor(campo);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;
 vr = campo.value = filtraCaracteres(filtraCampo(campo));
 tam = vr.length;

 if (sMascara == "Aa" || sMascara == "Xx")
 {
  var valor = campo.value.toLowerCase();
  var count = campo.value.split(" ").length - 1;
  var i;
  var pos = 0;
  var valorIni;
  var valorMei;
  var valorFim;
  valor = valor.substring(0, 1).toUpperCase() + valor.substring(1, valor.length);
  for (i = 0; i < count; i++)
  {
   pos = valor.indexOf(" ", pos + 1);
   valorIni = valor.substring(0, valor.indexOf(" ", pos - 1)) + " ";
   valorMei = valor.substring(valor.indexOf(" ", pos) + 1, valor.indexOf(" ", pos) + 2).toUpperCase();
   valorFim = valor.substring(valor.indexOf(" ", pos) + 2, valor.length);
   valor = valorIni + valorMei + valorFim;
  }
  campo.value = valor;
 }
 if (sMascara == "Aaa" || sMascara == "Xxx")
 {
  var valor = campo.value.toLowerCase();
  var count = campo.value.split(" ").length - 1;
  var i;
  var pos = 0;
  var valorIni;
  var valorMei;
  var valorFim;
  var ligacao = false;
  var chrLigacao = Array("de", "da", "do", "para", "e")
  valor = valor.substring(0, 1).toUpperCase() + valor.substring(1, valor.length);
  for (i = 0; i < count; i++)
  {
   ligacao = false;
   pos = valor.indexOf(" ", pos + 1);
   valorIni = valor.substring(0, valor.indexOf(" ", pos - 1)) + " ";
   for (var a = 0; a < chrLigacao.length; a++)
   {
    if (valor.substring(valorIni.length, valor.indexOf(" ", valorIni.length)).toLowerCase() == chrLigacao[a].toLowerCase())
    {
     ligacao = true;
     break;
    }
    else if (ligacao == false && valor.indexOf(" ", valorIni.length) == -1)
    {
     if (valor.substring(valorIni.length, valor.length).toLowerCase() == chrLigacao[a].toLowerCase())
     {
      ligacao = true;
      break;
     }
    }
   }
   if (ligacao == true)
   {
    valorMei = valor.substring(valor.indexOf(" ", pos) + 1, valor.indexOf(" ", pos) + 2).toLowerCase();
   }
   else
   {
    valorMei = valor.substring(valor.indexOf(" ", pos) + 1, valor.indexOf(" ", pos) + 2).toUpperCase();
   }
   valorFim = valor.substring(valor.indexOf(" ", pos) + 2, valor.length);
   valor = valorIni + valorMei + valorFim;
  }

  campo.value = valor;
 }
 MovimentaCursor(campo, xPos);
 return true;
}

// Formata o campo CEP
function formataCEP(campo, evt)
{
 //312555-650
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 vr = campo.value = filtraNumeros(filtraCampo(campo));
 tam = vr.length;

 if (tam < 5)
  campo.value = vr;
 else if (tam == 5)
  campo.value = vr + '-';
 else if (tam > 5)
  campo.value = vr.substr(0, 5) + '-' + vr.substr(5);
 MovimentaCursor(campo, xPos);
}

function formataCartaoCredito(campo, evt)
{
 //0000.0000.0000.0000
 var xPos = PosicaoCursor(campo);
 evt = getEvent(evt);
 var tecla = getKeyCode(evt);
 if (!teclaValida(tecla))
  return;

 var vr = campo.value = filtraNumeros(filtraCampo(campo));
 var tammax = 16;
 var tam = vr.length;

 if (tam < tammax && tecla != 8)
 { tam = vr.length + 1; }

 if (tam < 5)
 { campo.value = vr; }
 if ((tam > 4) && (tam < 9))
 { campo.value = vr.substr(0, 4) + '.' + vr.substr(4, tam - 4); }
 if ((tam > 8) && (tam < 13))
 { campo.value = vr.substr(0, 4) + '.' + vr.substr(4, 4) + '.' + vr.substr(8, tam - 4); }
 if (tam > 12)
 { campo.value = vr.substr(0, 4) + '.' + vr.substr(4, 4) + '.' + vr.substr(8, 4) + '.' + vr.substr(12, tam - 4); }
 MovimentaCursor(campo, xPos);
}


//recupera tecla

//evita criar mascara quando as teclas s�o pressionadas
function teclaValida(tecla)
{
 if (tecla == 8 //backspace
 //Esta evitando o post, quando s�o pressionadas estas teclas.
 //Foi comentado pois, se for utilizado o evento texchange, � necessario o post.
        || tecla == 9 //TAB
        || tecla == 27 //ESC
        || tecla == 16 //Shif TAB
        || tecla == 45 //insert
        || tecla == 46 //delete
        || tecla == 35 //home
        || tecla == 36 //end
        || tecla == 37 //esquerda
        || tecla == 38 //cima
        || tecla == 39 //direita
        || tecla == 40)//baixo
  return false;
 else
  return true;
}

// recupera o evento do form
function getEvent(evt)
{
 if (!evt) evt = window.event; //IE
 return evt;
}
//Recupera o c�digo da tecla que foi pressionado
function getKeyCode(evt)
{
 var code;
 if (typeof (evt.keyCode) == 'number')
  code = evt.keyCode;
 else if (typeof (evt.which) == 'number')
  code = evt.which;
 else if (typeof (evt.charCode) == 'number')
  code = evt.charCode;
 else
  return 0;

 return code;
}

function txtBoxFormat(objeto, sMask, 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;

    // 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;
    }
  }


