var xmlhttp;

function loadXMLDoc(url) {
	xmlhttp=null;
	if (!document.getElementById('loading')) { //create loading container!
		var loading = document.createElement('div');
		var shroud = document.createElement('div');
		loading.id = 'loading';
		shroud.id = 'shroud';
		document.getElementById('mainContent').appendChild(shroud);
		document.getElementById('mainContent').appendChild(loading);
	}
	
	if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc.
		xmlhttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null) {
		var actualurl = url;
		if (window.location.pathname.lastIndexOf('\/')>0) {
			actualurl = '../' + actualurl;
			
		}
		xmlhttp.onreadystatechange=function() { state_Change(url); };
		xmlhttp.open("GET",actualurl,true);
		xmlhttp.send(null);
	} else {
	 	window.location.href = url.replace('-content','');
	}
};

function state_Change(url) {
	if (xmlhttp.readyState==4) { // 4 = "loaded"
		if (xmlhttp.status==200) { // 200 = "OK"
			pageTracker._trackPageview('ajax-' + url);
			document.getElementById('mainContent').innerHTML=xmlhttp.responseText;
			var navigationlink;
			var navigationstyle;
			if (url == 'book-content.asp') {
				getTwitters('tweet', { 
				  id: 'JezRose', 
				  count: 2, 
				  enableLinks: true, 
				  ignoreReplies: true, 
				  clearContents: true,
				  template: '"%text%" <br /><a href="http://twitter.com/%user_screen_name%/statuses/%id%/">%time%</a>'
				});	
			}
			navigationlink = url.replace(/-content.asp/, "");
			navigationstyle = url.replace(/.asp/, "-selected");
			var a = document.getElementById('mainNavigation').getElementsByTagName('a');
			
			if (a!=null) {
				for (x=0; x<a.length; x++) {
					a[x].className = '';	
				}
				if (document.getElementById(navigationlink)!=null) {
					document.getElementById(navigationlink).className = navigationstyle;
				}
			} else {
				window.location.href = url.replace('-content','');
			}
			setupajax();
		
		}
		
	}
};

function setupajax() { //ensures we can use ajax, and if we can then lets loop through the menu and ajax the site!
	if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc.
		xmlhttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null) {
		var a = document.getElementById('mainNavigation').getElementsByTagName('a');
		for (x=0; x<a.length; x++) {
			if (a[x].href.indexOf('javascript:loadXMLDoc(')==-1) {
				var url = a[x].href.replace('.asp','-content.asp').replace(domain,'');
				a[x].href = "javascript:loadXMLDoc('" + url + "');";
			}
		}	
		
		var a = document.getElementById('mainContent').getElementsByTagName('a');
		for (x=0; x<a.length; x++) {
			if (a[x].href.indexOf('javascript:loadXMLDoc(')==-1) {
				var url = a[x].href.replace('.asp','-content.asp').replace(domain,'');
				var host = window.location.hostname;
				
				
				if (url.indexOf("pdf/") == -1 && a[x].href.indexOf(host) > -1) {
					// dont replace calls to the pdf content AND pages that link to external domains!
					a[x].href = "javascript:loadXMLDoc('" + url + "');";
				}				
			}
		}	
	}
};