var UMG = UMG ? UMG : function()
{
	var pub = {};
	var priv = {};
	return pub;
}();

(function()
{
	UMG.genretemplate = UMG.genretemplate || {};
	UMG.genretemplate.AdServer = UMG.genretemplate.AdServer || {};
	UMG.genretemplate.AdServer._skyscraperWidth;
	UMG.genretemplate.AdServer._supersizeWidth;
	UMG.genretemplate.AdServer.resizeSkyscraper = function()
	{
		var skyscraper = $$('.pg-skyscraper .com-AdServer')[0];
		if (skyscraper)
		{
			var resize = function()
			{
				var w = skyscraper.getWidth();
				if (w)
				{
					UMG.genretemplate.AdServer._skyscraperWidth = w;
					if (!UMG.genretemplate.AdServer._supersizeWidth)
					{
						$(document.body).setStyle('padding-right:' + w + 'px');
					}
					else if (UMG.genretemplate.AdServer._supersizeWidth > UMG.genretemplate.AdServer._skyscraperWidth)
					{
						$(document.body).setStyle('padding-right:' + UMG.genretemplate.AdServer._supersizeWidth + 'px');
					}
					window.clearInterval(timer);
				}
			},
			timer = window.setInterval(resize, 1000);
			resize();
		}
	}
	UMG.genretemplate.AdServer.resizeSupersize = function()
	{
		var supersize = $$('.pg-supersize .com-AdServer')[0];
		if (supersize)
		{
			var resize = function()
			{
				var supersize = $$('.pg-supersize .com-AdServer')[0];
				if (supersize)
				{
					var defLeftOffset = 26; // standard Überstand
					supersize.select('.umg-bdy div').each(function(el)
					{
						// herausfinden ob eines der divs ueber die Abmessungen der Page heraussteht
						// dieses auf Weite prüfen, falls unbekannte Weite (nicht 0, nicht Weite des Ads) = entscheidendes div
						var cREl = el.getClientRects()[0],
							pg = $$('.pg')[0];
						if (cREl && pg && ((cREl.left - pg.getClientRects()[0].left) > pg.getWidth()))
						{
							var w = el.getWidth();
							if (w && w != supersize.getWidth())
							{
								UMG.genretemplate.AdServer._supersizeWidth = w;
								if (!UMG.genretemplate.AdServer._skyscraperWidth)
								{
									$(document.body).setStyle('padding-right:' + w + 'px');
								}
								else if (UMG.genretemplate.AdServer._skyscraperWidth > UMG.genretemplate.AdServer._supersizeWidth)
								{
									$(document.body).setStyle('padding-right:' + UMG.genretemplate.AdServer._skyscraperWidth + 'px');
								}
								window.clearInterval(timer);
							}
						}
					})
				}
			},
			timer = window.setInterval(resize, 1000);
			resize();
		}
	}
	document.observe("dom:loaded", UMG.genretemplate.AdServer.resizeSkyscraper);
	document.observe("dom:loaded", UMG.genretemplate.AdServer.resizeSupersize);
})();

