/*!
 * Copyright 2011, Mudlaff Łukasz
 * Dual licensed under the MIT or GPL Version 2 licenses.
 *
 * Date: 2011-04-19 16:53
 * Version: 0.1
 */
jQuery.fn.imageToggler = function( userOptions ) {
	//default options
	var defaultOpts = {
		intervalTime: 2000,
		fadeTime: 1000
	};
	var options = jQuery.extend(defaultOpts, userOptions);
	var settings = {
		noElems: this.size(),
		actualElem: 0
	};
	
	
	var toggleImages = function( $elements ) {
		$($elements.get( actualElement() )).fadeOut( options.fadeTime );
		$($elements.get( nextElement() )).fadeIn( options.fadeTime );
		incrementActualElement();
	};
	
	
	
	var actualElement = function () {
		return  settings.actualElem;
	};
	
	
	var nextElement = function () {
		if ( (settings.actualElem+1) >= settings.noElems)
			return 0;
		
		return settings.actualElem+1;
	};
	
	
	var incrementActualElement = function () {
		if ( (settings.actualElem+1) >= settings.noElems)
			settings.actualElem = 0;
		else
			settings.actualElem += 1;
	};
	
	
	//begining options
	this.each(  function() {
		$(this).hide();
	});
	$(this.get( actualElement() )).show();
	
	//start toggling
	interval = setInterval( toggleImages, options.intervalTime, this);
	
};
