/**
 *  
 * 
 * @example: onKeyPress="Mascara('CPF',this,event);"
 *
 * @param String tipo DATE - FONE - CPF - CNPJ
 * @param Object campo
 * @param Event  teclaPress
 */
function formataMascara(tipo, campo, teclaPress) {
	if (window.event)
	{
		var tecla = teclaPress.keyCode;
	} else {
		tecla = teclaPress.which;
	}
 
	var s = new String(campo.value);
	// Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
	s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
 
	tam = s.length + 1;
 
	if ( tecla != 9 && tecla != 8 ) {
		switch (tipo)
		{
		case 'CPF' :
			if (tam > 3 && tam < 7)
				campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
			if (tam >= 7 && tam < 10)
				campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
			if (tam >= 10 && tam < 12)
				campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
		break;
 
		case 'CNPJ' :
 
			if (tam > 2 && tam < 6)
				campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
			if (tam >= 6 && tam < 9)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
			if (tam >= 9 && tam < 13)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
			if (tam >= 13 && tam < 15)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
		break;
 
		case 'FONE' :
			if (tam > 2 && tam < 4)
				campo.value = '(' + s.substr(0,2) + ')' + s.substr(2,tam);
			if (tam >= 7 && tam < 11)
				campo.value = '(' + s.substr(0,2) + ')' + s.substr(2,4) + '-' + s.substr(6,tam-6);
				
				//se tiver 13548aaaa tira todos os valores que nao forem numero
		 		var totalValores = campo.value.length-1;
		 		while( (totalValores)>=0 ) {
		 			if ( !parseInt(campo.value.substring(campo.value.length-1)) && 
		 				  campo.value.substring(campo.value.length-1)!=0 &&
		 				  campo.value.substring(campo.value.length-1)!="(" &&
		 				  campo.value.substring(campo.value.length-1)!=")" &&
		 				  campo.value.substring(campo.value.length-1)!="-" ) {
		 				  campo.value = campo.value.substring(0,campo.value.length-1);
		 			}
		 			totalValores--;
		 		}
		break;
 
		case 'DATE' :
			if (tam > 2 && tam < 4)
				campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
			if (tam > 4 && tam < 11)
				campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
		break;
		}
	}
}