﻿$(document).ready(function() {

	$('div.Calendar').jcalendar();
	
	calExtensionSetup();
	
	/*		
	$("div.PreviousEventCont a").lightBox();
	*/
	
	updateEventDays();
	
});

function calExtensionSetup() {
	$("td.weekday a").each(function(e) {
		calHover(this);
	});
	
	$("td.weekend a").each(function(e) {
		calHover(this);
	});
}


function lightBoxSetup() {
		$("div.Photos a").lightBox();
}

function updateEventDays() {
	
	var eventDate;
	
	// Make ajax call to frame page
	$("#BGEventData").load( $("#BGEventPage").val(), { year: $("#year").val(), month: $("#month").val() }, function() { 
	
		$("#BGEventData").find("div.EventDateHeader").each(function(e) {
		
			
			eventDate = new Date( Date.UTC( $(this).find("div.DateParse span.year").html(), $(this).find("div.DateParse span.month").html() - 1 , $(this).find("div.DateParse span.day").html() ) );
			
			$("div.jcalendar").find("td a[rev =" + eventDate.getDate().toString() + eventDate.getMonth().toString() + eventDate.getFullYear().toString() + "]").parent("td").addClass("event")
			
			/*
			if ( $("div.jcalendar").find("td a[rev =" + eventDate.getDate().toString() + eventDate.getMonth().toString() + eventDate.getFullYear().toString() + "]") != null ) {
				
				alert( $("div.jcalendar").find("td a[rev =" + eventDate.getDate().toString() + eventDate.getMonth().toString() + eventDate.getFullYear().toString() + "]").addClass("event") );
				//alert( $("div.jcalendar").find("td a").attr("rel") );
				//alert( $("div.jcalendar").find("td a[rev =" + eventDate.getDate().toString() + eventDate.getMonth().toString() + eventDate.getFullYear().toString() + "]").attr("rel") );
			}
			*/
		});
	});
	
	// Loop       through events retrieved from page
	
	// Assign colours to corosponding events
	
	// Possibly assign descriptions
	
}

// Function to setup an event associated with calendar days - NOTE: Does not support multiple events on a single day
function calHover(obj) {
	var d; // Date variable
	var content; // Content holder variable
	
	if($(obj).attr("rel") != "") { 
		d = new Date($(obj).attr("rel"));
		$(obj).attr("rev", d.getDate().toString() + d.getMonth().toString() + d.getFullYear().toString() );
		//alert($(this).attr("href"));
		
		$(obj).attr("href", $("#EventPage").val() + "?year=" + d.getFullYear().toString() + "&month=" + ( d.getMonth() +  1) + "#" + d.getDate().toString() + ( d.getMonth() +  1) + d.getFullYear().toString() );
		//$(obj).attr("href", $("#EventPage").val() + "?year=" + d.getFullYear().toString() + "&month=" + d.getMonth().toString() );
		/*
		content = d.getDate().toString() + d.getMonth().toString() + d.getFullYear().toString();
		if($("#" + content).html()) {
			$(obj).parent("td").addClass("event");
		}


		$(obj).click(function() { // Assign a new click function to the link
			
			d = new Date($(obj).attr("rel")); // Get the date assocaited with this link
			
			content = d.getDate().toString() + d.getMonth().toString() + d.getFullYear().toString(); // Format date into simple date format used to distinguish events declared in the html
			if($("#" + content).html()) { // Check to see if there is content for this date
				$("div.EventInfo div.Content").fadeTo(1, 0); // Fade out the div as quick as possible
				
				// First timeout, set the content of the event display area to the content defined in the event declaration
				setTimeout( function() {
					$("div.EventInfo div.Content").html($("#" + content).html());
				}, 20);
				
				// Second timeout, setup any events that need to be associated with content brought into the event display area.
				setTimeout( function() {			
					//imageEventSetup(); // Image grow/shrink events
					//lightBoxSetup(); // Lightbox gallery events
				}, 60);
				
				// Third timeout, Fade the content back in
				setTimeout( function() {			
					$("div.EventInfo div.Content").fadeTo(500, 1);
				}, 80);
				
			} else { // If no content display message and return
				$("div.EventInfo div.Content").css({textAlign: "center", fontStyle: "italic"}); // Change font style
				$("div.EventInfo div.Content").html("No events are scheduled for the selected date"); // Display Message
			}
			
		});
		*/
	}
}
