function maruk() {
}

function formatarCep(campo) { // Formata o CEP
	var key = event.keyCode;
	var cep = campo.value;
	var cepOrigem = cep;
	var set = 0;
	cepOrigem = replace(cepOrigem, " ", "");
	cepOrigem = replace(cepOrigem, ".", "");
	cepOrigem = replace(cepOrigem, "-", "");

	if(cepOrigem.length == 8){
		cep = cepOrigem.substring(0, 5) + "-" + cepOrigem.substring(5, 8);
		set = 1;

	} else {
		if (cep.length == 5 && cep.substring(5, 6) != "-") {
			cep += "-";
		}

	}
	
	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		try {
			eval("document.all." + campo.name + ".value = '" + cep + "'");
		
		} catch(e) {
			eval("document.getElementById('" + campo.id + "').value = '" + cep + "'");

		}

		return true;

	} else {
		return false;

	}

}

function formatarCampoPercentual(){ // Deixa escrever apenas números
	var key = event.keyCode;
	/* Descricao dos keyCodes
	* 8 = backspace
	* 9 = Tab
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 46 = ponto
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key >= 48 && key <= 57)|| 
		(key == 8 || key == 9 ||
		 key == 37 || key == 39 ||
		 key == 35 || key == 36 ||
		 key == 45 || key == 46)) {

		return true;
	}
	else{
		return false;
	}
}

function formatarCampoPercentualSaida(campo) {
	var valor = campo.value;

	if (valor.indexOf("%") == -1) {
		eval("document.all." + campo.name + ".value = '" + valor + "%'");

	}

}

function formatarCampoNumerico() { // Deixa escrever apenas números
	var key = event.keyCode;
	/* Descricao dos keyCodes
	* 8 = backspace
	* 9 = Tab
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 44 = vírgula
	* 45 = insert
	* 46 = ponto
	* 48 - 57 = numeros no teclado alfabetico
	* 96 - 105 = numeros no teclado numérico
	*/
	if ((key >= 48 && key <= 57) || (key >= 96 && key <= 105) ||
		(key == 8 || key == 9 || key == 37 || key == 39 || key == 35 || key == 36 || key == 45 || key == 44 || key == 46)) {

		return true;
	}
	else{
		return false;
	}
}

function formatarCampoNumericoComBarra() {
	var key = event.keyCode;
	var ret = this.formatarCampoNumerico();

	if (key == 47) {
		ret = true;

	}

	return ret;
}

function formatarCpf(campo){ // Formata o CPF
	var key = event.keyCode;
	var cpf = campo.value;
	var cpfOrigem = cpf;
	var set = 0;

	cpfOrigem = replace(cpfOrigem, " ", "");
	cpfOrigem = replace(cpfOrigem, ".", "");
	cpfOrigem = replace(cpfOrigem, "-", "");

	if (cpfOrigem.length == 11) {
		cpf = cpfOrigem.substring(0, 3) + "." + cpfOrigem.substring(3, 6) + "." + cpfOrigem.substring(6, 9) + "-" + cpfOrigem.substring(9,11);
		set = 1;
	}
	else {
		if (cpfOrigem.length == 3 && cpf.substring(3, 4) != ".") {
			cpf += ".";
		}
		else if (cpfOrigem.length == 6 && cpf.substring(7, 8) != ".") {
			cpf += ".";
		}
		else if (cpfOrigem.length == 9 && cpf.substring(11, 12) != "-") {
			cpf += "-";
		}
	}

	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/

	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		eval("document.all."+campo.name+".value = '"+cpf+"'");
		return true;
	}
	else {
		return false;
	}
}

function formatarCnpj(campo){ // Formata o CPF
	var key = event.keyCode;
	var cnpj = campo.value;
	var cnpjOrigem = cnpj;
	var set = 0;

	cnpjOrigem = replace(cnpjOrigem, " ", "");
	cnpjOrigem = replace(cnpjOrigem, ".", "");
	cnpjOrigem = replace(cnpjOrigem, "/", "");
	cnpjOrigem = replace(cnpjOrigem, "-", "");

	if (cnpjOrigem.length == 15) {
		cnpj = cnpjOrigem.substring(0, 3) + "." + cnpjOrigem.substring(3, 6) + "." + cnpjOrigem.substring(6, 9) + "/" + cnpjOrigem.substring(9,13) + "-" + cnpjOrigem.substring(13,15);
		set = 1;

	} else {
		if (cnpjOrigem.length == 3 && cnpj.substring(3, 4) != ".") {
			cnpj += ".";

		} else if (cnpjOrigem.length == 6 && cnpj.substring(7, 8) != ".") {
			cnpj += ".";

		} else if (cnpjOrigem.length == 9 && cnpj.substring(11, 12) != "/") {
			cnpj += "/";

		} else if (cnpjOrigem.length == 13 && cnpj.substring(13, 14) != "-") {
			cnpj += "-";

		}

	}

	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/

	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		eval("document.all."+campo.name+".value = '"+cnpj+"'");
		return true;
	}
	else {
		return false;
	}
}

function formatarData(campo){ // Formata o campo data
	var key = event.keyCode;
	var data = campo.value;
	var dataOrigem = data;
	var set = 0;

	dataOrigem = replace(dataOrigem, " ", "");
	dataOrigem = replace(dataOrigem, "/", "");

	if(dataOrigem.length == 8) {
		data = dataOrigem.substring(0, 2) + "/" + dataOrigem.substring(2, 4) + "/" + dataOrigem.substring(4, 8);
		set = 1;

	} else if (data.length == 2 && data.substring(2, 3) != "/") {
			data += "/";

	} else if (data.length == 5 && data.substring(4, 5) != "/") {
		data += "/";

	}
	
	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		try {
			eval("document.all." + campo.name + ".value = '" + data + "'");
		
		} catch(e) {
			eval("document.getElementById('" + campo.id + "').value = '" + data + "'");

		}

		return true;

	} else {
		return false;

	}

}

function formatarHora(campo) { // Formata o campo Hora
	var key = event.keyCode;
	var hora = campo.value;
	var horaOrigem = hora;
	var set = 0;

	horaOrigem = replace(horaOrigem, " ", "");
	horaOrigem = replace(horaOrigem, ":", "");

	if(horaOrigem.length == 5) {
		hora = horaOrigem.substring(0, 2) + ":" + horaOrigem.substring(2, 4) + ":" + horaOrigem.substring(4, 8);
		set = 1;

	} else if (hora.length == 2 && hora.substring(2, 3) != ":") {
			hora += ":";

	} else if (hora.length == 5 && hora.substring(4, 5) != ":") {
		hora += ":";

	}
	/*
	horaOrigem = replace(horaOrigem, " ", "");
	horaOrigem = replace(horaOrigem, ":", "");

	if (horaOrigem.length == 5) {
		hora = horaOrigem.substring(0, 2) + ":" + horaOrigem.substring(3, 5);
		set = 1;

	} else if (horaOrigem.length == 5) {
		hora = horaOrigem.substring(0, 2) + ":" + horaOrigem.substring(3, 5);
		set = 1;

	} else if (hora.length == 2 && hora.substring(2, 3) != ":") {
		hora += ":";

	}
	*/
	
	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		eval("document.all." + campo.name + ".value = '" + hora + "'");
		return true;
	}
	else{
		return false;
	}
}

function formatarCampoAlphaNumerico() {
	var key = event.keyCode;
	/* Descricao dos keyCodes
	* 8 = backspace
	* 9 = tab
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 44 = vírgula
	* 45 = insert
	* 46 = ponto
	* 48 - 57 = numeros no teclado alfabetico
	* 65 - 90 = Letras Maiúsculas
	* 97 - 122 = Letras Minúsculas
	*/

	if ((key >= 48 && key <= 57) || 
		(key == 8 || key == 9 || key == 37 || 
		 key == 39 || key == 35 ||
		 key == 36 || key == 45) ||
		(key >= 64 && key <= 90) ||
		(key >= 97 && key <= 122)) {

		return true;

	} else {
		return false;

	}

}

function arredondarValorDecimal(texto) {
	var valorStr = new String(texto);
	var valorStr01 = "";
	var valorStr02 = "";

	if (valorStr.indexOf(".") != -1) {
		valorStr01 = valorStr.substring(0, valorStr.indexOf("."));
		valorStr02 = valorStr.substring(valorStr.indexOf(".") + 1, valorStr.length);
		if (valorStr02.length == 1) {
			valorStr02 = valorStr02 + "0";

		} else if (valorStr02.length > 2) {
			valorStr02A = valorStr02.substring(0, 2); // 64
			valorStr02B = valorStr02.substring(0, 1); // 6
			valorStr02C = valorStr02.substring(1, 2); // 4
			valorStr02D = valorStr02.substring(2, 3); // 3

			if (valorStr02D >= 5) {
				valorStr02C++;

			}

			valorStr02 = valorStr02B + "" + valorStr02C;

		}

		valorStr = valorStr01 + "." + valorStr02;

	} else {
		valorStr = valorStr + ".00";

	}

	return valorStr;

}

function formatarMoeda(texto) {
	return arredondarValorDecimal(texto);

}

function colocarPontosEmValoresMoeda(valor) { // Coloca todos os pontos indicando milhares e troca o ponto pela virgula que indica poncentagem
	valorA = valor.substring(0, valor.indexOf("."));
	valorB = valor.substring(valor.indexOf(".") + 1, valor.length);

	valorANovo = "";
	cont = 1;
	for (i = 0; i < valorA.length; i++) {
		valorANovo = valorA.substring(valorA.length - i, valorA.length - (i + 1)) + valorANovo;
		if (cont == 3) {
			valorANovo = "." + valorANovo;
			cont = 0;
		}

		cont++;
	}

	if (valorANovo.substring(0, 1) == ".") {
		valorANovo = valorANovo.substring(1, valorANovo.length);

	}

	valor = valorANovo + "," + valorB;

	return valor;

}

function formatarCampoMoeda(campo) { // Formata o campo moeda
	var valor = campo.value;

	// Verifica se tem ponto indicando valores acima de mil, e se tem tem virgula indicando valores decimais.
	if ((valor.indexOf(",") != -1) && (valor.substring(valor.indexOf(",") + 1, valor.length).length >= 2) && (valor.indexOf(".") != -1) && (valor.indexOf(".") < valor.indexOf(","))) {
		if (valor.indexOf(".") != -1) {
			valor = replace(valor, ".", ""); // Tira o ponto que indica valores acima de mil

		}
		valor = replace(valor, ",", "."); // Troca a virgula pelo ponto para indicar valores decimais

	// Verifica se tem virgula indicando valores acima de mil, e se tem tem ponto indicando valores decimais.
	} else if ((valor.indexOf(".") != -1) && (valor.substring(valor.indexOf(".") + 1, valor.length).length >= 2) && (valor.indexOf(",") != -1) && (valor.indexOf(",") < valor.indexOf("."))) {
		if (valor.indexOf(",") != -1) {
			valor = replace(valor, ",", ""); // Tira a vigula que indica valores acima de mil

		}

	// Verifica se tem algum valor antes do ponto, no caso do ponto indicar valores decimais
	} else if ((valor.indexOf(".") != -1) && (valor.indexOf(",") == -1) && (valor.substring(valor.indexOf(".") + 1, valor.length).length >= 2) && (valor.substring(0, valor.indexOf(".")).length == 0)) {
		valor = replace(valor, ".", "");

	// Verifica se tem algum valor antes da virgula, no caso da virgula indicar valores decimais
	} else if ((valor.indexOf(".") == -1) && (valor.indexOf(",") != -1) && (valor.substring(valor.indexOf(",") + 1, valor.length).length >= 2) && (valor.substring(0, valor.indexOf(",")).length == 0)) {
		valor = replace(valor, ",", "");

	// Verifica se não tem ponto, e se tem virgula indicando valores decimais.
	} else if ((valor.indexOf(".") == -1) && (valor.indexOf(",") != -1) && (valor.substring(valor.indexOf(",") + 1, valor.length).length > 2)) {
		valor = replace(valor, ",", "."); // Troca a virgula pelo ponto para indicar valores decimais

	}

	// Verifica se o início do texto começa com ponto ou virgula, e tira se for verdadeiro
	if (valor.indexOf(".") == 0 || valor.indexOf(",") == 0) {
		valor = valor.substring(1, valor.length);

	}

	if (valor.indexOf(",") != -1) {
		valor = replace(valor, ",", ".");

	}

	valor = arredondarValorDecimal(valor); // arredonda os valores decimais depois do ponto
	valor = colocarPontosEmValoresMoeda(valor); // coloca os pontos e virgulas indicando valor monetario

	// Verifica se o início do texto começa com virgula, e se for verdadeiro coloca um zero antes
	if (valor.indexOf(",") == 0) {
		valor = "0" + valor;

	}

	try {
		eval("document.all." + campo.name + ".value = '" + valor + "'");

	} catch(e) {
		eval("document.getElementById('" + campo.id + "').value = '" + valor + "'");

	}

}