var Util = {
	getMaxWidth: function(elements, inc_pad)
	{
		if ( inc_pad == undefined )
		{
			inc_pad = false;
		} 
		
		var max = 0;
		var width;
		
		elements.each( function(element) {
			
			if ( inc_pad )
			{
				var padding = parseInt(element.getStyle('paddingLeft').gsub('px', '')) + parseInt(element.getStyle('paddingRight').gsub('px', ''));
			}
			else
			{
				var padding = 0;
			}
			
			var width = element.getWidth() - padding;
			if ( width > max )
			{
				max = width;
			}
		});
		
		return max;
	},
	
	getMaxHeight: function(elements, inc_pad)
	{
		// Check if height must include padding
		if ( inc_pad == undefined )
		{
			inc_pad = false;
		} 
		
		var max = 0
		var height;
		
		elements.each( function(element) {
			
			if ( inc_pad )
			{
				var padding = parseInt(element.getStyle('paddingTop').gsub('px', '')) + parseInt(element.getStyle('paddingBottom').gsub('px', ''));
			}
			else
			{
				var padding = 0;
			}
			
			var height = element.getHeight() - padding;
			if ( height > max )
			{
				max = height;
			}
		});
		
		return max;
	}
}

var Cookie = {
	set: function(name, value, days_to_expire)
	{
		var expire = '';
		if ( days_to_expire != undefined )
		{
			var d = new Date();
			d.setTime(d.getTime() + (86400000 * parseFloat(days_to_expire)));
			expire = '; expires=' + d.toGMTString();
		}
		return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
	},
	
	get: function(name)
	{
		var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
		return (cookie ? unescape(cookie[2]) : null);
	},
	
	erase: function(name)
	{
		var cookie = Cookie.get(name) || true;
		Cookie.set(name, '', -1);
		return cookie;
	},
	
	accept: function()
	{
		if (typeof navigator.cookieEnabled == 'boolean')
		{
			return navigator.cookieEnabled;
		}
		
		Cookie.set('_test', '1');
		return (Cookie.erase('_test') === '1');
	}
};

var Images = {
	transparent_image: "images/mw/spacer.gif",
	
	fixAll: function()
	{
		// Check if the browser is IE 5.5 or IE 6
		if ( !Prototype.Browser.IE && !Prototype.Browser.IE5_5 && !Prototype.Browser.IE6 )
		{
			return;
		}
		
		// If there is a player on the page run again on load to fix all images after the player
		if ( $$('object').length > 0 )
		{
			Event.observe(window, 'load', Images.fixAll);
		}
		
		// Get all images
		$$('img').each(Images.fix);
	},
	
	fix: function(image)
	{
		if ( !Prototype.Browser.IE5_5 && !Prototype.Browser.IE6 )
		{
			return;
		}
		
		image = $(image);
	
		var filename = image.readAttribute('src');
		if ( filename.toLowerCase().endsWith('png') )
		{
			var opacity = image.getStyle('opacity');
			
			image.setStyle({
				filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + filename + '", sizingMethod="none")'
			});
			image.writeAttribute({
				src: Images.transparent_image
			});
			
			if ( opacity != 1 )
			{
				image.setStyle({opacity: opacity});
			}
		}
	}
}

// Attach events
document.observe('dom:loaded', Images.fixAll);