var MooCountdown = new Class({

	Implements: [Events, Options],
	
	options: {
		futureDate : $empty,
		onlySeconds : $empty,
		dayText : 'jour',
		hourText : 'heure',
		minuteText : 'minute',
		secondText : 'seconde',
		onCompleteText : '',
		startFont : '32',
		finishFont : '16',
		duration : 1000,
		onComplete : $empty,
		amount : $empty,
		amountTotal : $empty,
		days : $empty,
		hours : $empty,
		minutes : $empty,
		seconds : $empty
	},
	
	initialize : function(element,options){
		this.Container = element;
	
		this.setOptions(options);
		this.getCount();
	},
	
	getCount : function(){
  
	    var out = '';
	    this.now = new Date();
	    
	    this.options.amount = this.options.futureDate - this.now.getTime();
	
	    this.options.amount = Math.floor(this.options.amount/1000);
	    this.options.amountTotal = this.options.amount;
	  
	    this.options.days = Math.floor(this.options.amount/86400);
	    this.options.amount = this.options.amount%86400; 
	    
	    this.options.hours = Math.floor(this.options.amount/3600);
	    this.options.amount = this.options.amount%3600;
	    
	    this.options.minutes = Math.floor(this.options.amount/60);
	    this.options.amount = this.options.amount%60;
	    
	    this.options.seconds = this.options.amount;
	    
	    this.Container.set('html','');
	    
	    var elDays = new Element('span',{
	      'id' : "days",
	      'html' : "<span class=\"number\">"+this.options.days+"</span><span class=\"text\">"+this.options.dayText+"</span>"
	    }).inject(this.Container).addClass('countdown_box');
	    
	    var elHours = new Element('span',{
	      'id' : "hours",
	      'html' : "<span class=\"number\">"+this.options.hours+"</span><span class=\"text\">"+this.options.hourText+"</span>"
	    }).inject(this.Container).addClass('countdown_box');
	    
	    var elMinutes = new Element('span',{
	      'id' : "minutes",
	      'html' : "<span class=\"number\">"+this.options.minutes+"</span><span class=\"text\">"+this.options.minuteText +"</span>"
	    }).inject(this.Container).addClass('countdown_box');
	    
	    var elSeconds = new Element('span',{
	      'id' : "seconds",
	      'html' : "<span class=\"number\">"+this.options.seconds+"</span><span class=\"text\">"+this.options.secondText+"</span>"
	    }).inject(this.Container).addClass('countdown_box');
	    
	        
	    this.options.amountTotal--; 
		var fx = new Fx.Tween($("seconds"),{
			duration: this.options.duration,
			onComplete: function() { 
				if(this.options.amountTotal >= 0) {         
          			this.getCount();
        		} else {
					$(this.options.container).set('text',this.options.onCompleteText);
					this.fireEvent('complete');
		        }
			}.bind(this)
		}).start('font-size',[this.options.startFont,this.options.finishFont]); 
    
	}
  

});
