/* 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     = new Array();
   var OO_AN_treeinfo  = new Array();

   function OO_AN_kl(kl_id, was, mode) {
   	 mode = 0;  
   	 if ( mode == 1 ) alert(' Aufruf: ' + kl_id + ' | ' + was+ ' | '+ mode+' | ');
 	 
   	 var rueck = '';
     if (typeof kl_id == "undefined") kl_id = '_';
     var knotnum = kl_id.replace(/([^0-9]+)/, "");
     var treeid  = kl_id.replace(/([^A-Z]+)/, "");
     if ( knotnum > 0) {
       if ( treeid == "") treeid = "A";
     } else {
       knotnum = 0;
       treeid  = '';
     }

     var diesblatt = '';

  	 if ( mode == 1 ) alert(' Aufruf: ' + knotnum + ' | ' + treeid+ ' | ');

     if (typeof OO_AN_trees[treeid] != "undefined") {
       diesblatt = (typeof OO_AN_trees[treeid][knotnum] != "undefined") ? OO_AN_trees[treeid][knotnum] : '';
     } else {
     	 rueck += 'TREEID: ' +treeid+ ' nicht vorhanden? '+typeof OO_AN_trees[treeid];
     }

     for (var baum in OO_AN_trees) {
       // nicht gemeinte/fremde bäume schließen , nur levels==0 bleiben stehen
       if ((OO_AN_treeinfo[baum]["mod01"] == "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',OO_AN_treeinfo[baum]["mod03"]);
         }
       }
     }

     if (diesblatt == "" || treeid == "") {
     	 if ( mode == 1 ) alert(rueck + ' nix gefunne: ' + diesblatt + ' | ' + treeid+ ' | ');
     	 return;
     }

     if ( OO_AN_treeinfo[treeid]["mod02"] == 'yes' ) {
       if (diesblatt["LS"].length > 0) {
         // nur einen zweig schliessen der schon offen ist
         if ($('#OO-TBID_'+treeid+'_'+diesblatt["LS"][0]).is(':visible')) {
           for (var i=0; i < diesblatt["LS"].length; i++) {
             OO_AN_listfunc(treeid,diesblatt["LS"][i],'none',OO_AN_treeinfo[treeid]["mod03"]);
           }
           if ( mode == 1 ) alert( rueck + ' FERTIG' );
           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',OO_AN_treeinfo[treeid]["mod03"]);
       }
     }

     // 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_treeinfo[treeid]['sclass'] != '') {
       	 var aclass=OO_AN_treeinfo[treeid]['sclass']+''+OO_AN_trees[treeid][zweigid]["LV"];
       	 $('#OO-TBID_'+treeid+'_'+zweigid).addClass(aclass);
       }
       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++) {
         $('#OO-TBID_'+treeid+'_'+OO_AN_trees[treeid][zweigid]["LS"][k]).show();
       }
     }

     // 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;
         }
       }
     }
     if ( mode == 1 ) alert( rueck + ' ENDE');
     return;
   }

   function OO_AN_listfunc(treeid,knotnum,wastun,openlvl) {
     if (typeof OO_AN_trees[treeid] == "undefined" || typeof OO_AN_trees[treeid][knotnum] == "undefined") return;
     if (typeof openlvl == "undefined") openlvl = 0;
     if (! document.getElementById('OO-TBID_'+treeid+'_'+knotnum)) return;
     if (OO_AN_treeinfo[treeid]['sclass'] != '') {
     	 var aclass=OO_AN_treeinfo[treeid]['sclass']+''+OO_AN_trees[treeid][knotnum]["LV"];
       $('#OO-TBID_'+treeid+'_'+[knotnum]).removeClass(aclass);
     }
     
     if (wastun == 'none' && openlvl == 'A') wastun = 'block'; //alert(wastun);
     if (wastun == 'none') {
       if (OO_AN_trees[treeid][knotnum]["LV"] > 0) {
         if (OO_AN_trees[treeid][knotnum]["LV"] > openlvl) {      	
           var t = document.getElementById('OO-TBID_'+treeid+'_'+knotnum).style.display = wastun;
         }
       }
     }
     for (var i=0; i < OO_AN_trees[treeid][knotnum]["LS"].length; i++) {
       var subid = OO_AN_trees[treeid][knotnum]["LS"][i];
       var elem = 'OO-TBID_'+treeid+'_'+subid;
       if (document.getElementById(elem) && document.getElementById(elem).style.display != wastun) {
         OO_AN_listfunc(treeid,subid,wastun,openlvl);
       }
     }
   }

   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 

   function OOform_senden(act, message) {  
     if (act == null || act == '' || act == 'test') {
       if (! checkform() ) { return; }
     }
     if (act == 'delete') {
       var test = confirm(message);
       if (test == false) return;
     }
     var zeit = (new Date).getTime();
     //$('#TformT').val(zeit);
     $('#custact').val(act);
     $('#custformact').val('send');
     $('#OO_globalform').submit();
     return;
   }
   function OOform_alert(objID, nachricht, klasse) {
     if ( $('#'+objID).length > 0 ) {  
     	 if ( klasse > "" ) {
    	   $('#'+objID).html('<div class=\"' + klasse + '\">' + nachricht + '</div>');
    	 } else {
    	   $('#'+objID).html(nachricht);
    	 }
    	 $('#'+objID).show('300');
     } else {
       if (nachricht != "") alert(nachricht);
     }
   }  // function  
    
    
