function fadeGall(){
	var change_speed = 1200; // in ms
	var _hold = jQuery('div.gallery-holder');
	if(_hold.length){
	
	var _t;
	var _f = true;
	var _list = _hold.find('ul.fade-gall > li');
	var _btn = jQuery('<ul class="paging"></ul>');
	var _t;
	var _f = true;
	var _btn = jQuery('<ul class="paging"></ul>');
	var _a = _list.index(_list.filter('.active:eq(0)'));
	if(_a == -1) _a = 0;
			
	var _holder = jQuery('div.gallery');
	var _btnp = jQuery('input.btnclass');
	
	var _speed = 700;
	var _timer = 5000;
	var _wrap = _holder.find('ul');
	var _el = _holder.find('div.controls-holder > ul > li');
	var _next = _holder.find('a.link-next');
	var _pause = jQuery('a.pause');
	var _prev = _holder.find('a.link-prev');
	var _count = _el.index(_el.filter(':last'));
	var _w = _el.outerWidth();
	var _wrapHolderW = Math.ceil(_wrap.parent().width()/_w);
	var _active = 0;
	
	function scrollEl(auto){
		if(_t) clearTimeout(_t);
		_wrap.eq(0).animate({
			marginLeft: -(_w * auto) + "px"
		}, {queue:false, duration: _speed});
		runTimer();
	}
	function runTimer(){
	_t = setInterval(function(){
		_active++;
		var auto = _active;
		if (_active == _count+1){
			auto = 0;
			_active = 0;
		}
		else{
			if (_active > (_count - _wrapHolderW + 1)){
				auto = _count - _wrapHolderW + 1
			};
		}
		scrollEl(auto);
		_a = _active;
		changeEl(_a);
	}, _timer);
	}
	runTimer();
	
	_btnp.mouseenter(function(){
							 
			_btnp.css("color", "green");

			return false;
		});
	
	_btnp.mouseleave(function(){
							 
			_btnp.css("color", "#000");

			return false;
		});
	
	
	_btnp.click(function(){
		if(_btnp.val()=="Pause") {
			_btnp.val('Play');
			clearTimeout(_t);
			} else 	{
							_btnp.val('Pause');
							
							_t = setInterval(function(){
							_active++;
							var auto = _active;
							if (_active == _count+1){
								auto = 0;
								_active = 0;
							}
							else{
								if (_active > (_count - _wrapHolderW + 1)){
									auto = _count - _wrapHolderW + 1
								};
							}
							scrollEl(auto);
							_a = _active;
							changeEl(_a);
						}, _timer);
					}
		
		return false;
	});
	
	_next.click(function(){
		_active++;
		var auto = _active;
		if (_active == _count+1){
			auto = 0;
			_active = 0;
		}
		else{
			if (_active > (_count - _wrapHolderW + 1)){
				auto = _count - _wrapHolderW + 1
			};
		}
		scrollEl(auto);
		_a = _active;
		changeEl(_a);
		return false;
	});
	
	
	_prev.click(function(){
		_active--;
		var auto = _active;
		if (_active < 0) {
			auto = _count - _wrapHolderW + 1;
			_active  = _count;
		}
		if (_active < (_count)){
			if (_active >= (_count - _wrapHolderW + 1)){
				auto = _count - _wrapHolderW + 1;
			}
			else{
				_active = auto;
			}
		}
		scrollEl(auto);
		_a = _active;
		changeEl(_a);
		return false;
	});
	
	
		_list.each(function(_i){
			_btn.append('<li><a href="#">'+(_i+1)+'</a></li>');
		});
		
		_btn = jQuery('div.controls-holder').find('ul').find('a');
		
		_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		_btn.eq(_a).parent('li').addClass('active');
		
		
		
		_pause.mouseenter(function(){
							 
			clearTimeout(_t);
			//_t.idleTimer(80000);
			return false;
		});
		
		_pause.mouseleave(function(){
							 
		_t = setInterval(function(){
		_active++;
		var auto = _active;
		if (_active == _count+1){
			auto = 0;
			_active = 0;
		}
		else{
			if (_active > (_count - _wrapHolderW + 1)){
				auto = _count - _wrapHolderW + 1
			};
		}
		scrollEl(auto);
		_a = _active;
		changeEl(_a);
	}, _timer);
		
		});
		
		_btn.mouseenter(function(){
			_active = _btn.index(this);
			changeEl(_btn.index(this));					 
			clearTimeout(_t);
			//_t.idleTimer(80000);
			return false;
		});
		
		_btn.mouseleave(function(){
			_t = setInterval(function(){
		_active++;
		var auto = _active;
		if (_active == _count+1){
			auto = 0;
			_active = 0;
		}
		else{
			if (_active > (_count - _wrapHolderW + 1)){
				auto = _count - _wrapHolderW + 1
			};
		}
		scrollEl(auto);
		_a = _active;
		changeEl(_a);
	}, _timer);
		});
		
		_btn.click(function(){
			_active = _btn.index(this);
			changeEl(_btn.index(this));
			return false;
		});

		
		 
		
		
		function changeEl(_ind){
			    //alert(_ind);
				_list.removeClass('active').animate({opacity: 0}, {queue:false, duration:change_speed});
				_list.eq(_ind).addClass('active').animate({opacity: 1}, {queue:false, duration:change_speed});
				_btn.parent('li').removeClass('active');
				_btn.eq(_ind).parent('li').addClass('active');
				_a = _ind;
				
		}
	}
}
	
jQuery(document).ready(function(){
	fadeGall();
});
