// VARIAVEIS
var animationSpeed = 200;
var destaqueInterval = 5000;
var destaqueCount;
var timer;
var currentDestaque = 1;

$(document).ready(function(){
	
	// VERIFICA E CONFIGURA VARIAVEIS
	try{
		if(pid)blah=1/0;
	}catch(e){
		pid=[];
	}
	try{
		if(idMarca)blah=1/0;
	}catch(e){
		idMarca=[];
	}
	try{
		if(idTipo)blah=1/0;
	}catch(e){
		idTipo=[];
	}
	
	// VALIDA FORMULÁRIO FALE CONOSCO
	$("#faleconosco").submit(handleSAC);

	
	// BORDAS ARREDONDADAS
	settings = {
		tl: { radius: 30 },
		tr: { radius: 30 },
		bl: { radius: 30 },
		br: { radius: 30 },
		antiAlias: true,
		autoPad: true,
		validTags: ["div"]
	}
	
	$('.detalheDestaque').corner(settings);
	
	
	// DESTAQUE DA HOME
	formataBanner();
	
	
	// RATING DO PRODUTO
	$(".estrelasBase").mouseenter(function() {
		var mouseX;
		var offset;
		
		$(".estrelasBase").mousemove(function(e){
			offset = $(".estrelasBase").offset();
			mouseX = e.pageX - offset.left;

			if (mouseX < 20)
			{
				starCount = 1;
			}
			else if (mouseX < 40)
			{
				starCount = 2;
			}
			else if (mouseX < 60)
			{
				starCount = 3;
			}
			else if (mouseX < 80)
			{
				starCount = 4;
			}
			else
			{
				starCount = 5;
			}
			
			$(".estrelasPontos").removeClass("umPonto").removeClass("doisPontos").removeClass("tresPontos").removeClass("quatroPontos").removeClass("cincoPontos");
			
			switch (starCount)
			{
				case 1:
					$(".estrelasPontos").addClass("umPonto");
					break;
				case 2:
					$(".estrelasPontos").addClass("doisPontos");
					break;
				case 3:
					$(".estrelasPontos").addClass("tresPontos");
					break;
				case 4:
					$(".estrelasPontos").addClass("quatroPontos");
					break;
				case 5:
					$(".estrelasPontos").addClass("cincoPontos");
					break;
			}
			
		});
	});
	$(".estrelasBase").mouseout(function() {
		$(".estrelasPontos").removeClass("umPonto").removeClass("doisPontos").removeClass("tresPontos").removeClass("quatroPontos").removeClass("cincoPontos");
	});
	
	$(".estrelasBase").click(function () {
		var id;
		var tipo;
		
		if (pid > 0)
		{
			id = pid;
			tipo = 1;
		}
		else
		{
			id = idMarca;
			tipo = 0;
		}
		//alert("id=" + id + "&starCount=" + starCount + "&tipo=" + tipo);
		$.ajax({
			type: "POST",
			url: siteRoot + "php/starCount.php",
			data: "id=" + id + "&starCount=" + starCount + "&tipo=" + tipo,
			success: function(msg){
				if(msg == "error")
				{
					alert("error");
				}
				else
				{
					$(".estrelasPontos").css("width", msg + "px");
				}
					
			}
		});
	});
	
	// GALERIA NA PÁGINA DE PRODUTO
	if (pid)
	{
		$.ajax({
			type: "GET",
			url: siteRoot + "tpl/vejaMais.php",
			data: "pid=" + pid + "&marca=" + idMarca + "&tipo=" + idTipo,
			success: function(msg) {
				if(msg == "error")
				{
					alert("error");
				}
				else
				{
					$("#vejaMais").html(msg);
					$("#vejaMais .prev,#vejaMais .next").click(function (){
						//alert($(this).attr('href'))
						galleryPageLoad($(this).attr('href'));
						return false;
					});
				}
			}
		});
		
		$("#outrasMarcas select").change(function() {
			window.location.href = $("#outrasMarcas select option:selected").attr('value');
		});
	}
	
	// ONDE ENCONTRAR
	setOndeEncontrar();

});

$(window).load(function () {
	//ALINHA OS LOGOS DA HOME
	var marcasw = 0;
	$("#marcas li").each(function () {
		var li = $(this);
		var a = $("a", li);
		var img = $("img", a);
		
		var h = li.height();
		var pad = Math.round((h - img.height())/2);
		var newH = h - pad;
		var mg = 9;
		
		a.css({
				display: "block",
				height: img.height(),
				width: img.width(),
				margin: "0 auto"
			  });
		
		li.css({
				width: img.width(),
				height: newH,
				paddingTop: pad,
				marginLeft: mg,
				marginRight: mg
				})
				
				
		marcasw = Math.max(marcasw, (li.position().left + li.outerWidth(true)));
	});
	marcasw = Math.min($("#marcas").width(), marcasw);
	$("#marcas").width(marcasw).addClass("ready");
});

// FUNCTIONS
function formataBanner () {
	var banner = $("#destaques");
	if (banner.length <= 0) return;
	
	banner.each(function () {
		$(this).coinslider({
					  width: 867,
					  height: 294,
					  delay: 5000,
					  effect: 'straight'
					  });				  
	});
}

function galleryPageLoad(pageNumber) {
	if (isNaN(Number(pageNumber))) {
		pageNumber = pageNumber.substring(pageNumber.lastIndexOf("/") + 1);
	}

	$.ajax({
		type: "GET",
		url: siteRoot + "tpl/vejaMais.php",
		data: "pid=" + pid + "&marca=" + idMarca + "&tipo=" + idTipo + "&page=" + pageNumber,
		success: function(msg) {
			if(msg == "error")
			{
				alert("error");
			}
			else
			{
				$("#vejaMais").html(msg);
				$("#vejaMais .prev,#vejaMais .next").click(function (){
					//alert($(this).attr('href'))
					galleryPageLoad($(this).attr('href'));
					return false;
				});
			}
		}
	});
}

function parseDestaqueXML (xml) {
	var i = 1;
	$(xml).find("banner").each(function () {
		
		jQuery.preLoadImages(destaque + $(this).find("imagem").text());
				
		if (i == 1)
		{
			selected = ' class="selected"';
			$("div#destaques a.imagem img").attr("src", destaque + $(this).find("imagem").text() );
			$("div#destaques a.imagem").attr("href", $(this).find("link").text() );
		}
		else
		{
			selected = "";
		}
		
		$("div#destaques ul").append('<li><a href="' + $(this).find("link").text() + '" rel="' + $(this).find("imagem").text() + '"' + selected + '>' + i + '</a></li> ');

		i++;
	});

	destaqueCount = --i;
	setTimeout("destaqueRot()", destaqueInterval);		
	
	$("div#destaques ul a").click(function () {
		return false;
	});
	
}

function setOndeEncontrar () {
	
	var formLoja = $("#form-loja-fisica");
	
	$("#ondeEncontrarV2 input[name='tipo-loja']").click(function (){
		$("#ondeEncontrarV2 #resultados").html("&nbsp").hide();
		var ecommerce = ($("#ondeEncontrarV2 input[name='tipo-loja']:checked").attr("id") == "loja-online");
		if (ecommerce) {
			//loja online
			if (!formLoja.is(":hidden")) formLoja.fadeOut("fast");
			
			$.ajax({
				type: "GET",
				url: siteRoot + "php/getClientes.php",
				data: "ecommerce=1",
				success: function(msg) {
					if(msg == "error") {
						//alert("error");
					} else {
						$("#ondeEncontrarV2 #resultados").html(msg).fadeIn("fast");
					}
				}
			});
			
		} else {
			//loja fisica
			limpaOndeEncontrar("tudo");
			if (formLoja.is(":hidden")) formLoja.fadeIn("fast");
		}
		
	});
	
	$("#loja-online").click();
	
	$("#ondeEncontrarV2 select#estados").change(function (){
		$.ajax({
			type: "GET",
			url: siteRoot + "php/getCidades.php",
			data: "id=" + $("#ondeEncontrarV2 select#estados option:selected").attr('value'),
			success: function(msg) {
				if(msg == "error")
				{
					//alert("error");
				}
				else
				{
					$("#ondeEncontrarV2 select#cidades").html(msg);
					$("#ondeEncontrarV2 select#bairros").html('<option value="0">-- Escolha uma Cidade</option>');
					$("#ondeEncontrarV2 #resultados").hide();
				}
			}
		});
	});

	$("#ondeEncontrarV2 select#cidades").change(function (){
		$.ajax({
			type: "GET",
			url: siteRoot + "php/getBairros.php",
			data: "id=" + $("#ondeEncontrarV2 select#cidades option:selected").attr('value'),
			success: function(msg) {
				if(msg == "error")
				{
					//alert("error");
				}
				else
				{
					$("#ondeEncontrarV2 select#bairros").html(msg);
					$("#ondeEncontrarV2 #resultados").hide();
				}
			}
		});
	});

	$("#ondeEncontrarV2 select#bairros").change(function (){
		$.ajax({
			type: "GET",
			url: siteRoot + "php/getClientes.php",
			data: "id=" + $("#ondeEncontrarV2 select#bairros option:selected").attr('value'),
			success: function(msg) {
				if(msg == "error")
				{
					//alert("error");
				}
				else
				{
					$("#ondeEncontrarV2 #resultados").show();
					$("#ondeEncontrarV2 #resultados").html(msg);
				}
			}
		});
	});
}

function handleSAC () {	
	if (validaSAC()) {
		var form = $("#faleconosco");
		var dataString = "";
		$("input[type=text], input[type=radio], select, textarea", form).each(function (){
			if ($(this).val() != "" && (!$(this).is(":radio") || ($(this).is(":radio") && $(this).is(":checked")))) {
				var name = $(this).attr("name");
				var value = $(this).val();
				var label = ($(this).attr("type") == "radio")? $(this).parents("p") : $(this).parents("label");
				if (label.length > 0) {
					name = $(".input-label", label).html();
				}
				dataString = dataString + name + "=" + value + "&";
			}
		});
		//alert(dataString);
		output("Aguarde. Enviando dados.");
		$.ajax({
			type: form.attr("method"),
			url: form.attr("action"),
			data: dataString,
			success: function(msg){
				output(msg);
				if (msg.toLowerCase().indexOf("erro") < 0) form.clearForm();
			}
		});
	} else {
		output("Preencha corretamente os campos obrigatórios.");
	}
	return false;
}
$.fn.clearForm = function() {
	return this.each(function() {
		var type = this.type, tag = this.tagName.toLowerCase();
		if (tag == 'form')
			return $(':input',this).clearForm();
		if (type == 'text' || type == 'password' || tag == 'textarea')
			this.value = '';
		else if (type == 'checkbox' || type == 'radio')
			this.checked = false;
		else if (tag == 'select')
			this.selectedIndex = -1;
	});
};

function output (msg) {
	$("#output-box").hide().html(msg).fadeIn();
}
function validaSAC () {
	$("#message-box").html("").hide();
	
	var ok = $("#faleconosco").validate({
			rules: {
				nome: {required: true},
				email: {required: true, email: true},
				endereco: {required: true},
				cidade: {required: true},
				estado: {required: true},
				comentarios: {required: true}
			},
			messages: {
				nome: "Informe seu nome.",
				endereco: "Informe seu endereço.",
				cidade: "Informe sua cidade.",
				estado: "Informe seu estado.",
				comentarios: "Escreva uma mensagem.",
				email: {
					required: "Informe seu email.",
					email: "O email informado não é válido."
				}
			},
			errorLabelContainer: "#message-box",
  			wrapper: "li"
		}).form();
		return ok;
}

function limpaOndeEncontrar (campo) {
	if (campo == "estados" || campo == "tudo")
	{
		$("#ondeEncontrarV2 select#estados").val(0);
	}
	if (campo == "cidades" || campo == "tudo")
	{
		$("#ondeEncontrarV2 select#cidades").html('<option value="0">-- Escolha um estado</option>');
	}
	if (campo == "bairros" || campo == "tudo")
	{
		$("#ondeEncontrarV2 select#bairros").html('<option value="0">-- Escolha uma cidade</option>');
	}
}

function changeDestaque(rel, href) {
	$("div#destaques a.imagem img").fadeTo(animationSpeed, 0.1, function(){
		$("div#destaques a.imagem img").attr("src", destaque + rel);
		$("div#destaques a.imagem").attr("href", href);
		$("div#destaques a.imagem img").fadeTo(animationSpeed, 1);
	});
}

function destaqueRot() {
	if (currentDestaque == destaqueCount)
	{
		currentDestaque = 1;
	}
	else
	{
		currentDestaque++;
	}
	$("div#destaques ul a").removeClass("selected");
	$("div#destaques ul a:contains('" + currentDestaque + "')").addClass("selected");
	rel = $("div#destaques ul a:contains('" + currentDestaque + "')").attr("rel");
	href = $("div#destaques ul a:contains('" + currentDestaque + "')").attr("href");
	changeDestaque(rel, href);
	setTimeout("destaqueRot()", destaqueInterval);		
}

(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

