function somente_numero(numero)
{
	var validos = "0123456789";
	var numero_ok = '';
	for(i = 0; i < numero.length; i++)
	{
		if(validos.indexOf(numero.substr(i,1)) != -1)
		{
			numero_ok += numero.substr(i,1);
		}
	}
	return numero_ok;
}
function coloca_mascara(objCampo, mascara)
{
	switch(mascara)
	{
		//000.000.000-00
		case 'cpf':
			objCampo.value = somente_numero(objCampo.value);
			pri = objCampo.value.substring(0,3);
			seg = objCampo.value.substring(3,6);
			ter = objCampo.value.substring(6,9);
			qua = objCampo.value.substring(9,11);
						
			objCampo.value = pri+
			((seg!='') ? '.'+seg : '')+
			((ter!='') ? '.'+ter : '')+
			((qua!='') ? '-'+qua : '');
		break;

		//00.000.000/0000-00
		case 'cnpj':
			objCampo.value = somente_numero(objCampo.value);
			pri = objCampo.value.substring(0,2);
			seg = objCampo.value.substring(2,5);
			ter = objCampo.value.substring(5,8);
			qua = objCampo.value.substring(8,12);
			qui = objCampo.value.substring(12,14);
			
			objCampo.value = pri+
			((seg!='') ? '.'+seg : '')+
			((ter!='') ? '.'+ter : '')+
			((qua!='') ? '/'+qua : '')+
			((qui!='') ? '-'+qui : '');
		break;
		
		//(00) 0000-0000
		case 'telefone':
			objCampo.value = somente_numero(objCampo.value);
			
			pri = objCampo.value.substring(0,2);
			seg = objCampo.value.substring(2,6);
			ter = objCampo.value.substring(6,10);
						
			objCampo.value = ((pri!='') ? pri+'-' : '')+
			((seg!='') ? seg : '')+
			((ter!='') ? '.'+ter : '');
		break;

		//00000-000
		case 'cep':
			objCampo.value = somente_numero(objCampo.value);
			
			pri = objCampo.value.substring(0,5);
			seg = objCampo.value.substring(5,8);
						
			objCampo.value = pri+
			((seg!='') ? '-'+seg : '');
		break;

		//00/00/0000
		case 'data':
			objCampo.value = somente_numero(objCampo.value);
			
			pri = objCampo.value.substring(0,2);
			seg = objCampo.value.substring(2,4);
			ter = objCampo.value.substring(4,8);
			
			objCampo.value = pri+
			((seg!='') ? '/'+seg : '')+
			((ter!='') ? '/'+ter : '')
		break;
		
		//00/0000
		case 'venc_cartao':
			objCampo.value = somente_numero(objCampo.value);
			
			pri = objCampo.value.substring(0,2);
			seg = objCampo.value.substring(2,6);
			
			objCampo.value = pri+
			((seg!='') ? '/'+seg : '')
		break;

		//0000 0000 0000 0000
		case 'cartao':
			objCampo.value = somente_numero(objCampo.value);
			
			pri = objCampo.value.substring(0,4);
			seg = objCampo.value.substring(4,8);
			ter = objCampo.value.substring(8,12);
			qua = objCampo.value.substring(12,16);
			
			objCampo.value = pri+
			((seg!='') ? '-'+seg : '')+
			((ter!='') ? '-'+ter : '')+
			((qua!='') ? '-'+qua : '');
		break;

		case 'numero':
			objCampo.value = somente_numero(objCampo.value);		
		break;
		
		case 'letra':
			objCampo.value = somente_letras(objCampo.value);
		break;

		//1.000.000.000.000,00
		case 'moeda':
			len = 20
			cur = objCampo
			n   = '0123456789';
			d   = objCampo.value;
			l   = d.length;
			r   = '';
			
			if ( l > 0 )
			{
				z = d.substr(0,l);
				s = '';
				a = 0;
				
				for ( i=0; i < l; i++ )
				{
					c = d.charAt(i);
					if ( n.indexOf(c) > a )
					{
						a  = -1;
						s += c;
					};
				};
				l = s.length;
				t = len - 1;
				if ( l > t )
				{
					l = t;
					s = s.substr(0,t);
				}
				if ( l > 2 )
				{
					r = s.substr(0,l-2)+','+s.substr(l-2,2);
				}
				else
				{
					if ( l == 2 )
					{
						r='0,'+s;
					}
					else
					{
						if ( l == 1 )
						{
							r = '0,0'+s;
						}
					}
				}
				if ( r == '' )
				{
					r = '0,00';
				}
				else
				{
					l=r.length;
					if (l > 6)
					{
						j  = l%3;
						w  = r.substr(0,j);
						wa = r.substr(j,l-j-6);
						wb = r.substr(l-6,6);
						if ( j > 0 )
						{
							w+='.';
						};
						k = (l-j)/3-2;
						for ( i=0; i < k; i++ )
						{
							w += wa.substr(i*3,3)+'.';
						};
						r = w + wb;
					}
				}
			}
			if ( cur.value.length == len || cur.value.length > len )
			{
				cur.value = cur.value.substring(0 ,len);
				return false;
			}
			else
			{
				if ( r.length <= len )
				{
					cur.value = r;
				}
				else
				{
					cur.value = z;
				};
			}
		break;
	}
}
