/* =========================================================

// jquery.randomimg.js

// Date: 16/02/2009
// Author: Keegan Rowe
// Mail: keegan.rowe@gmail.com
// Version: 1.0

// this plugin merely provides a very simple way to show a random image
// that exist within a container of images

// based on the work of Torsten Baldes, http://medienfreunde.com/lab/innerfade/

<div id="banner">
	<img src="images/banners/01.jpg" width="840" height="320" border="0" alt="" />
	<img src="images/banners/02.jpg" width="840" height="320" border="0" alt="" />
	<img src="images/banners/03.jpg" width="840" height="320" border="0" alt="" />
	<img src="images/banners/04.jpg" width="840" height="320" border="0" alt="" />
	<img src="images/banners/05.jpg" width="840" height="320" border="0" alt="" />
</div>

$('#banner').randomimg({
	number: Number of images to randomly display (Default: 1)
});

// ========================================================= */

(function($) {

	$.fn.randomimg = function(options) {
		return this.each(function() {
			$.randomimg(this, options);
		});
	};

	$.randomimg = function(container, options) {
		var settings = {
			'number': '1'
		};

		if (options)
			$.extend(settings, options);

		if (settings.children === null) {
			var elements = $(container).children();
		}
		else {
			var elements = $(container).children(settings.children);

			if (elements.length > 1) {
				for (var i = 0; i < elements.length; i++) {
					 $(elements[i]).hide();
				}

				if (settings.number > elements.length) {
					for (var i = 0; i < elements.length; i++) {
						 $(elements[i]).show();
					}

					return false;
				}

				var random;

				for (var i = 0; i < settings.number; i++) {
					random = Math.floor ( Math.random () * ( elements.length ) );

					if ( $(elements[random]).is(":hidden")) {
						$(elements[random]).show();
					}
					else {
						i = i - 1;
					}
				}
			}
			else {
				elements[0].show();
			}
		}
	};

})(jQuery);