
function isNextDateInThisMonth(event_date){
	theDate = event_date.split("/")
	// Access each element in the array.
	year = theDate[2];
	month = theDate[1];
	day = theDate[0];
	var checkDate = new Date(year,month-1,day);
	var today = new Date();
   diff = checkDate-today;
	// get the difference in days
	diff = Math.ceil(diff/1000/60/60/24);
	if ( diff < 0){
		return 1
	} else {
		return 0
	}
}

function showDayOfWeek(dateStr) {
	var weekday=new Array(7);
	var dateArray = dateStr.split("/");
	dateArray.reverse(); //creates array in correct order to create date object
	var theDate = dateArray.join(",");
	var d = new Date(dateArray[0],dateArray[1] - 1,dateArray[2]);
	weekday[0]="Sunday";
	weekday[1]="Monday";
	weekday[2]="Tuesday";
	weekday[3]="Wednesday";
	weekday[4]="Thursday";
	weekday[5]="Friday";
	weekday[6]="Saturday";
	var eventDate = weekday[d.getDay()];
	return eventDate;
}

function compareMonth(theMonth, theYear){
	// month passed in as str
	// returns -ve value if previous month 0 if current month +ve value if future month.
	var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	var compare_month = Array.find(m_names, theMonth);
   var today = new Date();
   var curr_month = today.getMonth();
   var curr_year = today.getFullYear();
   diff = compare_month - curr_month + 12*(theYear - curr_year);
   return diff;
}

var totalItems = 0;
var xml_URL = "xml/events_09.xml";
var itemsPerPage = 20;
var selectedPage = 1;
var currDateSet = 0;
var carryOverToNextMonth = 0;// value 0 = no; 1 = yes
var currDateSet = 0; //value 0 = no; 1 = yes

 $(document).ready(function(){
	$.ajax({
		type: "GET",
		url: xml_URL ,
		dataType: "xml",
		success: function(xml) {
			var programme_year = $(xml).find('programme_year').text();
			var next_year_start = $(xml).find('next_year_start').text();
			var textcontainer = $('#section_1');
			totalItems = $(xml).find('month').length;
			var count = 0;
			var strText = '<div class="content_head"><div style="padding-left:20px">Event Calendar</div></div>';
			strText += '<div class="section_1_header"\>' + programme_year + '<\/div\>';
			$(xml).find('month').each(function(){
				if (count < itemsPerPage) {
					var month_name = $(this).find('month_name').text();
					var year_name = $(this).find('year_name').text();
					var monthFlag = compareMonth(month_name, year_name);
					var monthData = this;
					if (monthFlag < 0 ) {
						strText+= "<div class='past_month_wrapper'\><div class='month'\>" + month_name + "<\/div\>";
						$(monthData).find('event').each(function(){
							var event_date = $(this).find('event_date').text();
							var event_type = $(this).find('event_type').text();
							var event_text = $(this).find('event_text').text();
							strText += "<div class='event_past_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
							strText += "<div class='event_text'\>" + event_text  + "<\/div\>";
						});
					} else if ( monthFlag == 0 ) {
						var lastMonthEventPassed = 0;  //value 0 = no; 1 = yes
						innerText = "";
						$(monthData).find('event').each(function(){
							var event_date = $(this).find('event_date').text();
							var event_type = $(this).find('event_type').text();
							var event_text = $(this).find('event_text').text();
							var event_desc = $(this).find('desc').text();
							carryOverToNextMonth = isNextDateInThisMonth(event_date);// value 0 = no; 1 = yes
							var daysDiff = checkDay(event_date);
							if ( daysDiff > 6) {// future event
								if (event_type == 'Special' || event_type == 'Competition') {
									innerText += "<div class='event_special_day'\>" + showDayOfWeek(event_date) + " "  + getDay(event_date) + "<\/div\>";
									innerText += "<div class='event_special_text'\>" + showDayOfWeek(event_date) + " " + event_text  + "<\/div\>";
								} else {
									innerText += "<div class='event_future_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
									innerText += "<div class='event_text'\>" + event_text  + "<\/div\>";
								}
								if (event_desc.length) {
									innerText += "<div class='event_desc'\>" + event_desc  + "<\/div\>";
								}
							} else if ( daysDiff >= 0 && daysDiff <= 7) {// current event
								if (event_type == 'Special' || event_type == 'Competition') {
									innerText += "<div class='event_current_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
									innerText += "<div class='event_current_text'\>" + event_text  + "<\/div\>";
								} else {
									innerText += "<div class='event_current_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
									innerText += "<div class='event_current_text'\>" + event_text  + "<\/div\>";
								}
								if (event_desc.length) {
									innerText += "<div class='event_desc'\>" + event_desc  + "<\/div\>";
								}
							} else {//past event
								innerText += "<div class='event_past_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
								innerText += "<div class='event_past_text'\>" + event_text  + "<\/div\>";
							} 
						});
						
						if(carryOverToNextMonth == 1){
							strText += "<div class='future_month_wrapper'\><div class='month'\>" + month_name + "<\/div\>";
						} else {
							strText += "<div class='future_month_wrapper'\><div class='current_month'\>" + month_name + "<\/div\>";
						}
						strText += innerText;
					} else {
						$(monthData).find('event').each(function(){
							var event_date = $(this).find('event_date').text();
							var event_type = $(this).find('event_type').text();
							var event_text = $(this).find('event_text').text();
							var event_desc = $(this).find('desc').text();
							if (currDateSet == 0 && carryOverToNextMonth == 1 ) {
								strText += "<div class='future_month_wrapper'\><div class='current_month'\>" + month_name + "<\/div\>";
								if (event_type == 'Special' || event_type == 'Competition') {
									strText += "<div class='event_current_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
									strText += "<div class='event_current_text'\>" + event_text  + "<\/div\>";
								} else {
									strText += "<div class='event_current_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
									strText += "<div class='event_current_text'\>" + event_text  + "<\/div\>";
								}
								currDateSet = 1;
							} else {
								if (currDateSet == 0) {
									strText += "<div class='future_month_wrapper'\><div class='month'\>" + month_name + "<\/div\>";
									currDateSet = 1;
								}
								if (event_type == 'Special' || event_type == 'Competition') {
									strText += "<div class='event_special_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
									strText += "<div class='event_special_text'\>" + event_text  + "<\/div\>";
								} else {
									strText += "<div class='event_future_day'\>" + showDayOfWeek(event_date) + " " + getDay(event_date) + "<\/div\>";
									strText += "<div class='event_text'\>" + event_text  + "<\/div\>";
								}
							}
							
							if (event_desc.length) {
								strText += "<div class='event_desc'\>" + event_desc  + "<\/div\>";
							}
						});
						carryOverToNextMonth = 0;
						currDateSet = 0;
					strText += "<\/div\>";
					}
				strText += "<\/div\>";
				}
				count++;
			});
			strText += "<\/div\>";
			strText += '<hr \/\><div class="next_year">' + next_year_start + '<\/div\><p \/\>';
			document.getElementById('section_1').innerHTML = strText;
			//textcontainer.append(strText);//does not work in IE
			//setButtons (1);
		}//,
		//failure: function() {(alert('oh no'))};
	});
});