// JavaScript Document/* +----------------------------------------------------------------------+ | PowerNumber versão 1.0                                               | +----------------------------------------------------------------------+ | Copyright (c) 1999-2001 Inforage Consultoria                         | +----------------------------------------------------------------------+ | Este arquivo está sujeito a versão 2 da GNU General Public License,  | | que pode ser conseguido pela Web em                                  | | http://www.gnu.org/copyleft/gpl.txt                                  | |                                                                      | | Manter os créditos na utilização deste script                        | | Dúvidas e/ou sugestões, escreva para                                 | | jporto@inforage.com.br                                               | +----------------------------------------------------------------------+onKeyDown="return(convertNumber(this, event.keyCode, '####', 't'))"onKeyDown="return(convertNumber(this, event.keyCode, '(##)####-####', 't'))"*/function onlyNumbers(a){	if (a == 13) return a;  // Enter	if (a == 9) return a;  // tab	if (a == 46) return a;  // Delete	if (a == 8) return 46;  // backspace	if (a==96||a==48) return 48;  // number 0	if (a==97||a==49) return 49;  // number 1	if (a==98||a==50) return 50;  // number 2	if (a==99||a==51) return 51;  // number 3	if (a==100||a==52) return 52;  // number 4	if (a==101||a==53) return 53;  // number 5	if (a==102||a==54) return 54;  // number 6	if (a==103||a==55) return 55;  // number 7	if (a==104||a==56) return 56;  // number 8	if (a==105||a==57) return 57;  // number 9	return 17;}function stripMask(a){	var natural_value = "";	for (i=0; i<a.length++; i++)	{		caracter = a.substring(i,i+1);		switch (caracter)		{			case ".":				break;			case ",":				break;			case "/":				break;			case "-":				break;			case "(":				break;			case ")":				break;			case " ":				break;			default:				natural_value = natural_value + caracter;		}	}	return natural_value;}function makeMask(natural_value, mask, temp){	var partial_value ="";	var strCheck = " ()/-.,";	var var_size_var = natural_value.length;	var var_size_mask = mask.length;	if (temp == 't')	{		var count_car = 0;		var count_mask = 0;		var mount = true;		while (mount)		{			car_value = natural_value.substring(count_car,count_car+1);			car_mask = mask.substring(count_mask,count_mask+1);			if (strCheck.indexOf(car_mask) == -1)			{				if (car_value != '')				{					partial_value = partial_value + car_value;				} else {					partial_value = partial_value + ' ';				}				count_car++;				count_mask++;			} else {				partial_value = partial_value + car_mask;				count_mask++;					}			if (count_mask == var_size_mask) mount=false;		}	} else {		var mount = true;		while (mount)		{			car_value = natural_value.substring(var_size_var-1,var_size_var);			car_mask = mask.substring(var_size_mask-1,var_size_mask);			if (strCheck.indexOf(car_mask) == -1)			{				partial_value = car_value + partial_value;				var_size_var--;				var_size_mask--;			} else {				partial_value = car_mask + partial_value;				var_size_mask--;					}			if (var_size_var == 0) mount=false;		}	}	return partial_value;}function convertNumber(fld, e, mask, temp){	e = onlyNumbers(e);	if (e==17) return false;	if ((e==13)||(e==9)) return true;  // action keys	if (e==46) // deletion keys	{		field_value = stripMask(fld.value);		deleted_value = field_value.substring(0,(field_value.length-1));		field_value = deleted_value;		if ((field_value.length > 0) || (temp == 't'))		{			new_value = stripMask(field_value);			return_value = makeMask(new_value, mask, temp);			fld.value = return_value;			fld.select();		} else {			fld.value = '';		}		return false;	}	fld_lg = stripMask(fld.value);	msk_lg = stripMask(mask);	if (fld_lg.length == msk_lg.length) return false;	key = String.fromCharCode(e);	if ((fld.value.length == 0) && (key == '0') && (temp != 't')) return false;	field_value = fld.value + key; // set variable to the full value	new_value = stripMask(field_value);	return_value = makeMask(new_value, mask, temp);	fld.value = return_value;	fld.select();	return false;}
