	//VoyAGE - Administração de turismo
	//(c)2006 - Chip Informática S/S Ltda - Todos os direitos reservados
	//Contato: (11) 4657-5112 - chipweb@chipweb.com.br
	var win = null;
	var ReciboAtual = null;
	var ReciboAtual2 = null;
	var vArredondarPrecos = 0;
	var vArredondarTarifas = 0;
	
	function NewWindow(mypage,myname,w,h,scroll, tipo){
		LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
		TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
		if(tipo==1){
			settings = 'toolbar = yes, status = yes, scrollbars=yes';
		}else{
			settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',noresize';
		}
		win = window.open(mypage,myname,settings)
	}
	function Mascara(objeto, evt, mask) {
		var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
		var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
		var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
		var Numeros = '0123456789xX';
		var Fixos  = '().-:/ ';
		var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";
		
		evt = (evt) ? evt : (window.event) ? window.event : "";
		var value = objeto.value;
		if (evt) {
			var ntecla = (evt.which) ? evt.which : evt.keyCode;
			tecla = Charset.substr(ntecla - 32, 1);
			if (ntecla < 32) return true;
		
			var tamanho = value.length;
			if (tamanho >= mask.length) return false;
			
			var pos = mask.substr(tamanho,1);
			while (Fixos.indexOf(pos) != -1) {
				value += pos;
				tamanho = value.length;
				if (tamanho >= mask.length) return false;
				pos = mask.substr(tamanho,1);
			}
			
			switch (pos) {
				case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
				case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
				case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
				case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
				case '*' : objeto.value = value; return true; break;
				default : return false; break;
			}
		}
		objeto.value = value;
		return true;
	}
	function MaskNum(objeto, evt) { return Mascara(objeto, evt, '############'); }
	function MaskCEP(objeto, evt) { return Mascara(objeto, evt, '#####-###'); }
	function MaskTelefone(objeto, evt) { return Mascara(objeto, evt, '(##) ####-####'); }
	function MaskTelefoneCompleto(objeto, evt) { return Mascara(objeto, evt, '*## (##) ####-####'); }
	function MaskCPF(objeto, evt) { return Mascara(objeto, evt, '###.###.###-##'); }
	function MaskData(objeto, evt){ return Mascara(objeto, evt, '##/##/##'); }
	function MaskData2(objeto, evt){ return Mascara(objeto, evt, '##/##/####'); }
	function MaskHora(objeto, evt){ return Mascara(objeto, evt, '##:##'); }
	function MaskTrecho(objeto, evt){ return Mascara(objeto, evt, 'ZZZ/ZZZ'); }
	function MaskCNPJ(objeto, evt){ return Mascara(objeto, evt, '##.###.###/####-##'); }
	function iniciaCalc(tipo, posicao, posicao2){
		switch(tipo){
			case 1: interval = setInterval('CalcFechamento()',1); break;
			case 2: interval = setInterval('CalcSPR()', 1); break;
			case 3: interval = setInterval('CalcCheques('+posicao+', '+posicao2+')',1); break;
			case 4: interval = setInterval('CalcCartao('+posicao+', '+posicao2+')',1); break;
			case 5: interval = setInterval('CalcDetalhesPCP()',1); break;
			case 6: interval = setInterval('CalcFechamentoOperadoras()', 1); break;
			case 7: interval = setInterval('CalcOrc1()', 1); break;
			case 8: interval = setInterval('CalcOrc2()', 1); break;
			case 9: interval = setInterval('CalcOrc3()', 1); break;
			case 10: interval = setInterval('CalcOrc4()', 1); break;
			case 11: interval = setInterval('CalcOrc5()', 1); break;
			case 12: interval = setInterval('CalcOrc6()', 1); break;
			case 13: interval = setInterval('CalcOrc7()', 1); break;
			case 14: interval = setInterval('CalcBilhete()', 1); break;
			case 15: interval = setInterval('CalcOrc0()', 1); break;
			case 16: interval = setInterval('CalcResultadoGeral()', 1); break;
			case 17: interval = setInterval('CalcFechamentoDaVenda()', 1); break;
			case 18: interval = setInterval('CalcFechamentoDaVenda2()', 1); break;
			case 19: interval = setInterval('CalculaArea()', 1); break;			
			case 20: interval = setInterval('CalcularFechamento()', 1); break;
			case 21: interval = setInterval('CalculaJuros('+posicao+', '+posicao2+')', 1); break;
			case 22: interval = setInterval('CalcFechamentoDaNotaDeDebito()', 1); break;
			case 23: interval = setInterval('CalcBco('+posicao+')', 1); break;
			case 24: interval = setInterval('clonarData()', 1); break;
		}
	}
	function paraCalc(){
		clearInterval(interval);
	}
	function Arredonda(valor, casas){
		valor = valor.replace(',', '.');
		return(Math.round(valor*Math.pow(10, casas)) / Math.pow(10, casas));
	}
	function FormataValor(valor, atual, troca){
		if( (atual==',') && (troca=='.') ){
			res = Arredonda(valor, 4);
		}else{
			res = "";
			valor+= "00";
			posicao = 0;
			
			for(count=0; count<valor.length; count++){
				if(valor.charAt(count) == atual){
					posicao = count;
				}
			}
			if(posicao == 0){
				res = valor.substr(0, (valor.length-2)) + troca + "00";
			}else{
				res = valor.substr(0, posicao) + troca + valor.substr(posicao+1, 2);
			}/*
			if(posicao == 0){
				res = valor.substr(0, (valor.length-2)) + troca + "00";
			}else{
				maior = valor.substr(posicao+1, 3);
				if(maior.substr(2,3)>=6){
					acerto = valor.substr(posicao+1, 2)*1+1;
					res = valor.substr(0, posicao) + troca + acerto;	
				}else{
					res = valor.substr(0, posicao) + troca + valor.substr(posicao+1, 2);
				}			
			}		*/
		}/*
		if( vArredondarPrecos == 1 ){
			posicao = res.length;
			
			if(posicao*1 >0){
				if(res.substr(posicao-2)*1 > 0){
					res = res.substr(0, posicao-3);
					res = res*1+1;
				}else{
					res = res.substr(0, posicao-3);
				}
			}
		}*/
		return (res);
	}
	function FormataValorArredonda(valor, atual, troca){
		if( (atual==',') && (troca=='.') ){
			res = Arredonda(valor, 4);
		}else{
			res = "";
			valor+= "00";
			posicao = 0;
			
			for(count=0; count<valor.length; count++){
				if(valor.charAt(count) == atual){
					posicao = count;
				}
			}
			if(posicao == 0){
				res = valor.substr(0, (valor.length-2)) + troca + "00";
			}else{
				res = valor.substr(0, posicao) + troca + valor.substr(posicao+1, 2);
			}
		}
		
		posicao = res.length;
		
		if(posicao*1 >0){
			if(res.substr(posicao-2)*1 > 0){
				res = res.substr(0, posicao-3);
				res = res*1+1;
			}else{
				res = res.substr(0, posicao-3);
			}
		}
		return (res);
	}	
	function currencyFormat(fld, 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 == 13) return 1; // Enter
		key = String.fromCharCode(whichCode); // Get key value from key code
		if (strCheck.indexOf(key) == -1) return 0; // 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;
	}
	function currencyFormat2(fld, 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 == 13) return 1; // Enter
		key = String.fromCharCode(whichCode); // Get key value from key code
		if (strCheck.indexOf(key) == -1) return 0; // 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 + '000' + aux;
		if (len == 2) fld.value = '0'+ decSep + '00' + aux;
		if (len == 3) fld.value = '0'+ decSep + '0' + aux;
		if (len == 4) fld.value = '0'+ decSep + aux;
		if (len > 4) {
			fld.value = aux.substr(0, aux.length-4)+ decSep +aux.substr(aux.length-4);
		}
		return false;
	}
	function currencyFormatEspecial(fld, e){
		var decSep = ',';
		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 == 13) return 1; // Enter
		key = String.fromCharCode(whichCode); // Get key value from key code
		if (strCheck.indexOf(key) == -1) return 0; // 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;
	}
	function AbrirPagina(pagina){
		location.href = pagina;  
	}
//Cria por alex com base de dados da Internet////////////////////////	
	function Valida_CPF(cpf) {
		cpf = cpf.substr(0,3) + cpf.substr(4,3) + cpf.substr(8,3) + cpf.substr(12,2);
		erro = new String;
		if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n"; 
		var nonNumbers = /\D/;
		if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";	
		if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
			  erro += "Numero de CPF invalido!"
		}
		var a = [];
		var b = new Number;
		var c = 11;
		for (i=0; i<11; i++){
			a[i] = cpf.charAt(i);
			if (i <  9) b += (a[i] *  --c);
		}
		if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
		b = 0;
		c = 11;
		for (y=0; y<10; y++) b += (a[y] *  c--); 
		if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
		status = a[9] + ""+ a[10]
		if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
			erro +="Digito verificador com problema!";
		}
		if (erro.length > 0){
			alert(erro);
			return false;
		}
		return true;
	}
////////////////////////////////////////////////////////////////////////////////		
	function Verifica_CPF(cpf) {
		cpf = cpf.substr(0,3) + cpf.substr(4,3) + cpf.substr(8,3) + cpf.substr(12,2);
		var numeros, digitos, soma, i, resultado, digitos_iguais;
		var ok = 1;
		
		digitos_iguais = 1;
		
		if (cpf.length < 11){
			ok = 0;
		}
		for (i = 0; i < cpf.length - 1; i++){
			if (cpf.charAt(i) != cpf.charAt(i + 1)){
				digitos_iguais = 0;
				break;
			}
		}
		if (!digitos_iguais){
			numeros = cpf.substring(0,9);
			digitos = cpf.substring(9);
			soma = 0;
			for (i = 10; i > 1; i--){
				soma += numeros.charAt(10 - i) * i;
			}
			resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
			if (resultado != digitos.charAt(0)){
				ok = 0;
			}
			numeros = cpf.substring(0,10);
			soma = 0;
			for (i = 11; i > 1; i--){
				soma += numeros.charAt(11 - i) * i;
			}
			resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
			if (resultado != digitos.charAt(1)){
				ok = 0;
			}
			//return 1;
		}else{
			ok = 0;
		}
		
		if(!ok){
			return false;
		}else{
			return true;
		}
	}
	//diferença entre datas_____
	var dateDif = {
		dateDiff: function(strDate1,strDate2){
		return (((Date.parse(strDate2))-(Date.parse(strDate1)))/(24*60*60*1000)).toFixed(0);
		}
	}
	function ObterDiferencaEntreDatas(DataDe, DataAte) {
		// Declarações de variáveis
		var mes, arrDataDe, arrDataAte;
		// Lista dos meses em inglês
		mes = [];
		mes[0] = "January";
		mes[1] = "February";
		mes[2] = "March";
		mes[3] = "April";
		mes[4] = "May";
		mes[5] = "June";
		mes[6] = "July";
		mes[7] = "August";
		mes[8] = "September";
		mes[9] = "October";
		mes[10] = "November";
		mes[11] = "December";
	
		arrDataDe = DataDe.split('/');// Separa a data informada pelo usuário através da barra /
		DataDe = mes[(arrDataDe[1] - 1)] + ' ' + arrDataDe[0] + ' ' + '20'+arrDataDe[2];// Formata a data para o seguinte formato: November 22 2006
		
		arrDataAte = DataAte.split('/');// Separa a data informada pelo usuário através da barra /
		DataAte = mes[(arrDataAte[1] - 1)] + ' ' + arrDataAte[0] + ' ' + '20'+arrDataAte[2];// Formata a data para o seguinte formato: November 22 2006

		return dateDif.dateDiff(DataDe, DataAte);// Obtendo a diferenca em dias
	}
	///////////////////////////
	/*function ObterDiferencaEntreDatas(De, Ate){
		var dDe = new Date(De.substring(6,8), De.substring(3,5), De.substring(0,2), '0', '0', '0', '0');
		var dAte = new Date(Ate.substring(6,8), Ate.substring(3,5), Ate.substring(0,2), '23', '59', '59', '59');
		var iDia = 1000*60*60*24;

		return Math.ceil((dAte.getTime()-dDe.getTime())/iDia);
	}*/
	function div_onClick(opcao){
		if(document.getElementById('hidExpande'+opcao).value=='1'){
			document.getElementById('simbolo'+opcao).innerHTML = '&laquo;';
			document.getElementById('divRecentes'+opcao).className = '';
			document.getElementById('hidExpande'+opcao).value='10';
		}else{
			document.getElementById('simbolo'+opcao).innerHTML = '&raquo;';
			document.getElementById('divRecentes'+opcao).className = 'ocultar';
			document.getElementById('hidExpande'+opcao).value='1';
		}
	}
	function VerificaData(edtData){
		if(edtData.value!=''){
			var dialimite='', ano='', mes='', dia='';
			if(edtData.value.substring(6,8)==''){ ano = '08';
			}else{ ano = lpad(edtData.value.substring(6,8), '0', 2); }
			mes = lpad(edtData.value.substring(3,5), '0', 2);
			dia = lpad(edtData.value.substring(0,2), '0', 2);
			if( ( (ano*1 == 4) || (ano*1 == 8) || (ano*1 == 12) || 
			(ano*1 == 16) || (ano*1 == 20) || (ano*1 == 24) || 
			(ano*1 == 28) || (ano*1 == 32) || (ano*1 == 36) || 
			(ano*1 == 40) || (ano*1 == 44) || (ano*1 == 48) ) && 
			(mes*1==2)){ dialimite = 29;
			}else if( (mes*1==1) || (mes*1==3) || (mes*1==5) || (mes*1==7) || 
			(mes*1==8) || (mes*1==10) || (mes*1==12) ) { dialimite = 31;
			}else if( mes*1==2 ){ dialimite = 28; 
			}else{ dialimite = 30; }

			if( (mes*1<1) || (mes*1>12) ){ alert('Mês inválido!'); edtData.focus(); }
			if( (dia*1<1) || (dia*1>dialimite) ){ alert('Dia inválido!'); edtData.focus(); }
			edtData.value = dia +'/'+ mes +'/'+ ano;
		}
	}
	function VerificaData99(edtData){
		if(edtData.value!=''){
			var dialimite='', ano='', mes='', dia='';
			if(edtData.value.substring(6,8)==''){ ano = '08';
			}else{ ano = lpad(edtData.value.substring(6,8), '0', 2); }
			mes = lpad(edtData.value.substring(3,5), '0', 2);
			dia = lpad(edtData.value.substring(0,2), '0', 2);
			if( ( (ano*1 == 4) || (ano*1 == 8) || (ano*1 == 12) || 
			(ano*1 == 16) || (ano*1 == 20) || (ano*1 == 24) || 
			(ano*1 == 28) || (ano*1 == 32) || (ano*1 == 36) || 
			(ano*1 == 40) || (ano*1 == 44) || (ano*1 == 48) ) && 
			(mes*1==2)){ dialimite = 29;
			}else if( (mes*1==1) || (mes*1==3) || (mes*1==5) || (mes*1==7) || 
			(mes*1==8) || (mes*1==10) || (mes*1==12) ) { dialimite = 31;
			}else if( mes*1==2 ){ dialimite = 28; 
			}else{ dialimite = 30; }

			if( ((mes*1<1) || (mes*1>12)) && (mes*1!=99) ){  alert('Mês inválido!'); edtData.focus(); }
			if( ((dia*1<1) || (dia*1>dialimite)) && (dia*1!=99) ){ alert('Dia inválido!'); edtData.focus(); }
			edtData.value = dia +'/'+ mes +'/'+ ano;
		}
	}
	function VerificaData2(edtData){
		if(edtData.value!=''){
			var dialimite='', ano='', mes='', dia='', decada='';
			if(edtData.value.substring(9,10)==''){  alert('Preencha o ano com 4 dígitos!'); edtData.focus(); 
			}else{ decada = edtData.value.substring(6,8); ano = lpad(edtData.value.substring(8,10), '0', 2); }
			mes = lpad(edtData.value.substring(3,5), '0', 2);
			dia = lpad(edtData.value.substring(0,2), '0', 2);
			if( ( (ano*1 == 4) || (ano*1 == 8) || (ano*1 == 12) || 
			(ano*1 == 16) || (ano*1 == 20) || (ano*1 == 24) || 
			(ano*1 == 28) || (ano*1 == 32) || (ano*1 == 36) || 
			(ano*1 == 40) || (ano*1 == 44) || (ano*1 == 48) ) && 
			(mes*1==2)){ dialimite = 29;
			}else if( (mes*1==1) || (mes*1==3) || (mes*1==5) || (mes*1==7) || 
			(mes*1==8) || (mes*1==10) || (mes*1==12) ) { dialimite = 31;
			}else if( mes*1==2 ){ dialimite = 28; 
			}else{ dialimite = 30; }

			if( (mes*1<1) || (mes*1>12) ){ alert('Mês inválido!'); edtData.focus(); }
			if( (dia*1<1) || (dia*1>dialimite) ){ alert('Dia inválido!'); edtData.focus(); }
			edtData.value = dia +'/'+ mes +'/'+ decada + ano;
		}
	}

	function lpad(val, ch, num) {
		var re = new RegExp(".{" + num + "}$");
		var pad = "";
		if (!ch) ch = " ";
	
		do  {
			pad += ch;
		}while(pad.length < num);
	
		return re.exec(pad + val);
	}
	function rpad(val, ch, num){
		var re = new RegExp("^.{" + num + "}");
		var pad = "";
		if (!ch) ch = " ";
	
		do {
			pad += ch;
		} while (pad.length < num);
	
		return re.exec(val + pad);
	}
	function checkShortcut(){ if(event.keyCode==8){ return false; } } 
	function VerificarCEP(CEP){
		if(CEP!=''){
			CEP = CEP.replace("-", "")
			var objXML = new ActiveXObject("Microsoft.XMLDOM");
			var strXML = new String();
		
			strXML = "http://voyage.chipweb.com.br/voyage/includes/cep.php?cep=" + CEP;
			objXML.async=false;
			
			objXML.load(strXML);
			var node = objXML.documentElement;
			var resultado = node.selectNodes("//XML/resultado");
			var uf = node.selectNodes("//XML/uf");
			var cidade = node.selectNodes("//XML/cidade");
			var bairro = node.selectNodes("//XML/bairro");
			var complemento = node.selectNodes("//XML/complemento");
			var endereco = node.selectNodes("//XML/endereco");
	
			if(resultado.item(0).text*1 ==0){ alert('\'CEP\' inválido!');
			}else{
				document.getElementById('edtEstado').value = uf.item(0).text;
				document.getElementById('edtCidade').value = cidade.item(0).text;
				document.getElementById('edtBairro').value = bairro.item(0).text;
				document.getElementById('edtComplemento').value = complemento.item(0).text;
				document.getElementById('edtEndereco').value = endereco.item(0).text;
				document.getElementById('edtEndereco').focus();
			}
		}
	}
	function EmitirBoleto(par, qtd){
		var janela = '';
		for(i=1; i<=qtd; i++){ janela+= '../'; }
		janela+= 'includes/boletophp/pagUBol.php?'+par;
		wd=window.open(janela, 'wd', 'width=400, height=330, scrollbars=no, statusbar=no');
	}
	function ajustar_data(input){
		if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false; 
		} else { 
			if ((input.value.length==2)||(input.value.length==5))
			input.value=input.value + "/" ;
		}
	}
	function SubtraiData(data, dias){
		var diaatual= lpad(data.substring(0,2), '0', 2);
		var mesatual= lpad(data.substring(3,5), '0', 2);
		var anoatual= lpad(data.substring(6,8), '0', 2); 
		var diafinal='';
		var mesfinal='';
		var anofinal='';
		if( ( mesatual=='01' ) || ( mesatual=='03' ) || ( mesatual=='05' ) || ( mesatual=='07' ) || ( mesatual=='08' ) || ( mesatual=='10' ) || ( mesatual=='12' ) ){
			if(diaatual<dias){
				
				var diafinal=31-(dias-diaatual)
				var mesfinal=mesatual-1;
			}
			if(diaatual>=dias){
				var diafinal=(diaatual-dias)
			}
		}else if( ( mesatual=='04' ) || ( mesatual=='06' ) || ( mesatual=='09' ) || ( mesatual=='11' ) ){
			if(diaatual<dias){
				var diafinal=30-(dias-diaatual)
				var mesfinal=mesatual-1;
			}
			if(diaatual>=dias){
				var diafinal=(diaatual-dias)
			}
		}else if(mesatual=='02'){
			if(diaatual<dias){
				var diafinal=28-(dias-diaatual)
				var mesfinal=mesatual-1;
			}
			if(diaatual>=dias){
				var diafinal=(diaatual-dias)
			}
		}
		if(mesfinal>12){
			var mesfinal='01';
			var anofinal=anoatual-1;
		}
		diafinal=lpad(diafinal, '0', 2)
		mesfinal=lpad(mesfinal, '0', 2)
		anofinal=lpad(anofinal, '0', 2)
		if(diafinal*1==0){diafinal=lpad(diaatual, '0', 2);}
		if(mesfinal*1==0){mesfinal=lpad(mesatual, '0', 2);}
		if(anofinal*1==0){anofinal=anoatual;}
		
		return diafinal +'/'+ mesfinal +'/'+ anofinal;
	}
	function SomaData(data, dias){
		var diaatual= lpad(data.substring(0,2), '0', 2);
		diaatual=(diaatual*1)+(dias*1);
		var mesatual= lpad(data.substring(3,5), '0', 2);
		var anoatual= lpad(data.substring(6,8), '0', 2); 
		var diafinal=0;
		var mesfinal=0;
		var anofinal=0;
		if((mesatual=='01')||(mesatual=='03')||(mesatual=='05')||(mesatual=='07')||(mesatual=='08')||(mesatual=='10')||(mesatual=='12')){
			if(diaatual>31){
				var diafinal=diaatual-31;
				var mesfinal=(mesatual*1)+1*1;
			}
		}else if((mesatual=='04')||(mesatual=='06')||(mesatual=='09')||(mesatual=='11')){
			if(diaatual>30){
				var diafinal=diaatual-30;
				var mesfinal=(mesatual*1)+1*1;
			}
		}else if(mesatual=='02'){
			if(diaatual>28){
				var diafinal=diaatual-28;
				var mesfinal=(mesatual*1)+1*1;
			}
		}
		if(mesfinal>12){
			var mesfinal='01';
			var anofinal=(anoatual*1)+1*1;
		}
		diafinal=lpad(diafinal, '0', 2)
		mesfinal=lpad(mesfinal, '0', 2)
		anofinal=lpad(anofinal, '0', 2)
		if(diafinal*1==0){diafinal=lpad(diaatual, '0', 2);}
		if(mesfinal*1==0){mesfinal=lpad(mesatual, '0', 2);}
		if(anofinal*1==0){anofinal=anoatual;}
		
		return diafinal +'/'+ mesfinal +'/'+ anofinal;
	}
	function UCWords(str) {
		// split string on spaces
		arrStr = str.split(" ");
		var strOut = "";
		
		for (i=0;i<arrStr.length;i++)
		{
		   // split string
		   firstChar = arrStr[i].substring(0,1);
		   remainChar = arrStr[i].substring(1);
		
		   // convert case
		   firstChar = firstChar.toUpperCase(); 
		   remainChar = remainChar.toLowerCase();
		
		   strOut += firstChar + remainChar + ' ';
		}
		
		// return string, but drop the last space
		return strOut.substring(0, strOut.length - 1);
	}
	function VerificaDataDeAte(de, ate){
		if((de.value!='')&&(ate.value!='')){
			var De = de.value.substr(6,2) + de.value.substr(3,2) + de.value.substr(0,2) ;
			var Ate = ate.value.substr(6,2) + ate.value.substr(3,2) + ate.value.substr(0,2);

			if(De > Ate){
				alert("A data \"De\" não pode ser superior a data \"Ate\".");				
				ate.value = '';
				ate.focus();
			}
		}
	}		
	function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
		 if (field == field.form.elements[ i ])
		   break;
		   i = (i + 1) % field.form.elements.length;
		   field.form.elements[ i ].focus();
		   return false;
		}
		else
		return true;
	}
	function PularProximoCampo(campo, proximo, tamanho){
		if(campo.value.length==tamanho){
			proximo.focus();
		}
	}	
	function isValidCreditCardNumber(cardNumber, cardType){
		var isValid = false;
		var ccCheckRegExp = /[^\d ]/;
		isValid = !ccCheckRegExp.test(cardNumber);
		if (isValid){
			var cardNumbersOnly = cardNumber.replace(/ /g,"");
			var cardNumberLength = cardNumbersOnly.length;
			var lengthIsValid = false;
			var prefixIsValid = false;
			var prefixRegExp;
		switch(cardType.toLowerCase()){
			case "mastercard":
				lengthIsValid = (cardNumberLength == 16);
				prefixRegExp = /^5[1-5]/;
			break;
			case "visa":
				lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
				prefixRegExp = /^4/;
			break;
			case "amex":
				lengthIsValid = (cardNumberLength == 15);
				prefixRegExp = /^3(4|7)/;
			break;
			default:
				prefixRegExp = /^$/;
				alert("Card type not found");
		}
	
		prefixIsValid = prefixRegExp.test(cardNumbersOnly);
		isValid = prefixIsValid && lengthIsValid;
		}
		if (isValid){
			var numberProduct;
			var numberProductDigitIndex;
			var checkSumTotal = 0;
			for (digitCounter = cardNumberLength - 1; digitCounter >= 0; digitCounter--){
				checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
				digitCounter--;
				numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
				for (var productDigitCounter = 0; productDigitCounter < numberProduct.length; productDigitCounter++){
					checkSumTotal += parseInt(numberProduct.charAt(productDigitCounter));
				}
			}
			isValid = (checkSumTotal % 10 == 0);
		}
	
		return isValid;
	}	
	function validaCartao(numCartao1, numCartao2, numCartao3, numCartao4, tipoCartao, div){
		if(tipoCartao.value!=''){
			numCartao = numCartao1.value+numCartao2.value+numCartao3.value+numCartao4.value;

			if(!isValidCreditCardNumber(numCartao, tipoCartao.value)){
				//alert('Numero de Cartão Inválido!\n\Digite corretamente.');
				//numCartao1.value='';numCartao2.value='';numCartao3.value='';numCartao4.value='';				
				//numCartao1.focus();
				div.className='';
			}else{
				div.className='ocultar';	
			}
		}else{
			alert('Escolha qual cartão deseja utilizar');
			tipoCartao.focus();
		}
	}	
