	//Função que faz formatação de campos de Moedas
	//Para usar coloque esta propriedade no seu campo
	//onKeyPress="return(currencyFormat(this,',','.',event))"
	//Obs: Perceba que na linha acima ele passa como formatacao (,)Virgula e (.)Ponto. Se quiser pode mudar tudo para ponto ou tudo para virgula ou entao deixar vazio
	function FormataMoeda(fld, milSep, decSep, e) {
		var sep = 0;
		var key = '';
		var i = j = 0;
		var len = len2 = 0;
		var strCheck = '0123456789';
		var aux = aux2 = '';
		var whichCode = (window.Event) ? e.which : e.keyCode;
		if (whichCode < 32) return true; // Enter
		key = String.fromCharCode(whichCode); // Get key value from key code
		if (strCheck.indexOf(key) == -1) return false; // Not a valid key
		len = fld.value.length;
		for(i = 0; i < len; i++)
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
		aux = '';
		for(; i < len; i++)
		if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;
		len = aux.length;
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0'+ decSep + '0' + aux;
		if (len == 2) fld.value = '0'+ decSep + aux;
		if (len > 2) {
			aux2 = '';
			for (j = 0, i = len - 3; i >= 0; i--) {
				if (j == 3) {
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;
			for (i = len2 - 1; i >= 0; i--)
			fld.value += aux2.charAt(i);
			fld.value += decSep + aux.substr(len - 2, len);
		}
		return false;
	}
	//Fim da Função FormataMoeda

//MÁSCARA DE VALORES CAMPOS
function txtBoxFormat(objeto, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
if(document.all) { // Internet Explorer
	nTecla = evtKeyPress.keyCode;
}else if(document.layers) { // Nestcape
	nTecla = evtKeyPress.which;
}else{
	nTecla = evtKeyPress.which;
	if (nTecla == 8 || nTecla == 9) {
		return true;
	}
}

	sValue = objeto.value;
	// Limpa todos os caracteres de formatação que já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;

	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
		if (bolMask) {
		sCod += sMask.charAt(i);
		mskLen++; }
		else {
		sCod += sValue.charAt(nCount);
		nCount++;
		}
		i++;
	}
	objeto.value = sCod;
	if (nTecla != 8 || nTecla != 9) { // backspace e  tab
		if (sMask.charAt(i-1) == "9") { // apenas números...
		return ((nTecla > 47) && (nTecla < 58)); 
		}else{ // qualquer caracter...
		return true;
		} 
	}else{
		return true;
	}
}

	var reDigits = /^\d+$/;

	function doDigits(pStr){
		if (reDigits.test(pStr)) {
			alert(pStr + " contém apenas dígitos.");
		} else if (pStr != null && pStr != "") {
			alert(pStr + " NÃO contém apenas dígitos.");
		}
	}

	var reDecimalPt = /^[+-]?((\d+|\d{1,3}(\.\d{3})+)(\,\d*)?|\,\d+)$/;
	var reDecimalEn = /^[+-]?((\d+|\d{1,3}(\,\d{3})+)(\.\d*)?|\.\d+)$/;
	var reDecimal = reDecimalPt;

	function doDecimal(pStr, pLang){
		charDec = ( pLang != "En"? ",": "." );
		eval("reDecimal = reDecimal" + pLang);
		if (reDecimal.test(pStr)) {
			pos = pStr.indexOf(charDec);
			decs = pos == -1? 0: pStr.length - pos - 1;
			alert(pStr + " é um float válido (" + pLang + ") com " + decs + " decimais.");
		} else if (pStr != null && pStr != "") {
			alert(pStr + " NÃO é um float válido.");
		}
	} // doDecimal

	var reMoeda = /^\d{1,3}(\.\d{3})*\,\d{2}$/;

	function doMoeda(pStr){
		if (reMoeda.test(pStr)) {
			alert(pStr + " é um valor financeiro válido.");
		} else if (pStr != null && pStr != "") {
			alert(pStr + " NÃO é um valor financeiro válido.");
		}
	}

	var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
	var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
	var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
	var reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
	var reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	var reDate = reDate4;

	function doDate(pStr, pFmt){
		eval("reDate = reDate" + pFmt);
		if (reDate.test(pStr)) {
			alert(pStr + " é uma data válida.");
		} else if (pStr != null && pStr != "") {
			alert(pStr + " NÃO é uma data válida.");
		}
	} // doDate

	var reTime1 = /^\d{2}:\d{2}$/;
	var reTime2 = /^([0-1]\d|2[0-3]):[0-5]\d$/;
	var reTime3 = /^(0[1-9]|1[0-2]):[0-5]\d$/;
	var reTime4 = /^\d+:[0-5]\d:[0-5]\d$/;
	var reTime5 = /^\d+:[0-5]\d:[0-5]\.\d{3}\d$/;

	function doTime(pStr, pFmt){
		eval("reTime = reTime" + pFmt);
		if (reTime.test(pStr)){
			alert(pStr + " é um horário/tempo válido.");
		}else if (pStr != null && pStr != ""){
			alert(pStr + " NÃO é um horário/tempo válido.");
		}
	} // doTime

	var reEmail1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail2 = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail3 = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail = reEmail3;

	function doEmail(pStr, pFmt){
		eval("reEmail = reEmail" + pFmt);
		if (reEmail.test(pStr)){
			alert(pStr + " é um endereço de e-mail válido.");
		} else if (pStr != null && pStr != "") {
			alert(pStr + " NÃO é um endereço de e-mail válido.");
		}
	} // doEmail

	//valida data
	function validaData(campo){
		if ( campo.value != "" ){
			erro=0;
			var hoje = new Date();
			var anoAtual = hoje.getFullYear();
			var barras = campo.value.split("/");
			if (barras.length == 3){
				var dia = barras[0];
				var mes = barras[1];
				var ano = barras[2];
				var resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && ( ano >= 1900));
				if (!resultado){
					alert("Data invalida!");
					campo.focus();
					return false;
				}
			}else{
				alert("Data invalida.");
				campo.focus();
				return false;
			}
			return true;
		}
	}
	function validaHora(campo){
		if(campo.value != ""){
			var horas = campo.value.split(":");
			if(horas.length == 2){
				var hora = horas[0];
				var min = horas[1];
				var result = (!isNaN(hora) &&(hora < 24)) && (!isNaN(min) &&(min < 60));
				if(!result){
					alert("Hora Invalida!");
					campo.focus;
					return false;
				}
			}else{
				alert("Hora Invalida!");
				campo.focus;
				return false;
			}
			return true;
		}
	}

	//funçao que faz aparecer div e no segundo click desaparecer a mesma div

	function apareceesconde(objeto){
		var elemento = document.getElementById(objeto);
		if ( elemento.style.display != 'none' ) {
			elemento.style.display = 'none';
		}else{
			elemento.style.display = '';
		}
	}
	// função para aparecer divs   
	function aparece(objeto){
		var elemento = document.getElementById(objeto);
		if ( elemento.style.display != '' ){
			elemento.style.display = '';
		}
	}
	// funcão mostra objetos divs
	function esconde(objeto){
		var elemento = document.getElementById(objeto);
		if ( elemento.style.display != 'none' ){
			elemento.style.display = 'none';
		}
	}
	// função para selecionar todos os checkbox
	//com base atribto nome do campo
	function seleciona_tudo(nome){
		var checkbox = document.getElementsByName(nome);
		var contador  = checkbox.length;
		for(i=0; i < contador; i++){
			var tipo = checkbox[i].type;
			if (tipo == "checkbox"){
				checkbox[i].checked = true;
			}
		}
	}
	// função para desmarcar todos os checkbox
	// com base no atributo nome do campo
	function deseleciona_tudo(name){
		var checkbox = document.getElementsByName(name);
		var count  = checkbox.length;
		for(i=0; i < count; i++){
			var tipo = checkbox[i].type;
			if (tipo == "checkbox"){
				checkbox[i].checked = false;
			}
		}
	}
	//função para selecionar os checkbox em ordem inversa aos selecionados
	// com base no nome do objeto 
	function seleciona_inversa(nome){
		var checkbox = document.getElementsByName(nome);
		var contador  = checkbox.length;
		for(i=0; i < contador; i++){
			var tipo = checkbox[i].type;
			if (tipo == "checkbox"){
				if(checkbox[i].checked == true){
					checkbox[i].checked = false;
				}else{
					checkbox[i].checked = true;
				}
			}
		}
	}
function validaparcela(valor){
	if(valor < 1){
		msg = "Valor de parcela invÃ¡lido! \nCaso a forma de pagamento seja 'Ã  vista' o pagamento contarÃ¡ com ao menos uma(1) parcela!"
		alert(msg);
		document.getElementById('parcelas').value = 1;
	}
}

