// -------------------------------------------------------------------------
// Formata numero

function fNumero(campo) {
	var teclas = new String("0123456789.");
	
	if(teclas.search(String.fromCharCode(event.keyCode)) == -1) {
		event.returnValue = false;
	}
}

// -------------------------------------------------------------------------
// Formata CPF

function fCpf(campo) {
	var v_atual = campo.value;
	var teclas = new String("0123456789");
	
	if(teclas.search(String.fromCharCode(event.keyCode)) == -1) {
		event.returnValue = false;
	}

	v_atual = v_atual.replace(".", "");
	v_atual = v_atual.replace(".", "");
	v_atual = v_atual.replace("/", "");
	v_atual = v_atual.replace("-", "");
   
	if(v_atual.length >= 3) {
		campo.value = v_atual.substr(0,3)+"."+v_atual.substr(3);
	}
	
	if(v_atual.length >= 6) {
		campo.value = v_atual.substr(0,3)+"."+v_atual.substr(3,3)+"."+v_atual.substr(6);
	}
	
	if(v_atual.length >= 9) {
		campo.value = v_atual.substr(0,3)+"."+v_atual.substr(3,3)+"."+v_atual.substr(6,3)+"-"+v_atual.substr(9);
	}
	
	if(v_atual.length >= 11) {
		event.returnValue = false;
	}
}

// -------------------------------------------------------------------------
// Formata CNPJ.

function fCnpj(campo) {
	var v_atual = campo.value;
	var teclas = new String("0123456789");
	
	if(teclas.search(String.fromCharCode(event.keyCode)) == -1) {
		event.returnValue = false;
	}
	
	v_atual = v_atual.replace(".", "");
	v_atual = v_atual.replace(".", "");
	v_atual = v_atual.replace("/", "");
	v_atual = v_atual.replace("-", "");
   
	if(v_atual.length >= 2) {
		campo.value = v_atual.substr(0,2)+"."+v_atual.substr(2);
	}
	
	if(v_atual.length >= 5) {
		campo.value = v_atual.substr(0,2)+"."+v_atual.substr(2,3)+"."+v_atual.substr(5);
	}
	
	if(v_atual.length >= 8) {
		campo.value = v_atual.substr(0,2)+"."+v_atual.substr(2,3)+"."+v_atual.substr(5,3)+"/"+v_atual.substr(8);
	}
	
	if(v_atual.length >= 12) {
		campo.value = v_atual.substr(0,2)+"."+v_atual.substr(2,3)+"."+v_atual.substr(5,3)+"/"+v_atual.substr(8,4)+"-"+v_atual.substr(12,2);
	}
	
	if(v_atual.length >= 14) {
		event.returnValue = false;
	}
}

// -------------------------------------------------------------------------
// Formata data

function fData(campo) {
	var v_atual = campo.value;
	var teclas = new String("0123456789");
	
	if(teclas.search(String.fromCharCode(event.keyCode)) == -1) {
		event.returnValue = false;
	}
	
	v_atual = v_atual.replace(".", "");
	v_atual = v_atual.replace(",", "");
	v_atual = v_atual.replace("/", "");
	v_atual = v_atual.replace("-", "");
   
	if(v_atual.length >= 2) {
		campo.value = v_atual.substr(0,2)+"/"+v_atual.substr(2);
	}
	
	if(v_atual.length >= 4) {
		campo.value = v_atual.substr(0,2)+"/"+v_atual.substr(2,2)+"/"+v_atual.substr(5);
	}
	
	if(v_atual.length >= 9) {
		event.returnValue = false;
	}
}

// -------------------------------------------------------------------------
// Formata cep

function fCep(campo) {
	var v_atual = campo.value;
	var teclas = new String("0123456789");
	
	if(teclas.search(String.fromCharCode(event.keyCode)) == -1) {
		event.returnValue = false;
	}
	
	v_atual = v_atual.replace(".", "");
	v_atual = v_atual.replace(",", "");
	v_atual = v_atual.replace("/", "");
	v_atual = v_atual.replace("-", "");
   
	if(v_atual.length >= 5) {
		campo.value = v_atual.substr(0,5)+"-"+v_atual.substr(5);
	}
	
	if(v_atual.length >= 9) {
		event.returnValue = false;
	}
}

// -------------------------------------------------------------------------
// Formata moeda

function fMoeda(valor) {
	return true;
}

// -------------------------------------------------------------------------
// Formata "trim"

function trim(valor){
	if(valor.length < 1){
		return "";
	}
	
	valor = rtrim(valor);
	valor = ltrim(valor);
	
	return valor;
}

function rtrim(valor){
	var v_space = String.fromCharCode(32);
	var v_length = valor.length;
	var tmp = "";
	var i = v_length -1;
	
	if(v_length < 0){
		return"";
	}

	while(i > -1) {
		if(!(valor.charAt(i) == v_space)) {
			tmp = valor.substring(0, i+1);
			break;
		}
		
		i = i - 1;
	}
	
	return tmp;
}

function ltrim(valor){
	var v_space = String.fromCharCode(32);
	var v_length = valor.length;
	var tmp = "";
	var i = 0;
	
	if(v_length < 0){
		return"";
	}

	while(i < v_length) {
		if(!(valor.charAt(i) == v_space)) {
			tmp = valor.substring(i, v_length);
			break;
		}
		
		i = i + 1;
	}
	alert(tmp);
	return tmp;
}

// -------------------------------------------------------------------------
// Formata strings e acentos

function urlEncode(str) {  
	var hex_chars = "0123456789ABCDEF";  
	var noEncode = /^([a-zA-Z0-9\_\-\.])$/;  
	var n, strCode, hex1, hex2, strEncode = "";  

	for(n = 0; n < str.length; n++) {  
		if (noEncode.test(str.charAt(n))) {  
			strEncode += str.charAt(n);  
		}
		else {  
			strCode = str.charCodeAt(n);  
			hex1 = hex_chars.charAt(Math.floor(strCode / 16));  
			hex2 = hex_chars.charAt(strCode % 16);  
			strEncode += "%" + (hex1 + hex2);  
		}  
	}  
	
	return strEncode;  
}  

function urlDecode(str) {  
	var n, strCode, strDecode = "";  

	for (n = 0; n < str.length; n++) {  
		if (str.charAt(n) == "%") {  
			strCode = str.charAt(n + 1) + str.charAt(n + 2);  
			strDecode += String.fromCharCode(parseInt(strCode, 16));  
			n += 2;  
		}
		else {  
			strDecode += str.charAt(n);  
		}  
	}  

	return strDecode;  
}