$(document).ready(function() {

	
	//******************************************
	//*** Start Superfish for primary navigation
	//******************************************
	$("ul.sf-menu").superfish({
	    pathClass: 'current',
	    speed: 'fast',
	    dropShadows: false,
	    autoArrows: false
	});
	//****************************************
	//*** End Superfish for primary navigation
	//****************************************
	
	
	//****************************
	//*** Start Calendar widget JS
	//****************************
	RemoveBottomBorder();
	
	// Adjust height (should be full height if JS is disabled
	$("#calendar-widget").addClass("js-enabled");
	
	// Initialize scroller (serialScroll [which relies on scrollTo])
	var $prev = $("#up-arrow"),//prev button
		$next = $("#down-arrow");//next button
		$("#calendar").serialScroll({
			items:'li',
			axis:'y',
			prev:'#up-arrow',
			next:'#down-arrow',
			easing:'linear',
			duration:200,
			step:2,
			force:true,
			stop:true,
			lock:false,
			cycle:false,
			lazy:true,
			// Hide arrows when beginning/end is reached
			onBefore:function( e, elem, $pane, $items, pos ){
				$prev.add($next).show();
				if( pos == 0 )
					$prev.hide();
				else if( pos == $items.length-3 )
					$next.hide();
		}
	});
	
	// hide calendar month content during ajax calls
	$("#calendar").ajaxSend(function() {
		$(".events", this).hide()
		$(this).html("<div style='position:absolute; top:200px; left: 95px;'><img src='../_img/ajax_loading.gif' alt='...' /></div>");
		$("#down-arrow,#up-arrow").hide();
	}).ajaxComplete(function() {
	
		$(".events", this).show();
		
		$(this).trigger('goto',[0]); // Tell SerialScroll to return to top
		
		ToggleCalendarScrolling();
		
		RemoveBottomBorder();
	});
	
	// check if scrolling should be toggled
	ToggleCalendarScrolling();
	
	// When a month is selected...
	$("#calendar-nav a").click(function(){
		// Get the month and year of the clicked #calendar-nav link
		var $currentID = $(this).attr("id"); // Month
		var $currentClass = $(this).attr("class").replace( /y/g, ""); // Year
		
		// Set the correct month/year header
		$("#calendar-widget h2 span:first").removeClass("january").removeClass("february").removeClass("march").removeClass("april").removeClass("may").removeClass("june").removeClass("july").removeClass("august").removeClass("september").removeClass("october").removeClass("november").removeClass("december").addClass($currentID).text($currentID);
		$("#calendar-widget h2 span:last").removeClass("y2010").removeClass("y2011").removeClass("y2012").removeClass("y2013").removeClass("y2014").removeClass("y2015").removeClass("y2016").removeClass("y2017").removeClass("y2018").removeClass("y2019").removeClass("y2020").addClass("y"+$currentClass).text($currentClass);				
		
		// call webservice to load up calendar month content
		$.ajax({
			type: "POST",
			contentType: "application/json; charset=utf-8",
			url: "../svc/LoadInteractiveCalendarMonth.asmx/RenderHtmlByString",
			data: "{'year':'" + $currentClass + "', 'month':'" + $currentID + "'}",
			dataType: "json",
			success: function (response) { $("#calendar-widget #calendar").html(response.d); }
		});

	});
	
	// Month selection slider [LavaLamp]
	$("ul#calendar-nav").lavaLamp({
	    speed: 300,
	    startItem: 0,
	    homeTop: 0,
	    homeLeft: 0,
	    click: function(event, menuItem) {
	        return false; // If JS enabled, we don't want the month links to actually go to their hrefs
	    }
	});
	//**************************
	//*** End Calendar widget JS
	//**************************


});


//********************
//*** DEFINE FUNCTIONS
//********************

function ToggleCalendarScrolling(){
	if ($("ul.events li").size() < 4) {
	    $("div.calendar-arrow").hide();
	}
}

function RemoveBottomBorder(){
    $("ul.events li.event:last-child").addClass("last");
}
