/*
 * jDigiClock plugin 2.1 Modified by Tom Sowerby
 *
 * http://www.radoslavdimov.com/jquery-plugins/jquery-plugin-digiclock/
 *
 * Copyright (c) 2009 Radoslav Dimov
 * Copyright (c) 2010 Totemic
 *
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */


(function($) {
    $.fn.extend({

        totemicStats: function(termsArray) {

            var preNumbers = new Array;
            var numbers = new Array;
            var postNumbers = new Array;
            
            for(var i in termsArray)
            {
            	var split = termsArray[i].split('%%'); 
            	preNumbers[i] = split[0];
            	numbers[i] = split[1];
            	postNumbers[i] = split[2];
            }

            return this.each(function() {
                
                var $this = $(this);
                $this.numbersImagesPath = '_images/counter/';
                $this.numbers = numbers;
                $this.preNumbers = preNumbers;
                $this.postNumbers = postNumbers;
                $this.currentPointer = 0;


                var html = '<h2 id="plugin_container">';
                html    += '<strong id="digital_container">';
                html    += '<span id="pre-text"></span>';
                html    += '<span id="number"></span>';
                html    += '<span id="post-text"></span>';
                html    += '</strong>';
                html    += '</h2>';

                $this.html(html);

                $this.displayNumber($this);             

                var panel_pos = ($('#plugin_container > div').length - 1) * 500;

            });
        }
    });
   

    $.fn.displayNumber = function(el) {
        $.fn.getNumber(el);
        setTimeout(function() {$.fn.displayNumber(el)}, $.fn.delay());
    }

    $.fn.delay = function() {
        var now = new Date();
        var delay = 5 * 1000;
        return delay;
    }
    
    $.fn.getNumber = function(el) {
    	var currentPreNumber = el.preNumbers[el.currentPointer];
    	var currentPostNumber = el.postNumbers[el.currentPointer];
    	var current = el.numbers[el.currentPointer];
    	var parts = current.split('');
    	
    	var numbersSize = el.numbers.length;
    	if(el.currentPointer+1 == numbersSize) {
    		el.currentPointer = 0;
    	}
    	else {
    		el.currentPointer++;
    	}
    	
    	numbersHTML = '';
    	numbersHTML += '<span id="hours"><span class="line"></span>';
        
        for (var i in parts)
        {
        	var imageNumber = parts[i];
        	if(parts[i] == '0')
        	{
        		imageNumber = '1';
        	}
        	
        	numbersHTML += '<img src="' + el.numbersImagesPath + '0-' + imageNumber + '-1.png" id="number'+i+'" alt="'+ parts[i] +'" class="first_digit" />';
        }
        numbersHTML += '</span>';

        el.find('#pre-text').html(currentPreNumber);
        el.find('#number').html(numbersHTML);
        el.find('#post-text').html(currentPostNumber);
        
        var fadeInDelay = 800;
        $('#plugin_container').fadeIn(fadeInDelay);
        
        delay = 400;
        stages = new Array;
        stages[1] = ((delay * 1) / 5) + fadeInDelay;
        stages[2] = ((delay * 2) / 5) + fadeInDelay;
        stages[3] = ((delay * 3) / 5) + fadeInDelay;
        stages[4] = ((delay * 4) / 5) + fadeInDelay;
        stages[5] = ((delay * 5) / 5) + fadeInDelay;
        
        for(var j in stages)
        {
        	var image = (j*1)+1;
        	var delay = (stages[j] * 1);
        	for(var i in parts)
            {
        		if(parts[i] != 0)
        		{
        			$.fn.timeoutNumbers(i, el.numbersImagesPath + '0-' + parts[i] + '-' + image, delay + (i*100));
        		}
            }
        }
        
        var textDelay = $.fn.delay();
        setTimeout(function() {
        	$('#plugin_container').fadeOut(400);
        },(textDelay - 400));
    }
    
    $.fn.timeoutNumbers = function(imageId, newImage, delay) {
    	setTimeout(function() {
        	$('#number'+imageId).attr('src', newImage + '.png');
        },delay);
    }
    
    

})(jQuery);

    $(document).ready(function() {
        $('#numbers').totemicStats(
                [
					'Employing %%900%% employees',
					'%%100000%% clients',
					'Distributing &pound;%%240%% million annually to banks and other financial institutions ',
					'%%90000%% people a year call our helpline',
					'We manage nearly &pound;%%4%% billion of individual debts'
                 ]);
    });
