var ReadyList = [];

ReadyList.push(function() {
	var now = new Date();
	
	var sEl;
	var s2El;
	var mEl;
	var m2El;
	var hEl;
	var h2El;
	var dEl;
	var d2El;
	
	var sVal = 9;
	var s2Val = 9;
	var mVal = 9;
	var m2Val = 9;
	var hVal = 9;
	var h2Val = 9;
	var dVal = 9;
	var d2Val = 9;
	
	var tickCount = 0;
	
	var initFlip = function(el, val) {
		el.flip = true;
		el.flipCount = 1;
		$(el).addClass('ani1');
		$(el.ani).removeClass('hide');
		el.top.num.innerHTML = val;
	};
	
	var checkFlip = function(el, val) {
		if(el.flip) {
			$(el).removeClass('ani' + el.flipCount);
			el.flipCount += el.flipDir;
			if(el.flipCount > 4) {
				el.flipDir = -1;
				el.flipCount = 4;
				$(el).addClass('ani' + el.flipCount);
				$(el.ani).removeClass('top').addClass('bottom');
				el.ani.num.innerHTML = val;
			}
			else if (el.flipCount == 0) {
				el.flipDir = 1;
				$(el.ani).removeClass('bottom').addClass('top').addClass('hide');
				el.btm.num.innerHTML = val;
				el.flip = false;
			}
			else {
				$(el).addClass('ani'+el.flipCount);
			}
		}
	};
	
	var calculateAge = function(secs, num1, num2) {
        var s = ((Math.floor(secs / num1)) % num2).toString();
        return s;
    };
	
    var checkTime = function() {
        var now = new Date();
    	var targetDate = "10/27/2010 7:00 PM UTC-0500";
    	var dthen	= new Date(targetDate);
    	var ddiff = new Date(dthen - now);
    	var gsecs = Math.floor(ddiff.valueOf() / 1000);
    	
    	if(gsecs > 0) {
            var nS = Math.floor(calculateAge(gsecs, 1, 60) / 10);
            var nS2 = calculateAge(gsecs, 1, 60) % 10;
            var nM = Math.floor(calculateAge(gsecs, 60, 60) / 10);
            var nM2 = calculateAge(gsecs, 60, 60) % 10;
        	var nH = Math.floor(calculateAge(gsecs, 3600, 24) / 10);
        	var nH2 = calculateAge(gsecs, 3600, 24) % 10;
        	var nD = Math.floor(calculateAge(gsecs, 86400, 100000) / 10);
        	var nD2 = calculateAge(gsecs, 86400, 100000) % 10;
	
        	if(!sEl.flip && sVal != nS) {
        		sVal = (--sVal >= 0) ? sVal : 5; 
        		initFlip(sEl, sVal);
        	}
        	if(!s2El.flip && s2Val != nS2) {
        		s2Val = (--s2Val >= 0) ? s2Val : 9; 
        		initFlip(s2El, s2Val);
        	}
        	if(!mEl.flip && mVal != nM) {
        		mVal = (--mVal >= 0) ? mVal : 5; 
        		initFlip(mEl, mVal);
        	}
        	if(!m2El.flip && m2Val != nM2) {
        		m2Val = (--m2Val >= 0) ? m2Val : 9; 
        		initFlip(m2El, m2Val);
        	}
        	if(!hEl.flip && hVal != nH) {
        		hVal = (--hVal >= 0) ? hVal : 2;
        		initFlip(hEl, hVal);
        	}
        	if(!h2El.flip && h2Val != nH2) {
        		h2Val = (--h2Val >= 0) ? h2Val : 9;
        		initFlip(h2El, h2Val);
        	}	
        	if(!dEl.flip && dVal != nD) {
        		dVal = (--dVal >= 0) ? dVal : 9;
        		initFlip(dEl, dVal);
        	}
        	if(!d2El.flip && d2Val != nD2) {
        		d2Val = (--d2Val >= 0) ? d2Val : 9;
        		initFlip(d2El, d2Val);
        	}	
        } else {
            clearInterval(tickTimer);
            $('#countdown').addClass("live");
        }
    };

    var tick = function() {
    	checkFlip(sEl, sVal);
    	checkFlip(s2El, s2Val);
    	checkFlip(mEl, mVal);
    	checkFlip(m2El, m2Val);
    	checkFlip(hEl, hVal);
    	checkFlip(h2El, h2Val);
    	checkFlip(dEl, dVal);
    	checkFlip(d2El, d2Val);
    	checkTime();
    };

    var tickTimer;

    $('#seconds_1, #seconds_2, #minute_1, #minute_2, #hour_1, #hour_2, #day_1, #day_2').each(function() {
    	this.ani = $('.front', this).get(0);
    	this.ani.num = $('span', this.ani).get(0);
    	this.top = $('.top.back', this).get(0);
    	this.top.num = $('span', this.top).get(0);
    	this.btm = $('.bottom.back', this).get(0);
    	this.btm.num = $('span', this.btm).get(0);
    	this.flip = false;
    	this.flipCount = 0;
    	this.flipDir = 1;
    	if(this.id == 'day_1') {
    		dEl = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = dVal;
    	}
    	if(this.id == 'day_2') {
    		d2El = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = d2Val;
    	}
    	if(this.id == 'hour_1') {
    		hEl = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = hVal;
    	}
    	if(this.id == 'hour_2') {
    		h2El = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = h2Val;
    	}
    	if(this.id == 'minute_1') {
    		mEl = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = mVal;
    	}
    	if(this.id == 'minute_2') {
    		m2El = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = m2Val;
    	}
    	if(this.id == 'seconds_1') {
    		sEl = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = sVal;
    	}
    	if(this.id == 'seconds_2') {
    		s2El = this;
    		this.ani.num.innerHTML = this.top.num.innerHTML = this.btm.num.innerHTML = s2Val;
    	}
    });

    tickTimer = window.setInterval(tick, 50);
	
});
