/*
* jQuery featuredGallery plugin
*
* Copyright (c) 2010 AndPlus Design [http://www.andplusdesign.com]
*
*/

var $ = jQuery.noConflict();

;(function($){

	var $$;

	$$ = $.fn.featuredGallery = function($options) {
				
		// set default options
		var $defaults = {
			start     : 0,
			fade	: "xfade",
			fadeSpeed	: 1000,
			fadeInterval	: 3000,
			textFade	: 'xfade'
		};
		
		// extend the options
		var $opts = $.extend($defaults, $options);
		
		// bring the options to the featuredGallery object
		for (var i in $opts) {
			$.featuredGallery[i]  = $opts[i];
		}
		
		$.featuredGallery.fadeInterval += $.featuredGallery.fadeSpeed;
		$.featuredGallery.textFadeSpeed	= $.featuredGallery.fadeSpeed*.07  //only if textFade == 'seqential'
				
		$.featuredGallery.current = $.featuredGallery.start;
		
		
		//var img = new Image();
		//img.src = $('.gallery').children('li').children('img').eq(0).attr('src');
								
		$(window).load(function()
        {
			//var imgHeight = ($('.gallery').children('li').children('.topsection').children('img').eq(0).attr('height'));
			//$("#filler").css('height',imgHeight);
		});
		
		
		return this.each(function(){
			var _gallerySize = $('#featuredGallery > #slides > .slide > .content').size();
			var _contents = $('#slides').children('.slide').children('.content');
			var _menu = $('#featuredGallery > #menu > ul').children('li');
			$(this).children('#slides').children('.slide').children('.content').each(function(i) {
				$(this).css('position','absolute');
				if (_contents.index(this) != ($.featuredGallery.current)) {
					$(this).css('display','none');
					_menu.eq(_contents.index(this)).css("opacity",".7");
					_menu.eq(_contents.index(this)).css("filter","alpha(opacity=70)");
				}
				var tmpi = _contents.index(this);
			});
			
			$(_menu).css('z-index', '2');
			_menu.click(function() {
				var index = $(_menu).index(this);
				if (index != $.featuredGallery.current) {
					//alert('pic #' + index);
					var current = $.featuredGallery.current;
					if ($.featuredGallery.fade == "xfade") {
						_contents.eq(current).css("z-index", "0");
						_contents.eq(index).css("z-index", "1");
						_contents.eq(index).stop(true,true);
						_contents.eq(current).stop(true,true);
						_contents.eq(index).css("display", "block");
						_contents.eq(current).stop().css("display", "block");
						$(_contents).eq(index).css("opacity","0");
						$(_contents).eq(index).css("filter","alpha(opacity=0)");
						$(_contents).eq(current).stop().fadeTo($.featuredGallery.fadeSpeed, 0, function () {
							_contents.eq(current).stop().css("opacity","0");
							_contents.eq(current).stop().css("filter","alpha(opacity=0)");
						});
						$(_contents).eq(index).stop().fadeTo($.featuredGallery.fadeSpeed, 1, function () {
							_contents.eq(index).stop().css("opacity","1");
							_contents.eq(index).stop().css("filter","alpha(opacity=100)");
						});
					}
							
					else if ($.featuredGallery.fade == "sequential") {
						_contents.eq(current).stop(true,true);
						_contents.eq(index).stop(true,true);
						_contents.eq(current).fadeOut($.featuredGallery.fadeSpeed, function () {
							_contents.eq(index).fadeIn($.featuredGallery.fadeSpeed);
						});
					}

					_menu.eq(current).stop().fadeTo($.featuredGallery.fadeSpeed, .7);
					$.featuredGallery.current = index;
					clearInterval(intervalID);
				}
				return false;
			});
			_menu.mouseover(function() {
				var index = $(_menu).index(this);
				_menu.eq(index).stop().fadeTo($.featuredGallery.fadeSpeed, 1);
				//_menu.eq(index).css("border", "1px solid red");
			});
			_menu.mouseout(function() {
				var index = $(_menu).index(this);
				//_menu.eq(index).css("border", "1px solid black");
				if (index != $.featuredGallery.current) {
					_menu.eq(index).stop().fadeTo($.featuredGallery.fadeSpeed, .7);
				}
			});
			if (_gallerySize > 1) {
				var intervalID = setInterval(nextPic, $.featuredGallery.fadeInterval);
			}
		});
	};
	
	function nextPic() {
		var _gallerySize = $('#featuredGallery > #slides > .slide > .content').size();
		var index = ($.featuredGallery.current);
		var _contents = $('#slides').children('.slide').children('.content');
		if (index < (_gallerySize-1))
			index++;
		else
			index = 0;
		
		var _menu = $('#featuredGallery > #menu > ul').children('li');
		
		var current = $.featuredGallery.current;
		if ($.featuredGallery.fade == "xfade") {
			_contents.eq(current).css("z-index", "0");
			_contents.eq(index).css("z-index", "1");
			_contents.eq(index).stop(true,true);
			_contents.eq(current).stop(true,true);
			_contents.eq(index).css("display", "block");
			_contents.eq(current).stop().css("display", "block");
			$(_contents).eq(index).css("opacity","0");
			$(_contents).eq(index).css("filter","alpha(opacity=0)");
			$(_contents).eq(current).stop().fadeTo($.featuredGallery.fadeSpeed, 0, function () {
				_contents.eq(current).stop().css("opacity","0");
				_contents.eq(current).stop().css("filter","alpha(opacity=0)");
			});
			$(_contents).eq(index).stop().fadeTo($.featuredGallery.fadeSpeed, 1, function () {
				_contents.eq(index).stop().css("opacity","1");
				_contents.eq(index).stop().css("filter","alpha(opacity=100)");
			});
			$(_menu).eq(index).stop().fadeTo($.featuredGallery.fadeSpeed, 1);
			$(_menu).eq($.featuredGallery.current).stop().fadeTo($.featuredGallery.fadeSpeed, .7);
		}
				
		else if ($.featuredGallery.fade == "sequential") {
			_contents.eq(current).stop(true,true);
			_contents.eq(index).stop(true,true);
			_contents.eq(current).fadeOut($.featuredGallery.fadeSpeed, function () {
				_contents.eq(index).fadeIn($.featuredGallery.fadeSpeed);
			});
			$(_menu).eq(index).stop().fadeTo($.featuredGallery.fadeSpeed, 1);
			$(_menu).eq($.featuredGallery.current).stop().fadeTo($.featuredGallery.fadeSpeed, .7);
		}
				
		$.featuredGallery.current = index;
	}

	$.extend({featuredGallery : {
		current : '',
		start: '',
		autostart: '',
		delay: '',
		fade: '',
		fadeSpeed: '',
		fadeInterval: '',
		textFadeSpeed: ''
	}
	});

})(jQuery);