//Fun&ccedil;&otilde;es gerais de funcionamento do site p&uacute;blico
window.addEvent('domready', function(){
	//Detectando a vers&atilde;o do flash
	if(swfobject)
	{
		// Pega versão do plugin instalada
		var plugin = swfobject.getFlashPlayerVersion();
		// Não suporta express install
		if(plugin.major < 6 || (plugin.major == 6 && plugin.release < 65) )
		{
			//alert('menor do que 6')
			var cabecalho = $('cabecalho');
			cabecalho.className = 'cabecalho';
		}
		else
		{
			if($defined($("cabecalho")))
			{
				var host = document.location.href;
				var test = host.indexOf("/");
				if(test == -1)
					host += "/";
				
				//Se nao for a Index, nao acionar a animaçao do cabeçalho
				if(typeof(is_index) == "undefined"){
					variaveis_flash.no_animation = true;
				}
				
				variaveis_flash.total_carros = 5;
				variaveis_flash.link_nome_1 = "empresa";
				variaveis_flash.link_url_1 = "empresa.html";
				variaveis_flash.link_nome_2 = "produtos";
				variaveis_flash.link_url_2 = "fabricantes.php";
				variaveis_flash.link_nome_3 = "serviços";
				variaveis_flash.link_url_3 = "servicos.html";
				variaveis_flash.link_nome_4 = "localizaçao";
				variaveis_flash.link_url_4 = "localizacao.html";
				variaveis_flash.link_nome_5 = "contato";
				variaveis_flash.link_url_5 = "contato.html";
				variaveis_flash.link_vip_url = "papeis_parede.html";
		
				swfobject.embedSWF(
					"flash/cabecalho.swf", 
					"cabecalho", 
					"779", 
					"195", 
					"9.0.115", 
					'flash/expressInstall.swf', 
					variaveis_flash, 
					{
						align: "top", 
						menu: false, 
						wmode: "transparent", 
						scale: "noscale",
						AllowScriptAccess: "true",
						AutoStart: "true"
					}
				);
			}
			//Banner de natal
			else{
				swfobject.embedSWF(
					"flash/cartao_natal.swf", 
					"cartao_natal", 
					"558", 
					"199", 
					"9.0.115", 
					'flash/expressInstall.swf',
					{
						align: "top", 
						menu: false, 
						wmode: "transparent", 
						scale: "noscale",
						AutoStart: "true"
					}
				);
			}
		}
	}
	//Acionando o mecanismo de exibiçao das promoçoes
	new controlaTransicao({box_class: "box_paginavel", class_paginas: "box_pagina", no_fade: true});
	
	//Acionando as galerias de foto (papéis de parede)
	var lar_tela = screen.width;
	var indicada;
	$$("[class=visualizar_fotos]").each(function(obj){
		if(lar_tela <= 800){
			indicada = "800";
		}else if(lar_tela > 800 && lar_tela <= 1024){
			indicada = "1024";
		}else{
			indicada = "1600";
		}
		var tag_a = obj.getElement("a[id=res_" + indicada + "]");
		tag_a.className = "indicado";
	});
	
	//Acionando galeria de fotos de produtos
	$$("[class=ampliar]").each(function(obj){obj.addEvent("click", galeria_fotos);});
});


var controlaTransicao = new Class({
	options: {
		elementos: null,
		elementos_filhos: Array(),
		elemento_atual: Array(),
		class_paginas: "box_paginavel",
		id_container: "container",
		num_sel_class: "selecionado",
		num_not_sel_class: "nao_selecionado",
		numero_atual: Array(),
		contador: Array(),
		no_fade: false,
		break_cicle: Array(),
		classe_nao_selecionado: null
	},
	
	initialize: function(objeto)
	{
		this.setOptions(objeto);
		
		this.options.elementos = $$("div[class=" + objeto.box_class + "]");
	
		var tam = this.options.elementos.length;
		
		for(var num = 0; num < tam; num++)
			this.inicia_eventos(this.options.elementos[num], num);
	},
	
	inicia_eventos: function(elemento_principal, idx)
	{
		var filhos = elemento_principal.getElement("div[id=" + this.options.id_container + "]").getElements("div[class=" + this.options.class_paginas + "]");
		
		if(filhos.length > 1)
			setInterval(this.change_box.bind(this), 5000);
		
		//Criando a numeraçao
		var primeiro_numero = this.cria_numeracao(elemento_principal, idx, filhos.length);
		
		//Inicializando o efeito de fade
		if(!this.options.no_fade)
		{
			filhos.fade(0);
			filhos[0].fade(1);
		}
		
		this.options.elementos_filhos.push( filhos );
		this.options.elemento_atual.push( filhos[0] );
		this.options.numero_atual.push( primeiro_numero );
		this.options.contador.push(0);
	},
	
	cria_numeracao: function(elemento_principal, idx, total)
	{
		var numeracao = new Element("div", {'id': "numeracao"});
		var first;
		
		for(var num = 1; num <= total; num++)
		{
			var the_class = num == 1 ? this.options.num_sel_class : this.options.num_not_sel_class;
			
			var click_function = function(event)
			{
				var evento = new Event(event);
				this.change_box(evento.target);
			}.bind(this);
			
			var numero = new Element("span", {'id': num, 'indice': idx, 'html': num, 'class': the_class, 'events': {'click': click_function} });
			
			numero.injectInside(numeracao);
			
			if(num == 1)
				first = numero;
		}
		numeracao.inject(elemento_principal.getElement("div[id=" + this.options.id_container + "]"), "after");
		
		return first;
	},
	
	change_box: function(num_element)
	{
		//Se o num_element foi informado, o usuário clicou em um número específico
		var test;
		if(Browser.Engine.trident)
			test = num_element ? true : false;
		else
			test = isNaN(num_element);
		
		if( test )
		{
			var idx = num_element.getProperty("indice");
			var num = Number(num_element.getProperty("id")) - 1;
			this.options.contador[idx] = num;
			this.options.break_cicle[idx] = true;
			this.exec_change(idx);
			
			return false;
		}
		
		for(var num = 0; num < this.options.contador.length; num++)
		{
			//Verificando se o usuário interagiu com o box
			if(!this.options.break_cicle[num])
			{
				if(this.options.contador[num] == (this.options.elementos_filhos[num].length - 1) )
					this.options.contador[num] = 0;
				else
					this.options.contador[num]++;
				this.exec_change(num);
			}
		}
	},
	
	exec_change: function(num)
	{
		var next_obj = this.options.elementos_filhos[num][this.options.contador[num]];
		
		var next_num = this.options.elementos[num].getElement("div[id=numeracao]").getElement("span[id=" + (this.options.contador[num] + 1) + "]");
		if(next_num)
		{
			next_num.set("class", this.options.num_sel_class);
			this.options.numero_atual[num].set("class", this.options.num_not_sel_class);
			
			this.show_box(next_obj, this.options.elemento_atual[num]);
			
			this.options.numero_atual[num] = next_num;
			this.options.elemento_atual[num] = next_obj;
		}
	},
	
	show_box: function(next_box, prev_box)
	{
		next_box.setStyle("display", "block");
		prev_box.setStyle("display", "none");
		if(!this.options.no_fade){
			prev_box.fade("out");
			next_box.fade("in");
		}
	}
});
controlaTransicao.implement(new Options, new Events);

//Aciona a pesquisa por pneus
function pesquisar(pagina,pesq_fabricante,pesq_medida,pesq_aro)
{
	var fabricante = $('pes_id').value;
	var aro = $('pes_aro').value;
	var medida = $('pes_med').value;
	var modelo = $('pes_desc').value;
	
	if(! pagina)
		$('form_pesquisa').pagina.value = 0;
	else
		$('form_pesquisa').pagina.value = pagina;

	if(pesq_fabricante)
		$('form_pesquisa').pes_id.value = pesq_fabricante;
	else
		$('form_pesquisa').pes_id.value = fabricante;
	
	if(pesq_medida)
		$('form_pesquisa').pes_med.value = pesq_medida;
	else if(pesq_medida == 'undefined')
		$('form_pesquisa').pes_med.value = medida;
	
	if(pesq_aro)
		$('form_pesquisa').pes_aro.value = pesq_aro;
	else
		$('form_pesquisa').pes_aro.value = aro;
	
	$('form_pesquisa').pes_desc.value = modelo;

	$('form_pesquisa').submit();
 
}
//Seleçao de Produtos
function produtos(pagina, fabricante)
{
	if(! pagina || fabricante)
		$('form_produtos').produto_pagina.value = 0;
	else
		$('form_produtos').produto_pagina.value = pagina;
	

	$('form_produtos').submit();
}
//Busca 
function envia()
{
	var form_nome = $('form_nome').value;
	var form_email = $('form_email').value;
	var form_assunto = $('form_assunto').value;
	var form_mensagem = $('form_mensagem').value;
	var erro = '';
		
	if(form_nome == '')
		erro = "- Informe o seu nome.\n";
	if(form_email == '')
		erro += "- Informe o seu e-mail.\n";
	else
	{
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!filter.test(form_email)) 
			erro += "- E-mail inválido.\n";
	}
	if(form_assunto == '')
	{
		erro += "- Informe o assunto da mensagem.\n";
	}
	if(form_mensagem == '')
	{
		erro += "- Preencha a mensagem.\n";
	}

	if(erro == '')
	{
		var variaveis = {
			oper:1, 
			nome: form_nome, 
			email: form_email, 
			assunto: form_assunto, 
			mensagem: form_mensagem
		};
			
		var url = 'inc/php/func/engine.php';
		$('form_enviar').disabled = true;
			
		new Request({
			url: url,
			method: 'post',
			onSuccess: function(obj_text)
			{
				eval('var obj = ' + obj_text + ';');
				$('form_nome').value = '';
				$('form_email').value = '';
				$('form_assunto').value = '';
				$('form_mensagem').value = '';
				$('form_enviar').disabled = false;
					
				alert(obj.mensagem);
			}
		}).send(ObjectToQueryString(variaveis));
	}
	else
	{
		alert("O(s) seguinte(s) problema(s) foram encontrado(s): \n\n" + erro);	
	}
}
// Retorno do envio
function retorno_envia(obj)
{
	$('form_nome').value = '';
	$('form_email').value = '';
	$('form_assunto').value = '';
	$('form_mensagem').value = '';
	var config = {titulo: 'Fale Conosco', msg:obj.mensagem};
	caixaDialogo('sucesso',config);
}


//Aciona uma galeria de foto
function galeria_fotos(objeto){
	//Atendimento vip
	if(objeto == "atendimento"){
		document.location.href = "galeria_fotos.html";

		//Slimbox.open([ ["site_arquivos/vip/foto_1.jpg", "Descriçao Foto1"], ["site_arquivos/vip/foto_2.jpg", "Descriçao Foto2"], ["site_arquivos/vip/foto_3.jpg", "Descriçao Foto3"], ["site_arquivos/vip/foto_4.jpg", "Descriçao Foto4"], ["site_arquivos/vip/foto_5.jpg", "Descriçao Foto5"], ["site_arquivos/vip/foto_6.jpg", "Descriçao Foto6"], ["site_arquivos/vip/foto_7.jpg", "Descriçao Foto7"], ["site_arquivos/vip/foto_8.jpg", "Descriçao Foto8"], ["site_arquivos/vip/foto_9.jpg", "Descriçao Foto9"], ["site_arquivos/vip/foto_10.jpg", "Descriçao Foto10"] ], 0, {hideFlash: false});
	}
	//Fotos dos produtos
	else if(typeof(objeto) == "object"){
		var evento = new Event(objeto);
		var foto = objeto.target;
		if(Browser.Engine.trident){
			var url = foto.rel;
			var des = foto.alt;
		}else{
			var url = foto.getProperty("rel");;
			var des = foto.getProperty("alt");
		}
		Slimbox.open([ [url, des] ], 0, {hideFlash: false});
	}
}


function swapImage(obj, img)
{
	obj.firstChild.src = img;
}

function slimboxloader(id)
{
	if(id && id != '')
	{
		var dados = {arq_id : id};
		new Request({
			url: 'inc/php/func/slimboxloader.php',
			method: 'get',
			data: dados,
			onSuccess: function(obj_text)
			{
				if(obj_text && obj_text != '')
				{
					eval('var obj = ' + obj_text + ';');
					Slimbox.open(obj,0);
				}
			}
		}).send();
	}
}
