function balao(id, alvo, mensagem, tempo) {
	alvo = $(alvo);
	if($(id)) {
		if($(id).timeOutRemove)
			clearTimeout($(id).timeOutRemove);
		Element.remove($(id));
	}
	if(!alvo)
		return;
	var balao = document.createElement('div');
	var seta = document.createElement('div');
	Event.observe(balao, 'mousedown', function remove() { Element.remove(balao) });
	balao.setAttribute('id', id);
	var offsets = alvo.positionedOffset();
	var top = offsets[1];
	var left = offsets[0];
	Element.setStyle(balao, {
		position: 'absolute',
		fontSize:'12px',
		top: top+'px',
		left: left+'px',
		padding: '3px',
		border: 'black solid 1px',
		backgroundColor: '#FFFFAE',
		textAlign: 'left',
		webkitBoxShadow: '0px 0px 3px #FFF',
		mozBoxShadow: '0px 0px 3px #FFF',
		borderRadius: '3px',
		MozBorderRadius: '3px',
		webkitBorderRadius: '3px',
		color: 'black'});
	balao.innerHTML = mensagem;
	Element.setStyle(seta, {position: 'absolute', width: '9px', height: '9px', background: 'url(imagens/balao_seta.gif)'});
	balao.appendChild(seta);
	alvo.parentNode.appendChild(balao);
	var larguraAlvo = alvo.getDimensions().width;
	var alturaAlvo = alvo.getDimensions().height;
	var larguraBalao = balao.getDimensions().width;
	var alturaBalao = balao.getDimensions().height;
	Element.setStyle(balao, {top: (parseInt(balao.style.top)-alturaBalao-3)+'px'});
	Element.setStyle(seta, {top: (alturaBalao-3)+'px'});
	Element.setStyle(seta, {left: '2px'});
	if(tempo) {
		$(id).timeOutRemove = window.setTimeout(function() { if($(id)) Element.remove($(id)) }, tempo);
	}
};

enviar_proposta = function(cor, opacidade, aoFinalizar){
	var elemento = $(document.body);
	var cor=cor?cor:'#000';
	var opacidade=opacidade?opacidade:'0.8';
	var fade;
	
	window.fade_visivel = true;
	
	elemento.insert(fade = Builder.node('div', {className:'div_fade'}).setStyle({
		backgroundColor:cor
	}).hide());
	
	new Effect.Appear(fade, {duration:0.5, to:opacidade, afterFinish:(function(){
			return function(){
				window.fade_visivel=false;
				aoFinalizar(fade);
			}
	})(aoFinalizar)});
	
};

insere_formulario_proposta = function(elemento){
	var parente = $(document.body);
	var elemento_formulario;
	var formulario;
	
	parente.insert(elemento_formulario = Builder.node('div', {className:'div_fade'}));
	
	elemento_formulario.insert(
		formulario = Builder.node('div', {className:'formulario_proposta_caixa'}).hide()
	);
	
	new Ajax.Updater(formulario.update('Carregando..'), 'ajax/formulario_proposta.php', {parameters:{carro_id:window.carro_id},onComplete:function(){
		window.fomulario_proposta = new jsForm(formulario.down('#proposta_form'));
		if(window.formulario_per){
			cria_modelo(window.fomulario_proposta);
		}
	}});
	
	window.formulario = formulario;
	window.elemento_fade = elemento;
	window.elemento_formulario = elemento_formulario;
	
	new Effect.Grow(formulario, {duration:0.5});
	
};

insere_formulario_personaliza = function(elemento, id){
	var parente = $(document.body);
	var elemento_formulario;
	var formulario;
	
	parente.insert(elemento_formulario = Builder.node('div', {className:'div_fade'}));
	
	elemento_formulario.insert(
		formulario = Builder.node('div', {className:'formulario_personalize_caixa'}).hide()
	);
	
	new Ajax.Updater(formulario.update('Carregando..'), 'ajax/formulario_personalize.php', {parameters:{id:id}});
	
	window.formulario_per = formulario;
	window.elemento_fade_per = elemento;
	window.elemento_formulario_per = elemento_formulario;
	
	new Effect.Grow(formulario, {duration:0.5});
	
};

fecha_formulario = function(fonte){
	if(!fonte.clicado){
		fonte.clicado = true;
		new Effect.Shrink(window.formulario, {duration:0.2, afterFinish:function(){
			window.elemento_formulario.remove();
		}});
		new Effect.Fade(window.elemento_fade, {duration:0.2, delay:0.2,afterFinish:function(){
			window.elemento_fade.remove();
		}});
	}
};

fecha_formulario_per = function(fonte){
	if(!fonte.clicado){
		fonte.clicado = true;
		new Effect.Shrink(window.formulario_per, {duration:0.2, afterFinish:function(){
			window.elemento_formulario_per.remove();
		}});
		new Effect.Fade(window.elemento_fade_per, {duration:0.2, delay:0.2,afterFinish:function(){
			window.elemento_fade_per.remove();
		}});
	}
};

cria_modelo = function(formulario){
	window.formulario_per.select('.carro_equipamentos_item').reject(function(item){
		return item.down('img').src.indexOf('caixa_checagem_desativada')>-1;
	}).each(function(item){
		$('proposta_form').insert(Builder.node('input',{type:'hidden', name:'opcionais[]',value:item.down('input').value}));
	});
	$('proposta_form').insert(Builder.node('input',{type:'hidden',name:'cor_carro',value:$('cor_carro').value}));
	$('proposta_form').insert(Builder.node('input',{type:'hidden',name:'pintura_tipo_carro',value:$('pintura_tipo_carro').value}));
	$('proposta_form').insert(Builder.node('input',{type:'hidden',name:'porta_carro',value:$('porta_carro').value}));
	$('proposta_form').insert(Builder.node('input',{type:'hidden',name:'carro_id',value:window.carro_id}));
}


br_carrega_marcas = function(categoria, destino, extra){
	var destino = $(destino);
	if(!categoria)
		destino.disable().update(destino[0]).selectedIndex=0;
	else {
		if(extra)
			extra();
		destino.disable().update(destino[0].update('Carregando..'));
		new Ajax.Request('ajax/veiculo_marcas.php', {
			parameters:{acao:'br', categoria:categoria},
			onSuccess: function(res){
				var objeto = res.responseText.evalJSON();
				if(objeto[0]){
					objeto.each(function(opcao){
						destino.insert(Builder.node('option', {value:opcao.id}).update(opcao.nome));
					});
					destino.enable()[0].update('Marcas');
				}
				else
					destino.disable()[0].update('Nenhum resultado');
			}
		});
	}
}

br_carrega_modelos = function(categoria, marca, destino){
	var destino = $(destino);
	if(!marca)
		destino.disable().update(destino[0]).selectedIndex=0;
	else {
		destino.disable().update(destino[0].update('Carregando..'));
		new Ajax.Request('ajax/veiculo_modelos.php', {
			parameters:{acao:'br', categoria:categoria, marca:marca},
			onSuccess: function(res){
				var objeto = res.responseText.evalJSON();
				if(objeto[0]){
					objeto.each(function(opcao){
						destino.insert(Builder.node('option', {value:opcao.id}).update(opcao.nome));
					});
					destino.enable()[0].update('Modelos');
				}
				else
					destino.disable()[0].update('Nenhum resultado');
			}
		});
	}
};

br_de_acao = function(de, ate){
	de = $(de);
	ate = $(ate);
	ate.update(ate[0]);
	deIndex = de.selectedIndex-1;
	while(de[deIndex]){
		if(de[deIndex].innerHTML!='De')
			ate.insert(Builder.node('option', {value:de[deIndex].value}).update(de[deIndex].innerHTML));
		deIndex--;
		if(deIndex<0)
			break;
	}
	if(ate[ate.options.length-1]&&ate.options.length-1>1)
		$(ate[ate.options.length-1]).remove();
	ate.selectedIndex=0;
	if(de.value=='0km')
		ate.disabled=true;
	else if(de.value==de[2].value){
		ate.disabled=true;
	}
	else
		ate.disabled=false;
};


telefone = function(id, telefone, elemento){
	elemento = $(elemento);
	elemento.onclick = new Function("");
	elemento.update(telefone).setStyle('cursor:default; background-image:url(); font-size:16px; text-align:center;');
	new Ajax.Request('ajax/telefone.php', {parameters:{id:id}});
};


newsletter = function(nome, email){
	new Ajax.Request('ajax/newsletter.php', {
		parameters:'nome='+nome+'&email='+email,
		onSuccess:function(res){
			eval(res.responseText);
		}
	});
};

carrega_cidades = function(estado_id, destino){
	if(estado_id){
		new Ajax.Request('ajax/carrega_cidades.php', {
			parameters:{estado:estado_id},
			onSuccess:function(res){
				var objeto = res.responseText.evalJSON();
				destino = $(destino);
				destino.update(destino[0]);
				objeto.each(function(cidade){
					destino.insert(Builder.node('option', {value:cidade.cidade_idpk}).update(cidade.cidade_nome));
				});
				destino.enable();
			}
		});
	}
};

imprimir_veiculo = function(id){
	window.open('imprimir_veiculo.php?id='+id, 'impressao_veiculo', 'status=0,toolbar=0,location=0,menubar=0,resizable=0,scrollbars=0,height=640,width=720');
};

//Flash xt

banner = {};
banner.banners=[];
banner.ativo=0;
banner.inicia = function(){
	this.tempo=11;
	this.efeito=0.3;
	this.elemento = $('banner_div').observe('mouseover', function(){
		banner.hover=true;
	}).observe('mouseout', function(){
		banner.hover=false;
	});
	this.ativa_botao('botao_flash_'+this.ativo);
	this.automatico();
};
banner.Out = function(clicado){
	if(!banner.emEfeito){
		if(!clicado){
			if(!banner.hover){
				banner.emEfeito=true;
				new Effect.Fade(banner.elemento, {duration:banner.efeito, to:0.01, afterFinish:function(){
					banner.In();
				}});
			}
		} else {
			clearInterval(banner.contador);
			banner.contador=false;
			banner.emEfeito=true;
			new Effect.Fade(banner.elemento, {duration:banner.efeito, to:0.01, afterFinish:function(){
				banner.In();
			}});
		}
	}
};
banner.In = function(){
	this.elemento.update('<embed width="700" height="243" loop="false" wmode="transparent" src="imagens/banner/'+this.banners[this.ativo]+'.swf" menu="false" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash">');
	new Effect.Appear(this.elemento, {duration:banner.efeito, to:1, afterFinish:function(){
		banner.emEfeito=false;
		if(!banner.contador)
			banner.automatico();
	}});
};

banner.ativa_item = function(id, clicado, botao){
	if(!this.emEfeito){
		if(this.ativo!=id){
			if(botao)
				this.ativa_botao(botao);
			this.ativo = id;
			banner.Out(clicado);
		}
	}
}

banner.automatico = function(){
	banner.contador = setInterval(function(){
		
		if(!banner.hover){
			banner.ativo++;
			if(!banner.banners[banner.ativo]){
				banner.ativo=0;
			}
			banner.ativa_botao('botao_flash_'+banner.ativo);
			banner.Out();
		}
		
	},banner.tempo*1000);
}

banner.ativa_botao = function(botao){
	botao = $(botao);
	botao.siblings().each(function(irmao){
		irmao.setOpacity(0.5);
	});
	botao.setOpacity(1);
};

ativa_ramais = function(elemento){
	$(elemento).setStyle({cursor:'default'});
	var elemento = $($(elemento).parentNode);
	var ativadoID = elemento.down('.ramais_caixa_itens').id;
	$('ramais_bloco_1', 'ramais_bloco_2', 'ramais_bloco_3').each(function(bloco){bloco.childElements().each(function(filho){if(!filho.down('#'+ativadoID)) fecha_ramais(filho);})});
	abri_ramais(elemento);
}

fecha_ramais = function(elemento){
	
	elemento.down('.ramais_rotulo').setStyle({cursor:'pointer'});

	elemento.ativo_ramais=false;
	
	if(!elemento.minhaCaixaH)
		elemento.minhaCaixaH = elemento.down('.ramais_caixa_itens').getHeight();
	
	if(elemento.abrindoEfeito){
		elemento.abrindoEfeito.cancel();
		elemento.abrindoEfeito=false;
	}
	if(!elemento.fechandoEfeito)
		elemento.fechandoEfeito = new Effect.BlindUp(elemento.down('.ramais_caixa_itens'), {duration:0.3, scaleMode: {originalHeight:elemento.down('.ramais_caixa_itens').getHeight()}, afterFinish:function(){
			elemento.fechandoEfeito=false;
		}});
}
abri_ramais = function(elemento){

	if(!elemento.minhaCaixaH)
		elemento.minhaCaixaH = elemento.down('.ramais_caixa_itens').getHeight();
		
	if(!elemento.ativo_ramais){
		elemento.ativo_ramais=true;
		if(elemento.fechandoEfeito){
			elemento.fechandoEfeito.cancel();
			elemento.fechandoEfeito=false;
		}
		if(!elemento.abrindoEfeito)
			elemento.abrindoEfeito = new Effect.BlindDown(elemento.down('.ramais_caixa_itens'), {duration:0.3, scaleMode: {originalHeight:elemento.minhaCaixaH}, afterFinish:function(){
				elemento.abrindoEfeito=false;
				new Effect.ScrollTo($(document.body).down('.relacionamentos'));
			}});
	}
}
