/*
Font.js
	a class for creating an simple image slideshow - documentation available at <http://projects.adamnfish.com/font>

Author:
	adamnfish: see http://projects.adamnfish.com for more scripts and utilities
	Copyright 2007 Adam Fisher, <http://www.adamnfish.com>, MIT Style Licence

Licence:
	MIT style
*/


var Font=new Class({Implements:[Options],options:{useCookie:true,start:1,fx:{duration:200},cookie:{path:'/',duration:365}},initialize:function(els,sizes,options){this.setOptions(options);this.els=$(els)?[$(els)]:$$(els);this.sizes=sizes.sort(function(a,b){return a-b;});this.current=(Cookie.read('fontSize')&&this.options.useCookie)?Cookie.read('fontSize').toInt():this.options.start;this.fx=new Fx.Elements(this.els,this.options.fx).set(this.makeObj());},change:function(by){if(!this.sizes[this.current+by]||this.fx.timer){return;}
this.current=this.current+by;this.fx.start(this.makeObj());if(this.options.useCookie){Cookie.write('fontSize',this.current,this.options.cookie);}},increase:function(){this.change(1);},decrease:function(){this.change(-1);},max:function(){this.change(this.sizes.length-this.current-1);},min:function(){this.change(-this.current);},set:function(value){this.change(value-this.current);},makeObj:function(){var o={};this.els.each(function(el,i){o[i]={fontSize:this.sizes[this.current]};}.bind(this));return o;}});