﻿// JScript File
function fAceita(e,lista,criterio)
{
	keyPressed = e.which ? e.which : e.keyCode;
	// verifica se é um dos caracteresde controle delete, backspace,seta direita,enter etc
	if ((",8,9,13,16,37,39,").indexOf("," + keyPressed + ",")>-1) return;
	
	//verifica se o critério (true ou false) bate com a existencia do caracter desejado
	if (((","+lista+",").indexOf("," + keyPressed + ",")>-1) !=criterio) 
		if (e.preventDefault) 
			{ //Firefox - cancela a escrita do caracter no campo.
				e.preventDefault();
				e.stopPropagation();
			} 
		else e.returnValue = false; //IE - cancela a escrita do caracter no campo. 
}


//Permite a entrada de dados numéricos,usar no onkeypress=travaCaracter().
function travaCaracter(e)
{	
	fAceita(e,"48,49,50,51,52,53,54,55,56,57",true);
}

function travaEnter(e)
{
	if (e.keyCode == 13)
	{
		e.keyCode = 9;
	}
	e.returnValue = true;
}

// mostra o caracter digitado,usado só para o desenvolvimento
function mostraCaracter()
{
	alert(event.keyCode);
}

function TiraMascara(obj,tamanho)
{
	var digitos = "0123456789";
	resultado = "";
	deslocamento = 0;
	for(var i=0; i<obj.value.length; i++)
		if (digitos.indexOf(obj.value.charAt(i)) >= 0) 
			resultado += obj.value.charAt(i);
	obj.value = resultado;
	obj.maxLength = tamanho;
	obj.select();
}

function ColocaMascara(obj,template)
{
	obj.maxLength = template.length;
	// se o campo está vazio nada a fazer
	if (obj.value.length==0) return;
	//completa com zeros a esquerda
	var mascaraLimpa = TiraMascara2(template);
	obj.value = ("00000000000000000000"+obj.value).substring(20+obj.value.length-mascaraLimpa.length,20+obj.value.length+mascaraLimpa.length);
	resultado = "";
	deslocamento = 0;
	for(var i=0; i<template.length; i++)
	{
		if (template.charAt(i) != "_") 
			resultado += template.charAt(i);
		else
		{
			resultado += obj.value.charAt(deslocamento);
			++deslocamento;
		}
	}
	obj.value = resultado;
}
function ColocaMascaraCnpjCpf(obj)
{
	if (obj.value.length<=11)ColocaMascara(obj,"___.___.___-__");
	else ColocaMascara(obj,"__.___.___/____-__");
	return;
}

function TrocaCaracter(template,de,para)
{
	while (template.indexOf(de) >= 0) template = template.replace(de,para);
	return template;
}

function TiraMascara2(valor)
{
	var digitos = "0123456789_";
	resultado = "";
	deslocamento = 0;
	for(var i=0; i<valor.length; i++)
		if (digitos.indexOf(valor.charAt(i)) >= 0) 
			resultado += valor.charAt(i);
	return resultado;
}

function ColocaMascaraDividaAtivaEtiqueta(obj)
{
	if (obj.value.length <=9)
	{
		ColocaMascara(obj,"___.___.___");
		return;
	}
	ColocaMascara(obj,"__.______.__.__._");
}

function fPontua(obj,e){
	if(e.keyCode==9|e.keyCode==37|e.keyCode==39)return;
	if(obj.value=='')return;
	zeros = "000";
	wvalor = limpaString2(obj.value);
	wvalor = zeros.substring(0,(3-wvalor.length)) + wvalor;
	comp=wvalor.length;
	result="";
	for(var i=0; i< (comp - 2)/3-1; i++){
		result= "." + wvalor.substring(comp - 2 -(i+1)*3,comp - 2 - i*3) + result;
	}
	obj.value = wvalor.substring(0,comp-2-i*3) + result + "," + wvalor.substring((comp-2),comp);
}
function limpaString2(S){
	var digitos = "0123456789";
	var temp = "";
	var Digito = "";
	for(var i=0; i<S.length; i++){
		Digito = S.charAt(i);
		if(digitos.indexOf(Digito) >= 0 && (Digito!=0 || temp != "")){ // esta linha tira os zeros a esquerda
			temp = temp + Digito
		}
	}
	return temp
}
function limpaString(S){
	var digitos = ",0123456789.";
	var temp = "";
	var Digito = "";
	for(var i=0; i<S.length; i++){
		Digito = S.charAt(i);
		if(digitos.indexOf(Digito) >= 0 && (Digito!=0 || temp != "")){ // esta linha tira os zeros a esquerda
			if (Digito == ",") {Digito="."};
			if (Digito == ".") {Digito= (i==(S.length-3)?".":"")}
			temp = temp + Digito;
		}
	}
	if (temp.length ==3) temp= "0" + temp;
	return temp
}

//cpf/cnpj onkeypress="travaCaracter(event)" onblur="ColocaMascaraCnpjCpf(this);" onfocus="TiraMascara(this,14)"
//data onkeypress="travaCaracter(event)" onblur="ColocaMascara(this,'__/__/____')" onfocus="TiraMascara(this,8)"
//valor onkeypress="travaCaracter(event)" onkeyup="fPontua(this,event);" style="width:165px;TEXT-ALIGN: right"