// ==========================================================================================
// MASCARAS CADASTRADAS
// ==========================================================================================
// MASCARAS PARA FORMULARIOS - SONUMERO / DATA / CEP / PESO / CPF / CNPJ / TELEFONE  / PREÇO 
// ==========================================================================================
// COMO USAR > onchange="return mascara_cpf(this,event);" onkeypress="return mascara_cpf(this,event);"
//

//////////////////////////////////////////////////////////////////////////////////////////
	// FUNCOES GLOBAIS
/////////////////////////////////////
	function isNum( caractere ) 
	{ 
		var strValidos = "0123456789" 
		if ( strValidos.indexOf( caractere ) == -1 ) 
			return false; 
		return true; 
	}

	function isValid(valor)
	{
		var LEFT = 37;
		var RIGHT = 39;
		var HOM = 36;
		var END = 35;
		var DEL = 46;
		var INS = 45;
		var CAPS = 20;
		var SHIFT = 16;
		var BACKSPACE = 8;
		var TAB = 0;
		if ((valor == LEFT) || (valor == RIGHT) || (valor == HOM) || (valor == END) || (valor == DEL) || (valor == INS) || (valor == CAPS) || (valor == SHIFT) || (valor == BACKSPACE) || (valor == TAB))
			return(true);
		return(false);
	}

	function limpa_campoNum(valor)
	{
		t = valor.length;
		novovalor='';
		for(i=0; i<=t-1; i++)
		{
			if (isNum(valor.charAt(i)))
			{
				novovalor += valor.charAt(i);
			}
		}
		return(novovalor);
	}

/////////////////////////////////////
	// FUNCOES MASCARAS
//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok
	// SO ACEITA NUMEROS
	function soNumero( caractere ) 
	{ 
	if (document.all){var evt=event.keyCode;}
		else{var evt = e.charCode;}
	if (evt <20 || (evt >47 && evt<58)){return true;}
	return false;
	}


//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok
	// CPF
	function mascara_cpf(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);

		if ( (isNum(key)) || (isValid(tecla)) )
		{
			cpf = limpa_campoNum(campo.value);
			t = cpf.length;
			if (t > 11)
				t = 11;
			novocpf = "";
			for(i=0; i<=t-1; i++)
			{
				if (i==3)
					novocpf+=".";
				if (i==6)
					novocpf+=".";
				if (i==9)
					novocpf+="-";
				novocpf+=cpf.charAt(i);
			}
			campo.value = novocpf;
			return(true);
		}
		else
		{
			return(false);
		}
	} 


//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok
	// CNPJ
	function mascara_cnpj(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);

		if ( (isNum(key)) || (isValid(tecla)) )
		{
			cnpj = limpa_campoNum(campo.value);
			t = cnpj.length;
			//alert(t);
			if (t > 14)
				t = 14;
			novocnpj = "";
			for(i=0; i<=t-1; i++)
			{
				novocnpj+=cnpj.charAt(i);
				if (i==1)
					novocnpj+=".";
				if (i==4)
					novocnpj+=".";
				if (i==7)
					novocnpj+="/";
				if (i==11)
					novocnpj+="-";
	
			}
			campo.value = novocnpj;
			return(true);
		}
		else
		{
			return(false);
		}
	} 

//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok
	// PESO
	function mascara_peso(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);

		if ( (isNum(key)) || (isValid(tecla)) )
		{
			peso = limpa_campoNum(campo.value);
			t = peso.length;
			a = t;
			if (tecla == 0)
				a--;
			novopeso = "";
			for(i=0; i<=t-1; i++)
			{
				novopeso+=peso.charAt(i);
				if (i==a-3)
					novopeso+=",";
				if (i==a-6)
					novopeso+=".";
				if (i==a-9)
					novopeso+=".";
				if (i==a-12)
					novopeso+=".";
				if (i==a-15)
					novopeso+=".";
				if (i==a-18)
					novopeso+=".";
				if (i==a-21)
					novopeso+=".";
			}
			campo.value = novopeso;
			return(true);
		}
		else
		{
			return(false);
		}
	} 
	



//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok
	// DATA
	function mascara_data(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);

		if ( (isNum(key)) || (isValid(tecla)) )
		{
			data = limpa_campoNum(campo.value);
			t = data.length;
			if (t > 8)
				t = 8;
			novodata = "";
			for(i=0; i<=t-1; i++)
			{
				if (i==2)
					novodata+="/";
				if (i==4)
					novodata+="/";
				novodata+=data.charAt(i);
			}
			campo.value = novodata;
			return(true);
		}
		else
		{
			return(false);
		}
	} 




//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok
	// CEP
	function mascara_cep(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);
		var r = true;

		if ( (isNum(key)) || (isValid(tecla)) )
		{
			cep = limpa_campoNum(campo.value);
			t = cep.length;
			if (t > 8)
				t = 8;
			novocep = "";
			for(i=0; i<=t-1; i++)
			{
				if (i==2)
					novocep+=".";
				if (i==5)
					novocep+="-";
				novocep+=cep.charAt(i);
			}

			campo.value = novocep;
		}
		else
		{
			r = false;
		}
		return(r);

	} 




//////////////////////////////////////////////////////////////////////////////////////////
	// Testada ok 
	// TELEFONE
	function mascara_fone(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);
		var r = true;

		if ( (isNum(key)) || (isValid(tecla)) )
		{
			fone = limpa_campoNum(campo.value);
			t = fone.length;
			if (t > 10)
				t = 10;
			novofone = "(";
			for(i=0; i<=t-1; i++)
			{
				if (i==2)
					novofone+=") ";
				if (i==6)
					novofone+="-";
				novofone+=fone.charAt(i);
			}

			campo.value = novofone;
		}
		else
		{
			r = false;
		}
		return(r);

	} 



//////////////////////////////////////////////////////////////////////////////////////////

	function mascara_preco(campo, event)
  	{
		var key; 
		var tecla;
		if(navigator.appName.indexOf("Netscape")!= -1) 
			tecla= event.which; 
		else 
			tecla= event.keyCode;
		key = String.fromCharCode(tecla);

		if ((isNum(key)) || (isValid(tecla)) )
		{
			preco = limpa_campoNum(campo.value);
			t = preco.length;
			a = t;
			if (tecla == 0)
				a--;
			novopreco = "";
			for(i=0; i<=t-1; i++)
			{
				novopreco+=preco.charAt(i);
				if (i==a-2)
					novopreco+=",";
				if (i==a-5)
					novopreco+=".";
				if (i==a-8)
					novopreco+=".";
				if (i==a-11)
					novopreco+=".";
				if (i==a-14)
					novopreco+=".";
				if (i==a-17)
					novopreco+=".";
				if (i==a-20)
					novopreco+=".";
			}
			campo.value = novopreco;
			return(true);
		}
		else
		{
			return(false);
		}
	} 



