// JavaScript Document

var maxDivScrollRange = 280;
var $divScroll;
var $aScrollUp;
var scrollHandler;
function ismobilesafari(){ return navigator.userAgent.match(/(iPhone|iPad|iPod)/i); }
function scrollUp(){
	$aScrollUp.blur();
	duration = Math.min(2000,$(document).scrollTop()*.7+500);
	$(document).scrollTo(0, duration, {easing: 'easeOutBounce'});
	scrollHandler();	
}
$(function(){
	$divScroll = $("div#wrapper_sidebar_scroll");
	$aScrollUp = $("a#scrollUp");
	if(ismobilesafari()){ //Mobile Safari Support.
		$aScrollUp.originalHeight = $aScrollUp.outerHeight();
		$divScroll.css({"position":"absolute"});
		$aScrollUp.css({"position":"absolute"});
		scrollHandler = function() {
			$divScroll.css({	"top":		$(document).scrollTop(),
		  						"height": 	 window.innerHeight});
			$aScrollUp.css({	"bottom":	null,
								"top": $(document).scrollTop() + window.innerHeight - $aScrollUp.originalHeight,
								"height": 40 });
		}
		window.onscroll = scrollHandler;
	}else{
		scrollHandler = function(){
			var scrollCurrent = $(document).scrollTop();
			var windowHeight = $(window).height();
			var scrollRange = $(document).height() - windowHeight;
			var divScrollRange = Math.min(scrollRange/2, maxDivScrollRange);
			var divScrollTo = (scrollRange!=0 ? divScrollRange * (scrollCurrent / scrollRange) : 0 );
			var oh =  $aScrollUp.outerHeight();
			var aScrollTo = Math.max(-oh,Math.min(Math.min(0,divScrollTo - oh*2)));
			$divScroll.scrollTo(divScrollTo, {axis: "y"});
			$aScrollUp.css({"bottom":aScrollTo});
		}
		$(window).scroll(scrollHandler);
		$(window).resize(scrollHandler);
		scrollHandler();
	}
});




var slider_navigate_to = function($slider, index){
	slider_item_amount = $slider.find(".slider-content > li").length;
	if(index>=slider_item_amount) index = 0;
	if(index<0) index=slider_item_amount-1;
	$slider.find(".slider-content").animate({"left": "-"+(index*100)+"%"}, {queue: false, duration: 300});
	$slider.find(".slider-content li.current").removeClass("current").addClass("idle");
	$slider.find(".slider-content li[slider-index="+index+"]").removeClass("idle").addClass("current");
	$slider.find(".slider-position-indicator li.current").removeClass("current").addClass("idle");
	$slider.find(".slider-position-indicator li[slider-index="+index+"]").removeClass("idle").addClass("current");
}

var slider_button_interact = function($button, amt){
	$the_slider = $button.parent().parent().parent();
	$current_item = $the_slider.find(".slider-content li.current");
	current_item_index = parseInt($current_item.attr("slider-index"));
	slider_navigate_to($the_slider, current_item_index+amt, $current_item, (amt==1 ? $current_item.next():$current_item.prev()));
}

$(function(){
	$(".slider-content-wrapper").each(function(){ $(this).height($(this).children(".slider-content").height()); })
	$(".slider .next a").click(function(){ slider_button_interact($(this), 1); return false; })
	$(".slider .prev a").click(function(){ slider_button_interact($(this), -1); return false; })
});
