///////////////////////////////////////////////////////////////////////////
//                                                                       //
//  Name:   gallery.js                                                   //
//  Autor:  Philipp Schäufele                                            //
//  Email:  philipp.schaeufele[at]gmx.de                                 //
//                                                                       //
//  Funktionen zur Debug-Ausgabe                                         //
//                                                                       //
//  Diese Funktionen sind urheberrechtlich geschützt! Verwendung (auch   //
//  partiell) nicht ohne meine schriftliche Genehmigung. Auch in         //
//  kommerziellem Umfeld wird sich die "Entlohnung" normalerweise durch  //
//  eine Namensnennung und einen Link erledigt haben!                    //
//                                                                       //
///////////////////////////////////////////////////////////////////////////

/* Default-Werte */
Debug = false;


// BUGME: auto-scrollen ganz nach unten
function InitDebug()
{
  //if(typeof Debug == 'undefined')
  //  Debug = false;

  if (!Debug)
    return;

  var DebugDiv = document.createElement("div");
  // position = fixed ist nur bei den Journals praktisch, bei der Sidebar z.B. sieht man das Debug-Fenster dann nicht
  // DebugDiv.style.position = "fixed";
  DebugDiv.style.top = "10px";
  DebugDiv.style.left = "450px";

  
  var DebugTextArea = document.createElement("textarea");
  DebugTextArea.id = "Debug";
  DebugTextArea.cols="40";
  DebugTextArea.rows="30";
  DebugTextArea.onfocus = function() {this.blur()};
  
  DebugDiv.appendChild(DebugTextArea);
  document.body.appendChild(DebugDiv);

  DebugOut ("Page loaded!\n");
}

/****************************************************
 * Gibt einen Text in der Debug-TextArea aus        *
 ****************************************************/
// BUGME: remove!!!
function DebugOut(Text)
{
  if (!Debug)
    return;

  document.getElementById('Debug').value += Text;
}

/****************************************************
 * Gibt einen Text in der Debug-TextArea aus        *
 ****************************************************/
function debugOut(Text)
{
  if (!Debug)
    return;

  document.getElementById('Debug').value += Text;
}

function ShowDOM()
{
  var DOMWindow = window.open(); 
  
 
  DisplayObject (DOMWindow, document, 1);
  DisplayChildren (DOMWindow, document, 2);
  
  //DOMWindow.close();
}


      // druckt ein Objekt aus
      function DisplayObject(TargetWin, obj, indent)
      {
        var i;
        
//        if (!obj) return;
        
        for (i=0; i<indent; i++)
          TargetWin.document.write("--");
      
        TargetWin.document.write (">Element: " + obj + "; ID: " + obj.id + "; name: " + obj.name + " <br>");     

      }
      
            // druckt ... aus
      function DisplayChildren(TargetWin, obj, indent)
      {
        var i;        
      
        obj = obj.firstChild
        if (!obj)
          return;        
        DisplayObject(TargetWin, obj, indent);
        DisplayChildren(TargetWin, obj, indent+1);

        for (i=0; ; i++)
        {
          obj = obj.nextSibling;
          if (!obj)
            return;
          
          DisplayObject(TargetWin, obj, indent);        
          DisplayChildren(TargetWin, obj, indent+1);         
        }
      }
