function axah(url, containerElement, method, parameters) {
	var request;
	try {
		// Firefox, Opera 8.0+, Safari
		request = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			try {
				request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				alert("Sorry! Your browser is too old for this homepage as it does not seem to support AJAX yet!");
				return false;
			}
		}
	}
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			if (request.status == 200) {
				document.getElementById(containerElement).innerHTML = request.responseText;
				changeLinks();
			} else {
				document.getElementById(containerElement).innerHTML="<p>Error!<\/span> HTTP request returned the following status message:&nbsp;" + request.statusText +"<\/p>";
			}
		}
	}
	request.open(method, url + "?date=" + new Date(), true);
	request.setRequestHeader('Cache-Control', 'no-cache');
	request.send(parameters);
}

function addEventHandler(obj, eventType, handler) {  
	if (obj.addEventListener) {  
		obj.addEventListener(eventType, handler, false);
		return true;  
	} else if (obj.attachEvent) {  
		var r = obj.attachEvent("on"+eventType, handler);  
		return r;  
	} else {  
		return false;  
	}  
}  

function loadContent(url) {
	axah(url, "content", "GET", null);
}

function changeLinksInTagList(linkTags) {
	for (i = 0; i < linkTags.length; ++i) {
		if (linkTags[i].getAttribute("href") != null && linkTags[i].getAttribute("href").indexOf("content") != -1) {
			addEventHandler(linkTags[i], "click", new Function("loadContent('" + linkTags[i].getAttribute("href") + "')"));
			linkTags[i].setAttribute("href", "javascript:void(0);");
		}
	}
}

function changeLinks() {
	linkTags = document.getElementsByTagName("a");
	changeLinksInTagList(linkTags);
	linkTags = document.getElementsByTagName("area");
	changeLinksInTagList(linkTags);
}

function gup( name )
{
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}

function loadDefaultContent(url) {
	var param = gup('url');
	if (param != "") {
		loadContent(param);
	} else {
		loadContent(url);
	}
}

function returnDocument() {
	var file_name = document.location.href;
	var end = (file_name.indexOf("?") == -1) ? file_name.length : file_name.indexOf("?");
	return file_name.substring(file_name.lastIndexOf("/")+1, end);
}

function reloadMain() {
	window.location.replace("main.html?url=" + returnDocument());
}

