function initBackgroundRotation() {
	var _switchTime = 3000;
	var _fadeSpeed = 1000;
	var _pauseOnHover = false;

	$('ul.bg-list').each(function(){
		var _list = jQuery(this);
		var _items = _list.find(' > li');
		var _count = _items.length;
		var _curIndex = 0;
		var _timer;

		// disable image toolbar for ie
		if ($.browser.msie && $.browser.version == '6.0') {
			_items.find('img').attr('galleryimg','no');
		}

		_items.css({opacity:0}).removeClass('active').eq(_curIndex).addClass('active').css({opacity:1});
		_timer = setTimeout(function(){switchSlide()},_switchTime);

		function switchSlide() {
			if(_list.hasClass('paused')) {
				_timer = setTimeout(function(){switchSlide()},_switchTime);
				return false;
			}
			var _curBanner = _items.eq(_curIndex);
			if(_curIndex<_count-1) _curIndex++;
			else _curIndex=0;
			var _nextBanner = _items.eq(_curIndex);

			_curBanner.animate({opacity:0},{duration:_fadeSpeed,queue:false,complete:function(){
				_timer = setTimeout(function(){switchSlide()},_switchTime);
			}});
			_nextBanner.animate({opacity:1},{duration:_fadeSpeed,queue:false});
		}

		// disable autoswitch while hovering banner
		if(_pauseOnHover) {
			_list.hover(function(){
				if(_timer) clearTimeout(_timer);
			},function(){
				_timer = setTimeout(function(){switchSlide()},_switchTime);
			});
		}

	});
}

function initTabs(){
	$('ul.tabset').each(function(){
		var btn_h = $(this);
		var _btn = $(this).find('a.tab');
		var _a = _btn.index(_btn.filter('.active:eq(0)'));
		if(_a != -1)
			_btn.removeClass('active').eq(_a).addClass('active');

		// stop rotating
		/**
		var _bgList = $('ul.bg-list');
		if(_bgList.length) {
			btn_h.hover(
				function(){
					_bgList.addClass('paused');
				},
				function(){
					_bgList.removeClass('paused');
				}
			);
		}
		**/
		_btn.mouseenter(function()
		{
			$('ul.bg-list').addClass('paused');
			
		});
		$('.tabs').mouseleave(function()
		{
			$('ul.bg-list').removeClass('paused');
			$('#tab1, #tab2, #tab3').hide();
			$('ul.tabset .active').removeClass('active');
		});
		


		_btn.each(function(_i){
			this._box = this.href.substr(this.href.indexOf("#") + 1);
			if(this._box){
				this._box = $('#'+this._box);
				if(_i == _a) this._box.show();
				else this._box.hide();
			}
			if(btn_h.hasClass('byhover')) {
				this.onmouseover = function(){
					changeTab(_i);
					return false;
				}
			} else {
				this.onclick = function(){
					changeTab(_i);
					return false;
				}
			}
		});
		function changeTab(_ind){
			//if(_ind != _a){
				if(_a!=-1 && _btn.get(_a)._box) _btn.get(_a)._box.hide();
				if(_btn.get(_ind)._box) _btn.get(_ind)._box.show();
					_btn.eq(_a).removeClass('active');
					_btn.eq(_ind).addClass('active');
					_a = _ind;
			//}
		}
	});
}

function initSlideBlocks() {
	var _slideSpeed = 400;
	$('a.slideblock').click(function(){
		var _opener = $(this);
		var _popup = $(_opener.attr('href'));
		if(_popup.length) {
			if(_opener.hasClass('active')) {
				_popup.slideUp(_slideSpeed);
				_opener.removeClass('active')
			} else {
				_popup.slideDown(_slideSpeed);
				_opener.addClass('active')
			}
		}
		return false;
	});
}

function initSlideGallery() {
	$('div.gallery').each(function(){
		// gallery settings
		var _gallery = $(this);
		var _autoSlide = true;
		var _switchTime = 2500;
		var _slideSpeed = 400;
		var _slideHolder = _gallery.find('div.gallery-box');
		var _slider = _slideHolder.find(' > ul');
		var _slides = _slider.find(' > li');
		var _btnPrev = _gallery.find('a.btn-prev');
		var _btnNext = _gallery.find('a.btn-next');

		var _slideCount = _slides.length;
		var _slideWidth = _slides.eq(0).outerWidth(true);
		var _visibleElements = Math.round(_slideHolder.width()/_slideWidth)
		var _currentIndex = 0;
		var _timer = false;
		var _cloneFlag = false;
		var _hoverFlag = false;
		var _animateFlag = false;

		_slides.each(function(){
			$(this).attr('rel',_slides.index($(this)));
		});
		_slider.append(_slides.clone().addClass('clone'));

		// auto slide code
		if(_autoSlide) {
			_timer = setTimeout(function(){nextSlide()},_switchTime);
			_gallery.hover(function(){
				_hoverFlag = true;
				if(_timer) clearTimeout(_timer);
			}, function(){
				_hoverFlag = false;
				_timer = setTimeout(function(){nextSlide()},_switchTime);
			});
		}

		_btnPrev.click(function(){
			prevSlide();
			return false;
		});
		_btnNext.click(function(){
			nextSlide();
			return false;
		});

		function prevSlide() {
			if(_animateFlag) return false;
			if(_currentIndex > 0) _currentIndex--;
			else {
				_slider.css({marginLeft: -(_slideCount)*_slideWidth});
				_currentIndex = _slideCount-1
			}
			switchSlide();
		}

		function nextSlide() {
			if(_animateFlag) return false;
			_currentIndex++;
			if(_currentIndex==_slideCount) {
				_cloneFlag = true;
			}
			switchSlide();
		}

		function switchSlide() {
			if(_timer) clearTimeout(_timer);
			_animateFlag = true;
			_slider.animate({marginLeft: -_currentIndex*_slideWidth},{duration:_slideSpeed, queue:false, complete:function(){
				if(_cloneFlag) {
					_currentIndex -= _slideCount;
					_slider.css({marginLeft: -_currentIndex*_slideWidth});
					_cloneFlag = false;
				}
				_animateFlag = false;
				if(_autoSlide && !_hoverFlag) _timer = setTimeout(function(){nextSlide()},_switchTime);
			}});
		}
	});
}


// page init
function initPage() {
	initBackgroundRotation();
	initSlideGallery();
	initSlideBlocks();
	initTabs();
}
$(document).ready(function() {
	initPage();
});