var timerId;
var timeDelay = 6000;
var fading = false;
var fadingPending = false;
var hiddenActive = false;
var fadingPaused = false;
var navigateHide = false;
var navigateToIndex = -1;


$(document).ready(function() {
		$(".articlescrollercontent").css("width", 1000 * ($(".articlebox").size() - $(".articleboxhidden").size()) + "px");
		
		$(".articleinnernavigation a").hover(function() {
				clearTimeout(timerId);
				navigateToIndex = $(this).prevAll().size();
				setTimeout("navigateTo(" + $(this).prevAll().size() + ")", 500);
		}, function() {
			navigateToIndex = -1;
			clearTimeout(timerId);
			timerId = setTimeout("articleNavigate(1)", timeDelay);
		});
		
		$(".noscript, .noscriptactive").removeClass("noscript").removeClass("noscriptactive");
		
		$(".articlenavigation").hover(function() {
				navigateHide = true;
				$("#navigator").hide();		
			}, function() {
				navigateHide = false;
				
			});
		
		$(".articleboxes").find("a").hover(function() {
				navigateHide = true;
				$("#navigator").hide();		
			}, function() {
				navigateHide = false;
				$("#navigator").show();
			});
;
		
		$(document).mousemove(function(e) {
				if(navigateHide) {
					$("#navigator").hide();
					return;
				}
				var box = $(".articleboxes");
				var position = box.position();
				if(e.pageX > position.left && e.pageY > position.top && e.pageX < position.left + box.width() && e.pageY < position.top + box.height()) {
					clearTimeout(timerId);
				  fadingPaused = true;
					
					$("#navigator").css("left", e.pageX - 29).css("top", e.pageY - 31);

					
					var diff = e.pageX - position.left;
					
					if(diff < parseInt(box.width() / 2)) {
						if($(".articleinnernavigation a.active").prevAll().size() == 0) {
							$("#navigator").removeClass("navigateright").removeClass("navigateleft").hide();
						} else {
							$("#navigator").removeClass("navigateright").addClass("navigateleft").show();
						}
					} else {
						if($(".articleinnernavigation a.active").prevAll().size() + 1 == $(".articleinnernavigation a").size()) {
							$("#navigator").removeClass("navigateleft").removeClass("navigateright").hide();
						} else {
							$("#navigator").removeClass("navigateleft").addClass("navigateright").show();
						}
					}
					
				} else {
					clearTimeout(timerId);
					timerId = setTimeout("articleNavigate(1)", timeDelay);
					$("#navigator").removeClass("navigateleft").removeClass("navigateright").hide();
				}
		});
		
		$("#navigator").click(function() {
				if($(this).hasClass("navigateleft")) {
					articleNavigate(-1);
					if($(".articleinnernavigation a.active").prevAll().size() == 0) {
						$(this).removeClass("navigateleft").hide();
					}
				} else if($(this).hasClass("navigateright")) {
					articleNavigate(1);
					if($(".articleinnernavigation a.active").prevAll().size() + 1 == $(".articleinnernavigation a").size()) {
						$(this).removeClass("navigateright").hide();
					}
				}
		});
		
		$("#contactlink").hover(function() {
				
				$(this).animate({ 
					top: -15
				}, 250, "easeInOutSine", function() {
					$(this).animate({ 
					top: -10
				}, 500, "easeOutBounce");
				});
		}, function() {
		});
		
		articleNavigate(0);
		timerId = setTimeout("articleNavigate(1)", timeDelay);
});

function navigateTo(index) {
	if(index == navigateToIndex) {
		$(".articleinnernavigation a").eq(index).addClass("active").siblings().removeClass("active");
		articleNavigate(0);
	}
}


function articleNavigate(offset) {
	var thisNav = $(".articleinnernavigation a.active");
	fading = true;
	var prevCount = thisNav.prevAll().size() - thisNav.prevAll(".hidden").size();
	
	if(offset == 1) {
		thisNav.removeClass('active').next().addClass("active");
		if($(".articleinnernavigation a.active").size() == 0) {
			$(".articleinnernavigation a").eq(0).addClass("active");
		}
		
		if(!fadingPaused) {
			clearTimeout(timerId);
			timerId = setTimeout("articleNavigate(1)", timeDelay);
		}
		articleNavigate(0)
		return;
	} else if(offset == -1) {
		thisNav.removeClass('active').prev().addClass("active");
		if($(".articleinnernavigation a.active").size() == 0) {
			$(".articleinnernavigation a:last").addClass("active");
		}
		if(!fadingPaused) {
			clearTimeout(timerId);
			timerId = setTimeout("articleNavigate(1)", timeDelay);
		}
		articleNavigate(0)
		return;
	}
	
	if(hiddenActive) {
		var goLeft = -1000;
		if($("#navigator").hasClass("navigateleft")) {
			goLeft = 1000;
		}
		
		hiddenActive.animate({ 
				left: goLeft
		}, 1000, "easeInOutSine", function() {
			$(this).css("top", -410).css("left", 0);
		});
		hiddenActive = false;
	}
	
	
	if(thisNav.hasClass("hidden")) {
		$(".articleboxes a").css("position", "static").css("z-index", 0).children().css("position", "static").css("z-index", 0);
		$("#navigator").css("z-index", 2);
		hiddenActive = $(".articlebox").eq(thisNav.prevAll().size());
		
		hiddenActive.find("a").css("position", "relative").css("z-index", 10).children().css("position", "relative").css("z-index", 10);
		hiddenActive.animate({ 
				top: 0
		}, 1000, "easeOutBounce", function() {
			$(".articleboxes a").css("position", "relative").children().css("position", "relative");
			fading = false;
			if(fadingPending) {
				fadingPending = false;
				articleNavigate(0);
			} 
		});
	} else {
		$(".articleboxes a").css("position", "static").css("z-index", 0).children().css("position", "static").css("z-index", 0);
		$("#navigator").css("z-index", 2);
		
		$(".articlescroller").animate({ 
				scrollLeft: prevCount * 1000
		}, 1000, "easeInOutSine", function() {
			$(".articlebox").eq(thisNav.prevAll().size()).find("a").css("position", "relative").css("z-index", 10).children().css("position", "relative").css("z-index", 10);
			fading = false;
			if(fadingPending) {
				fadingPending = false;
				articleNavigate(0);
			} 
		});
	}
}

