Module.Zoom = Class.create (
{
	level : 0,
	type : "",
	container : null,
	initialize : function ()
	{
	},
	createCookie : function (name, value, days)
	{
		document.cookie = name + "=" + value + "; path=/";
	},
	readCookie : function (name)
	{
		var nameEQ = name + "=";
		var ca = document.cookie.split (';');
		for (var i=0;i < ca.length;i++)
		{
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}

		return null;
	},
	parse : function ()
	{
		if (this.container = $('site'))
		{
			var s = this.container.getStyle ('font-size').search (/(pt|px)/);

			this.level = this.container.getStyle ('font-size').slice (0, s);
			this.type = this.container.getStyle ('font-size').slice (s);

			$$('.size').each (function (e) { e.observe ('click', this.zoom.bind (this)); }, this);

			var cookieTextSize = this.readCookie ('zoom');
			cookieTextSize && this.setZoom ($(cookieTextSize));
		}
	},
	zoom : function (event)
	{
		this.setZoom (event.target);

		this.createCookie ('zoom', event.target.id);
	},
	setZoom : function (element)
	{
		this.container.setStyle ({ fontSize: (this.level * element.getAttribute ('rel')) + this.type });
		$$('.size').each (function (e) {
			e.removeClassName ("sizeActive");
			if (e == element)
			{
				e.addClassName ("sizeActive");
			}
		});
	}
});

var zoomModule = new Module.Zoom ();
document.observe ('dom:loaded', function (event) { zoomModule.parse (); });
