﻿var month_names = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
$(function() {
	$("<p class=\"message\"><span>None</span></p>").appendTo("div.eventswrapper.upcoming .eventlistcontainer");
	$("div.eventswrapper.upcoming div.SelectedDate").insertBefore("div.eventswrapper.upcoming div.eventlistwrapper");

	var today = new Date();
	var upcoming = new Date();
	var x = 0;
	while (x < 6) {
		upcoming = new Date();
		upcoming.setDate(today.getDate() + x);
		var pickdate = $("<div></div>").addClass("PickDate").data("date", upcoming.getMonth() + 1 + "/" + upcoming.getDate()).click(function() {
			// show related events
			var liIndex = $("div.eventswrapper.upcoming .eventlist li").index($("div.eventswrapper.upcoming .eventlist li:contains('" + $(this).data("date") + "')"));
			$("div.eventswrapper.upcoming .eventlist li").hide();
			$("div.eventswrapper.upcoming .eventlistcontainer p.message").hide();
			if (liIndex > -1) {
				$("div.eventswrapper.upcoming .eventlist li:gt(" + (liIndex - 1) + ")").show();
				$("div.eventswrapper.upcoming .eventlist li:gt(" + liIndex + "):has(h3)").nextAll().andSelf().hide();
			}
			else
				$("div.eventswrapper.upcoming .eventlistcontainer p.message").show();

			// set up scrolling div
			$("div.eventswrapper.upcoming .eventlistcontainer").jScrollPane({ scrollbarWidth: 0, scrollbarMargin: 0, animateInterval: 40, maintainPosition: false });
			// scroll with up arrow
			scrollDiv("div.eventswrapper.upcoming .ScrollControls img:eq(0)", "div.eventswrapper.upcoming .eventlistcontainer", -10);
			// scroll with down arrow
			scrollDiv("div.eventswrapper.upcoming .ScrollControls img:eq(1)", "div.eventswrapper.upcoming .eventlistcontainer", 10);

			// set selected date
			$(this).addClass("DateSelected").siblings().removeClass("DateSelected");
			var datearr = $(this).data("date").split('/');
			$("div.eventswrapper.upcoming div.SelectedDate-Month").html(month_names[datearr[0] - 1]);
			$("div.eventswrapper.upcoming div.SelectedDate-Day").html(datearr[1]);
		});
		$("<div></div>").addClass("PickDate-Month").html(month_names[upcoming.getMonth()]).appendTo(pickdate);
		$("<div></div>").addClass("PickDate-Day").html(upcoming.getDate()).appendTo(pickdate);
		pickdate.appendTo("div.eventswrapper.upcoming div.UpcomingDates");
		x++;
	}
	$("div.eventswrapper.upcoming div.UpcomingDates div.PickDate:first").trigger("click");
});

function scrollDiv(trigger, div, verticalpixels) {
	var t;
	$(trigger).unbind();
	if ($(div).siblings(".jScrollPaneTrack").length > 0) {
		$(trigger).mousedown(function() {
			t = setInterval(function() {
				$(div)[0].scrollBy(verticalpixels);
			}, 100);
		}).mouseup(function() {
			clearInterval(t);
		}).hover(function () {
			$(this).addClass("hover");
		}, function () {
			$(this).removeClass("hover");
		});
		/*
		$(trigger).mouseover(function() {
			t = setInterval(function() {
				$(div)[0].scrollBy(verticalpixels);
			}, 100);
			$(trigger).addClass("hover");
		}).mouseout(function() {
			clearInterval(t);
			$(trigger).removeClass("hover");
		});
		*/
	}
}