var registeredAjaxRequests = new Array();

function checkFailure() {
  var idx = document.body.innerHTML.indexOf("<b>Warning</b>:  fopen(/home/vhosts/5000118454/melodic-chaos.de/htdocs/melodic-chaos/cache");
  if(idx > -1) window.location.reload();
}

function cutLastXChars(str, num) {
 return str.substr(0, str.length -num);
}

function addEvent( obj, type, fn )
{
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

function removeEvent( obj, type, fn )
{
   if (obj.removeEventListener) {
      obj.removeEventListener( type, fn, false );
   } else if (obj.detachEvent) {
      obj.detachEvent( "on"+type, obj[type+fn] );
      obj[type+fn] = null;
      obj["e"+type+fn] = null;
   }
}

function registerAjaxRequest(request, targetComp) {
  req = new Array();
  req.push(request);
  req.push(targetComp);
  registeredAjaxRequests.push(req);
}

function registerAjaxRequestByFunction(request, targetComp) {
  req = new Array();
  req.push(request);
  req.push(targetComp);
  registeredAjaxRequests.push(req);  
}

function requestPerAJAX() {
  for(req in registeredAjaxRequests) {
    reqUrl = req[0];
    targetComp = req[1];
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    } else {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
      if(xmlhttp.readyState==4) {
        document.getElementById(targetComp).innerHTML=xmlhttp.responseText
      }
    }
    xmlhttp.open("GET",reqUrl,true);
    xmlhttp.send(null);
  }
}
