/* 
    Titel: J|G JSExplorer
    Autor: Johannes Gamperl
    email: jg@jg.seite.net

    Copyright (c) J|G Webdesign & Programmierung - Johannes Gamperl, 1998. 
    All rights reserved. Alle Rechte vorbehalten. URL: http://jg.seite.net

    Dieser Code darf für nicht-kommerzielle sowie kommerzielle Zwecke frei
    genutzt und angepaßt werden, solange dies unentgeltlich erfolgt und
    dieser Vermerk bestehen bleibt. 
*/

// --------------------------------------------------------------------------------------------------
// in der Datei item.js werden die einzelnen Menüpunkte definiert
// ---------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------
// Globale, Allgemeine Variablen:  definieren Buch Seite 258
//-------------------------------------------------------------------

var Kopfzeile = "1. WV Wunstorf";
var frm_menu = "menu";
var frm_source = "source";
var frm_target = "start";
var fontsize   = '1';
var fonttype   = 'Arial';
var ordner_zu  = 'Ordner auf';
var ordner_auf = 'Ordner zu';
var url_img = 1;
var style = 1;
var navbox = 0;

var titel  = "Home";
var bg_pic = "";
var bg_col = "#F0F0F0";  // grau
//var bg_col=   "#FFFFFF";

var tx_col = "#000000";
var li_col = "#000000";
var al_col = "#000000";
var vl_col = "#000000";

// ____________________________________
// Öffnet die Startseite
// -----------------------------------------------------------------
function Startseite() 
{ 
parent.start.location ="start.htm";
} 


// -------------------------------------------------------------------------------------------------------------------
// Buch Seite 257, steuert, daß das ganze Menü auf, bzw. geschlossen wird.
// -------------------------------------------------------------------------------------------------------------------
function auf_zu(wert) 
{
with (parent.frames['source'].menu) 
	{
 	 items[0].expanded = wert;
	 items[1].expanded = wert;
	 items[2].expanded = wert;
	 items[3].expanded = wert;
	 items[4].expanded = wert;
	 items[5].expanded = wert;
	 items[6].expanded = wert;
	 items[7].expanded = wert;
	 items[8].expanded = wert;
	 items[9].expanded = wert;
	 items[10].expanded = wert;
	 items[10].submenu.items[0].expanded = wert;
	 items[11].expanded = wert;
   //   items[2].submenu.items[0].submenu.items[2].expanded = wert;	  
   //   items[2].submenu.items[1].expanded = wert;	  
	 }
parent.frames['source'].zeichne_Baumstruktur(parent.frames['source'].menu);
Startseite();
} // auf_zu(wert)


//-----------------------------------------------------
// Objekte definieren und Array's initialisieren
//-----------------------------------------------------


function MenuItem(text, url, target, maus, imgs) 
{
	this.text     = text;
    this.url      = url;
	if (target) this.target = target;
	    else this.target = frm_target;
    this.maus     = maus;
	this.imgs      = imgs;
    this.submenu  = null;
    this.expanded = false;
    this.makeSubmenu = makeSubmenu;
    }


function makeSubmenu(menu) 
{
	this.submenu = menu;
    }


function Menu() 
{
	this.items = new Array();
	this.addItem = addItem;
    }


function addItem(item) {
	this.items[this.items.length] = item;
    }

// -----------------------------------------------------------------------------
// weitere globale Variablen
// -----------------------------------------------------------------------------

var doc = parent.frames[frm_menu].document;
var abstand;
var grafik = new Array();
var indizes = new Array();


//-----------------------------------------------------
// Baumstruktur zeichnen, Ordner auf und zu
//-----------------------------------------------------


function zeichne_Baumstruktur(menu) {

  abstand = 0;
  titelsize = parseInt(fontsize)+1;
  doc.open('text/html', 'replace');
  if (style) 
{
	doc.write('<STYLE Type="text/css">a:link{text-decoration: none; color:black;}a:visited { text-decoration:none; color: black; }a:active { text-decoration:none; color:black; }</STYLE>');
	
}

  doc.write('<BODY BGCOLOR="' +bg_col+ '" BACKGROUND="' +bg_pic+ '" TEXT="' +tx_col+
  			' LINK="' +li_col+ '" ALINK="' +al_col+ '" VLINK="' +vl_col+ '">');
  
  // -- [Ab hier Kopfbereich]  Buch Seite 254, Kapitel 14.1.1
  // -- Mit doc.write kann eigener Inhalt geschrieben werden
  // -- z.B. doc.write('Dies ist meine eigene Kopfzeile!');
  doc.write('<FONT FACE="' +fonttype+ '" SIZE="' +titelsize+ '"><b>' + Kopfzeile + '</b></font><p>');

  doc.write('<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>');
// Zeichen vor Inhalt: href="javascript: parent.source.auf_zu(false)"
  doc.write('<TR VALIGN=top><TD><a  href="javascript: parent.source.auf_zu(false)" ><IMG SRC="images/menu_root.gif" WIDTH=18 HEIGHT=18 ALIGN=left BORDER=0 VSPACE=0 HSPACE=0></a>');
// Ordnerüberschrift "Inhalt" mit Text: titel
doc.write('<FONT FACE="' +fonttype+ '" SIZE="' +titelsize+ '">&nbsp;' +'<a   href="javascript: parent.source.auf_zu(true)" >' + titel+ '</a></FONT></TD></TR>');
// style="text-decoration: none;  color: black; font-size:9pt;"
  zeige_Ordner_Inhalt(menu);
  doc.write('</TABLE>');
  
  // -- [Ab hier Fußbereich]
  // -- Mit doc.write kann eigener Inhalt geschrieben werden
  // -- z.B. doc.write('Dies ist meine eigene Fußzeile!');
  
  // -- eine Leerzeilen
  doc.write('<br />');
  
  // -- Ein Bild
  doc.write('<img alt="" src="images/vereinslogo.jpg" />');


  //doc.write('<a href="javascript:parent.source.test(true)">AUF</a>');
  //doc.write('<a href="javascript:parent.source.test(false)">ZU</a>');
  doc.close();
  return false;

}


function zeige_Ordner_Inhalt(menu) {

	for (var i = 0; i < menu.items.length; i++) {
    	 indizes[abstand] = i;
         zeichne_Ordnerstruktur(menu.items[i], (i == menu.items.length - 1));
		 }
}


function zeichne_Ordnerstruktur(item, last, schalter) {

	var frm = "parent.frames['" +frm_source+ "']";
	var cmd = frm + ".zeichne_Baumstruktur(" + frm + ".menu)";
	var ref = frm + ".menu.items[" + indizes[0] + "]";
	var i, img, more;

    doc.write('<TR VALIGN=TOP><TD>');

    for (i = 0; i < abstand; i++) {
         if (grafik[i])
             doc.write('<IMG SRC="images/menu_linie.gif" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');
         else
             doc.write('<IMG SRC="images/menu_leer.gif" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');

	     more = false;
    }

	if (item.submenu)
        for (i = 0; i < item.submenu.items.length; i++) {
             if (item.submenu.items[i].submenu != null) more = true;
             }

	if (!more) {
        if (last) img = "images/menu_was_3.gif";
        else img = "images/menu_was_2.gif";

        doc.write('<img src="' + img + '" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');
    }

    for (i = 1; i <= abstand; i++) {
         ref += ".submenu.items[" + indizes[i] + "]";
         }


    // -- [Menüpunkte und Verweise ausgeben]

	if (item.url != "")
		if (navbox)
			doc.write('<A HREF="JavaScript:void(0)" onClick="parent.window.opener.location.href=\'' + item.url + '\'"' +
			          '" onMouseOver="parent.window.opener.status=\'' +item.maus+ '\';return true"' +
					  '  onMouseOut="parent.window.opener.status=\'\'">');
		else
		    doc.write('<A HREF="' + item.url + '" TARGET="' + item.target +
			          '" onMouseOver="window.status=\'' +item.maus+ '\';return true" onMouseOut="window.status=\'\'">');

    else {

    if (item.expanded)
        doc.write('<A HREF="#" onClick="' + ref + '.expanded = false; return ' + cmd + ';"' +
		          ' onMouseOver="window.status=\'' +ordner_auf+ '\';return true" onMouseOut="window.status=\'\'">');
        else
        doc.write('<A HREF="#" onClick="' + ref + '.expanded = true; return ' + cmd + ';"' +
		          ' onMouseOver="window.status=\'' +ordner_zu+ '\';return true" onMouseOut="window.status=\'\'">');
    }

    // -- [Ordner auf/zu - Grafiken zeichnen (+/-)]
 
	if (more) {
        if (item.expanded) {
            if (last) img = "images/menu_minus_2.gif";
            else img = "images/menu_minus_1.gif";
        }
        else {
            if (last) img = "images/menu_plus_2.gif";
            else img = "images/menu_plus_1.gif";
        }

	    doc.write('<IMG SRC="' + img + '" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');
    }

    // -- [Ordner auf/zu - Grafiken zeichnen (Ordner)]

	if (item.submenu) {
	    if (item.expanded) img = "images/menu_ordner_auf.gif";
        else img = "images/menu_ordner_zu.gif";
    }
	

	/* else {if (item.url.indexOf("http://") == 0)img = "menu_doc_url.gif";
       else img = "menu_doc_lokal.gif"; } */


    // -- [Grafiken für die Einträge bestimmen]

	if (item.url != "") {
        if (!item.imgs) item.imgs = 'menu_doc_1.gif'; // default Grafik
		if (url_img) { if (item.url.indexOf("http://") == 0) item.imgs = "menu_doc_url.gif"; } // default URL
	    doc.write('<IMG SRC="images/' + item.imgs + '" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0>');
	    doc.write('<FONT FACE="' +fonttype+ '" SIZE="' +fontsize+ '">&nbsp;' + item.text + '</FONT></A>');
	} else {
        doc.write('<IMG SRC="' + img + '" WIDTH=18 HEIGHT=18 ALIGN="left" BORDER=0 VSPACE=0 HSPACE=0></A>');
	    doc.write('<FONT FACE="' +fonttype+ '" SIZE="' +fontsize+ '">&nbsp;' + item.text + '</FONT>');
    }
    doc.write('</TD></TR>');

    // -- [Ende]

	if (item.expanded) {
        if (!last) grafik[abstand] = true;
        else grafik[abstand] = false;

        abstand++;
        zeige_Ordner_Inhalt(item.submenu);
        abstand--;
	}
    else grafik[i] = false;
 }



document.write('<SCRIPT LANGUAGE="JavaScript" SRC="item.js"></SCRIPT>');
document.write('</HEAD>');
document.write('<BODY BGCOLOR="' +bg_col+ '" BACKGROUND="' +bg_pic+ '" onLoad="zeichne_Baumstruktur(menu)">');



