(function($) {
$.fn.jOdometer = function(settings) {
	// override default configuration
	settings = $.extend({}, $.fn.jOdometer.defaults, settings);
	
	// for each counter
  return this.each(function(){
		
		var scope = $(this); // store the actual counter
		
		var zeroSet=-settings.heightNumber; // position of the first 0
		var counter = parseFloat(settings.counterStart); // initialize counter with the start number
		// to store the digits of the number
		var integersArray = [];
		// create a column for each integer digit with the image in the position of the correspondent number
		var integers = settings.counterStart;
		var j=integers.length-1;
		for (var i=0;i<integers.length;i++){
			integersArray[i] = integers.charAt(j);
			$(this).append('<img style="display:none;position:absolute; right:'+ ( i*settings.widthNumber + 0*settings.widthNumber + 0 + settings.offsetRight + 0*settings.spaceNumbers + i*settings.spaceNumbers + settings.spaceNumbers) +'px; top:'+ ((parseInt(integersArray[i]) *settings.heightNumber*-1)+zeroSet)+'px;" class="jodometer_integer_'+i+'" src="'+settings.numbersImage+'" alt="Integer '+(i+1)+'" />');
			$('.jodometer_integer_'+i).fadeIn('fast');
			j--;
		}
		
		var counterEnd = settings.counterEnd;
		var j=counterEnd.length-1;
		for (var i=0;i<counterEnd.length;i++){
			newDigit = counterEnd.charAt(j);
			$('.jodometer_integer_'+i,scope).animate({top: (newDigit*settings.heightNumber*-1)+zeroSet}, settings.speed, settings.easing);
			j--;		
		}	

	});
};
// default settings
$.fn.jOdometer.defaults = {
	counterStart: '0000',
	counterEnd: false,
	delayTime: 100,
	increment: 0.1,
	speed: 1,
	easing: '',
	numbersImage: '/images/jodometer-numbers.png',
	heightNumber: 68,
	widthNumber: 28,
	offsetRight: 0,
	spaceNumbers: 0,
	widthDot: 10
};
})(jQuery);