
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){ 
		
			if (item.WebPage != "") {
				
				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 = ""
				
				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 + ")"))
				
				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()
	
	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]
		
}



