///////////////////////////////////////////////////////////////
// jQuery Gallery Rotator Plugin
// Author: Rob Kreuzer
// Date: 
///////////////////////////////////////////////////////////////
(function($) {  
	
	$.fn.gallery = function(options) {
		
		var defaults 	= {autoplay:true,delay:5000};
		var options 	= $.extend(defaults, options);
		var rGallery 	= '';

		function rotateGallery(dir) {
			
			var $active 	= ob.find('#galleryBar li.active');
			
			if (dir == null) {dir = "next";}
		
			if (dir == "next") {
				var $next 	= $active.next().length ? $active.next() : ob.find('#galleryBar li:first');
			} else if (dir == "prev") {
				var $next 	= $active.prev().length ? $active.prev() : ob.find('#galleryBar li:last');
			}
			
			var image_cur	= $active.find("a").attr("href");
			var image_url 	= $next.find("a").attr("href");
			var $image_main	= $('#image-main', ob);
	
			$active.removeClass('active');
			$next.addClass('active');
			
			ob.css("background","url("+image_cur+") no-repeat 2px 0px");
			
			$image_main.fadeOut(100, function() {
				$image_main.attr('src', image_url).load(function() {
					$image_main.fadeIn(1200);
				});
			});
			
		}
		
		return this.each(function() {

			ob = $(this);
			mi = $('#mm-image', ob);
			mg = $('#mm-gallery', ob);

			mi.fadeIn()

			mi.click(function() {
				
				var $active 	= $('#galleryBar li.active', ob);
				var link_url 	= $active.find("a").attr("rel");
				
				if (link_url != '') {
					location.href = link_url;
				} else {
					rotateGallery("next");
					clearInterval(rGallery);
					return false;	
				}

			});
			
			$('#galleryBar a', mg).click(function() {
				
				var $active 	= $('#galleryBar li.active', ob);
				var $next 		= $(this).parent();
				
				var image_url 	= $next.find("a").attr("href");
				var $image_main	= $('#image-main', ob);
				
				$active.removeClass('active');
				$next.addClass('active');

				$image_main.fadeOut(1000, function() {
					$image_main.attr('src', image_url).load(function() {
						$image_main.fadeIn(1000);
					});
				});

				clearInterval(rGallery);

				return false;
				
			});
			
			$('#mm-arrow-left', mg).click(function() {
				rotateGallery("prev");
				clearInterval(rGallery);
				return false;
			});
						
			$('#mm-arrow-right', mg).click(function() {
				rotateGallery("next");
				clearInterval(rGallery);
				return false;
			});
			
			if (options.autoplay) {
				rGallery = setInterval(function(){rotateGallery("next");}, options.delay);
			}
			
		});
	
	}

})(jQuery);  
