/* This notice must be untouched at all times.

OO_global.js    v. 1.00

Copyright (c) 2008 Medien-Service Untermain GmbH, Michael Mai. All rights reserved.
Created 06. 11. 2008 by Michael Mai
Last modified: 06.11.2008 13:57

*/
  function OO_AjaxRequest () {

    var that      = this;
    var updating  = false;
    this.AjaxResponse = '';
    this.callback = function() { }

    this.Request = function(typ,url,add) {
      if (updating==true) { return false; }
      updating=true;
      var AJAX = null;
      try { AJAX = new XMLHttpRequest(); }
      catch (ms) {
        try{ AJAX = new ActiveXObject("Msxml2.XMLHTTP"); }
        catch (nonms){
          try{ AJAX = new ActiveXObject("Microsoft.XMLHTTP"); }
          catch (failed){ req = null; }
        }
      }
      if (!AJAX || AJAX == null) {
        alert("Your browser doesn't support AJAX.");
        return false;
      }

      AJAX.onreadystatechange = function() {
        if (AJAX.readyState==4 || AJAX.readyState=="complete") {
          AjaxResponse = AJAX.responseText;
          if (AjaxResponse.indexOf('Error:') > -1 || AjaxResponse.indexOf('Debug:') > -1) {
            alert(AjaxResponse);
          }          
          delete AJAX;
          updating=false;
       //   if (callback == 'return') { return AjaxResponse; };
          that.callback();
        }
      }

      if (typ == 'post') {
        AJAX.open('POST', url, true);
        AJAX.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        AJAX.send(add);
      } else {
        AJAX.open('GET', url + '?' + add + '&timestamp='+Math.random(), true);
        AJAX.send(null);
      }
      return 'fertig';
    }
  }

    function OO_INLINEHANDLE(aktion, zielseite, hoehe, breite, pos_x, pos_y, srcObj) {

      var divid      = 'OO_INLINE_DIV';
      var frameid    = 'OO_INLINE_IFRAME';
      var framedivid = 'OO_INLINE_IFRAMEDIV';

      var divobj = (document.getElementById ? document.getElementById(divid) : (document.all ? document.all[divid] : (document.layers ? document.layers[divid] : null)));
    //  var frameobj = (document.getElementById ? document.getElementById(frameid) : (document.all ? document.all[frameid] : (document.layers ? document.layers[frameid] : null)));
      var fdivobj  = (document.getElementById ? document.getElementById(framedivid) : (document.all ? document.all[framedivid] : (document.layers ? document.layers[framedivid] : null)));

      if (divobj == null) return;
      if ( fdivobj == null) {
        divobj.style.display = 'none';
        return;
      }

      getPosition = function(el) {
        var p = { x: el.offsetLeft, y: el.offsetTop };
        while (el.offsetParent) {
          el = el.offsetParent;
          p.x += el.offsetLeft;
          p.y += el.offsetTop;
          if (el != document.body && el != document.documentElement) {
            p.x -= el.scrollLeft;
            p.y -= el.scrollTop;
          }
        }
        return p;
      }
      getLeftPos = function (inputObj) {
        var returnValue = inputObj.offsetLeft;
        while((inputObj = inputObj.offsetParent) != null){
          if(inputObj.tagName!='HTML' && inputObj.tagName!='html') returnValue += inputObj.offsetLeft;
        }
        return returnValue;
      }
      getTopPos = function (inputObj) {
        var returnValue = inputObj.offsetTop;
        while((inputObj = inputObj.offsetParent) != null){
          if(inputObj.tagName!='HTML' && inputObj.tagName!='html') returnValue += inputObj.offsetTop;
        }
        return returnValue;
      }

      if (aktion == "" || aktion == "close" || zielseite == null || zielseite == "") {
        fdivobj.innerHTML = '';
        divobj.style.display = 'none';
        return;
      }

      if (srcObj != null ) {
        var p = getPosition(srcObj);
        var p_y = p.y - hoehe + pos_y;
        var p_x = p.x + pos_x;
        pos_y = (p_y > 0) ? p_y : 5;
        pos_x = (p_x > 0) ? p_x : 5;
       // alert(p_y + ' '+ p_x);
      } else {
        if (pos_y < 0) pos_y = 5;
        if (pos_x < 0) pos_x = 5;
      }
      divobj.style.height = hoehe + "px";
      divobj.style.width  = breite + "px";
      divobj.style.left   = pos_x + "px";
      divobj.style.top    = pos_y + "px";
      var foheight = (hoehe);
      fdivobj.style.height = hoehe + "px";
      fdivobj.style.width  = 99 + "%";
      fdivobj.innerHTML = '<iframe name="OO'+ (new Date()).getTime() +'" frameborder="0" id="'+ frameid +'" '
      +' style="width:'+ 100 +'%; height:'+ foheight +'px;" '
      +' src="'+ zielseite +'"></iframe>';
      divobj.style.display = 'block';

      window.scrollTo(pos_x, pos_y);

    }
    
   var OO_AN_trees     = {};
   var OO_AN_treeinfo  = {};

   function OO_AN_kl(kl_id, was) {
     if (typeof kl_id == "undefined") kl_id = '_';
     var branchid = '';
     var treeid   = '';
     var a = kl_id.replace(/([0-9]+)/, "");
       branchid = RegExp.$1;
     var b = kl_id.replace(/([A-Z]+)/, "");
       treeid = RegExp.$1;
     if ( branchid > 0) {
       if ( treeid == "") treeid = "A";
     } else {
       branchid = 0;
       treeid = "";
     }

     var diesblatt = '';
     var klappe01  = '';
     var klappe02  = '';
     if (typeof OO_AN_trees[treeid] != "undefined") {
       diesblatt = (typeof OO_AN_trees[treeid][branchid] != "undefined") ? OO_AN_trees[treeid][branchid] : '';
       klappe01  = (typeof OO_AN_treeinfo[treeid]["mod01"] != "undefined") ? OO_AN_treeinfo[treeid]["mod01"] : '';
       klappe02  = (typeof OO_AN_treeinfo[treeid]["mod02"] != "undefined") ? OO_AN_treeinfo[treeid]["mod02"] : '';
     }

     for (var baum in OO_AN_trees) {
       // nicht gemeinte bäume schließen , nur levels==0 bleiben stehen
       if ((klappe01 == "yes" && baum != treeid) || treeid == "") {
         for (var i=0; i < OO_AN_treeinfo[baum]["top_LV"].length; i++) {
           OO_AN_listfunc(baum,OO_AN_treeinfo[baum]["top_LV"][i],'none');
         }
       }
     }
     if (diesblatt == "" || treeid == "") return;

     if (klappe02 == 'yes') {
       if (diesblatt["LS"].length > 0 && document.getElementById('OO-TBID_'+treeid+'_'+diesblatt["LS"][0])) {
         // nur einen zweig schliessen der schon offen ist
         if (document.getElementById('OO-TBID_'+treeid+'_'+diesblatt["LS"][0]).style.display == 'block') {
           for (var i=0; i < diesblatt["LS"].length; i++) {
             OO_AN_listfunc(treeid,diesblatt["LS"][i],'none');
           }
           return;
         }
       }
       for (var i=0; i < OO_AN_treeinfo[treeid]["top_LV"].length; i++) {
         OO_AN_listfunc(treeid,OO_AN_treeinfo[treeid]["top_LV"][i],'none');
       }
     }


     // aufklappen eines zweiges nach einer knr innerhalb d. zweiges
     // durchlaufe zweigarray
     for (var j=0; j < diesblatt["ZW"].length; j++) {
       var zweigid = diesblatt["ZW"][j];
       if (OO_AN_trees[treeid][zweigid]["LS"].length < 1) continue;
       // durchlaufe liste eines zweigs
       for (var k=0; k < OO_AN_trees[treeid][zweigid]["LS"].length; k++) {
         var ele2 = 'OO-TBID_'+treeid+'_'+OO_AN_trees[treeid][zweigid]["LS"][k];
         if (! document.getElementById(ele2)) continue;
         var t = document.getElementById(ele2).style.display = 'block';
       }
     }

     // gibt es einen link auszuführen
     if (was != 'nogo') {
       if (typeof diesblatt["LK"] != "undefined" && diesblatt["LK"] != "") {
         var zeit = new Date();
         var url  = diesblatt["LK"];
             url += (url.indexOf("?") < 0) ? "?" : "&" ;
             url += "NKLN=" + kl_id;
             url += "&ts=" + zeit.getTime();
         if (typeof diesblatt["TG"] != "undefined" && diesblatt["TG"] != "") {
           if (parent.frames[diesblatt["TG"]]) parent.frames[diesblatt["TG"]].location.href = url;
         } else {
           self.location.href = url;
         }
       }
     }
   }

   function OO_AN_listfunc(treeid,branchid,wastun) {
     if (typeof OO_AN_trees[treeid] == "undefined" || typeof OO_AN_trees[treeid][branchid] == "undefined") return;
     if (! document.getElementById('OO-TBID_'+treeid+'_'+branchid)) return;
     if (wastun == 'none') {
       if (OO_AN_trees[treeid][branchid]["LV"] > 0) {
         var t = document.getElementById('OO-TBID_'+treeid+'_'+branchid).style.display = wastun;
       }
     }
     for (var i=0; i < OO_AN_trees[treeid][branchid]["LS"].length; i++) {
       var subid = OO_AN_trees[treeid][branchid]["LS"][i];
       var elem = 'OO-TBID_'+treeid+'_'+subid;
       if (document.getElementById(elem) && document.getElementById(elem).style.display != wastun) {
         OO_AN_listfunc(treeid,subid,wastun);
       }
     }
   }

   function OO_AN_init() {
     // durchlaufe alle bäume zum einstellen der wechselimages
     for (var baum in OO_AN_trees) {
       if (typeof OO_AN_treeinfo[baum]["img_CL"] == "undefined") continue;
       if (typeof OO_AN_treeinfo[baum]["img_OP"] == "undefined") continue;
       if (typeof OO_AN_treeinfo[baum]["img_NT"] == "undefined") continue;
       // durchlaufe alle zweige
       for (var zweig in OO_AN_trees[baum]) {
         if (! document.getElementById('OO-TBID_'+baum+'_'+zweig)) continue;
         if (! document.getElementById('OO-TIID_'+baum+'_'+zweig)) continue;
         if (OO_AN_trees[baum][zweig]["LS"].length < 1) {
           document.getElementById('OO-TIID_'+baum+'_'+zweig).src = OO_AN_treeinfo[baum]["img_NT"];
           continue;
         }
         var t = document.getElementById('OO-TBID_'+baum+'_'+OO_AN_trees[baum][zweig]["LS"][0]).style.display;
         if (t == 'none') {
            document.getElementById('OO-TIID_'+baum+'_'+zweig).src = OO_AN_treeinfo[baum]["img_CL"];
         } else {
            document.getElementById('OO-TIID_'+baum+'_'+zweig).src = OO_AN_treeinfo[baum]["img_OP"];
         }
       }
     }
   } // function 

    