// ONLOAD
	// uso -> arOnload.push('findimg');
	var arOnload = new Array();
	var wol = window.onload;
	window.onload = function(){
		if (wol) wol.call();
		if (arOnload) {for (var i in arOnload) {arOnload[i].call();}}
		delete arOnload;
	}
	arOnload.push(findimg);

// HOVER DE IMAGENS
	var sufixoImgOver = '_ov';
	var classToOver = 'roll';
	var classDown = 'down';

	function roll(o,state){
		var i,isnode,src,ftype,newsrc,nownode;
		// loop através de todos os childNodes
		for (i=0;i<o.childNodes.length;i++){
			nownode = o.childNodes[i];
			// se o nó é um elemento
			// e é uma IMG, muda a variável e sai do loop
			if(nownode.nodeType==1 && /img/i.test(nownode.nodeName)){
				isnode = i;
				break;
			}
		}  // verifica o src e faz o roll-over
		if (o.locked){
			//o.locked from submenu.js
			return;
		}
		src = o.childNodes[isnode].src;
		ftype = src.substring(src.lastIndexOf('.'), src.length);
		if (state == 'over' && o.state != state) {
			//set over
			newsrc = src.replace(ftype, sufixoImgOver+ftype);
		} else if(o.state == 'over') {
			//set up
			newsrc = src.replace(sufixoImgOver,'');
		}
		if (newsrc) {
			o.state = state;
			o.childNodes[isnode].src=newsrc;
		}
	}
	function findimg(){
		var imgs,i;  // Faz um loop através de todas as imagens
		//verificando se alguma delas contém a classe da var 'classToOver'
		imgs=document.getElementsByTagName('img');
		for(i=0;i<imgs.length;i++){
			if(eval('/'+classDown+'/').test(imgs[i].className)) {
				roll(imgs[i].parentNode,'over');
			}
			if(eval('/'+classToOver+'/').test(imgs[i].className)) {
				// adiciona a função roll ao elemento-pai da imagem
				imgs[i].parentNode.onmouseover=function(){roll(this,'over'); };
				imgs[i].parentNode.onmouseout=function(){roll(this,'up');};
				imgs[i].parentNode.onfocus=function(){roll(this,'over');};
				imgs[i].parentNode.onblur=function(){roll(this,'up');};
			}
		}
	}
/*
DOWN
<script>
	var mnprodDown = id('id DOM da imagem');
	roll(mnprodDown.parentNode,'over');
	mnprodDown.parentNode.locked = true;
</script>
*/

//uso -> id("id_dom").value
	function id(idDesc){return document.getElementById(idDesc);}
	
	//Esta funo simula a funo trim para o javascript
	//uma funo trim elimina os espaos em branco de uma variavel
	String.prototype.trim = function() {
		var x = this;
		x = x.replace(/^\s*(.*)/, "$1");
		x = x.replace(/(.*?)\s*$/, "$1");
		return x;
	}
	
		
	// SELECT DE FORM DE BUSCA / FILTRO / ORDER / ETC
	
	var objDivUtilizando;
	var objDivUtilizada;	
	var objPai;
	function showList(busca,label){
		objDivUtilizando = busca+"Box"+label;
		objPai = busca+label;
		if(objDivUtilizada){
			if(objDivUtilizada == objDivUtilizando){
				if(document.getElementById(objDivUtilizando).style.display=="block"){
					document.getElementById(objDivUtilizando).style.display	= "none";
				}else{
					document.getElementById(objDivUtilizando).style.display	= "block";
				}
			}else{
				document.getElementById(objDivUtilizando).style.display="block";	
				document.getElementById(objDivUtilizada).style.display="none";
			}
		}else{
			document.getElementById(objDivUtilizando).style.display="block";
		}
		objDivUtilizada = objDivUtilizando;	
									
	}
	function selOption(option){
		novoId = document.getElementById(option).id;
		novoTxt = document.getElementById(option).title;
		document.getElementById(objPai).innerHTML=novoTxt;
		document.getElementById(objPai).title = novoTxt;
		document.getElementById(objDivUtilizando).style.display="none";
		
		if(document.body.getAttribute("id") != "busca" && option == "ano_de_"+novoTxt){
			selOption('ano_ate_'+novoTxt);carregaHiddenBusca('ano_ate',novoTxt);	
		}
		
		//verifica se foi selecionada a opcao de ordenacao
		if(option=="orderMenorPreco" || option=="orderMaiorPreco"){			
			//carrega a listagem
			buscar();
		}
		
	}
	
	var ajax1 = null;
	var ajax2 = null;
	var ajax3 = null;
	var ajax4 = null;
	var ajax_fav = null;
	var ajax_lst_fav = null;
	var ajax_detalhe = null;
	var ajax_email = null;
	var ajax_promocao = null;
	function InicializaAjax(){
	  //verifica se o browser tem suporte a ajax
	   try {
			 ajax = new ActiveXObject("Microsoft.XMLHTTP");
		  } 
		  catch(e) {
			 try {
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
			 }
			 catch(ex) {
				try {
				   ajax = new XMLHttpRequest();
				}
				catch(exc) {
				   alert("Esse browser não tem recursos para uso do Ajax");
				   ajax = null;
				}
			 }
		  }
	  return ajax;
	}
	
	function carregaHiddenBusca(campo,valor){
		document.getElementById(campo).value = valor;
	}
	
	function buscar(){
		clearTimeout(tempo);
		
		if(document.getElementById(objDivUtilizando) != null) document.getElementById(objDivUtilizando).style.display	= "none";
		if(document.getElementById(objDivUtilizando) != null) document.getElementById(objDivUtilizada).style.display	= "none";
		
		if(document.getElementById("ano_de").value != "" && document.getElementById("ano_ate").value != ""){
			if(document.getElementById("ano_de").value > document.getElementById("ano_ate").value){
				alert("O ano inicial não pode ser maior que o ano final!");	
				return false;
			}
		}
		
		if(document.getElementById("valor_de").value != "" && document.getElementById("valor_ate").value != ""){
			
			if(parseFloat(document.getElementById("valor_de").value) > parseFloat(document.getElementById("valor_ate").value)){
				alert("O valor inicial não pode ser maior que o valor final!");	
				return false;
			}
		}
		
		//document.formBusca.submit();
		carregaResultadoBusca();
	}
	
	var objDivRetorno = null;
	var params = "";
	function carregaResultadoBusca(){
		document.formBusca.action = "../busca/lista_veiculos.php";
		document.formBusca.submit();
	}
	
	function goDetalhe(placa){
		carregaHiddenBusca('placa',placa);
		document.formBusca.action = "../busca/detalhe_veiculo.php";
		document.formBusca.submit();
	}
	
	function controleBuscaAvancada(){
		document.body.setAttribute("id","busca");
		document.getElementById("img_banner_busca").style.display = "none";
		document.getElementById("img_banner_busca_avancada").style.display = "block";
		document.getElementById("msg_busca").style.display = "block";	
		document.getElementById("liValorAte").style.display = "block";
		document.getElementById("banner_revisao").style.display = "block";
	}
	
	function setaFavorito(placa,lista){
		
		ajax_fav = InicializaAjax();
	  	//se tiver suporte ajax
	  	if(ajax_fav) {
			var url="../busca/adiciona_favorito.php";
			ajax_fav.open("POST", url, true);
		 	ajax_fav.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		 
		 	ajax_fav.onreadystatechange = function() {
				//após ser processado
				if(ajax_fav.readyState == 4 ) {
					
					if (ajax_fav.status == 200){
						if(ajax_fav.responseText != ""){
							document.getElementById("totalFav").innerHTML = ajax_fav.responseText;
							
							if(document.getElementById("img_fav_"+placa+"_ov").style.display == "none"){
								document.getElementById("img_fav_"+placa).style.display="none";
								document.getElementById("img_fav_"+placa+"_ov").style.display="";
							}else{
								document.getElementById("img_fav_"+placa).style.display="";
								document.getElementById("img_fav_"+placa+"_ov").style.display="none";
							}
							
							if(lista) location.href='lista_favoritos.php';
						}
					}else{
						alert("Ocorreu um erro ao modificar seus favoritos:\n"+ajax_fav.statusText+"\nPor favor, tente novamente.");
					}
				}
			}
			params = "placa=" + placa;
			
			ajax_fav.send(params);	
		}
	}
		
	
	var idOpcaoModelo = null;
	function carregaModelos(fabricante) {
	  
	  carregaHiddenBusca('modelo','');
	  //remove a lista de subtipos
	  var objModelo = document.getElementById("ulModelo");
	  objModelo.innerHTML = "";
	  
	  idOpcaoModelo = document.getElementById("buscaSimplesModelo");
	  
	  ajax3 = InicializaAjax();
	  //se tiver suporte ajax
	  if(ajax3) {
		 ajax3.open("POST", "../_includes/xml_modelos.php", true);
		 ajax3.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		 ajax3.onreadystatechange = function() {
			//enquanto estiver processando...emite a msg de carregando
			if(ajax3.readyState == 1) {
			   idOpcaoModelo.innerHTML = "Carregando...";   
			}
			//após ser processado - chama função processXMLSubTipo que vai varrer os dados
			if(ajax3.readyState == 4 ) {
			   if(ajax3.responseXML) {
				  processXMLModelo(ajax3.responseXML, objModelo);
			   }else{
				   //caso não seja um arquivo XML emite a mensagem abaixo
				   idOpcaoModelo.innerHTML = "";
			   }
			}
		 }
		 var params = "fabricante="+fabricante;
		 ajax3.send(params);
	  }
	}
	
	var codigo = "";
	function processXMLModelo(objResponseXML, objModelo){
	  //pega a tag modelo
	  var dataArray   = objResponseXML.getElementsByTagName("modelo");
	  
	  //adiciona option vazio
	  addNodes(objModelo,"","Modelo");
	  
	  //total de elementos contidos na tag subtipo
	  if(dataArray.length > 0) {
		 //percorre o arquivo XML paara extrair os dados
		 for(var i = 0 ; i < dataArray.length ; i++) {
			var item = dataArray[i];
			var modelo    =  "";
			//contéudo dos campos no arquivo XML
			if(item.getElementsByTagName("nome")[0].firstChild != null){
				modelo    =  item.getElementsByTagName("nome")[0].firstChild.nodeValue;
		 		modelo = modelo.trim();
				if(modelo != ""){
					idOpcaoModelo.innerHTML = "Selecione";
					//alert("1: " + codigo);
					addNodes(objModelo,modelo,"Modelo");
				}
			}
		 }
		 idOpcaoModelo.innerHTML = "Modelo";
		 idOpcaoModelo.title = "Modelo";
	  }else{
		//caso o XML volte vazio, printa a mensagem abaixo
		 idOpcaoModelo.innerHTML = "Modelo";
		 idOpcaoModelo.title = "Não há modelos cadastrados para o fabricante selecionado";
	  }	  
	}
		
	//funcao adiciona LI's no UL passado por parametro. Carrega os modelos do fabricante
	function addNodes(objUL,nome,preNodeId){
		var objLI = document.createElement("li");
		var objHREF = createHREF(nome,preNodeId)
		objHREF.innerHTML = nome;
		objLI.appendChild(objHREF);
		objUL.appendChild(objLI);
	}
	
	function createHREF(nome,preNodeId){
		var valor = "";
		if(nome == ""){
			nome = preNodeId+"_sem_valor";
		}else valor = nome;
		var newHREF = document.createElement("a");
		newHREF.setAttribute("href", "#");
		
		newHREF.onclick = function(){ selOption(nome);carregaHiddenBusca(preNodeId.toLowerCase(),valor);return false; };
		if(nome == preNodeId+"_sem_valor"){
			newHREF.setAttribute("title", preNodeId);	
		}else{
			newHREF.setAttribute("title", nome);
		}
		newHREF.setAttribute("id", nome);
		return newHREF;
	}
	
	function createLabel(){
		var newLabel = document.createElement("label");
		//newLabel.setAttribute("style", "cursor:pointer");
		return newLabel;
	}
	
	var tempo = null;	
	function verificaStatusFilial(from) {
		clearTimeout(tempo);
		
		if(from == "detalhe")
			icone_atendimento = "bt_atendimento";
		else if(from == "concessionaria")
			icone_atendimento = "bt_atendimento_online";
		else
			icone_atendimento = "ico_atendimento";
	  
	  ajax4 = InicializaAjax();
	  
	  //se tiver suporte ajax
	  if(ajax4) {
		 ajax4.open("POST", "../_includes/icon_status.php", true);
		 ajax4.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		 ajax4.onreadystatechange = function() {
			//enquanto estiver processando...emite a msg de carregando
			if(ajax4.readyState == 1) {
			   //idOpcaoBairro.innerHTML = "Carregando...";   
			}
	
			if(ajax4.readyState == 4 ) {
				var placas = "";
			   if(ajax4.responseText != "VAZIO" && ajax4.responseText != "") {
				  var arrayRetorno = ajax4.responseText.split("|");
				  var arrayItens;
				  var status = "";
				  var departmentId = "";
				  for(var i=0; i<arrayRetorno.length; i++){
					  //alert(arrayRetorno[i]);
					  arrayItens = arrayRetorno[i].split("#");  
					  departmentId = arrayItens[0];
					  status = arrayItens[1];
					  
					  if(document.getElementById("hdd_placas_"+departmentId) != null){
						   placas = document.getElementById("hdd_placas_"+departmentId).value;
						   arrPlacas = placas.split(",");
						   for(var x=0; x<arrPlacas.length;x++){
							   var objIcone = document.getElementById("bt_filial_"+ departmentId +"_"+ arrPlacas[x]);
							   if(objIcone != null){
								   if(status == "A"){
									  
									objIcone.title = "Falar on-line com o vendedor";
									objIcone.innerHTML = "<img src='../../imagens/"+icone_atendimento+"_on.gif' class='' alt='Falar on-line com o vendedor' />";
									objIcone.style.cursor = "pointer";
									
									if(document.all){
										objIcone.onclick = function(){ abreAtendimento(this);return false;};
									}else{
										objIcone.setAttribute("onclick","javascript:window.open('../../atendimento_online/live/main.php?departmentid="+departmentId+"&client=0', '', 'toolbar=no, status=no, scrollbars=yes, resizable=yes, location=no, menubar=no, directories=no, width=400, height=400');return false;");
									}
								  }else{
									objIcone.title = "Atendimento Off-line";
									objIcone.innerHTML = "<img src='../../imagens/"+icone_atendimento+".gif' class='' alt='Atendimento Off-line' />";
									objIcone.setAttribute("onclick","return false;");
									objIcone.style.cursor = "text";
								  }
							   }
						   }
						  //alert(status + " - " + departmentId);
					  }
				  }
				  tempo = setTimeout("verificaStatusFilial('"+from+"')", 20000);
			   }else{
				   //caso não seja um arquivo XML emite a mensagem abaixo
				   //idOpcaoBairro.innerHTML = "";
			   }
			}
		 }
		 var params = "departmentids="+document.getElementById("departmentids").value;
		 //alert("params: "+params);
		 ajax4.send(params);
	  }
	}

	function abreAtendimento(filialChamado){
		departmentId=filialChamado.getAttribute("idFilial");
		window.open('../../atendimento_online/live/main.php?departmentid='+departmentId+'&client=0', '', 'toolbar=no, status=no, scrollbars=yes, resizable=yes, location=no, menubar=no, directories=no, width=400, height=400');return false;
	}

function validaData(objeto) {
		
		var msg = "Digite uma data correta.";
		data = objeto.value;
		if (data == "") return true;
		if (data.length != 8 && data.length != 10) {
			alert(msg); 
			objeto.focus();
			return false;
		}
	
		dia = data.substring(0, 2);
		mes = data.substring(3, 5);
		
		if (data.length == 8)
			ano = data.substring(6, 8);
		else
			ano = data.substring(6, 10);
			
		objeto.value = dia + "/" + mes + "/" + ano;
		if ((retorno = isDate(objeto)) != false) {
			return true;
		} else {
			alert(msg);
			objeto.focus();
			return false;
	}	}
	
	
	
	//------------------------------------------------------------------------------------------------------------------------
	function isDate(objeto) {
	
	//	var ano = "<%'= year(date) %>";
	//	var hoje = "<%= year(date) & right("0"& month(date), 2) & right("0"& day(date), 2) %>";
		
		data = objeto.value;
		itens = data.split("/");
		if (itens[0] == "" || itens[1] == "" || itens[2] == "")
			return false;	
	
		if (isNaN(itens[0]) || isNaN(itens[1]) || isNaN(itens[2]))
			return false;
	
		/*if ((itens[2] + itens[1] + itens[0]) < strHoje)
			return "MENOR";//*/
	
		t0 = itens[0].length;	t1 = itens[1].length;	t2 = itens[2].length;
		if (t0 >= 3 || t1 >= 3 || t2 >= 5)
			return false;
	
		// valida se nunhum valor  menor que 0
		if (itens[0] <= 00 || itens[1] <= 00 || itens[2] <= 0000)
			return false;
	
		// valida o ano
		if (t2 <= 3) {
			if (itens[2] > 22)
				ano = "1900";
			else ano = "2000";
			aux = "";
			for (w = 0; w < 4 - t2; w++)
				aux += ano.charAt(w);
			y = 0;
			for (; w < 4; w++)
				aux += itens[2].charAt(y++);		
			itens[2] = aux;
		}
	
		// valida o mes
		if (itens[1] >= 13)
			return false;
	
		// captura o dia maximo para o mes digitado
		itens[1] = itens[1] * 1;
		if (itens[1] == 2) {
			if (itens[2]%400 == 0 || itens[2]%4 == 0 && itens[2]%100 != 0)
				vMax = 29;
			else	
				vMax = 28;
		} else
		if (itens[1] == 1 || itens[1] == 3 || itens[1] == 5 || itens[1] == 7 || itens[1] == 8 || itens[1] == 10 || itens[1] == 12)
			vMax = 31;
		else vMax = 30;
		itens[1] = "0"+ itens[1]; itens[1] = itens[1].charAt(itens[1].length - 2) + itens[1].charAt(itens[1].length - 1);
	
		// valida o dia do mes
		if (itens[0] > vMax)
			return false;
		itens[0] = "0"+ itens[0]; itens[0] = itens[0].charAt(itens[0].length - 2) + itens[0].charAt(itens[0].length - 1);
	
		objeto.value = itens[0] +"/"+ itens[1] +"/"+ itens[2];
		return true;
	}


/* FUNÇÕES DE FORMULÁRIOS ---------------------------------------------------- */

	function enviaForm(qualForm){
		switch(qualForm){
			case "faleFilial":
				if(validaForm_msgFilial()){
					document.form_msgFilial.submit();
				}
				break;
			case "contato":
				if(validaForm_contato()){
					document.form_contato.submit();
				}
				break;	
			case "restrita":
				if(validaForm_restrita()){
					document.form_restrita.submit();
				}
				break;		
			}
	}
	
	function validaForm_msgFilial(){
		if(document.getElementById('fmsg_nome').value == ''){
			alert('Informe o Nome!');
			document.getElementById('fmsg_nome').focus();
			return false;
		}
		if(document.getElementById("fmsg_email").value == ""){
			alert("Informe o seu E-mail!");
			document.getElementById("fmsg_email").focus();
			return false;
		}else{
			if (!validaEmail(document.getElementById('fmsg_email'),document.getElementById('fmsg_email').value)) return false;
		}
		if(document.getElementById('fmsg_fone').value == ''){
			alert('Informe o Telefone!');
			document.getElementById('fmsg_fone').focus();
			return false;
		}	
		if(document.getElementById('fmsg_cidade').value == ''){
			alert('Informe a Cidade!');
			document.getElementById('fmsg_cidade').focus();
			return false;
		}	
		if(document.getElementById('fmsg_uf').value == ''){
			alert('Informe a UF!');
			document.getElementById('fmsg_uf').focus();
			return false;
		}	
		if(document.getElementById('fmsg_mensagem').value == ''){
			alert('Escreva a sua Mensagem!');
			document.getElementById('fmsg_mensagem').focus();
			return false;
		}return true;	
	}
	
	function validaEmail(campo,email){
		var reEmail1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		if(email != ""){
			if (!reEmail1.test(email)) {
				var msg = " não é um endereço de e-mail válido!";
				alert('"' + email + '"' + msg);
				campo.value = "";
				campo.focus();
				return false;
			}else{
				return true;
			}
		}
		return false;
	}
	
	function TeclaDecimal(e){
	var key;
	var keychar;
	var reg;
	
	if(window.event) {
		// for IE, e.keyCode or window.event.keyCode can be used
		key = e.keyCode; 
	}
	else if(e.which) {
		// netscape or firefox
		key = e.which; 
	}
	else {
		// no event, so pass through
		return true;
	}
	if(key > 47 && key < 58) // numeros de 0 a 9
		return true;
	else {
		if (key == 8 || key == 44) // backspace
			return true;
		else
			return false;
	}
}

function TeclaInteiro(e){
	var key;
	var keychar;
	var reg;
	
	if(window.event) {
		// for IE, e.keyCode or window.event.keyCode can be used
		key = e.keyCode; 
	}
	else if(e.which) {
		// netscape or firefox
		key = e.which; 
	}
	else {
		// no event, so pass through
		return true;
	}
	if((key > 47 && key < 58) || (key == 8)) // numeros de 0 a 9 OU BACKSPACE
		return true;
	else {
		return false;
	}
}

//VALIDA QUANTIDADE DE CARACTERES DIGITADOS
function countChars(num_chars, obj_mostrador, obj_texto, msg) {
	var campo = obj_texto.value;
	obj_mostrador.value=campo.length;
	if (campo.length>parseInt(num_chars)) {
		alert(msg+" "+num_chars+" caracteres.");
		obj_texto.value=campo.substring(0,parseInt(num_chars));
		obj_mostrador.value=num_chars;
		return false;
	}
	return true;
}

/*
FUNCOES PARA CONTROLE DAS IMAGENS DOS VEICULOS
*/
var img_atual = "1";
var grupo_atual = "1";
function move_img(direcao,total_grupo){
	total_grupo--;
	if(direcao==1){
		for(var i=1; i<=3; i++){
			if(document.getElementById("Fig"+grupo_atual+"_"+i) != null){
				document.getElementById("Fig"+grupo_atual+"_"+i).style.display = "none";
			}
		}
		if(grupo_atual == total_grupo){
			grupo_atual = 1;
		}else{
			grupo_atual++;
		}
		
		for(var i=1; i<=3; i++){
			if(document.getElementById("Fig"+grupo_atual+"_"+i) != null){
				document.getElementById("Fig"+grupo_atual+"_"+i).style.display = "";
			}
		}
	}else{
		for(var i=1; i<=3; i++){
			if(document.getElementById("Fig"+grupo_atual+"_"+i) != null){
				document.getElementById("Fig"+grupo_atual+"_"+i).style.display = "none";
			}
		}
		if(grupo_atual == 1){
			grupo_atual = total_grupo;
		}else{
			grupo_atual--;
		}
		
		for(var i=1; i<=3; i++){
			if(document.getElementById("Fig"+grupo_atual+"_"+i) != null){
				document.getElementById("Fig"+grupo_atual+"_"+i).style.display = "";
			}
		}
	}
}

function troca(img_src){
	document.getElementById('img').src = img_src;
}

function ir_pagina(pagina){
	carregaHiddenBusca('pagina',pagina);
	carregaHiddenBusca('ordem',document.getElementById("ordem").value);
	buscar();
}