//
// Initialisierung
//

var xsltdebug	= false;  // fuer AjaXSLT
var xpathdebug	= false;  // fuer AjaXSLT
var logging__ 	= false;  // fuer AjaXSLT


var lwStylesheet;       // global deklariert

function lw_initStylesheet(response) {
  lwStylesheet = xmlParse(response.responseText);
}

function lw_init() {  // Beim Laden der Seite auszufuehren
   lw_initStylesheet(Lokris.AjaxCall("lwAjaxTree_google.xslt", null, {async: false}));
}

//
// Funktionen lw_aufklappen() und lw_zuklappen()
//
function lw_aufklappen(id, wurzel) {
  var callbackHandler = function(req)  {
    if (req.readyState == 4) { // Kommunikation beendet
      // erfolgreich, falls der Server den HTTP-Statuscode 200 gesendet hat
      if (req.status == 200) {
        if (wurzel === true) {
          var newDocumentString = xsltProcess(xmlParse(req.responseText), lwStylesheet, ["id",""]);
          $(id).innerHTML += newDocumentString;
        } else {
          var newDocumentString = xsltProcess(xmlParse(req.responseText), lwStylesheet, ["id",id]);
          $("lwAjaxTree_node_" + id).innerHTML += newDocumentString;
          $("lwAjaxTree_plus_"  + id).style.display = "none";
          $("lwAjaxTree_minus_" + id).style.display = "inline";
        }
      }
    }
  }

  var queryString = "";
  if (wurzel !== true) {
    queryString = '?id=' + id;
  }

  Lokris.AjaxCall("../lwAjaxTreeWS/" + queryString, callbackHandler, {rawResponse: true});
}

function lw_zuklappen(id) {
  $("lwAjaxTree_subtree_" + id).parentNode.removeChild($("lwAjaxTree_subtree_" + id));
  $("lwAjaxTree_plus_"  + id).style.display = "inline";
  $("lwAjaxTree_minus_" + id).style.display = "none";
}



//
// Bug fix for AjaxXSLT 0.4
//
String.prototype.stringValue = function() {
	return this;
}


//
// inspired by but not identical to Prototype's $() function
//
function $(id) {
  return document.getElementById(id);
}
