var req;
var blockID = 'content';

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
        	if (req.responseText != 'false') {
        		ContentBlock = document.getElementById(blockID);
						ContentBlock.innerHTML = req.responseText;
					}
        } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
        }
    }
}

function loadXMLDoc(url) {
	req = false;
  // branch for native XMLHttpRequest object
  if(window.XMLHttpRequest && !(window.ActiveXObject)) {
  	try {
		req = new XMLHttpRequest();
      } catch(e) {
		req = false;
      }
  // branch for IE/Windows ActiveX version
  } else if(window.ActiveXObject) {
     	try {
      	req = new ActiveXObject("Msxml2.XMLHTTP");
    	} catch(e) {
      	try {
        		req = new ActiveXObject("Microsoft.XMLHTTP");
      	} catch(e) {
        		req = false;
      	}
		}
  }
	if(req!=false) {
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send();
		return req;
	}
}

function contentHash(){
	var cleanHash = window.location.hash;
	var contentUrl = "content.php?content=" + cleanHash.substr(1);
	if(cleanHash != ''){
		loadXMLDoc(contentUrl);
	}
}

// hierna span link
function HasClassName(objElement, strClass){
	if(objElement.className){
		var arrList = objElement.className.split(' ');
		var strClassUpper = strClass.toUpperCase();
		for ( var i = 0; i < arrList.length; i++ ){
			if ( arrList[i].toUpperCase() == strClassUpper ){
				return true;
			}
		}
	}
	return false;
}

function AddClassName(objElement, strClass, blnMayAlreadyExist){
	if(objElement.className){
		var arrList = objElement.className.split(' ');
		if(blnMayAlreadyExist){
			var strClassUpper = strClass.toUpperCase();
			for(var i = 0;i < arrList.length;i++){
				if(arrList[i].toUpperCase() == strClassUpper){
					arrList.splice(i, 1);
					i--;
				}
			}
		}
		arrList[arrList.length] = strClass;
		objElement.className = arrList.join(' ');
	}else{
		objElement.className = strClass;
	}
}

function RemoveClassName(objElement, strClass){
	if(objElement.className){
		var arrList = objElement.className.split(' ');
		var strClassUpper = strClass.toUpperCase();
		for(var i = 0;i < arrList.length;i++){
			if(arrList[i].toUpperCase() == strClassUpper){
				arrList.splice(i, 1);
				i--;
			}
		}
		objElement.className = arrList.join(' ');
	}
}

function relNoFollow(){
  var JSLinks = document.getElementsByTagName('span');
  if( JSLinks.length > 0 ){
    for( var i = 0; i < JSLinks.length; i++ ){
      if(( JSLinks[i].title.indexOf( 'http://' ) != -1 )||( JSLinks[i].title.indexOf( 'https://' ) != -1 )){
      	AddClassName(JSLinks[i],'jslink');
        JSLinks[i].onmouseout = JSLinkMouseOut;
        JSLinks[i].onmouseover = JSLinkMouseOver;
        if(HasClassName(JSLinks[i],'blank')){
	        JSLinks[i].onclick = JSLinkClickNew;
	      }else{
	      	JSLinks[i].onclick = JSLinkClick;
	      }
      }
    }
  }
  var JSImageLinks = document.getElementsByTagName('img');
  if( JSImageLinks.length > 0 ){
    for( var i = 0; i < JSImageLinks.length; i++ ){
      if(( JSImageLinks[i].title.indexOf( 'http://' ) != -1 )||( JSImageLinks[i].title.indexOf( 'https://' ) != -1 )){
      	AddClassName(JSImageLinks[i],'jslink');
        JSImageLinks[i].onmouseout = JSLinkMouseOut;
        JSImageLinks[i].onmouseover = JSLinkMouseOver;
        if(HasClassName(JSImageLinks[i],'blank')){
	        JSImageLinks[i].onclick = JSLinkClickNew;
	      }else{
	      	JSImageLinks[i].onclick = JSLinkClick;
	      }
      }
    }
  }
}
 
function JSLinkMouseOver(){
	RemoveClassName(this,'jslink');
	AddClassName(this,'jslink-hover');
}
 
function JSLinkMouseOut(){
	RemoveClassName(this,'jslink-hover');
	AddClassName(this,'jslink');
}

function JSLinkClick(){
  var JSLinkWindow = window.open(this.title,'_top','');
}

function JSLinkClickNew(){
  var JSLinkWindow = window.open(this.title,'_blank','');
}

//hierna body onload
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

addLoadEvent(relNoFollow);
addLoadEvent(contentHash);
