var fontsizer = new Class({

	init : function(){
		this.minSize = 70;
		this.maxSize = 140;
		this.unit = '%';
		this.step = 5;
		this.selector = '#divContent';

		// #divContent (id)
		// .divContent (class)
		// p (html element)

		var fontsize_inc = $('fontsize_increase');
		var fontsize_dec = $('fontsize_decrease');

		if( fontsize_inc ) fontsize_inc.addEvent("click", this.increase.bindWithEvent(this) );
		if( fontsize_dec ) fontsize_dec.addEvent("click", this.decrease.bindWithEvent(this) );

		// restore previously selected fontsize
		this.size = Cookie.read('fontsizer');
		if (this.size) {
			var elements = $$(this.selector);
			for(var i=0; i<elements.length; i++) {
				elements[i].setStyle('font-size', this.size+this.unit);
			}
		} else {
			this.size = 100;
		}

	},

	increase: function(e){
		e = new Event(e);
		e.stop();
		this.size = ( this.size.toInt() + this.step ).limit(this.minSize, this.maxSize);
		var elements = $$(this.selector);
		for(var i=0; i<elements.length; i++) {
			elements[i].setStyle('font-size', this.size+this.unit);
		}
		Cookie.write('fontsizer', this.size);

	},

	decrease: function(e){
		e = new Event(e);
		e.stop();
		this.size = (this.size.toInt() - this.step ).limit(this.minSize, this.maxSize);
		var elements = $$(this.selector);
		for(var i=0; i<elements.length; i++) {
			elements[i].setStyle('font-size', this.size+this.unit);
		}
		Cookie.write('fontsizer', this.size);

	}

});

window.addEvent('domready',function(){
	var fontsize = new fontsizer();
	fontsize.init();
});
