// page init
$(function(){
	initNewsTicker();
	hoverForIE6('div.nav li');
});

// hover for IE
function hoverForIE6(_list, _class) {
	var _hoverClass = 'hover';
	if(_class) _hoverClass = _class;
	if ($.browser.msie && $.browser.version < 7) {
		$(_list).hover(function() {
			$(this).addClass(_hoverClass);
		}, function() {
			$(this).removeClass(_hoverClass);
		});
	}
}

// infinite news ticker
function initNewsTicker() {
	var _activeClass = 'active';
	var _switchTime = 5000;
	var _slideSpeed = 650;
	var _fadeSpeed = 500;

	$('div.feature-block').each(function(){
		var _holder = $(this);
		var _slides = _holder.find('ul.slideset > li');
		var _ticker = _holder.find('div.gallery');
		var _tickerHolder = _ticker.find('div.holder');
		var _tickerSlider = _tickerHolder.children();
		var _tickerItems = _tickerSlider.children();
		var _tickerHeight = _tickerSlider.height();
		var _holderHeight = _tickerHolder.height();
		var _itemHeight = _tickerItems.eq(0).outerHeight(true);
		var _btnPrev = _holder.find('a.btn-top');
		var _btnNext = _holder.find('a.btn-btm');
		var _slideCount = _tickerItems.length;
		var _visibleCount = Math.round(_holderHeight/_itemHeight);
		var _currentIndex = 0;
		var _offset = 0;
		var _hover = false;
		var _animating = false;
		var _timer;

		// ticker init
		_slides.hide().removeClass(_activeClass).eq(_currentIndex).show().addClass(_activeClass);
		_tickerItems.removeClass(_activeClass).eq(_currentIndex).addClass(_activeClass);
		_tickerItems.each(function(_ind){$(this).attr('rel',_ind)});
		_tickerSlider.append(_tickerItems.clone()).append(_tickerItems.clone());
		_tickerSlider.css({marginTop:-_tickerHeight});

		// change slide
		_tickerItems = _tickerSlider.children();
		_tickerItems.hover(function(){
			fadeSlide(parseInt($(this).attr('rel')));
		});

		// ticker control
		_holder.hover(function(){
			_hover = true;
			if(_timer) clearTimeout(_timer);
		},function(){
			_hover = false;
			autoSlide();
		});
		_btnPrev.click(function(){
			prevGroup();
			return false;
		})
		_btnNext.click(function(){
			nextGroup();
			return false;
		})

		// news animation
		function fadeSlide(_i) {
			_slides.filter('.'+_activeClass).not(_slides.eq(_i)).removeClass(_activeClass).fadeOut(_fadeSpeed);
			_slides.eq(_i).addClass(_activeClass).fadeIn(_fadeSpeed);
			_tickerItems.each(function(){
				if($(this).attr('rel') == _i) $(this).addClass(_activeClass);
				else $(this).removeClass(_activeClass);
			});
		}
		function nextSlide() {
			if(_animating) return;
			_currentIndex++;
			switchSlide();
		}
		function prevGroup() {
			if(_animating) return;
			_currentIndex-=_visibleCount;
			switchSlide();
		}
		function nextGroup() {
			if(_animating) return;
			_currentIndex+=_visibleCount;
			switchSlide();
		}
		function switchSlide() {
			if(_animating) return;
			_offset = -(_tickerHeight+_currentIndex*_itemHeight);
			_animating = true;
			_tickerSlider.animate({marginTop:_offset},{duration:_slideSpeed,queue:false,complete:function(){

				if(_currentIndex >= _slideCount || _currentIndex<0) {
					if(_currentIndex>0) _currentIndex -= _slideCount;
					else _currentIndex += _slideCount;
					_tickerSlider.css({marginTop:-(_tickerHeight+_currentIndex*_itemHeight)});
				}
				_animating = false;
				fadeSlide(_currentIndex);
				autoSlide();
			}});
		}

		// auto slide
		function autoSlide() {
			if(_timer) clearTimeout(_timer);
			if(_hover) return;
			_timer = setTimeout(nextSlide,_switchTime);
		}
		autoSlide();
	});
}
