// page init
jQuery(function(){
	initSmoothHover();
	initCycleGallery();
	hoverForIE6('#submit, #submit1, div.gallery li, #nav li');

	/* sidebar */
	$(".header").click(function() {
		if (!$(this).hasClass("open")) {
			$(this).siblings(".header").removeClass("open").siblings(".foldable").slideUp();
		}
		$(this).toggleClass("open").next(".foldable").slideToggle();
	});

	$("#members_sign_in").live("click", function() {
		alert("You must be a member to access this functionality.");
	});

	$("a#view_more_categories").click(function(e) {
		e.preventDefault();
		$("ul.categories").toggle();
	});

	$("a#view_more_by_author").click(function(e) {
		e.preventDefault();
		$("ul.author_posts").toggle();
	});


});


// hover for IE
function hoverForIE6(_list, _class) {
	var _hoverClass = 'hover';
	if(_class) _hoverClass = _class;
	if (jQuery.browser.msie && jQuery.browser.version < 7) {
		jQuery(_list).hover(function() {
			jQuery(this).addClass(_hoverClass);
		}, function() {
			jQuery(this).removeClass(_hoverClass);
		});
	}
}

// fade dropdown function
function initSmoothHover() {
	var _animSpeed = 500;
	$('a.anim-link').each(function(){
		var _item = $(this);
		var _el = _item.find('>em').show();
		var _defOffset = parseInt(_el.css('marginLeft'));
		var _animOffset = -_item.outerWidth(true);

		_item.hover(function(){
			_el.animate({marginLeft:_animOffset},{duration:_animSpeed, queue:false});
		},function(){
			_el.animate({marginLeft:_defOffset},{duration:_animSpeed, queue:false});
		});
	});
}

// gallery init
function initCycleGallery() {
	// settings
	var _autoSlide = false;
	var _activeClass = 'active';
	var _switchTime = 5000;
	var _speed = 450;

	$('div.gallery').each(function(){
		// gallery options
		var _holder = $(this);
		var _btnLeft = _holder.find('a.link-prev');
		var _btnRight = _holder.find('a.link-next');
		var _slidesHolder = _holder.find('div.gallery-frame');
		var _slider = _slidesHolder.find('>ul');
		var _slides = _slider.children();
		var _slidesCount = _slides.length;
		var _slideWidth = _slides.eq(0).outerWidth(true);
		var _visibleCount = Math.round(_slidesHolder.width() / _slideWidth);
		var _currentIndex = 0;
		var _sumWidth = _slidesCount*_slideWidth;
		var _animating = false;
		var _timer;

		// gallery init
		_slider.append(_slides.clone()).append(_slides.clone());
		_slider.css({marginLeft:-_sumWidth});

		// gallery control
		_btnLeft.click(function(){
			prevSlide();
			return false;
		});
		_btnRight.click(function(){
			nextSlide();
			return false;
		});

		// gallery animation
		function prevSlide() {
			if(_animating) return;
			_currentIndex--;
			switchSlide();
		}
		function nextSlide() {
			if(_animating) return;
			_currentIndex++;
			switchSlide();
		}

		function switchSlide() {
			_animating = true;
			_slider.animate({marginLeft:-_sumWidth-_currentIndex*_slideWidth},{duration:_speed, queue:false,complete:function(){
				if(_currentIndex == _slidesCount || _currentIndex == -_slidesCount) {
					_currentIndex = 0;
					_slider.css({marginLeft:-_sumWidth});
				}
				_animating = false;
			}});
			autoSlide();
		}
		function autoSlide() {
			if(!_autoSlide) return;
			if(_timer) clearTimeout(_timer);
			_timer = setTimeout(nextSlide,_switchTime);
		}
		autoSlide();
	});
}
