/*
Simple AJAX dynamic data loading from a Servlet.
  b -- button [+]/[-]
  c -- content of dynamic data (div)
  t -- 
  t2

*/

var _i, _p;

function e(n) { return document.getElementById(n); }

function ProcServletData() {
 if (req.readyState == 4) {
  if (req.status == 200)
   e('c'+_p+_i).innerHTML = req.responseText;
  else
   e('c'+_p+_i).innerHTML = '<font color=red>Failed to retrieve data from server. Try again.</font>';
 }
}

function ajax_collapse(servlet, p, i) {
  e('b'+p+i).innerHTML = '<a href="Javascript:ajax_expand(\''+servlet+'\',\''+p+'\',\''+i+'\');">[+]</a>';
  e('c'+p+i).style.display='none';

  if(o = e('t'+p+i))
    o.style.display='';
  if(o = e('t2'+p+i))
    o.style.display='';
}

function ajax_expand(servlet, p, i) {

  _i = i;
  _p = p;
  url = servlet + '&id='+i;

  e('b'+p+i).innerHTML = '<a href="Javascript:ajax_collapse(\''+servlet+'\',\''+p+'\',\''+i+'\');">[-]</a>';
  e('c'+p+i).innerHTML = '<i>Loading... please wait.</i>';
  e('c'+p+i).style.display='';
  
  if(o = e('t'+p+i))
    o.style.display='none';
  if(o = e('t2'+p+i))
    o.style.display='none';

  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = ProcServletData;
    req.open("GET", url, true);
    req.send(null);
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = ProcServletData;
      req.open("GET", url, true);
      req.send();
    }
  }
}

