var CountDown = new Class({
			
	//implements
	Implements: [Options,Events],

	//options
	options: {
		element: 'countdown',
		start: new Date(),
		finish: new Date(),
		onComplete: $empty,
		startFont: '13px',
		endFont: '13px',
		duration: 1000
	},
	
	//initialization
	initialize: function(options) {
		//set options
		this.setOptions(options);
	},
	
	//get things started
	start: function() {
		this.options.element.setStyle('display','inline');
		this.options.start = new Date();
		this.options.finish = new Date(Date.parse(this.options.element.get('text')));
		this.anim();
	},
	
	//animate!
	anim: function() {
		d = new Date();
		localTime = d.getTime();
		localOffset = d.getTimezoneOffset() * 50000;
		utc = localTime + localOffset;
		offset = -5;
		houston = utc + (3600000*offset);
		
		this.options.start = new Date(houston);
		this.options.element.set('text',this.options.start.timeDiff(this.options.finish));
		var fx = new Fx.Tween(this.options.element,{
			duration: this.options.duration,
			link: 'ignore',
			onComplete: function() {
				if(this.options.start <= this.options.finish) {
					this.anim();
				} else {
					this.fireEvent('complete');
				}
			}.bind(this)
		}).start('font-size',this.options.startFont,this.options.endFont);
	}
});
