// JavaScript Document

<!--
google.load("gdata", "1");
function init() {
  google.gdata.client.init(handleGDError);
  loadDeveloperCalendar();
}
function loadDeveloperCalendar() {
  loadCalendarByAddress('canburyparkchurch@googlemail.com');
}

 
/* Adds a leading zero. Used for displaying dates. */

function padNumber(num) {
  if (num <= 9) {return "0" + num;}
  return num;
}

function loadCalendarByAddress(calendarAddress) {
  var calendarUrl = 'http://www.google.com/calendar/feeds/' + calendarAddress + '/public/full';
  loadCalendar(calendarUrl);
}

// @param {string} calendarUrl is the URL for a public calendar feed

function loadCalendar(calendarUrl) {
  var service = new google.gdata.calendar.CalendarService('gdata-js-client-samples-simple');
  var query = new google.gdata.calendar.CalendarEventQuery(calendarUrl);
  query.setOrderBy('starttime');
  query.setSortOrder('ascending');
  query.setFutureEvents(true);
  query.setSingleEvents(true);
  query.setMaxResults(4);
  service.getEventsFeed(query, listEvents, handleGDError);
}

	function handleGDError(e) {
		document.getElementById('jsSourceFinal').setAttribute('style', 'display:none');
	}

    //get all event details

	function listEvents(feedRoot) {
	  var entries = feedRoot.feed.getEntries();  
	  var eventDiv = document.getElementById('events');
	  var len = entries.length;
  
			//array of months

			var month=new Array(12);
			month[0]="January";
			month[1]="February";
			month[2]="March";
			month[3]="April";
			month[4]="May";
			month[5]="June";
			month[6]="July";
			month[7]="August";
			month[8]="September";
			month[9]="October";
			month[10]="November";
			month[11]="December";
            //

  	for (var i = 0; i < len; i++) {
  				var div     = document.createElement("div");
                var entry = entries[i];
                var title = entry.getTitle().getText();
                var startDateTime = null;
                var startJSDate = null;
                var times = entry.getTimes();
					if (times.length > 0) {
						startDateTime = times[0].getStartTime();
						startJSDate = startDateTime.getDate();
					}
	//

	//adds th, st, nd, rd
	var d = String(startJSDate.getDate());
	var newdate = d.substr(-(Math.min(d.length, 2))) > 3 && d.substr(-(Math.min(d.length, 2))) < 21 ? "th" : ["th", "st", "nd", "rd", "th"][Math.min(Number(d)%10, 4)];
	//
                  
    //get hyperlink
	var entryLinkHref = null;
	if (entry.getHtmlLink() != null) { entryLinkHref = entry.getHtmlLink().getHref(); }
	//

	//get date
	var dateString = (startJSDate.getDate()) + newdate + " " + month[startJSDate.getMonth()] ;

	//insert date
	var h4 = document.createElement("h4");
	var cellText = document.createTextNode(dateString);
	h4.appendChild(cellText);
	//

    //get time
	var timeString = "";
        var at = "";
	if (!startDateTime.isDateOnly()) {
		var at = (" at ")
		var timeString = (startJSDate.getHours()<=12?startJSDate.getHours():startJSDate.getHours()-12) + ":" + padNumber(startJSDate.getMinutes()) + (startJSDate.getHours()<12?'am':'pm');
	}
	//

	//insert 'at'
	var cellText = document.createTextNode(at);
	h4.appendChild(cellText);
	//
	
	//insert time
	var cellText = document.createTextNode(timeString);
	h4.appendChild(cellText);
	//
                          
	//get title
	var h3 = document.createElement("h3");
	h3.appendChild(document.createTextNode(title));
	//
                      
	//get description
	var desc = entry.getContent().getText();
	var location = entry.getLocations()[0].getValueString();
	var pppp = document.createElement("p");
	if (desc!=null) { 
			 cellText = document.createTextNode(desc);
			 pppp.appendChild(cellText);
	};
	if (location!=null) {
			cellTextTwo = document.createTextNode(location);
			pppp.appendChild(cellTextTwo);
	};
	//
								
	div.appendChild(h3);
	//div.appendChild(pp);
	div.appendChild(h4);
	//div.appendChild(pppp);
	eventDiv.appendChild(div);
}                 
}
google.setOnLoadCallback(init);
//-->