﻿function Mascara(objeto, evt, mask) {
 
var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var Numeros = '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 '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 MaskDataHora(objeto, evt) {
return Mascara(objeto, evt, '##/##/#### ##:##');
}

function MaskCNPJ(objeto, evt) {
return Mascara(objeto, evt, '##.###.###/####-##');
}

function MaskCPF(objeto, evt) {
return Mascara(objeto, evt, '###.###.###-##');
}

function ValidaCNPJ(sender, args) {
	 var checkStr = args.Value;
	 checkStr = checkStr.replace(".","");
	 checkStr = checkStr.replace(".","");
	 checkStr = checkStr.replace(".","");
	 checkStr = checkStr.replace("/","");
	 checkStr = checkStr.replace("-","");
	 args.IsValid = true;
		var nonNumbers = /\D/;
		if (nonNumbers.test(checkStr)) args.IsValid = false;
		var a = [];
		var b = new Number;
		var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
		for (i=0; i<12; i++){
			a[i] = checkStr.charAt(i);
			b += a[i] * c[i+1];
		}
		if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
		b = 0;
		for (y=0; y<13; y++) {
			b += (a[y] * c[y]);
		}
		if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
		if ((checkStr.charAt(12) != a[12]) || (checkStr.charAt(13) != a[13])){
			args.IsValid = false;
		}
}

function CopyToClipboard(obj)
{
   obj.focus();
   obj.select(); 
   CopiedTxt = document.selection.createRange();
   CopiedTxt.execCommand("Copy");
   obj.blur();
   alert("Lista de destinatários copiada.");
}