eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){3 s=($.1V.1H?\'1L\':\'1u\')+".t";$.t={B:{\'9\':"[0-9]",\'a\':"[A-Y-z]",\'*\':"[A-Y-1h-9]"},1w:5(c,r){$.t.B[c]=r}};$.1y.17({w:5(b,c){2(4.7==0)6;2(14 b==\'1s\'){c=(14 c==\'1s\')?c:b;6 4.13(5(){2(4.P){4.1q();4.P(b,c)}y 2(4.1c){3 a=4.1c();a.1P(19);a.20(\'10\',c);a.1a(\'10\',b);a.1Z()}})}y{2(4[0].P){b=4[0].1U;c=4[0].1R}y 2(Q.V&&Q.V.1b){3 d=Q.V.1b();b=0-d.1Q().1a(\'10\',-1O);c=b+d.1N.7}6{u:b,M:c}}},N:5(){6 4.21("N")},t:5(l,m){2(!l&&4.7>0){3 n=$(4[0]);3 o=n.J("R");6 $.1p(n.J("S"),5(c,i){6 o[i]?C:c}).T(\'\')}m=$.17({F:"1I",U:v,W:C},m);3 q=E X("^"+$.1p(l.1d(""),5(c,i){6 $.t.B[c]||((/[A-Y-1h-9]/.1e(c)?"":"\\\\")+c)}).T(\'\')+"$");6 4.13(5(){3 d=$(4);3 f=E 1g(l.7);3 g=E 1g(l.7);3 h=v;3 j=C;$.13(l.1d(""),5(i,c){g[i]=($.t.B[c]==C);f[i]=g[i]?c:m.F;2(!g[i]&&j==C)j=i});d.J("S",f).J("R",g);5 1k(){3 a=H();x();1m(5(){d.w(a)},0)};5 1n(e){3 a=$(4).w();3 k=e.11;h=(k<16||(k>16&&k<12)||(k>12&&k<1r));2((a.u-a.M)!=0&&(!h||k==8||k==1o)){G(a.u,a.M)}2(k==8){Z(a.u-->=0){2(!g[a.u]){f[a.u]=m.F;x();$(4).w(1i.1f(j,a.u));6 v}}}y 2(k==1o){G(a.u,a.u+1);x();$(4).w(1i.1f(j,a.u));6 v}y 2(k==1x){G(0,l.7);x();$(4).w(j);6 v}};5 18(e){2(h){h=v;6(e.11==8)?v:C}e=e||1z.1A;3 k=e.1B||e.11||e.1C;3 a=$(4).w();2(e.1D||e.1E){6 19}y 2((k>=1r&&k<=1F)||k==12||k>1G){3 p=O(a.u-1);2(p<l.7){3 c=1J.1K(k);2(E X($.t.B[l.I(p)]).1e(c)){f[p]=c;x();3 b=O(p);$(4).w(b);2(m.W&&b==l.7)m.W.1M(d)}}}6 v};5 G(a,b){1l(3 i=a;i<b&&i<l.7;i++){2(!g[i])f[i]=m.F}};5 x(){6 d.K(f.T(\'\')).K()};5 H(){3 a=d.K();3 b=j;1l(3 i=0;i<l.7;i++){2(!g[i]){f[i]=m.F;Z(b++<a.7){3 c=E X($.t.B[l.I(i)]);2(a.I(b-1).1t(c)){f[i]=a.I(b-1);15}}2(b>a.7)15}}L=x().1t(q);2(!L&&!m.U){d.K("");G(0,l.7)}6 L?l.7:(m.U?i:j)};5 O(a){Z(++a<l.7){2(!g[a])6 a}6 l.7};d.1S("N",5(){d.1T(".t").1j("S").1j("R")}).D("1q.t",1k).D("1W.t",H).D("1X.t",1n).D("1Y.t",18).D(s,5(){1m(H,0)});H()})}})})(1v);',62,126,'||if|var|this|function|return|length||||||||||||||||||||||mask|begin|false|caret|writeBuffer|else|||definitions|null|bind|new|placeholder|clearBuffer|checkVal|charAt|data|val|valid|end|unmask|seekNext|setSelectionRange|document|locked|buffer|join|allowPartial|selection|completed|RegExp|Za|while|character|keyCode|32|each|typeof|break||extend|keypressEvent|true|moveStart|createRange|createTextRange|split|test|max|Array|z0|Math|removeData|focusEvent|for|setTimeout|keydownEvent|46|map|focus|41|number|match|input|jQuery|addPlaceholder|27|fn|window|event|charCode|which|ctrlKey|altKey|122|186|msie|_|String|fromCharCode|paste|call|text|100000|collapse|duplicate|selectionEnd|one|unbind|selectionStart|browser|blur|keydown|keypress|select|moveEnd|trigger'.split('|'),0,{}))

/*
	Exemplo:
	Inclua esse js na pagina que deseja depois de ter incluido a jquery
	Em seguida, chamamos a mascara fun��o para os itens que voc� deseja ter mascarado.
	
	jQuery(function($){
	   $("#date").mask("99/99/9999");
	   $("#phone").mask("(999) 999-9999");
	   $("#tin").mask("99-9999999");
	   $("#ssn").mask("999-99-9999");
	});	
	Opcionalmente, se voc� n�o est� satisfeito com o sublinhado ('_') personagem como um marcador, voc� pode passar um argumento opcional para o m�todo maskedinput.
	
	jQuery(function($){
	   $("#product").mask("99/99/9999",{placeholder:" "});
	});
	
	Opcionalmente, se voc� quiser executar uma fun��o assim que a m�scara tenha sido conclu�da, voc� pode especificar que funcionam como um argumento opcional para o m�todo maskedinput.
	jQuery(function($){
	   $("#product").mask("99/99/9999",{completed:function(){alert("Voc� digitou o seguinte: "+this.val());}});
	});
	
	Voc� agora pode fornecer sua pr�pria m�scara de defini��es.
	jQuery(function($){
	   $.mask.definitions['~']='[+-]';
	   $("#eyescript").mask("~9.99 ~9.99 999");
	});
*/

//exemplo de utiliza��o
//<input type="text" name="valor" length="15" onkeypress="return formatar_moeda(this,'.',',',event);">
function formatar_moeda(campo, separador_milhar, separador_decimal, tecla) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? tecla.which : tecla.keyCode;

	if (whichCode == 13) return true; // Tecla Enter
	if (whichCode == 8) return true; // Tecla Delete
	if (whichCode == 0) return true; // Tecla tab
	key = String.fromCharCode(whichCode); // Pegando o valor digitado
	if (strCheck.indexOf(key) == -1) return false; // Valor inv�lido (n�o inteiro)
	len = campo.value.length;
	for(i = 0; i < len; i++)
	if ((campo.value.charAt(i) != '0') && (campo.value.charAt(i) != separador_decimal)) break;
	aux = '';
	for(; i < len; i++)
	if (strCheck.indexOf(campo.value.charAt(i))!=-1) aux += campo.value.charAt(i);
	aux += key;
	len = aux.length;
	if (len == 0) campo.value = '';
	if (len == 1) campo.value = '0'+ separador_decimal + '0' + aux;
	if (len == 2) campo.value = '0'+ separador_decimal + aux;

	if (len > 2) {
		aux2 = '';

		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				aux2 += separador_milhar;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}

		campo.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
		campo.value += aux2.charAt(i);
		campo.value += separador_decimal + aux.substr(len - 2, len);
	}

	return false;
}

//bloqueia a entrada de caracteres
//utilizacao no form onkeypress="return(bloqueiaCaracters(this, event))";
function bloqueiaCaracters(fld, e, strCheck) {
	if(strCheck == undefined)
		var strCheck = '0123456789';// lista os caracteres que serao aceitos
	else
		var strCheck = strCheck;
	var whichCode = (e.keyCode) ? e.keyCode : e.which;
	if ((whichCode == 13) || (whichCode == 8) || (whichCode == 0))return true;  // libera Enter e backspace
	key = String.fromCharCode(whichCode);  // Get key value from key code
	if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
}
