function getParameterOfStringByName(orig, name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(orig);
  if( results == null )
    return "";
  else
    return results[1];
}

cleanArea = function(area) {
	cleanLinksAtivos(area);
	$("#" + area + ">div>ul").each(function() {
		$(this).hide();
	});
	$("#" + area).hide();
}

cleanLinksAtivos = function(area) {
	$("#" + area + ">div>ul>li>a").each(function() {
		$(this).removeClass("ativo");
	});
}

cleanLinksAtivosSecoes = function(area) {
	$("#" + area + ">ul>li>a").each(function() {
		//Pra não ter trabalho na área de Seções, removo todos as possíveis seções de uma vez
		$(this).removeClass("secaoCozinhaAtivo").removeClass("secaoCasaAtivo").removeClass("secaoBelezaAtivo").removeClass("secaoSomImagemAtivo").removeClass("secaoClimatizacaoAtivo");
	});
}

modificaEstiloMenu = function(area, estilo) {
	$("#" + area).attr("class", estilo);
}

animateShow = function(div) {
	//div.css('width', '0');
	//div.animate({ 'width': '120px' }, 1000);
    div.css('width', '0').css('height', '0');
    div.animate({ 'height': '90px' }, 300).animate({ 'width': '120px' }, 500);
    //div.show();
}

animateSecao = function() {
	$("#menuSecao").css('width', '0').css('height', '0');
	$("#menuSecao>ul").css('opacity', '0.0');
    $("#menuSecao").animate({ 'height': '90px' }, 300, "linear", function() { $("#menuSecao>ul").animate({'opacity': '1.0'}, 500); }).animate({ 'width': '90px' }, 500);
}

//Executado quando uma subcategoria é selecionada (exibe-se a lista de produtos e o div do thumb)
animateMenuProdutos = function(div) {
	div.css('width', '0').css('height', '0');
	$("#" + div.attr("id") + ">ul").css('opacity', '0.0');
    div.animate({ 'height': '90px' }, 300, "linear", function() { $("#" + div.attr("id") + ">ul").animate({'opacity': '1.0'}, 500); }).animate({ 'width': '120px' }, 500, function() { $("#menuThumb").show() });
}

//Executado quando o usuário acessa um produto (após o post na página)
animateProduto = function() {
	$("#menuThumb").show();
	$("#menuOpcoesProduto").css('width', '0').css('height', '0');
	$("#menuOpcoesProduto").animate({ 'height': '90px' }, 300).animate({ 'width': '95px' }, 500);
	/*$("#menuThumb").css('width', '0').css('height', '0');
    $("#menuThumb").animate({ 'height': '90px' }, 300).animate({ 'width': '62px' }, 500, "linear", function() {
		$("#menuOpcoesProduto").css('width', '0').css('height', '0');
	    $("#menuOpcoesProduto").animate({ 'height': '90px' }, 300).animate({ 'width': '95px' }, 500);
	});*/
}

$(function() {
	$("#menuSecao>ul>li>a").each(function() {
		$(this).click(function() {
			//Recupera variáveis
			var secaoEscolhida = $(this).attr("rel");
			var estiloMenu = "secao" + secaoEscolhida;

			//Modifica o estilo dos boxes posteriores
			modificaEstiloMenu("menuDepartamento", estiloMenu);
			modificaEstiloMenu("menuSubDepartamento", estiloMenu);
			modificaEstiloMenu("menuProduto", estiloMenu);
			modificaEstiloMenu("menuThumb", estiloMenu);
			modificaEstiloMenu("menuOpcoesProduto", estiloMenu);

			//Limpa (e esconde) todas as áreas dali pra frente
			cleanArea("menuDepartamento");
			cleanArea("menuSubDepartamento");
			cleanArea("menuProduto");
			cleanArea("menuThumb");
			cleanArea("menuOpcoesProduto");

			//Apaga todos os itens e acende o ativo
			cleanLinksAtivosSecoes("menuSecao");
			$(this).addClass("secao" + secaoEscolhida + "Ativo");

			//Extrai os parâmetros de navegação da URL
			var href = $(this).attr("href");
			var s = getParameterOfStringByName(href, "s");
			$("#menuDepartamento>div>#s" + s).show();
			animateShow($("#s" + s).parent().parent());

			return false;
		});
	});

	$("#menuDepartamento>div>ul>li>a").each(function() {
		$(this).click(function() {
			//Limpa (e esconde) todas as áreas dali pra frente
			cleanArea("menuSubDepartamento");
			cleanArea("menuProduto");
			cleanArea("menuThumb");
			cleanArea("menuOpcoesProduto");

			//Apaga todos os itens e acende o ativo
			cleanLinksAtivos("menuDepartamento");
			$(this).addClass("ativo");

			//Extrai os parâmetros de navegação da URL
			var href = $(this).attr("href");
			var d = getParameterOfStringByName(href, "d");

			//Se não houver SubDepartamento (ou seja, se só houver 1 SubDepartamento = 'todos'), não devo exibir box de SubDepartamentos;
			if($("#d" + d + ">li>a").length == 1) {
				$("#d" + d + ">li>a").trigger('click'); //Simulo o click do link 'todos'
			}
			else {
				animateShow($("#d" + d).parent().parent());
				$("#d" + d).show();
			}

			return false;
		});
	});

	$("#menuSubDepartamento>div>ul>li>a").each(function() {
		$(this).click(function() {
			//Limpa (e esconde) todas as áreas dali pra frente
			cleanArea("menuProduto");
			cleanArea("menuThumb");
			cleanArea("menuOpcoesProduto");

			//Apaga todos os itens, acende o ativo e esconde a imagem de Thumb
			cleanLinksAtivos("menuSubDepartamento");
			$(this).addClass("ativo");

			var imgThumb = $("img[id$=imgThumb]");
			imgThumb.hide();
			imgThumb.attr("src","img/spacer.gif");

			//Extrai os parâmetros de navegação da URL
			var href = $(this).attr("href");
			var sd = getParameterOfStringByName(href, "sd");
			animateMenuProdutos($("#sd" + sd).parent().parent());
			$("#sd" + sd).show();

			return false;
		});
	});

	$("#menuProduto>div>ul>li>a").each(function() {
		$(this).mouseover(function() {
			var imgThumb = $("img[id$=imgThumb]");
			//imgThumb.attr("src","img/thumbs/" + $(this).attr("rel") + " copy.png");
			imgThumb.attr("src","img/thumbs_jpg/" + $(this).attr("rel") + "-copy.jpg");
			imgThumb.show();
			//alert('mouseover');
			/*//Limpa (e esconde) todas as áreas dali pra frente
			cleanArea("menuProduto");
			cleanArea("menuThumb");
			cleanArea("menuOpcoesProduto");

			//Apaga todos os itens e acende o ativo
			cleanLinksAtivos("menuSubDepartamento");
			$(this).addClass("ativo");

			//Extrai os parâmetros de navegação da URL
			var href = $(this).attr("href");
			var sd = getParameterOfStringByName(href, "sd");
			animateShow($("#sd" + sd).parent().parent());
			$("#sd" + sd).show();*/
		});
	});

	$("#opcaoProdutoCaracteristicas").click(function() {
		$(this).addClass("ativo");
		$("#caracteristicas").show();
		//$("#caracteristicas").css("visibility", "visible");

		return false;
	});

	$("#opcaoProdutoDadosTecnicos").click(function() {
		$(this).addClass("ativo");
		$("#dadosTecnicos").show();
		//$("#dadosTecnicos").css("visibility", "visible");

		//Alterno o z-index deste div pra aparecer em cima
		$("#dadosTecnicos").css('zIndex', 2);
		$("#detalhesProduto").css('zIndex', 1);

		return false;
	});

	$("#opcaoProdutoDetalhes").click(function() {
		$(this).addClass("ativo");
		//$("#detalhesProduto").show();
		$("#detalhesProduto").css("visibility", "visible");

		//Alterno o z-index deste div pra aparecer em cima
		$("#detalhesProduto").css('zIndex', 2);
		$("#dadosTecnicos").css('zIndex', 1);

		return false;
	});

	$("#caracteristicasFechar").click(function() {
		$(this).parent().hide();
		//$(this).parent().css("visibility", "hidden");
		$("#opcaoProdutoCaracteristicas").removeClass("ativo");

		return false;
	});

	$("#dadosTecnicosFechar").click(function() {
		$(this).parent().hide();
		//$(this).parent().css("visibility", "hidden");
		$("#opcaoProdutoDadosTecnicos").removeClass("ativo");

		return false;
	});

	$("#detalhesProdutoFechar").click(function() {
		//$(this).parent().hide();
		$(this).parent().css("visibility", "hidden");
		$("#opcaoProdutoDetalhes").removeClass("ativo");

		return false;
	});

	//Se for primeiro acesso (sem nenhum parâmetro), anima o primeiro nível (secoes)
	idSecao = getParameterOfStringByName(window.location.href, "s");
	if(!idSecao) {
		animateSecao();
	}

	//Se for produto aberto, anima os dois últimos divs (thumb e opções)
	idProduto = getParameterOfStringByName(window.location.href, "p");
	if(idProduto) {
		animateProduto();
	}

	$('#mycarousel').jcarousel({ scroll: 1 });
	$("div.boxConteudo").draggable({ containment: 'parent', opacity: 0.7, handle: 'h3' });
});