function registerGlobalOnload(c){
	var a=window;
	if(a.addEventListener){
		a.addEventListener("load",c,false)
	}
	else if(a.attachEvent){
		a.attachEvent("onload",c)
	}
	else {
		a["onload"]=c
	}
}

/* callback, called once the links have been returned from del.icio.us */
function addLinks(div_id, links) {
	var div_text='';
	if(links.length == 0) {
		div_text = '<p class=resource_none>There are currently no items in this category.</p>';
	} else {
		for(i=0; i<links.length; i++) {
			div_text += '<p class=resource_link><a href="' + links[i].u + '">"' + links[i].d + '</a>'
			if(links[i].n && links[i].n != '') {
				div_text += ' ' + links[i].n;
			}
			div_text += '</p>';
		}
	}
	document.getElementById(div_id).innerHTML = div_text;
}

/* initiate asynchronous query to del.icio.us to get links */
function queryLinks(tag) {
	var query_url = "http://del.icio.us/feeds/json/sthughoflincoln/resources+" + tag + "?count=10&callback=callback_recent_" + tag;
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.src = query_url;
	document.getElementsByTagName('head')[0].appendChild(newScript);

	query_url = "http://del.icio.us/feeds/json/sthughoflincoln/resources+popular+" + tag + "?count=50&callback=callback_popular_" + tag;
	newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.src = query_url;
	document.getElementsByTagName('head')[0].appendChild(newScript);
}

/* handle calendar details for the "forthcoming events" section of the front page */
function add_calendar_details(data) {
	var text = '';
	var entries = data.feed.entry;

	for (var i = 0; i < entries.length; i++ ) {
		var eventEntry = entries[i];
		text += '<div class="calendar-item">';
		var eventStart = parseDateTime(eventEntry.gd$when[0].startTime);
		text += '<span class="calendar-datetime">' + eventStart + '</span>';
		text += '<div class="calendar-body">';
		var eventTitle = eventEntry.title.$t;
		var eventLink = eventEntry.link[0].href;
		if(eventTitle && eventLink) {
			text += '<a class="calendar-title" href="' + eventLink + '">' + eventTitle + '</a>';
		}
		var eventDescription = eventEntry.content.$t;
		var eventLocation = eventEntry.gd$where[0].valueString;
		if(eventDescription && eventDescription.length > 0) {
			text += '<span class="calendar-description">' + eventDescription + '</span>';
		}
		if(eventLocation && eventLocation.length > 0) {
			text += '<span class="calendar-location">' + eventLocation + '</span>';
		}
		text += '</div>'; /* calendar-body */
		text += '</div>'; /* calendar-item */
		text += '<div class="spacer">&nbsp;</div>';
	}
	document.getElementById('calendar-feed').innerHTML = text;
}

function parseDateTime(x) {
	var year = parseInt(x.substring(0,4),10);
	var month = parseInt(x.substring(5,7),10);
	var dateString = x.substring(8,10);
	var monthString = ['January','February','March','April','May','June','July','August','September','October','November','December'][month-1];
	var fullDateString = dateString + ' ' + monthString;
	if(x.length > 10) {
		var hours = parseInt(x.substring(11,13),10);
		var minutesString = x.substring(14,16);	
		var timeString;
		if(hours===0) {
			timeString = '12.' + minutesString + 'am';
		} else {
			if(hours < 12) {
				timeString = hours + '.' + minutesString + 'am';
			} else {
				if(hours==12) {
					timeString = '12.' + minutesString + 'pm';
				} else {
					timeString = (hours-12) + '.' + minutesString + 'pm';
				}
			}
		}
/*		fullDateString += '<br>' + timeString;*/
		fullDateString += ' ' + timeString;
	}
	return fullDateString;
}

function clearSearchTextBox() {
	if (document.getElementById("nav-strip-searchbox").value == 'search') {
		document.getElementById("nav-strip-searchbox").value = '';
	}
}

function onSearchTextBoxKeyPress(e) {
	var characterCode;

	if(e && e.which) { // NN4 specific code
		e = e;
		characterCode = e.which;
	}
	else { // IE specific code
		e = event;
		characterCode = e.keyCode ;
	}

	if (characterCode == 13) {
		doSearch();
		window.event.returnValue = false;
	}
}

function doSearch() {
	clearSearchTextBox();

	if (document.getElementById("nav-strip-searchbox").value != '')
	{
		var searchStringURL = '/ikiwiki.cgi?P=' + document.getElementById("nav-strip-searchbox").value;
		window.location = searchStringURL;
		return false;
	}
}
