/** Copyright 2009 Ryan Leland - ryanleland.com */
jQuery.fn.animateNum = function(options) {
	var settings = jQuery.extend({
		start: 0,
		end: 100,
		duration: 1400,
		refresh: 20,
		prepend: '',
		append: ''
	}, options);
	
	var container = this;
	
	var containerVal = $(container).html();
	if(containerVal) {
		settings.start = Number(containerVal);
	}
	
	settings.end = Number(settings.end);
	
	var step = (settings.end - settings.start) / (settings.duration / settings.refresh);
	
	var timer = window.setInterval(function() {
		if(settings.start != settings.end) {
			var val = settings.start += step
			
			if(step > 0) {
				if(val > settings.end) val = settings.end;
			} else if(step < 0) {
				if(val < settings.end) val = settings.end;
			} else {
				val = settings.end;
			}
			
			var num = new Number(val)
			container.html(settings.prepend + num.toFixed(2) + settings.append);	
		} else {
			window.clearInterval(timer);
		}
	}, settings.refresh);
};