﻿function FormataCNPJ(Campo, teclapres){

       var tecla = teclapres.keyCode;

       var vr = new String(Campo.value);
       vr = vr.replace(".", "");
       vr = vr.replace(".", "");
       vr = vr.replace("/", "");
       vr = vr.replace("-", "");

       tam = vr.length + 1 ;

       
       if (tecla != 9 && tecla != 8){
          if (tam > 2 && tam < 6)
             Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
          if (tam >= 6 && tam < 9)
             Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
          if (tam >= 9 && tam < 13)
             Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
          if (tam >= 13 && tam < 15)
             Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
          }
    }

function formatDate(campo)
{
	if (campo.value.length == 2)
	{
			numero = campo.value.substring(0,2) + "/";
			campo.value = numero;
	}

	if (campo.value.length == 5)
	{
		numero = campo.value.substring(0,5) + "/";
		campo.value = numero;
	}

 	if (campo.value.length > 10)
	{
		numero = campo.value.substring(0,10);
		campo.value = numero
	}
}

function isDate(dateStr)
{
  var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
  var matchArray = dateStr.match(datePat); // is format OK?

  if (matchArray == null) return false;

  month = matchArray[3];
  day = matchArray[1];
  year = matchArray[5];

  if (month < 1 || month > 12) return false;

  if (day < 1 || day > 31) return false;

  if ((month==4 || month==6 || month==9 || month==11) && day==31) return false;

  if (month == 2)
  {
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
    if (day > 29 || (day==29 && !isleap)) return false;
  }
  
  return true;
}

function Mascara(objeto, evt, mask) {
 
var LetrasU = 'ÇABCDEFGHIJKLMNOPQRSTUVWXYZ';
var LetrasL = 'çãàáäabcdefghijklmnopqrstuvwxyz';
var Letras  = 'ÇABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var Numeros = '0123456789,/-.';
var bleh = ',0123456789';
var Fixos  = '().-:,/';
var Charset = "Çç!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";

evt = (evt) ? evt : (window.event) ? window.event : "";
var value = objeto.value;
if (evt) {
 var ntecla = (evt.which) ? evt.which : evt.keyCode;
 tecla = Charset.substr(ntecla - 32, 1);
 if (ntecla < 32) return true;

 var tamanho = value.length;
 if (tamanho >= mask.length) return false;

 var pos = mask.substr(tamanho,1);
 while (Fixos.indexOf(pos) != -1) {
  value += pos;
  tamanho = value.length;
  if (tamanho >= mask.length) return false;
  pos = mask.substr(tamanho,1);
 }

 switch (pos) {
   case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
   case '&' : if (bleh.indexOf(tecla) == 0) return false; break;
   case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
   case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
   case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
   case '*' : objeto.value = value; return true; break;
   default : return false; break;
 }
}
objeto.value = value;
return true;
}

function MaskData(objeto, evt) {
    return Mascara(objeto, evt, '##/##/####');
}

function MaskValor(objeto, evt) {
    return Mascara(objeto, evt, '###########');
}

function MaskValor2(objeto, evt) {
    return Mascara(objeto, evt, '&&&&&&&&&&&&');
}

function MaskCNPJ(objeto, evt) {
    return Mascara(objeto, evt, '##.###.###/####-##');
}

function MaskDDD(objeto, evt) {
    return Mascara(objeto, evt, '###');
}

function MaskFone(objeto, evt) {
    return Mascara(objeto, evt, '####-####');
}


