function fadeGall(){
	var wait_time = 5000; // in ms
	var change_speed = 1200; // in ms
	var _hold = $('div.w-gallery');
	if(_hold.length){
		var _t;
		var _f = true;
		var _list = _hold.find('ul.fader > li');
		var _btn = $('<ul class="paging"></ul>');
		_list.each(function(_i){
			_btn.append('<li><a href="#">'+(_i+1)+'</a></li>');
		});
		_btn = $('ul.all-frames').find('li');
		var _a = _btn.index(_btn.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		
		if($.browser.msie && $.browser.version < 7) _list.removeClass('active').hide().eq(_a).addClass('active').show();
		else{
			_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		}
		_btn.eq(_a).parent('li').addClass('active');
		_btn.click(function(){
			changeEl(_btn.index(this));
			return false;
		});
		_hold.mouseenter(function(){
			_f = false;
			if(_t) clearTimeout(_t);
		}).mouseleave(function(){
			_f = true;
			if(_t) clearTimeout(_t);
			if(_f && wait_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		});
		if(_f && wait_time){
			_t = setTimeout(function(){
				if(_a < _list.length - 1) changeEl(_a + 1);
				else changeEl(0);
			}, wait_time);
		}
		function changeEl(_ind){
			if(_t) clearTimeout(_t);
			if(_ind != _a){
				if($.browser.msie && $.browser.version < 7){
					_list.eq(_a).removeClass('active').hide();
					_list.eq(_ind).addClass('active').show();
				}
				else{
					_list.eq(_a).removeClass('active').animate({opacity: 0}, {queue:false, duration:change_speed});
					_list.eq(_ind).addClass('active').animate({opacity: 1}, {queue:false, duration:change_speed});
				}
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				_a = _ind;
			}
			if(_f && wait_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		}
	}
}


jQuery.fn.gallSlide = function(_options){
	// defaults options	
	var _options = jQuery.extend({
		duration: 700,
		autoSlide: 20000
	},_options);
	return this.each(function(){
		var _hold = $(this);
		var _speed = _options.duration;
		var _timer = _options.autoSlide;
		var _wrap = _hold.find('ul.slider');
		var _el = _hold.find('ul.slider > li');
		var _next = _hold.find('a.btn-next');
		var _prev = _hold.find('a.btn-prev');
		var _count = _el.index(_el.filter(':last'));
		var _w = _el.outerWidth();
		var _btn = $('<ul class="swicher"></ul>');
		_el.each(function(_i){
			_btn.append('<li><a href="#"><span>'+(_i+1)+'</span></a></li>');
		});
		$('div.visual').append(_btn);
		_btn = $('ul.swicher').find('a');
		var _a = _el.index(_el.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		var _wrapHolderW = Math.ceil(_wrap.parent().width()/_w);
		var _t;
		var _active = _a;
		_btn.eq(_active).parent('li').addClass('active');
		function scrollEl(){
			_wrap.eq(0).animate({
				marginLeft: -(_w * _active) + "px"
			}, {queue:false, duration: _speed});
		}
		function runTimer(){
			_t = setInterval(function(){
				_active++;
				if (_active > (_count - _wrapHolderW + 1)) _active = 0;
				scrollEl();
				_btn.parent('li').removeClass('active');
				_btn.eq(_active).parent('li').addClass('active');
			}, _timer);
		}
		runTimer();
		
		_hold.hover(function(){
			if(_t) clearTimeout(_t);
		}, function(){
			runTimer();
		});
		
		_btn.click(function(){
			_active = _btn.index($(this));
			if (_active > (_count - _wrapHolderW + 1)) _active = 0;
			scrollEl();
			_btn.parent('li').removeClass('active');
			_btn.eq(_active).parent('li').addClass('active');
			return false;
		});
	});
}
	
$(document).ready(function(){
	$('div.visual').gallSlide({
		duration: 1000,
		autoSlide: 10000
	});
});


