  var myDocument= document;
  var request = false;
  var isBusy = false;
  var changed_events = Array();
  var changed_fb = Array();
  var changed_fbi = Array();
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = false;
      }  
    }
  }
  if (!request)
    alert("Error initializing XMLHttpRequest!");

  function get_events(id) {
//    alert("events id is " + escape(id));
    var url = "ajax_events.php?id=" + escape(id);
    if (isBusy) {
      request.onreadystatechange = function () {}
      request.abort();}
    request.open("GET", url, true);
    isBusy=true;
    request.onreadystatechange = update_events;
    request.send(null);
  }

  function update_events() {
    if (request.readyState == 4) {
      if (request.status == 200) {
        var response = request.responseText.split("|");
        i_id = "img_ev_" + response[0];
        t_id = "text_ev_" + response[0];
        myDiv = myDocument.getElementById(i_id);
        var new_changed_event = Array();
        new_changed_event[0] = response[0];
        new_changed_event[1] = myDiv.innerHTML;
        myDiv.innerHTML = response[1] + "<br><br>";
        myDiv = myDocument.getElementById(t_id);
        new_changed_event[2] = myDiv.innerHTML;
        myDiv.innerHTML = response[2] + " " + response[3] + "<br>" + response[4];
        restore_changed_events();
        changed_events.splice(0,0,new_changed_event);
      } else
        alert("status is " + request.status);
      isBusy=false;
    } 
  }

  function restore_changed_events() {
    var imax = changed_events.length;
    for (i=0;i<imax;i++)
    {
      new_restored_event = Array();
      new_restored_event = changed_events.shift();
      i_id = "img_ev_" + new_restored_event[0];
      t_id = "text_ev_" + new_restored_event[0];
      myDiv = myDocument.getElementById(i_id);
      myDiv.innerHTML = new_restored_event[1];
      myDiv = myDocument.getElementById(t_id);
      myDiv.innerHTML = new_restored_event[2];
    }
  }


  function get_fb(id,id2,id3) {
//    alert("events id is " + escape(id));
    var url = "ajax_feedback.php?id=" + escape(id) + "&id2=" + escape(id2) + "&id3=" + escape(id3);
    if (isBusy) {
      request.onreadystatechange = function () {}
      request.abort();}
    request.open("GET", url, true);
    isBusy=true;
    request.onreadystatechange = update_feedback;
    request.send(null);
        i_id = "fb_img_" + escape(id);
        new_changed_fbi = escape(id);
        restore_changed_fbi();
        changed_fbi.splice(0,0,new_changed_fbi)
        i_id = "fb_img_" + escape(id);
        myImg = myDocument.getElementById(i_id);
        myImg.onmouseout= function () {}; myImg.width=88; myImg.height=88;
  }

  function update_feedback() {
    if (request.readyState == 4) {
      if (request.status == 200) {
        var response = request.responseText.split("|");
//        alert(response);
        t_id = "fb_text_" + response[0];
        new_changed_fb = response[0];
        restore_changed_feedback();
        changed_fb.splice(0,0,new_changed_fb);
        t_id = "fb_text_" + response[0];
        myDiv = myDocument.getElementById(t_id);
        myDiv.innerHTML = response[2];
      } else
        alert("status is " + request.status);
      isBusy=false;
    } 
  }

  function restore_changed_feedback() {
    var imax = changed_fb.length;
//    alert(changed_fb);
    for (i=0;i<imax;i++)
    {
      new_restored_fb = changed_fb.shift();
      t_id = "fb_text_" + new_restored_fb;
      myDiv = myDocument.getElementById(t_id);
      myDiv.innerHTML = "&nbsp;";
    }
  }

  function restore_changed_fbi() {
    var imax = changed_fbi.length;
//    alert(changed_fb);
    for (i=0;i<imax;i++)
    {
      new_restored_fbi = changed_fbi.shift();
      i_id = "fb_img_" + new_restored_fbi;
      myImg = myDocument.getElementById(i_id);
      myImg.onmouseout=restore_img31;
      myImg.width=31; myImg.height=31;
    }
  }

  function restore_img31() {
    this.width=31;
    this.height=31;
  }

  function get_feedback_reloaded(id) {
    var url = "ajax_feedback_r.php?id="+escape(id);
    if (isBusy) {
      request.onreadystatechange = function () {}
      request.abort();}
    request.open("GET", url, true);
    isBusy=true;
    request.onreadystatechange = update_feedback_reloaded;
    request.send(null);
  }

  function update_feedback_reloaded() {
    if (request.readyState == 4) {
      if (request.status == 200) {
        var response = request.responseText.split("|");
        myDiv = myDocument.getElementById("reloadable_feedback");
        myDiv.innerHTML = response[0];
        myDiv2 = myDocument.getElementById("reloadable_feedback2");
        myDiv2.innerHTML = response[1];
//        alert("response[0]: "+response[0]+"\nresponse[1]: "+response[1]);
      }// else
       // alert("status is " + request.status);
      isBusy=false;
    } 
  }
