// Variables
var list;
var shopInfoIndex = null;
var shopInfos = [];

$(document).ready(function () {
	// List
	list = $("#root");
	setUpList();
	addListBehaviours();
	
	// Infos
	shopInfos = getShopInfos();
	setUpShopInfos();
});

function setUpList () {
	// Hide sublists
	list > $("li.subListRoot ul").each(function (i) {
		$(this).hide();
	});
	
	$("ul.listLv2 li").each(function (i) {
		$(this).mouseover(function () {
			showShopInfo(i);
		});
	});
}

function addListBehaviours () {
	$('li').click(function(event) {
		if ($(this).hasClass('closed')) {
			$(this).removeClass('closed');
			$(this).addClass('open');
			$(this).children('ul').slideUp('fast');
		}
		else {
			$(this).removeClass('open');
			$(this).addClass('closed');
			$(this).children('ul').slideDown('fast');
		}
		if ($(this).hasClass("listLv2")) {
			showShopInfo();
		}
		event.stopPropagation();
	});
}

function getShopInfos () {
	var a = [];
	$("span.shopInfo").each (function (i) {
		a.push($(this));
		$(this).hide();		
	});
	return a;
}

function setUpShopInfos () {
	shopInfos.each(function (i) {
		$(this).hide();
	});
}

function showShopInfo (i) {
	var info = shopInfos[i];

	// Hide previous shop info
	if (shopInfoIndex != null) shopInfos[shopInfoIndex].hide();
	
	// Show requested info
	info.show();	
	
	// Set new info index
	shopInfoIndex = i;
}
