(function($) {

	$.fn.crossfade = function(settings) {
		var config = {'delay': 5000, 'speed': 500};
 
		if (settings) $.extend(config, settings);
		
		this.each(function() {		
			var slides=$(this).children('img');
			var currentslide=0;
			var intervalHook=null;
			
			function nextSlide() {
				lastslide=currentslide;
				currentslide++;
				if (currentslide>slides.length-1) currentslide=0;
				slides.eq(lastslide).css('z-index',1);
				for (i=0;i<slides.length;i++) {
					if (i!=lastslide) slides.eq(i).hide();
				}
				slides.eq(currentslide).css('z-index', 2).fadeIn(config.speed);
			}
		
			if (slides.length>1) {
				for(i=0;i<slides.length;i++) {
					if (i!=0) slides.eq(i).hide();
				}
				intervalHook=window.setInterval(nextSlide, config.delay);
				$(this).hover(function() {
					window.clearInterval(intervalHook);
					intervalHook=null;
				}, function() {
					if (intervalHook==null) {
						intervalHook=window.setInterval(nextSlide, config.delay);
					}
				});
			}
			
		});
		return this;
	};
 })(jQuery);

