$(function() {

	// alustetaan käytettävät muuttujat
	var overShop = 0;
	var currentShop = null;
	var currentLink = null;
	
	// luodaan latausanimaatio
	var ajaxLoader = $(document.createElement('img')).attr({ id: 'ajax-loader', src: '/res/ajax-loader.gif', alt: '' });
	
	// poimitaan oletussisältö omaan muuttujaansa
	var shopMenuDefaultContent = $('#zone-_main').clone();
	
	// alkuperäisen sisällön nykyisen sivun pääpalstalle palauttava funktio
	shopMenuReturnDefaultContent = function() {
		currentShop = null;
		$('#zone-_main').fadeOut('slow', function() {
			$('#zone-_main')
				.empty()
				.append(shopMenuDefaultContent)
				.fadeIn('slow');
		});
	}
	
	$('#shoplist a').hover(function() {
		// hoveroidun kaupan tietojen latausfunktio
		retryExitShop = false;
		overShop++;
		if ( currentShop == $(this).attr('href') ) {
			return false;
		}
		currentLink = this;
		currentShop = $(this).attr('href');
		// ladataan sivuvalikossa hoveroidun linkin osoittaman sivun pääpalstan sisältö nykyisen sivun pääpalstalle
		$('#zone-_main').fadeOut('slow', function() {
			$('#content-middle').append(ajaxLoader);
			var loadTarget = $(currentLink).attr('href');
			$('#zone-_main').load(loadTarget.slice(0, loadTarget.indexOf('#')) + '--shoppage #zone-_main', {}, function() {
				loadQuery = null;
				$('#ajax-loader').remove();
				$('#zone-_main').fadeIn('slow', function() {
					overShop--;
					currentLink = null;
					if ( retryExitShop && overShop < 1 ) {
						retryExitShop = false;
						shopMenuReturnDefaultContent();
					}
				});
			});
		});
	}, function() {});
	
	$('#shoplist').hover(function() {}, function() {
		if ( currentLink ) {
			// jos sisällön lataus on yhä käynnissä, kirjataan muuttujaan hoverista poistuminen
			retryExitShop = true;
		} else {
			// jos kaikki sisällöt on jo ladattu, ajetaan alkuperäisen sisällön palauttava funktio
			shopMenuReturnDefaultContent();
		}
	});
	
});
