// Pobieranie banerów

var bannerIdPrefix = "_banner_";
var banners = $H();
var bannerCounter = 0;

function registerBanner(banSizeId) {
	var banId = bannerIdPrefix + (bannerCounter++);
	document.write('<div id="' + banId + '"></div>');
	if (!banners[banSizeId])
		banners[banSizeId] = new Array();
	banners[banSizeId].push(banId);
}

function showBanner(elemId, bannersRoot, bannerDescElem) {
	if (bannerDescElem != undefined){
		new Ajax.Updater(elemId, bannersRoot + bannerDescElem.firstChild.nodeValue,
			{method: 'get', evalScripts: true});
	}
}

function showBanners(pageResource, bannersRoot) {
	var params = $H({url:pageResource});
	banners.each(function(pair, i) {
		params['banner_size'+i] = pair.key;
		params['banner_nr'+i] = pair.value.length;
	});
	new Ajax.Request("/p4webportal/ads", {
		method: 'get',
		parameters: params,

		onSuccess: function(transport) {
			var resultElem = getDOMChildElements(transport.responseXML, 'banners')[0];
			getDOMChildElements(resultElem, 'banners-list').each(function(elem) {
				var sizeId = elem.getAttribute('size-id');
				banners[sizeId].zip(getDOMChildElements(elem, 'banner-address'))
					.each(function(tuple) {
						showBanner(tuple[0], bannersRoot, tuple[1]);
					});
			});
		},

		onException: function(request, e) {
			throw e;
		}
	});
}
