var http_request = false;
var ajax_text = '';

function ajax(type, param) {
  if(type == 'posts') {
    ajax_request('/ajax.php?type=posts&' + param, 'recent', 'recent');
  } else if(type == 'comments') {
    ajax_request('/ajax.php?type=comments&' + param, 'post-comments', 'post-comments-content');
  } else if(type == 'newcomment') {
    ajax_request('/ajax.php?type=newcomment&' + param, 'layer-content');
  } else if(type == 'calendar') {
    ajax_request('/ajax.php?type=calendar&' + param, 'calendar_box');
  }
  
  return false;
}

function ajax_request(url, elem, elem_loading) {
  http_request = false;
  ajax_text = '';

  if(window.XMLHttpRequest) { // Mozilla, Safari, ...

    http_request = new XMLHttpRequest();

    if(http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }

  } else if(window.ActiveXObject) { // IE

    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }

  }

  if(!http_request) {
    alert('XMLHTTP-Instanz konnte nicht erzeugt werden.');
    return false;
  }

  if(!typeof(elem_loading) == 'undefined')
    getElement(elem_loading).style.visibility = 'hidden';
  http_request.onreadystatechange = new Function('fx', 'ajax_getcontent("' + elem + '", "' + elem_loading + '")');
  http_request.open('GET', url, true);
  http_request.send(null);
}

function ajax_getcontent(elem, elem_loading) {
  if(http_request.readyState == 4) {
    if(http_request.status == 200) {
      ajax_text = http_request.responseText;
      getElement(elem).innerHTML = ajax_text;
      getElement(elem_loading).style.visibility = 'visible';
    } else {
      alert('Die erstellte XMLHTTP-Instanz konnte nicht verarbeitet werden.');
    }
  }
}
