var isIE = (document.compatMode && document.all);
var loadingID = 'contentLoader';
var loadingMsg = 'Inhalt wird geladen...';
var contentID = 'content';
var errorID = ':alert'; // id, :alert
var errorMsg = 'Ihr Browser unterstützt leider keine XML-Anfragen.';
var reactOnRel = 'ajaxreader'; // default: ajaxreader
var viewInUrl = true;

var xmlhttp;
var oldhash;
var newhash;

jQuery('a[rel="ajaxreader"]').live('click', function(){
	getContent(this.href.split("/")[this.href.split('/').length-1].split(".")[0]);
});
		
if(window.location.hash.length > 0){
	jQuery(document).ready(function(){
		getContent(window.location.hash.substr(1));
	});
};

function getContent(pagename) {
	if(document.getElementById(loadingID)){
		document.getElementById(loadingID).innerHTML = loadingMsg;
		jQuery('#'+loadingID).fadeIn(100);
	};
	
	/* add your custom function here */
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		if(errorID.substr(0,1) == ":"){
			alert(errorMsg);
		} else {
			if(document.getElementById(errorID)){
				document.getElementById(errorID).innerHTML = errorMsg;
			};
		};
		/*document.getElementById("content").innerHTML = "Ihr Browser unterstützt leider keine XML Anfragen";*/
		return;
	};
	
	jQuery('div#content').fadeTo(100,0);
	
	if(viewInUrl){
		window.location.hash = '#'+pagename;
	};
	
	var url="php/getContent.php";
	url=url+"?q="+pagename;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
};

/* */
function stateChanged() {
	if(xmlhttp.readyState == 4){
		result = xmlhttp.responseText;
		if(document.getElementById(loadingID)){
			document.getElementById(loadingID).innerHTML = '';
		};
		
		if(document.getElementById(contentID)){
			document.getElementById(contentID).innerHTML = result;
			jQuery('div#content img').load(function(){
				jQuery('div#content').fadeTo(100,1,function(){if(isIE){this.style.removeAttribute("filter");} });
				jQuery('a[rel="lightbox"]').fancybox();
			});
		};
			jQuery('#'+loadingID).fadeOut(100);
			noSpam();
	};
};

/* create a new xmlHttpObject */
function GetXmlHttpObject() {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	};
	if (window.ActiveXObject) {
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	};
	return null;
};
