/*fadeGallery*/
jQuery.fn.fadeGallery = function(_options){
	var _options = jQuery.extend({
		listSelector: '> li',
		navHolder:		'.sdf',
		navCreate:		false,
		thumbsSelector: 'li',
		prev:			'a.prev',
		next:			'a.next',
		pause: 			'a.pause',
		swichTime:		false,
		delay:			900,
		fadeIEfix:		false,
		onChange:		null
	},_options);
	return this.each(function(){
		var _swichTime = _options.swichTime;
		var _d = (_options.fadeIEfix) ? (jQuery.browser.msie ? 0 : _options.delay) : (_options.delay);
		var _this = jQuery(this);
		var _list = jQuery(_options.listSelector, _this);
		var _linksHold = jQuery(_options.navHolder, _this);
		var pause = false;

		if(_options.navCreate){
			var _htmlNav ='<ul>';
			for(var i=0; i<_list.length; i++) {
				_htmlNav += '<li><a href="#">'+(i+1)+'</a></li>';
			}
			_htmlNav +='</ul>';
			_linksHold.html(_htmlNav);
		}
		var _links = jQuery(_options.thumbsSelector, _linksHold);
		var _btnPrev = jQuery(_options.prev , _this);
		var _btnNext = jQuery(_options.next , _this);
		var _btnPause = jQuery(_options.pause , _this);
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		var _t;
		_list.removeClass('active').css({display: 'none', opacity: 0}).eq(_a).addClass('active').css({display: 'block', opacity: 1}).css('opacity', 'auto');
		_links.eq(_a).addClass('active');

		autoSwitch();
		function autoSwitch(){
			if (_swichTime && !pause){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, _swichTime);
			}
		}

		if (_btnPrev){
			_btnPrev.click(function(){
				var _prevItem = 0;
				if (_a > 0) _prevItem = _a-1;
				else _prevItem = _list.length-1;
				changeEl(_prevItem);
				return false;
			})
		}
		if (_btnNext){
			_btnNext.click(function(){
				var _nextItem = 0;
				if (_a < _list.length - 1) _nextItem = _a+1;
				else _nextItem = 0;
				changeEl(_nextItem);
				return false;
			});
		}
		if(_btnPause){
			_btnPause.click(function(){
				if(jQuery(this).hasClass('pause')){
					if(_t) clearTimeout(_t);
					this.className = this.className.replace('pause','play');
					pause =true;
				}else{
					this.className = this.className.replace('play','pause');
					pause =false;
					autoSwitch();
				}
				return false;
			});
		}

		if(_links){
			_links.click(function(){
				var _ind = _links.removeClass('active').index(jQuery(this).addClass('active'));
				changeEl(_ind);
				return false;
			})
		}
		function changeEl(_ind){
			if(_t) clearTimeout(_t);
			if(_list.is(':animated')) _list.stop(true, true);
			if(_ind != _a){
				_links.removeClass('active').eq(_ind).addClass('active');
				_list.eq(_a).removeClass('active').animate({opacity: 0}, {queue:false, duration:_d});
				_list.eq(_ind).addClass('active').css({opacity: 0, display:'block'}).animate({opacity: 1}, {queue:false, duration:_d,complete:function(){
					jQuery(this).css('opacity', 'auto');
					_a = _ind;
					autoSwitch();
					if (jQuery.isFunction(_options.onChange)) {
						_options.onChange.apply(_this);
					};
				}});
			}
		}
	});
};

jQuery(document).ready(function(){
	jQuery('#gallery').fadeGallery({
		listSelector: 'div.holder > ul > li',
		navHolder:		'.hyt',
		navCreate:		false,
		thumbsSelector: 'li',
		prev:			'a.previous',
		next:			'a.next',
		swichTime:		4000,
		delay:			2000,
		fadeIEfix:		false,
		onChange:		null
	});
});
