function klonen(quelle, ziel) {
 for(var i = 0; i < quelle.childNodes.length; i++) {
  var knoten = quelle.childNodes[i];
  switch (knoten.nodeType) {
   case 1:
    var neu = ziel.appendChild(document.createElement(knoten.nodeName));
    for (var j = 0; j < knoten.attributes.length; j++) {
     neu.setAttribute(knoten.attributes[j].nodeName, knoten.attributes[j].nodeValue);
    }
    klonen(knoten, neu);
    break;
   case 3:
    subknoten = document.createTextNode(knoten.nodeValue);
    ziel.appendChild(subknoten);
  }
 }
}


function monatsmatrix()
{
    var ajax;
    var j = this.title.substring(0,4);
    var m = this.title.substring(5);

    m = (m<10) ? '0'+m : m;

    try
    {
      ajax = new XMLHttpRequest();
    }
    catch(w3c)
    {
      try
      {
        ajax = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(msie)
      {
        try
        {
          ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(msie_alt)
        {
          ajax = false;
        }
      }
    }

    if(ajax)
    {

  //   ajax.open('GET', '/daten/ajax/monatsmatrix.php?j='+j+'&m='+m, true);
  //   ajax.setRequestHeader('Content-Type', 'text/xml');
      ajax.open('GET', '/_cache/termine/matrix-'+j+m+'.php', true);
      ajax.setRequestHeader('Content-Type', 'text/html');
      ajax.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
      ajax.send(null);

      var container = document.getElementById('terminematrix');
      var status = document.getElementById('monatsname');

      if(container && status)
      {
        var statustext = status.innerHTML;

        ajax.onreadystatechange = function()
        {
          var par_container = container.parentNode;
          var par_par_container = par_container.parentNode;
          var neudiv = document.createElement('div');

          if (ajax.readyState == 1 )
          {
            status.innerHTML = 'Daten holen..';
          }
          if (ajax.readyState == 3)
          {
            status.innerHTML = 'Daten laden..';
          }
          if (ajax.readyState == 4)
          {
            if (ajax.status != 200 && ajax.status != 0)
            {
              if(statustext!='')
              {
                status.innerHTML = statustext;
              };
            }
            else
            {
              var str = ajax.responseText;
              if(str!='');
              {
                neudiv.innerHTML=str;
                par_par_container.replaceChild(neudiv,par_container);
                var datum = new Date();
                var t_id = 't_'+datum.getDate()+'_'+(1-(-datum.getMonth()));
                var akttag = document.getElementById(t_id);
                if (akttag)
                {
                  akttag.className=akttag.className + ' h';
                }
                var vm = document.getElementById('vorherigermonat');
                var nm = document.getElementById('naechstermonat');
                if(vm)
                {
                  vm.onclick=monatsmatrix;
                };
                if(nm)
                {
                  nm.onclick=monatsmatrix;
                };

              }
            }
          }
        };
      }
    }
}

