HW.Icons = {
	classes:{
		print:'printPage',
		email:'emailPage',
		larger:'textIncrease',
		reset:'textReset',
		smaller:'textDecrease'
	},
	init:function() {
		for(var i in this.classes) {
			this.bind(i);
		}
		this.font.set('cookie');
	},
	bind:function(i) {
		var obj = this;
		var c = this.classes[i];
		_$$('.'+c).each(function(o){
			o.bind('click',function(){obj.fire(i,o);},false);
		});
	},
	fire:function(i,o) {
		try{this.despatchers[i](o);}
		catch(e){}
	},
	despatchers:{
		print:function(){window.print();},
		email:function(){HW.log('email');},
		larger:function(){
			HW.Icons.font.set(1);
		},
		reset:function(){
			HW.Icons.font.set();
		},
		smaller:function(){
			HW.Icons.font.set(-1);
		}
	},
	font:{
		sizes:['0.6em','0.7em','0.8em'],
		current:1,
		def:1,
		set:function(d) {
			if(!d) {
				this.current = this.def;
			}
			else if(d == 'cookie') {
				var data = document.cookie.split(';');
				for(var i=0,j=data.length;i<j;i++) {
					if(data[i].match(/fontSize=([0-9]+)/)) {
						this.current = parseInt(data[i].match(/fontSize=([0-9]+)/)[1]);
					}
				}
			}
			else {
				this.current = Math.max(Math.min(this.current+d,this.sizes.length-1),0);
			}
			_$('body').setStyle({fontSize:this.sizes[this.current]});
			document.cookie = 'fontSize='+this.current;
		}
	}
}

HW.onload(function(){HW.Icons.init();});