
//init Page
$(function() {
	initTabs();
});

function initTabs() {
	var hold = $('div.tabs-holder');
	var links = hold.find('li > a.tabs');
	var tabs = hold.find('div.tabs-content');
	$('div.tabs-holder').gallFade({
		duration  : 700,
		autoSlide : 5000
	});
}

jQuery.fn.gallFade = function(_options) {
	// defaults options	
	var _options = jQuery.extend({
			duration  : 700,
			autoSlide : 5000
		},_options);

	return this.each(function() {
		var _hold = $(this);
		var _speed = _options.duration;
		var _timer = _options.autoSlide;
		var _wrap = _hold.find('div.tabs-content');
		var _el = _hold.find('ul.tabset > li > a.tab');
		var _count = _wrap.index(_wrap.filter(':last'));
		var _t;
		var _active = _el.index(_el.filter('.active'));
		if (_active < 0) _active = 0;
		var _last = _active;
		var _eltr;
		_wrap.fadeOut(0).eq(_active).fadeIn(0);

		function fadeEl() {
			_wrap.eq(_last).fadeOut(_speed);
			_wrap.eq(_active).fadeIn(_speed);

			_wrap.removeClass('active').eq(_active).addClass('active');
			_el.removeClass('active').eq(_active).addClass('active');
			_last = _active;
		}

		function runTimer() {
			_t = setInterval(function() {
				_active++;
				if (_active > (_count)) _active = 0;
				_eltr = _el.get(_active);
				fadeEl();
			}, _timer);
		}
		
		_el.click(function() {
			_eltr = this;
			if (_active != _el.index($(this))) {
				if(_t) clearTimeout(_t);
				_active = _el.index($(this));
				fadeEl();
				runTimer()
			}
			return false;
		})
		
		runTimer();
	});
}

