function mainNavHijax() {
	var links = document.getElementById('nav2').getElementsByTagName('a');
	for (a in links) {
		links[a].onclick = function(){
			displayLoading(document.getElementById('text1'));
			var options = createOptionsArray(this.getAttribute('href'));
			try {
				xhr = new AjaxRequest(options)
				return !xhr.execute();
			} catch(e) {
				return false;
			}
		}	
	}
}

function createOptionsArray(requestUrl) {
	var options = {};
	options.method = 'GET';
	options.url = 'select-pages.php?' + requestUrl.split('?')[1];
	options.onSuccess = function(response) {
		document.getElementById('text1').innerHTML = response.responseText;
	}
	return options;
}

function displayLoading(element) {
	while (element.hasChildNodes()) {
		element.removeChild(element.lastChild);
	}
	var image = document.createElement('div');
	image.setAttribute('alt', 'Loading');
	image.setAttribute('class', 'loading');
	element.appendChild(image);	
}

function AjaxRequest(options) {
	options = options || {};
	this.method = options.method || 'GET';
	this.url = options.url || 'select-pages.php';
	this.onSuccess = options.onSuccess;
	this.onFailure = options.onFailure;
}

AjaxRequest.prototype = {
	handleResponse: function() {
		var status = this.xmlhttprequest.status;
		if (status === 200 || status === 304) {
			if (this.onSuccess) {
				this.onSuccess(this.xmlhttprequest);
			}
		}else if (this.onFailure) {
			this.onFailure(this.xmlhttprequest);
		}
		this.xmlhttprequest = null; /* Avoid IE leaks */
	},

	execute : function() {
		this.xmlhttprequest = false;
		if (window.XMLHttpRequest) {
			this.xmlhttprequest = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
				this.xmlhttprequest = new ActiveXObject('Msxml2.XMLHTTP');
			} catch(e) {
				try {
					this.xmlhttprequest = new ActiveXObject('Microsoft.XMLHTTP');
				} catch(e) {
					this.xmlhttprequest = false;
				}
			}
		}
		if (this.xmlhttprequest) {
			var self=this;
			this.xmlhttprequest.onreadystatechange = function() {
				if (self.xmlhttprequest && self.xmlhttprequest.readyState === 4) {
					self.handleResponse();
				}
			}
			this.xmlhttprequest.open(this.method, this.url, true);
			this.xmlhttprequest.send(null);
			return true;
		} else {
			return false;
		}
	}
};

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload() 
			}
			func();
		}
	}
}

addLoadEvent(mainNavHijax);

