﻿/**
 * spinner - does whatever with images
 *
 * Copyright (c) 2007 Litium Affärskommunikation AB (http://www.litium.se)
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 */

jQuery.fn.spinner = function(settings){
	/**
     * Spins images for each selected element
     */
	return this.each(function(){
		jQuery.spinner(this, settings);
	});
};

jQuery.spinner = function(o, settings){
	settings = jQuery.extend(
	{
		delay: "3500",
		speed: "slow",
		images: [""],
		index: 0
	}, settings);
	
	// Preloading images
	$(settings.images).each(function()
		{
			var imgObj = new Image();
			imgObj.src = this;
		}
	);
	
	setTimeout( function(){ next(o, settings); }, settings.delay );
};

function next(o, settings)
{
	jQuery(o).fadeTo(settings.speed, 0, function()
	{
		jQuery(o).attr("src", settings.images[settings.index]);
		jQuery(o).fadeTo(settings.speed, 1);
		
		if(settings.index < settings.images.length - 1){
			settings.index++;
		}
		else{
			settings.index = 0;
		}
		
		setTimeout( function(){ next(o, settings); }, settings.delay );
	});
}