/**********************************************************
-------------------------------
Pássaro Azul Sistemas Corporativos
http://www.passaroazul.com.br
Tiago Takamoto
takamoto.tiago@passaroazul.com.br
-------------------------------
Script: Biblioteca de funções para o arquivo gerado pelo CRUD
Versão: 0.0
Release: 09/02/2006
-------------------------------
Funções:
-formatar_mascara
-is_number
-somente_numero
-------------------------------
**********************************************************/

/*
 * formatar_mascara ( string src, string mask)
 * 
 *  @detalhe	  função que constroi máscara para cpf, cnpj ou o que você quizer 
 *  @observação   você neessita apresentar o modelo de máscara como argumento:
 *                   Exemplos:
 *                   CEP
 *                   OnKeyPress="formatar(this, '#####-###')"
 *                   CPF
 *                   OnKeyPress="formatar(this, '###.###.###-##')"
 *                   DATA
 *                   OnKeyPress="formatar(this, '##/##/####')" 
 *	@autor        Tiago Takamoto 
 *  @parametro    src => string( campo preenchido do formulário)  
 *  @parametro    mask => string( máscara editada manualmente para comparação)
 *  @retorno      Usando Onkeypress ele cria a máscara ao mesmo tempo que o campo é preenchido
 *  @data         23 de janeiro de 2006
*/   
function formatar_mascara (src, mask) 
{
	var i = src.value.length;
	var saida = mask.substring(0,1);
	var texto = mask.substring(i)
	if (texto.substring(0,1) != saida) 
  	{
		src.value += texto.substring(0,1);
  	}
}
/*
 * is_number ( string text)
 * 
 *  @detalhe	  função que valida campo para saber se são apenas números
 *  @observação   Funciona apenas com Onkeypress e não com OnChange
 *	@autor        Tiago Takamoto 
 *  @parametro    text => string( campo preenchido do formulário)  
 *  @retorno      Usando Onkeypress ele não permite que o usuáio preencha o campo com caracteres que não sejam números
 *  @data         30 de janeiro de 2006
*/   
function is_number (text)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < text.length && IsNumber == true; i++) 
    { 
   	   	Char = text.charAt(i); 
       	if (ValidChars.indexOf(Char) == -1) 
        {
    		IsNumber = false;
        }
    }
	return IsNumber;
}

/*
 * somente_numero ( string campo, event)
 * 
 *  @detalhe	  função que não deixa o usuário preencher o campo com uma tecla que não sejanúmeros
 *  @observação   Funciona atribuindo com onkeypress="return somente_numero(this, event)"
 *	@autor        Tiago Takamoto 
 *  @parametro    campo => string( campo preenchido do formulário)  
 *  @parametro    evento => sempre receberá event
 *  @retorno      Usando Onkeypress ele não permite que o usuáio preencha o campo com caracteres que não sejam números
 *  @data         2 de fevereiro de 2006
*/ 
function somente_numero(campo, evento)
{
	var tecla;
	CheckTAB=true;

	if(navigator.userAgent.indexOf("MSIE")== -1)
	{ 
		tecla= evento.which;
	}
	else
	{
		tecla=evento.keyCode;
	}
	if ( tecla == 13 )
	{
		return false;
	}
	else if ( tecla == 8 || tecla == 0 || tecla== 6 )
	{
		return true;
	}
	else if (is_number (String.fromCharCode (tecla)))
	{
		return true;
	}
	else
	{
		return false;
	}
}