/**
 * Perceptis Image Fader jQuery plugin
 *
 * Rotates between a set of images within a container
 */
(function($) {
	$.fn.pImageFade = function(settings) {
		imageFade(this, settings);
		return this;
	};
	
	
	$.fn.pImageFade.defaults = {
		speed: 500,
		delay: 4000,
		start: "random"
	};
	
	
	function imageFade(el, settings) {
		// merge user-defined settings with default config
		var config = $.extend({}, $.fn.pImageFade.defaults, settings);
		
		return el.each(function() {
			var container = $(this);
			var imageCount = $("img", container).length;
			var current = config.start == "random" ? Math.floor(Math.random()*imageCount) : config.start;
			var sw = false;
			
			// create the 'overlay' div and set the initial fade in
			var overlay = $("<div></div>")
				.hide()
				.css("background-image", "url("+$("img:eq("+current+")", container).attr("src")+")")
				.prependTo(container)
				.fadeIn(config.speed);
			
			// set interval
			var interval = setInterval(function() {
				if (++current >= imageCount) {current = 0;}

				if (sw = !sw) {
					container.css("background-image", "url("+$("img:eq("+current+")", container).attr("src")+")");
					overlay.fadeOut(config.speed);
				} else {
					overlay.css("background-image", "url("+$("img:eq("+current+")", container).attr("src")+")")
						.fadeIn(config.speed);
				}
			}, config.delay);
		});
	}
	
	
	function imageSwitch(oldImg, newImg, config) {
		oldImg.hide(config.speed, function() {
			
		});
	}
})(jQuery);
