// JavaScript Document

	// FUNÇÃO: Cria objeto XML-HTTP (Ajax) ------------------------------------------------
	function ajaxRequest() {
		var objAjax = false;
		if(window.XMLHttpRequest) { // Navegadores diversos.
			objAjax = new XMLHttpRequest();
			if (objAjax.overrideMimeType) {
				objAjax.overrideMimeType('text/xml');
			}
		} else if(window.ActiveXObject) { // IE (Microsoft).
			try {
				objAjax = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					objAjax = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) { }
			}
		}
		return objAjax;
	}

	// FUNÇÃO: Executa consulta de Modelos para a Marca (código) informada ---------------------------
	function ajaxCarregarMarcas() {
		if(objMarcas) {
			if(objTipos.options[objTipos.selectedIndex].value != "") {
				objBtOk.disabled = false;
				objBtOk.style.backgroundColor = "#B91618";
				objMarcas.disabled = true;
				var codigoTipos = "";
				if(objTipos.options[objTipos.selectedIndex].value != "") {
					codigoTipos = objTipos.options[objTipos.selectedIndex].value;
				}
				Ajax = ajaxRequest();
				if(typeof Ajax == "object") {
					Ajax.open('GET', 'ajax_dados.php?acao=marcas&tipo='+codigoTipos, true);
					Ajax.onreadystatechange = ajaxRetornarMarcas;
					Ajax.send(null);
				} else {
					objMarcas.options.length = 1;
					objMarcas.disabled = true;
				}
			} else {
				objBtOk.disabled = true;
				objBtOk.style.backgroundColor = "#9F9F9F";
				objMarcas.options.length = 1;
				objMarcas.disabled = true;
				ajaxCarregarModelos();
			}
		} else {
			alert("Objeto (select) Marcas não especificado!");
		}
	}

	function ajaxRetornarMarcas() {
		if(objMarcas) {
			objMarcas.options.length = 1;
			if (Ajax.readyState == 4) {
				if (Ajax.status == 200) {
					var xml = Ajax.responseXML;
					if(xml.hasChildNodes()) {
						var itens = xml.getElementsByTagName("item");
						for(var i=0;i<itens.length;i++){
							var item = itens[i];
							var id = (item.getElementsByTagName("id"))[0].firstChild.nodeValue;
							var rotulo = (item.getElementsByTagName("rotulo"))[0].firstChild.nodeValue;
							if(cross == "IE") objMarcas.add((new Option(rotulo,id)),objMarcas.length);
							else objMarcas.add((new Option(rotulo,id)),null);
						}
						objMarcas.disabled = false;
						ajaxCarregarModelos();
					}
				} else {
					alert("Não encontrado!");
				}
			} else {
				// Aguardando resposta do servidor
			}
		} else {
			alert("Objeto (select) Marcas não especificado!");
		}
	}

	// FUNÇÃO: Executa consulta de Modelos para a Marca (código) informada ---------------------------
	function ajaxCarregarModelos() {
		if(objModelos) {
			if(objMarcas.options[objMarcas.selectedIndex].value != "") {
				var codigo = objMarcas.options[objMarcas.selectedIndex].value;
				Ajax = ajaxRequest();
				if(typeof Ajax == "object") {
					objModelos.disabled = true;
					Ajax.open('GET', 'ajax_dados.php?acao=modelos&marca='+codigo, true);
					Ajax.onreadystatechange = ajaxRetornarModelos;
					Ajax.send(null);
				} else {
					objModelos.options.length = 1;
					objModelos.disabled = true;
				}
			} else {
				objModelos.options.length = 1;
				objModelos.disabled = true;
				ajaxCarregarAnos();
			}
		} else {
			alert("Objeto (select) Modelos não especificados!");
		}
	}
  
	function ajaxRetornarModelos() {
		if(objModelos) {
			objModelos.options.length = 1;
			if (Ajax.readyState == 4) {
				if (Ajax.status == 200) {
					var xml = Ajax.responseXML;
					if(xml.hasChildNodes()) {
						var erro = xml.getElementsByTagName("erro");
						if(erro.length == 0) {
							var itens = xml.getElementsByTagName("item");
							for(var i=0;i<itens.length;i++){
								var item = itens[i];
								var id = (item.getElementsByTagName("id"))[0].firstChild.nodeValue;
								var rotulo = (item.getElementsByTagName("rotulo"))[0].firstChild.nodeValue.replace("-E!-","&");
								if(cross == "IE") objModelos.add((new Option(rotulo,id)),objModelos.length);
								else objModelos.add((new Option(rotulo,id)),null);
							}
							objModelos.disabled = false;
							ajaxCarregarAnos();
						} else {
							alert("ERRO: "+erro.childNodes[0].firstChild.nodeValue);
						}
					}
				} else {
					alert("Não encontrado!");
				}
			} else {
				// Aguardando resposta do servidor
			}
		} else {
			alert("Objeto (select) Modelos não especificado!");
		}
	}

	// FUNÇÃO: Executa consulta de Modelos para a Marca (código) informada ---------------------------
	function ajaxCarregarCidade() {
		if(objEstados) {
			if(objEstados.options[objEstados.selectedIndex].value != "") {
				var codigo = objEstados.options[objEstados.selectedIndex].value;
				Ajax = ajaxRequest();
				if(typeof Ajax == "object") {
					objCidades.disabled = true;
					Ajax.open('GET', 'ajax_dados.php?acao=cidades&estado='+codigo, true);
					Ajax.onreadystatechange = ajaxRetornarCidades;
					Ajax.send(null);
				} else {
					objCidades.options.length = 1;
					objCidades.disabled = true;
				}
			} else {
				objCidades.options.length = 1;
				objCidades.disabled = true;
			}
		} else {
			alert("Objeto (select) Cidade não especificada!");
		}
	}

	function ajaxRetornarCidades() {
		if(objCidades) {
			objCidades.options.length = 1;
			if (Ajax.readyState == 4) {
				if (Ajax.status == 200) {
					var xml = Ajax.responseXML;
					if(xml.hasChildNodes()) {
						var erro = xml.getElementsByTagName("erro");
						if(erro.length == 0) {
							var itens = xml.getElementsByTagName("item");
							for(var i=0;i<itens.length;i++){
								var item = itens[i];
								var id = (item.getElementsByTagName("id"))[0].firstChild.nodeValue;
								var rotulo = (item.getElementsByTagName("rotulo"))[0].firstChild.nodeValue.replace("-E!-","&");
								if(cross == "IE") objCidades.add((new Option(rotulo,id)),objCidades.length);
								else objCidades.add((new Option(rotulo,id)),null);
							}
							objCidades.disabled = false;
						} else {
							alert("ERRO: "+erro.childNodes[0].firstChild.nodeValue);
						}
					}
				} else {
					alert("Não encontrado!");
				}
			} else {
				// Aguardando resposta do servidor
			}
		} else {
			alert("Objeto (select) Estado não especificado!");
		}
	}

	// FUNÇÃO: Executa consulta de Modelos para a Marca (código) informada ---------------------------
	function ajaxCarregarRevenda() {
		if(objLoja) {
			if(objUF.options[objUF.selectedIndex].value != "") {
				objBtOk.disabled = false;
				objBtOk.style.backgroundColor = "#B91618";
				objLoja.disabled = true;
				var codigoTipos = "";
				if(objUF.options[objUF.selectedIndex].value != "") {
					codigoTipos = objUF.options[objUF.selectedIndex].value;
				}
				Ajax = ajaxRequest();
				if(typeof Ajax == "object") {
					Ajax.open('GET', 'ajax_dados.php?acao=LOJA&tipo='+codigoTipos, true);
					Ajax.onreadystatechange = ajaxRetornarRevenda;
					Ajax.send(null);
				} else {
					objLoja.options.length = 1;
					objLoja.disabled = true;
				}
			} else {
				objBtOk.disabled = true;
				objBtOk.style.backgroundColor = "#9F9F9F";
				objLoja.options.length = 1;
				objLoja.disabled = true;
			}
		} else {
			alert("Objeto (select) Revenda não especificado!");
		}
	}

	function ajaxRetornarRevenda() {
		if(objLoja) {
			objLoja.options.length = 1;
			if (Ajax.readyState == 4) {
				if (Ajax.status == 200) {
					var xml = Ajax.responseXML;
					if(xml.hasChildNodes()) {
						var itens = xml.getElementsByTagName("item");
						for(var i=0;i<itens.length;i++){
							var item = itens[i];
							var id = (item.getElementsByTagName("id"))[0].firstChild.nodeValue;
							var rotulo = (item.getElementsByTagName("rotulo"))[0].firstChild.nodeValue;
							if(cross == "IE") objLoja.add((new Option(rotulo,id)),objLoja.length);
							else objLoja.add((new Option(rotulo,id)),null);
						}
						objLoja.disabled = false;
						ajaxCarregarModelos();
					}
				} else {
					alert("Não encontrado!");
				}
			} else {
				// Aguardando resposta do servidor
			}
		} else {
			alert("Objeto (select) Revenda não especificado!");
		}
	}
  
  
	// FUNÇÃO: Executa consulta de Modelos para a Marca (código) informada ---------------------------
	function ajaxCarregarAnos() {
		if(objAnosDe && objAnosAte) {
			if(objTipos.options[objTipos.selectedIndex].value != "") {
				objAnosDe.disabled = true;
				objAnosAte.disabled = true;
				var codigoTipos = "";
				var codigoMarcas = "";
				var codigoModelos = "";
				if(objTipos.options[objTipos.selectedIndex].value != "") {
					codigoTipos = objTipos.options[objTipos.selectedIndex].value;
				}
				if(objMarcas.options[objMarcas.selectedIndex].value != "") {
					codigoMarcas = objMarcas.options[objMarcas.selectedIndex].value;
				}
				if(objModelos.options[objModelos.selectedIndex].value != "") {
					codigoModelos = objModelos.options[objModelos.selectedIndex].value;
				}
				Ajax = ajaxRequest();
				if(typeof Ajax == "object") {
					Ajax.open('GET', 'ajax_dados.php?acao=anos&tipo='+codigoTipos+'&marca='+codigoMarcas+'&modelo='+codigoModelos, true);
					Ajax.onreadystatechange = ajaxRetornarAnos;
					Ajax.send(null);
				} else {
					objAnosDe.options.length = 1;
					objAnosDe.disabled = true;
					objAnosAte.options.length = 1;
					objAnosAte.disabled = true;
				}
			} else {
				objAnosDe.options.length = 1;
				objAnosDe.disabled = true;
				objAnosAte.options.length = 1;
				objAnosAte.disabled = true;
			}
		} else {
			alert("Objeto (select) Anos não especificado!");
		}
	}

	function ajaxRetornarAnos() {
		if(objAnosDe && objAnosAte) {
			objAnosDe.options.length = 1;
			objAnosAte.options.length = 1;
			if (Ajax.readyState == 4) {
				if (Ajax.status == 200) {
					var xml = Ajax.responseXML;
					if(xml.hasChildNodes()) {
						var itens = xml.getElementsByTagName("item");
						var minimo = 2000;
						var maximo = (new Date()).getFullYear();
						for(var i=0;i<itens.length;i++){
							var item = itens[i];
							minimo = parseInt((item.getElementsByTagName("min"))[0].firstChild.nodeValue);
							maximo = parseInt((item.getElementsByTagName("max"))[0].firstChild.nodeValue);
						}
						if(maximo > 0) {
							for(var i = minimo; i <= maximo; i++) {
								if(cross == "IE") {
									objAnosDe.add((new Option(i,i)),objAnosDe.length);
									objAnosAte.add((new Option(i,i)),objAnosAte.length);
								} else {
									objAnosDe.add((new Option(i,i)),null);
									objAnosAte.add((new Option(i,i)),null);
								}
							}
						}
						objAnosDe.disabled = false;
						objAnosAte.disabled = false;
					}
				} else {
					alert("Não encontrado!");
				}
			} else {
				// Aguardando resposta do servidor
			}
		} else {
			alert("Objeto (select) AnosDe e/ou AnosAte não especificado!");
		}
	}

	// FUNÇÃO: Programa troca de banner para tempo informado ---------------------------
	function ajaxTrocarBanner(tempo,atual) {
		timerBanner = setTimeout("ajaxTrocarBannerAux("+atual+")",(tempo*1000));
	}

	// FUNÇÃO: Executa consulta do próximo banner (menos o informado) ---------------------------
	function ajaxTrocarBannerAux(atual) {
		AjaxA = ajaxRequest();
		if(typeof AjaxA == "object") {
			AjaxA.open('GET', 'ajax_dados.php?acao=banners&cod='+atual, true);
			AjaxA.onreadystatechange = ajaxRetornarTrocarBannerAux;
			AjaxA.send(null);
		}
	}

	// FUNÇÃO: Recebe dados do próximo banner para carregá-lo e preparar novo temporizador. ---------------------------
	function ajaxRetornarTrocarBannerAux() {
		intTempoBanner = intIdBanner = 0;
		if (AjaxA.readyState == 4) {
			if (AjaxA.status == 200) {
				var xml = AjaxA.responseXML;
				if(xml.hasChildNodes()) {
					var itens = xml.getElementsByTagName("item");
					for(var i=0;i<itens.length;i++){
						var item = itens[i];
						intIdBanner = (item.getElementsByTagName("id"))[0].firstChild.nodeValue;
						intTempoBanner = (item.getElementsByTagName("tempo"))[0].firstChild.nodeValue;
					}
					AjaxB = ajaxRequest();
					if(typeof AjaxB == "object") {
						AjaxB.open('GET', 'ajax_dados.php?acao=banner&cod='+intIdBanner, true);
						AjaxB.onreadystatechange = ajaxRetornarTrocarBanner;
						AjaxB.send(null);
					}
				}
			} else {
				alert("Não encontrado!");
			}
		} else {
			// Aguardando resposta do servidor
		}
	}

	// FUNÇÃO: Carrega o próximo banner e preparar o temporizador. ---------------------------
	function ajaxRetornarTrocarBanner() {
		if (AjaxB.readyState == 4) {
			if (AjaxB.status == 200) {
				var texto = AjaxB.responseText;
				document.getElementById("quadro_banner").innerHTML = texto;
				if(intTempoBanner > 0) ajaxTrocarBanner(intTempoBanner,intIdBanner);
			} else {
				alert("Não encontrado!");
			}
		} else {
			// Aguardando resposta do servidor
		}
	}

	// FUNÇÃO: Programa troca de Lancamento para tempo informado ---------------------------
	function ajaxTrocarLancamento(tempo,atual) {
		timerLancamento = setTimeout("ajaxTrocarLancamentoAux("+atual+")",(tempo*1000));
	}

	// FUNÇÃO: Executa consulta do próximo Lancamento (menos o informado) ---------------------------
	function ajaxTrocarLancamentoAux(atual) {
		AjaxC = ajaxRequest();
		if(typeof AjaxC == "object") {
			AjaxC.open('GET', 'ajax_dados.php?acao=lancamentos&cod='+atual, true);
			AjaxC.onreadystatechange = ajaxRetornarTrocarLancamentoAux;
			AjaxC.send(null);
		}
	}

	// FUNÇÃO: Recebe dados do próximo Lancamento para carregá-lo e preparar novo temporizador. ---------------------------
	function ajaxRetornarTrocarLancamentoAux() {
		intTempoLancamento = intIdLancamento = 0;
		if (AjaxC.readyState == 4) {
			if (AjaxC.status == 200) {
				var xml = AjaxC.responseXML;
				if(xml.hasChildNodes()) {
					var itens = xml.getElementsByTagName("item");
					for(var i=0;i<itens.length;i++){
						var item = itens[i];
						intIdLancamento = (item.getElementsByTagName("id"))[0].firstChild.nodeValue;
						intTempoLancamento = (item.getElementsByTagName("tempo"))[0].firstChild.nodeValue;
					}
					AjaxD = ajaxRequest();
					if(typeof AjaxD == "object") {
						AjaxD.open('GET', 'ajax_dados.php?acao=lancamento&cod='+intIdLancamento, true);
						AjaxD.onreadystatechange = ajaxRetornarTrocarLancamento;
						AjaxD.send(null);
					}
				}
			} else {
				alert("Não encontrado!");
			}
		} else {
			// Aguardando resposta do servidor
		}
	}

	// FUNÇÃO: Carrega o próximo Lancamento e preparar o temporizador. ---------------------------
	function ajaxRetornarTrocarLancamento() {
		if (AjaxD.readyState == 4) {
			if (AjaxD.status == 200) {
				var texto = AjaxD.responseText;
				document.getElementById("quadro_lancamento").innerHTML = texto;
				if(intTempoLancamento > 0) ajaxTrocarLancamento(intTempoLancamento,intIdLancamento);
			} else {
				alert("Não encontrado!");
			}
		} else {
			// Aguardando resposta do servidor
		}
	}

	// FUNÇÃO: Programa troca de lateral para tempo informado ---------------------------
	function ajaxTrocarLateral(tempo,atual) {
		timerLateral = setTimeout("ajaxTrocarLateralAux("+atual+")",(tempo*1000));
	}

	// FUNÇÃO: Executa consulta do próximo banner (menos o informado) ---------------------------
	function ajaxTrocarLateralAux(atual) {
		AjaxE = ajaxRequest();
		if(typeof AjaxE == "object") {
			AjaxE.open('GET', 'ajax_dados.php?acao=laterais&cod='+atual, true);
			AjaxE.onreadystatechange = ajaxRetornarTrocarLateralAux;
			AjaxE.send(null);
		}
	}

	// FUNÇÃO: Recebe dados da próxima lateral para carregá-la e preparar novo temporizador. ---------------------------
	function ajaxRetornarTrocarLateralAux() {
		intTempoLateral = intIdLateral = 0;
		if (AjaxE.readyState == 4) {
			if (AjaxE.status == 200) {
				var xml = AjaxE.responseXML;
				if(xml.hasChildNodes()) {
					var itens = xml.getElementsByTagName("item");
					for(var i=0;i<itens.length;i++){
						var item = itens[i];
						intIdLateral = (item.getElementsByTagName("id"))[0].firstChild.nodeValue;
						intTempoLateral = (item.getElementsByTagName("tempo"))[0].firstChild.nodeValue;
					}
					AjaxF = ajaxRequest();
					if(typeof AjaxF == "object") {
						AjaxF.open('GET', 'ajax_dados.php?acao=lateral&cod='+intIdLateral, true);
						AjaxF.onreadystatechange = ajaxRetornarTrocarLateral;
						AjaxF.send(null);
					}
				}
			} else {
				alert("Não encontrado!");
			}
		} else {
			// Aguardando resposta do servidor
		}
	}

	// FUNÇÃO: Carrega a próxima lateral e preparar o temporizador. ---------------------------
	function ajaxRetornarTrocarLateral() {
		if (AjaxF.readyState == 4) {
			if (AjaxF.status == 200) {
				var texto = AjaxF.responseText;
				document.getElementById("quadro_lateral").innerHTML = texto;
				if(intTempoLateral > 0) ajaxTrocarLateral(intTempoLateral,intIdLateral);
			} else {
				alert("Não encontrado!");
			}
		} else {
			// Aguardando resposta do servidor
		}
	}

	// FUNÇÃO: Formata campo de formulário possibilitando apenas números. ---------------------------
	function numeros(e) {
		try { // Internet Explorer
			var tecla = e.keyCode;
		} catch(y) { // Demais navegadores
			var tecla = e.which;
		}
		if ((tecla > 47 && tecla < 58) || (tecla > 95 && tecla < 106) || tecla == 9) { // numeros de 0 a 9
			return true;
		} else {
			if (tecla != 8) { // backspace
				return false;
			} else {
				return true;
			}
		}
	}
