/************************************************************************\
 * Start der Konfigurationseinstellungen                                * 
\************************************************************************/
var background  = 'pics/white.gif';            /* Hintergrundbild							*/
var picsfolder = 'pics/';        /* Ordner der Bilder                    */
var targetwindow = 'haupt';      /* Name des Zielfensters               */                                 
var font = 'ms sans serif, arial';
                                 /* Zu verwendende Schriftart(en)       */
var size = 3;                    /* Basisschriftgröße                   */

var font_color  = '#ffffff';     /* Schriftfarbe               #ffffff  */      
var link_color  = '#0000ff';	 /* Farbe der Links            #ffff00  */
var vlink_color = '#0000ff';     /* Farbe von besuchten Links  #ffff00  */
var alink_color = '#ff0000';     /* Farbe von aktiven Links    #00ff00  */

/************************************************************************\
 * Ende der Konfigurationseinstellungen                                 * 
\************************************************************************/

var Items = new Array();         /* Referenzarray aller Objekte         */
var new_ID = 0;                  /* Nummer innerhalb des Referenzarrays */
																							
/************************************************************************\    
 *  add_Item(Item) -> Hinzufügen eines Objekts								   *
 *																							   *
 *  Parameter:  Item -> das hinzuzufügende Objekt								*
 *																							   *
 *  METHODE des Objekts Item															*
\************************************************************************/

function add_Item(Item) {										 
  this.subItem = this.subItem.concat(new Array(Item));  /* Nicht push(...), da nicht IE-kompatibel */ 
  this.subcounter++;                                    /* Anzahl der Unterobjekte erhöhen         */
  return Item; 													  /* Für Zuweisung bei der Baumdefinition    */
}   

/************************************************************************\    
 *  draw_Item(last) -> Zeichnen eines Objekts								   *
 *																							   *
 *  Parameter:  last -> Ist das Element das letzte Objekt            	*
 *                      unterhalb des höheren Objekts?                  *
 *																							   *
 *  METHODE des Objekts Item															*
\************************************************************************/
   
function draw_Item(last, vor) 
  {
    lstat = picsfolder + 'line';			               /* Grunddateiname der gestrichelten Linie      */
    lstat += last ? '_c' : '_t';			               /* Wenn letztes Objekt, dann Linie beenden     */
    fstat = picsfolder + 'folder';			            /* Grunddateiname der Ordner                   */
    fstat += this.open ? '_o' : '';		               /* Wenn Ordner offen, dann nimm offenen Ordner */
    mes = 'Ordner';								            /* Grundnachricht beim Anwählen eines Ordners  */ 
  
    with(menu.document) 
      {
	     write(vor);
        if(this.url == '')                            /* Objekt ist ein Ordner                       */
          {
            if(this.subcounter != 0)                  /* Ordner ist nicht leer                       */
              {
		          if(this.open) 					         /* Wenn Ordner offen, dann                     */
                  {
		              lstat += '_m';                    /* zeichne vor Ordner (-) und                  */
		              mes   += ' schlie&szlig;en';      /* und passe Statustext an.		         	   */
		            } 
                else                                  /* Sonst                                       */
                  {
		              lstat += '_p';						   /* zeichne vor Ordner (+) und                  */
			           mes   += ' &ouml;ffnen';          /* passe Statustext an.                        */
		            }											   /* Öffnen möglich, d.h. <a ...>                */
                write('          <a href="javascript: top.open_close_folder(', this.id, '); top.write_tree();"' +
                      'onMouseOver="top.window.status=\'', mes, '\'; return true;"' +
                      'onMouseOut="top.window.status=\'\'; return true;">');
              } 											      /* Zeichnen von Linie, Ordner und Text:        */
            write('          <img src="', lstat, '.gif" width="20" height="20" border="0" align="left" vspace="0" hspace="0">\n' + 
                  '          <img src="', fstat, '.gif" width="20" height="20" border="0" align="left" vspace="0" hspace="0">\n' + 
                  '          <font size=', size, ' face="', font, '">&nbsp;', this.name, '</font></a>');
          } 
        else                                          /* Objekt ist Datei                            */
          {
            write('          <img src="', lstat, '.gif" width="20" height="20" border="0" align="left" vspace="0" hspace="0">' + 
                  '<a href="', this.url, '" onMouseOver="top.window.status=\'', this.doku, '\'; return true;" ' +
                  'onMouseOut="top.window.status=\'\'; return true;" target="' + targetwindow + '">' +	                  
                  '<img src="' + picsfolder + 'html.gif" width="20" height="20" border="0" align="left" vspace="0" hspace="0">' +            
                  '<font size="', size, '" face="', font, '">&nbsp;', this.name, '</font></a>'); 
          }
      } 
  }

/************************************************************************\    
 *  draw_subItems(hpos) -> Zeichnen der Unterobjekte eines Objekts      *
 *																							   *
 *  Parameter:  hpos -> Position innerhalb der Baumstruktur          	*
 *																							   *
 *	 METHODE des Objekts Item														   *
\************************************************************************/

function draw_subItem(vpos, last, vor) 
  {
    with(menu.document) 
      {
        write('    <tr valign="top">\n' +
              '      <td>\n');
        this.draw_Item(last, vor);   /* Zeichnen des Objekts             */
        write('</td>\n' +
              '    </tr>\n');      
      }
	 if(this.open) 
      {
        var j = 0;
		  if(!last) 
          {
            vor += '         <img src="' + picsfolder + 'line_n.gif" height="20" width="20" border="0" align="left" vspace="0" hspace="0">\n'; 
	       }
        else 
          {
	         vor += '         <img src="' + picsfolder + 'point.gif" height="20" width="20" border="0" align="left" vspace="0" hspace="0">\n'; 
		    } 	
        while(j < this.subcounter) 
          {
	         this.subItem[j].draw_subItem(j, j == this.subcounter - 1, vor);	/* Zeichnen der Unterobjekte von Home */
	         j++;
		    }
		  vor = '';
      }
  }       

/************************************************************************\    
 *  open_close_folder(ID) -> Öffnen/Schließen eines Ordners             *
 *																							   *
 *  Parameter:  ID   -> Die ID des zu öffnenden/schließenden Ordners 	*
 *                      unterhalb des höheren Objekts?                  *
 *                                                                      *
 *  FUNKTION                                                            *
\************************************************************************/

function open_close_folder(ID) 
  {
    Items[ID].open = !Items[ID].open; 
  }

/************************************************************************\    
 *  last() -> Ist Objekt letztes Element?                               *
 *																							   *
 *  Parameter:  keine                                                	*
 *                                                                      *
 *  FUNKTION                                                            *
\************************************************************************/

function last() 
  {
    return this[i+1];
  }

/************************************************************************\    
 *  Item(name, url, doku) -> Ein Ordner oder eine Datei					   *
 *																							   *
 *  Parameter:  name -> Name des Ornders/der Datei                   	*
 *     			 url  -> URL einer Datei                                 *
 *              doku -> Text für Statuszeile des Browsers               *
 *                                                                      *
 *  OBJEKT                                                              *
\************************************************************************/

function Item(name, url, doku) 
  {
    this.name = name;			              /* Name des Ordners oder der Datei                 */
    this.url = url;                         /* Wenn keine URL dann Ordner, sonst URL der Datei */
    this.open = false;       				     /* Status des Ordners - bei Datei kein Effekt      */
    this.subItem = new Array();             /* Array der Unterobjekte                          */
    this.id = new_ID;							  /* ID des Objekts                                  */
    if(doku == '')                          /* Wenn kein Standardtext für Statuszeile,         */
      {						                    
        this.doku = name;						  /* dann nimm den Namen des Objekts                 */
      } 
    else                                    /* Ansonsten 												  */	
      {										  
        this.doku = doku;                   /* weise den Standardtext zu                       */
      } 
    new_ID++;                               /* Nächste zu vergebene ID                         */
    var subcounter = 0;						     /* Anzahl der Unterobjekte - bei Dateien immer 0   */
    Items = Items.concat(new Array(this));  /* Alle Objekte in Items, über ID ansprechbar      */
                                            /* Nicht push(...), da nicht IE-kompatibel         */
    this.subcounter = subcounter;           /* Definition der Objektmethoden                   */
    this.add_Item = add_Item;
    this.draw_Item = draw_Item;
    this.draw_subItem = draw_subItem;
    this.open_close_folder = open_close_folder 
    this.last = last;
  }

/************************************************************************\    
 *  write_tree() -> Zeichnen des gesamten Baums          				   *
 *																							   *
 *  Parameter:  keine                                                	*
 *                                                                      *
 *  FUNKTION                                                            *
\************************************************************************/

function write_tree() 
  {
    with(menu.document) 
      {
        open('text/html', 'replace');
        write('<html>\n' +
          '<head>\n' +
          '  <title>(2006) Electronic-Designs</title>\n' +
			 '  <style TYPE="text/css"> A { text-decoration: none; } </style>\n' +
          '</head>\n' +
          '<body background="', background, '" text="', font_color, '" link="', link_color, '" vlink="', vlink_color, '" alink="', alink_color, '">\n' +
   		 '  <table border="0" cellspacing="0" cellpadding="0">\n' +
          '    <tr valign="top">\n      <td>\n' +         
          '          <a href="start_g.html" onMouseOver="top.window.status=\'Home\'; return true;" onMouseOut="top.window.status=\'\'; return true;" target="' + targetwindow + '">' +
          '          <img src="' + picsfolder + 'home_neu.gif" width="170" height="53" border="0" align="left" vspace="0" hspace="0">\n' +
          '          <font size=', size, ' face="', font, '">&nbsp;', home.name, '</font></a></td>\n' +
          '    </tr>\n');
        for(i = 0; i < home.subcounter; i++)   
          {                                                                     /* Zeichnen der Unterobjekte von Home */
            home.subItem[i].draw_subItem(i, i == home.subcounter - 1, '');	
          }
        write('  </table>\n  </body>\n </html>\n');
        close();
      }
   }
 
/************************************************************************\
 * Definition der Ordnerstruktur                                        *
\************************************************************************/

   var home = new Item('');

/*\
       var ord1 = home.add_Item(new Item('Ordner 1', ''));      
			  ord1.add_Item(new Item('Seite 1-1', '1_1.html', 'Zu Seite 1-1'));
			  ord1.add_Item(new Item('Seite 1-2', '1_2.html', 'Zu Seite 1-2'));



       var ord2 = home.add_Item(new Item('German', ''));

       ord2.add_Item(new Item('Wir über uns', '2-1.html', 'Informationen über uns'));
\*/

			  var ord2_2 = home.add_Item(new Item('Unternehmen', ''));
		             ord2_2.add_Item(new Item('Wir über uns', '2-1.html', 'Informationen über uns'));
		             ord2_2.add_Item(new Item('Dienstleistung', '2-2.html', 'Unsere Dienstleistungen auf einen Blick'));
		             ord2_2.add_Item(new Item('Erfahrung', '2-4.html', 'Auf diese Erfahrung können wir blicken'));
		             ord2_2.add_Item(new Item('Ausrüstung', '2-3.html', 'Das ist unsere technische Ausrüstung'));
			     ord2_2.add_Item(new Item('Haftung', '2-9.html', 'Haftungsausschluss der gelinkten Seiten'));
			     ord2_2.add_Item(new Item('AGB', '2-13.html', 'Allgemeine Geschäftsbedingungen'));

                             

/*\

			  var ord2_2 = home.add_Item(new Item('Hardware', ''));

			      var ord2_2_1 = ord2_2.add_Item(new Item('Konverter', ''));
			          ord2_2_1.add_Item(new Item('232422T1', '2-6-1.html', '56kBit RS232/RS422-Konverter'));
			          ord2_2_1.add_Item(new Item('232422T2', '2-6-2.html', '115kBit RS232/RS422-Konverter'));
			          ord2_2_1.add_Item(new Item('232422T3', '2-6-3.html', '115kBit RS232/RS422-Konverter galvanisch getrennt'));
			          ord2_2_1.add_Item(new Item('232422T4', '2-6-41.html', '500kBit RS232/RS422-Konverter galvanisch getrennt im kleinen Gehäuse'));
			          ord2_2_1.add_Item(new Item('232485T1', '2-6-4.html', '56kBit RS232/RS485-Konverter'));
			          ord2_2_1.add_Item(new Item('232485T2', '2-6-5.html', '115kBit RS232/RS485-Konverter mit RS232 seitiger Spannungsversorgung'));
			          ord2_2_1.add_Item(new Item('422422T1', '2-6-26.html', '250kBit RS422/RS422-Entkoppeleinheit mit optischer Isolierung'));
			          ord2_2_1.add_Item(new Item('USB422T1', '2-6-28.html', '1MBit USB2.0/RS422-Konverter'));
			          ord2_2_1.add_Item(new Item('USB422T2', '2-6-42.html', '1MBit USB2.0/RS422-Konverter mit Mini-USB und Tx/Rx-LED'));
                                  ord2_2_1.add_Item(new Item('USB422T3', '2-6-44.html', '1MBit USB2.0/RS422-Konverter mit Mini-USB und rueckwaertigen Tx/Rx-LED'));
			          ord2_2_1.add_Item(new Item('USB485T1', '2-6-29.html', '1MBit USB2.0/RS485-Konverter'));
			          ord2_2_1.add_Item(new Item('TMS232T1', '2-6-38.html', 'Galvanisch getrennter serieller Datenumsetzer für TMS-Steuerungen'));
			          ord2_2_1.add_Item(new Item('USB-ER', '2-6-27.html', 'Bidirektionaler, serieller Datenumsetzer von USB2.0 auf 433Mhz-Transceiver'));


			      var ord2_2_2 = ord2_2.add_Item(new Item('Telemetrie', ''));
			          ord2_2_2.add_Item(new Item('DBI', '2-6-7.html', 'Data-Bus-Interface'));
			          ord2_2_2.add_Item(new Item('M128GSM1', '2-6-30.html', 'Fernkonfigurierbares Steuerungs,Alarm und Überwachungseinrichtung via GSM-Mobilfunknetz'));
			          ord2_2_2.add_Item(new Item('GSM-DT', '2-6-22.html', 'Diagnosewerkzeug für MS-steuerungen'));
			          ord2_2_2.add_Item(new Item('LIM-EXT', '2-6-23.html', 'Erweiterungsbaugruppe für GSM-DT'));
			          ord2_2_2.add_Item(new Item('SERVALVE', '2-6-16.html', 'Servoventil mit RS485-Feldbus'));
			          ord2_2_2.add_Item(new Item('E-TCP/IP', '2-6-25.html', 'AVR/8252-Evaluationboard mit TCPIP-ASIC'));


			      var ord2_2_3 = ord2_2.add_Item(new Item('Steuerungen', ''));
			          ord2_2_3.add_Item(new Item('LOMO24R', '2-6-8.html', 'programmierbares Logikmodul 2Input/4Rel-Output'));
			          ord2_2_3.add_Item(new Item('LOMOMAX', '2-6-9.html', 'programmierbares Logikmodul mit vielen Features'));
			          ord2_2_3.add_Item(new Item('LOMOPROG', '2-6-10.html', 'Programmierkit für Logikmodule'));


			      var ord2_2_4 = ord2_2.add_Item(new Item('Sonstiges', ''));
			          ord2_2_4.add_Item(new Item('LPT-TP', '2-6-6.html', 'Triggerplug für Oszilloskop'));
			          ord2_2_4.add_Item(new Item('PWMG', '2-6-19.html', 'frei programmierbarer PWM-Generator'));
			          ord2_2_4.add_Item(new Item('PS300W', '2-6-31.html', '300W-Doppelstromversorgung für Schrittmotorantriebe mit Softstart'));
			          ord2_2_4.add_Item(new Item('LC2EVMON1', '2-6-32.html', 'Status und Eventanzeige für LC2-Steuerung'));
			          ord2_2_4.add_Item(new Item('LC2EVMON2', '2-6-43.html', 'Programmierbare Statusanzeige'));
			          ord2_2_4.add_Item(new Item('DTLOG', '2-6-33.html', 'Langzeitdatenlogger mit Datenspeicherung auf MMC'));
			          ord2_2_4.add_Item(new Item('REMCUT', '2-6-34.html', 'Restspannungsunterdrückung bei RS422-Schnittstellen'));
			          ord2_2_4.add_Item(new Item('KDisp', '2-6-40.html', 'Statusterminal für ECS-Steuerungen'));


                              var ord2_3 = home.add_Item(new Item('Software', '')); 
			          ord2_3.add_Item(new Item('WINTERM', '2-6-24.html', 'PC-Software für GSM-DT'));
			          ord2_3.add_Item(new Item('MECSTERM', '2-6-13.html', 'Ferndiagnose-Software für Steuerungssysteme'));
			          ord2_3.add_Item(new Item('SERVOTERM', '2-6-17.html', 'Fernsteuer-Software für SERVALVE'));
			          ord2_3.add_Item(new Item('AC-REMOTE', '2-6-15.html', 'Fernsteuer-Software für ACON'));


                              var ord2_4 = home.add_Item(new Item('Systeme', ''));
			          var ord2_4_1 = ord2_4.add_Item(new Item('GSM-DT', ''));
			              ord2_4_1.add_Item(new Item('GSM-DT', '2-6-22.html', 'Diagnosewerkzeug für MS-steuerungen'));
			              ord2_4_1.add_Item(new Item('LIM-EXT', '2-6-23.html', 'Erweiterungsbaugruppe für GSM-DT'));
			              ord2_4_1.add_Item(new Item('WINTERM', '2-6-24.html', 'PC-Software für GSM-DT'));
			              ord2_4_1.add_Item(new Item('232422T1', '2-6-1.html', 'Konverter zwischen GSM-DT und WINTERM'));
			              ord2_4_1.add_Item(new Item('USB422T1', '2-6-28.html', 'USB-Konverter zwischen GSM-DT und WINTERM'));


			          var ord2_4_2 = ord2_4.add_Item(new Item('Audiocontrol', ''));
			              ord2_4_2.add_Item(new Item('ACON', '2-6-14.html', 'Steuerungsmodul für Audio-Vorverstärker'));
			              ord2_4_2.add_Item(new Item('LAU', '2-6-20.html', 'Level-Adjusting-Unit für ACON'));
			              ord2_4_2.add_Item(new Item('ACPS', '2-6-21.html', 'Netzteil für LAU und ACON'));
			              ord2_4_2.add_Item(new Item('232485T1', '2-6-4.html', 'Konverter für AC-Remote'));
			              ord2_4_2.add_Item(new Item('AC-REMOTE', '2-6-15.html', 'Fernsteuer-Software für ACON'));


			          var ord2_4_3 = ord2_4.add_Item(new Item('MDisp', ''));
			              ord2_4_3.add_Item(new Item('MDISP', '2-6-35.html', 'Universelle 490-Dot Matrixanzeige'));
			              ord2_4_3.add_Item(new Item('MDISPPRG', '2-6-36.html', 'Programmiertool für MDisp'));
			              ord2_4_3.add_Item(new Item('MDISPCONFIG', '2-6-37.html', 'PC-Software zur Konfiguration von MDisp'));


			          var ord2_4_4 = ord2_4.add_Item(new Item('OLED-Button', ''));
			              ord2_4_4.add_Item(new Item('OLEDBUTTON', '2-6-45.html', 'dynamischer Pushbutton mit OLED-Display'));
                                      ord2_4_4.add_Item(new Item('OLEDCNTRL', '2-6-46.html', 'Steuergeraet für OLED-Pushbuttons im Busverbund'));
			              ord2_4_4.add_Item(new Item('OLEDPB1SDK', '2-6-47.html', 'PC-Software zur Konfiguration des OLED-Pushbutton'));



			          var ord2_4_5 = ord2_4.add_Item(new Item('CTERM', ''));
			              ord2_4_5.add_Item(new Item('CTERM2', '2-6-48.html', 'universelle Automatensteuerung für ccTalk-Geräte'));
			              ord2_4_5.add_Item(new Item('CTBUZ', '2-6-49.html', 'externer Buzzer zum Anschluss an CTERM2'));
			              ord2_4_5.add_Item(new Item('CTHDMI', '2-6-50.html', 'HDMI-Umschalter zum Anschluss an CTERM2'));
                                      ord2_4_5.add_Item(new Item('ZUBEHOER', '2-6-51.html', 'weiteres Zubehoer fuer CTERM2-basierte Automatensteuerung'));




\*/


		     home.add_Item(new Item('Aktuell', '2-5-1.html', 'aktuelle Projekte die sich in der Bearbeitung befinden'));
		     home.add_Item(new Item('Referenzen', '2-8.html', 'unsere Kunden...'));
	             home.add_Item(new Item('Ihr Projekt ?', '2-6-18.html', 'Wir unterstützen Sie bei Ihrem Projekt'));
		     home.add_Item(new Item('Kontakt', '2-11.html', 'So erreichen Sie uns'));
                     home.add_Item(new Item('Impressum', '2-12.html', 'Impressum'));






/*\
		     
		     home.add_Item(new Item('Mini-Shop', './user/3-1.html', 'Bereich für registrierte Kunden'));


			      var ord2_2_2 = ord2_2.add_Item(new Item('Ordner 2.2.2', ''));
					    ord2_2_2.add_Item(new Item('Seite 2.2.2-1', '2_2_2-1.html', 'Zu Seite 2.2.2-1')); 
					    ord2_2_2.add_Item(new Item('Seite 2.2.2-2', '2_2_2-2.html', 'Zu Seite 2.2.2-2')); 

			      var ord2_2_3 = ord2_2.add_Item(new Item('Ordner 2.2.3', ''));
					    ord2_2_3.add_Item(new Item('Seite 2.2.3-1', '2_2_3-1.html', 'Zu Seite 2.2.3-1')); 
					    ord2_2_3.add_Item(new Item('Seite 2.2.3-2', '2_2_3-2.html', 'Zu Seite 2.2.3-2')); 

       
		 var ord3 = home.add_Item(new Item('Ordner 3', ''));


       var ord4 = home.add_Item(new Item('Ordner 4', ''));
		     ord4.add_Item(new Item('Seite 4-1', '4-1.html', 'Zu Seite 4-1'));
			  ord4.add_Item(new Item('Seite 4-2', '4-2.html', 'Zu Seite 4-2'));


		 var ord5 = home.add_Item(new Item('Ordner 5', ''));


		 home.add_Item(new Item('Partner', '1.html', 'Co-Operationspartner'));

\*/






       
/************************************************************************\
 * Ende der Definition                                                  *
\************************************************************************/


