
updateCalendar = function() {
	addLoader("#agenda")
	getCalendarItems()
}


renderCalendar = function(data) {
	
	if(data.length == 0) {
		// no results
		renderCalendarNoResults()
	} else {
		// render items
		var container = $("#agenda")
		
		// first, clean out the mess..
		container.empty()
		
		// add header
		container.append($("<h1/>").html("Agenda"))
		
		$.each(data, function(i,item){ 
		
			var newItem
		
			var startDate = parseDate(item.StartDate.slice(0,10))
			var endDate = parseDate(item.EndDate.slice(0,10))
			
			var startDay = twoDigit(startDate.getDate())
			var endDay = twoDigit(endDate.getDate())
			
			var startMonth = parseMonth(startDate.getMonth())
			var endMonth = parseMonth(endDate.getMonth())
			
			var title = item.Title
			var location = item.Location
			
			var url, altText = ""
			
			if (item.WebPage != "") {
				url = item.WebPage.split(",")[0]
				altText = item.WebPage.split(",")[1]
			}	                                  
			
			if (startDate.toString() != endDate.toString()) {
				// two dates, use period
				newItem = $("<div/>").addClass("item_period")
				
				var period = $("<div/>").addClass("date")
				
				period.append($("<div/>").addClass("start").html(startDay + "<span>" + startMonth + "</span>"))
				period.append($("<div/>").addClass("end").html(endDay + "<span>" + endMonth + "</span>"))
				
			} else {
				// one date
				newItem = $("<div/>").addClass("item_day")
				
				var period = $("<div/>").addClass("date")
				
				period.append($("<div/>").addClass("start").html(startDay + "<span>" + startMonth + "</span>"))
			
			}	
				
			newItem.append(period)
				
			newItem.append($("<h2/>").html(title))
			newItem.append($("<h3/>").html("(" + location + ")"))
			
			if (item.WebPage != "") {
				newItem.append($("<a/>").attr("href",url).attr("title",altText).attr("target","_blank").addClass("small negative").html("MEER INFO"))
			}	
				
			container.append(newItem)
				
		})
		
	}
}


/*
 * render no results
 */

renderCalendarNoResults = function() {
	var container = $("#agenda")
	
	// first, clean out the mess..
	container.empty()
	
	// add header
	container.append($("<h1/>").html("Agenda"))
	
	var message = $("<h2/>").html("Er zijn geen resultaten gevonden.")
	
	container.append(message)
}

/*
 * render errors
 */

renderCalendarError = function() {
	var container = $("#agenda")
	
	// first, clean out the mess..
	container.empty()
	
	// add message
	var message = $("<h2/>").html("Er is een communicatiefout opgetreden.")
	container.append(message)
}

	
/*
 * helper functions
 */	
	
parseDate = function (xmlDate) {
	
    if (!/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}/.test(xmlDate)) {
         throw new RangeError("xmlDate must be in ISO-8601 format YYYY-MM-DD.");
    }
    
    return new Date(xmlDate.substring(0,4), xmlDate.substring(5,7)-1, xmlDate.substring(8,10));
}

parseMonth = function (month) {
	
	var months = new Array()
	months = ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]
	          
	return months[month]
		
}




