function DaysInMonth() {
	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth();

	var date = new Date(year, month, 0);
	return date.getDate();
}

function calcage(secs, num1, num2) {
	s = ((Math.floor(secs/num1))%num2).toString();  
	
	if (s.length < 2){	
		s = "0" + s;	
	}
	
	return s;
}

var CountBack = function(element, secs){	
	
	if(this.className){		
		element = this;
	}
		
	var secondElement = element.getElement('.second');
	var minuteElement = element.getElement('.minute');
	var hourElement = element.getElement('.hour');
	var dayElement = element.getElement('.day');
	var monthElement = element.getElement('.month');
	
	if (secs < 0) {
		dayElement.set('text', 0);	
		hourElement.set('text', 0);	
		minuteElement.set('text', 0);	
		
		if(secondElement){
			secondElement.set('text', 0);	
		}
		
		if(monthElement){
			monthElement.set('text', 0);
		}
		return;
	}
		
	var months = 0;
	var days = 0;
		
	if(monthElement){
		months = calcage(secs, 2629743.83 , 10000);
		days = calcage(secs, 86400, DaysInMonth());	
	}else{
		days = calcage(secs, 86400, 100000);	
	}
		
	var hours = calcage(secs, 3600, 24);	
	var minutes = calcage(secs, 60, 60);
	
		
	dayElement.set('text', days);	
	hourElement.set('text', hours);	
	minuteElement.set('text', minutes);	
	
	if(secondElement){
		secondElement.set('text', seconds);	
	}
	
	if(monthElement){
		monthElement.set('text', months);
	}
	
	CountBack.delay(990, element, [null, secs - 1]);
};