function AjaxCatalog () { }

/**
 * nacteni podsekci
 */
AjaxCatalog.loadSection = function (section, element) {
	var loader = '<div id="ajax-loader"></div>';

	AjaxCatalog.reposition(element);
	var el = $("#ajax-catalog");
	var popup = $("#catalog-popup");
	$(popup).stop();
	//if (el.html() == null) {
		$(popup).show();
		$(popup).html(loader);
		el.load("loader.php?para=loader/catalog/&open="+section, function () {
			AjaxCatalog.reposition(element);
			AjaxCatalog.hide();
		});

	//}
}

/**
 * presunuti menu
 */
AjaxCatalog.reposition = function(element) {
	var offset = $(element).parent().position().left + 95;
	$('#catalog-popup').css('left', offset + 'px');
}

/**
 * schovani menu
 */
AjaxCatalog.hide = function() {
	$("#catalog-popup").mouseleave(function () {
		$("#catalog-popup").hide('fast');
	});
}

/**
 * nacteni produktu v sekci
 */
AjaxCatalog.loadProducts = function (sectionId) {
	var el = $("#catalog-popup-products");
	el.html(AjaxCatalog.loader);
	el.load("loader.php?para=loader/products/&open="+sectionId, function () {
		AjaxCatalog.repositionProducts();
	});
}

/**
 * posunout na uroven vybrane polozky
 * ALE dolni okraj maximalne na uroven posledni polozky :)
 */
AjaxCatalog.repositionProducts = function () {
	//zjisti absolutni pozici obou divu
	var offset = $('#catalog-popup-categories a.selected').offset();
	var catalogOffset = $('#catalog-popup').offset();

	//zjisti, kam maximalne muzes posunout
	var productsHeight = $('#catalog-popup-products').height();
	var heightDiff = $('#catalog-popup-categories').height() - productsHeight;

	//nejdi do zapornych cisel
	var newOffsetTop = 0;
	newOffsetTop = Math.max((offset.top - catalogOffset.top) - 20, 0);
	//nejdi moc nizko, maximalne tak, aby dolni okraj byl zarovnany s dolnim okrajem kategorii.
	newOffsetTop = Math.min(heightDiff, newOffsetTop);
	//pokud by to ale znamenalo precuhovat nahoru, radsi precuhuj dolu
	newOffsetTop = Math.max(newOffsetTop, 0);

	//nastav novou vysku
	var products = $('#catalog-popup-products');
	products.css('margin-top',  newOffsetTop+'px');

	//vyprazdni, pokud uzivatel odjede mysi
	products.bind('mouseleave', function f() { products.html('') });
}
