function errortrap()
{
 return true;
}
window.onerror=errortrap;

var basedir='./';

TextTitel=new Array(
new Array(
'Startseite','index.html',
'Inhaltsverzeichnis (Sitemap)','sitemap.htm',
'Script Tac Toe - Das Spiel im Netz','tictacto/tictacto.htm',
'No Moles! - Noch ein Spiel im Netz','nomole/index.htm',
'Kontakt-Formular','umfragef.htm',
'Editorial, Impressum und rechtliche Hinweise','edito.htm'
),
new Array(
'Programmieren','codindex_d.htm',
'Übersicht über AMDs x86-64, Teil 1','x86-64.htm',
'Übersicht über AMDs x86-64, Teil 2','x86-64_2.htm',
'Datentypen unter der Lupe','datentyp.htm',
'Bessere Webseiten dank CSS','css.htm',
'Logdateien und Logdienste, Teil 1','log.htm',
'Logdateien und Logdienste, Teil 2','log2.htm',
'Allgemeines rund um Assembler','asmgen_d.htm',
'Optimierungen mit und ohne Assembler','asmopt_d.htm',
'Beschreibung des Protected Mode / V86 Mode','x86modfd_d.htm',
'Protected Mode und eigene Programme','pmodeuse_d.htm',
'Integration eines 3D-CAD-Kerns in Virtual-Reality-Systeme','cadvr/cadvr.htm',
'NPR-Shader für Metalloberflächen in Airbrushtechnik','airbrush/airbrush.htm',
'NPR-Shader für Metalloberflächen in Airbrushtechnik (Quelltexte)','airbrush/src.htm',
'NPR-Shader für Metalloberflächen in Airbrushtechnik (Bilder)','airbrush/bilder.htm',
'Crowd Simulation','crowdsim.htm',
'Audiotechnologien','sound.htm',
'Links zu Seiten rund ums Programmieren','codelinx_d.htm'
),
new Array(
'Win32Asm','wasmtut.htm',
'Teil 1: Grundlagen','w32asm1.htm',
'Teil 2: Fenster und Messages','w32asm2.htm',
'Teil 3: DirectDraw und Soundaufnahme','w32asm3.htm',
'Teil 4: Threads und Synchronisation','w32asm4.htm',
'Teil 5: PE-Dateiformat, Speicherverwaltung, ...','w32asm5.htm',
'Win32 Assembler FAQ','wasmfaq.htm'
),
new Array(
'Herunterladbares','downlds.htm',
'Ravende Gentomaten','tomato4k.htm',
'Technologische Spitzenleistung - Fluelen Remastered 64b','tsfrm.htm',
'Cardomania 4k','atz4k0a08.htm',
'Quadratkontamination 64b','ts64b0a08.htm',
'Snailmail 4k','ts4knv08.htm',
'Only You Can Stop Cowboyism','cowbyism.htm',
'Earl Biohazard & the Dilletantish Disconnecters','earlbio/earlbio.htm',
'Mustermacher 64b','mstrmach.htm',
'X-Messy Sylvester','ts4ktum5.htm',
'Lochfraß 64b','lochfrss.htm',
'Merry SCX-Mess 4k','ts4ktum4.htm',
'Mandal0a000h 4k','ts4k0a04.htm',
'Klappquadrat 32b','klapquad.htm',
'Merry X-Mess 4k','ts4ktum3.htm',
'Hirngespinnst 4k','ts4k0a03.htm',
'Triple(t) 64 and 32b','triplet.htm',
'faktoid','fakt4k.htm',
'Wellen64b','wellen64.htm',
'Zwischenraumhypnose 4k','zhp4k.htm',
'Betrunkene Ameise auf dem Weg zum Klo','ameise.htm',
'Triton Sirius Elysium 4k','tse4k.htm',
'SpacemouseCursorTool','spmcur.htm',
'JoystickMouseTool','jmt.htm',
'JoystickCursorTool','jct.htm',
'weitere kleinere Progrämmchen von mir','tstinprg.htm',
'sonstiges Zubehör','tssware.htm'
),
new Array(
'Software','pcconfig.htm',
'Kleine Browserhelferlein mit JavaScript','jsfav.htm',
'Festplatten über 8GB/32GB/64GB/128GB mit altem BIOS nutzen','over8mb.htm',
'Schneller Zugriff auf Browserlesezeichen als Startseite','bmkfav.htm',
'Nützliche Tools','tools.htm',
'Programme, die auf dem 6x86 nicht laufen wollen','cy6x86cr.htm',
'Spieletips','gametufd.htm',
'autoexec.bat und config.sys für DOS/Win9x einrichten','dosconf.htm',
'Soundkarten-Tips','sctips.htm',
'Störgeräusche bei der Soundwiedergabe mit VIA-Chipsatz beheben','mvp3_zlt.htm',
'Benchmarks: Fact and Fiction','benchmar.htm'
),
new Array(
'Hardware','pchw.htm',
'Flachbildschirme / TFTs optimal verwenden','tftmon.htm',
'Blockschaltbilder einer ISA-Soundkarte und einer PCI-Soundkarte','sndcard.htm',
'Zusätzliche Eingänge für CMI8738-Soundkarten/Soundchips','cmi8738s.htm',
'Grafiktablettstifte reparieren','grafrep.htm',
'CDROM-Laufwerke reparieren','cdrep.htm',
'Digitales CD-ROM-Audiokabel selbstgemacht','digikab.htm',
'Lautstärkeregelung per Tastendruck für SoundBlaster-Karten','sbvolctl.htm',
'Mehr Ordnung und ein geschütztes Mauskabel in 5 Minuten','kbkbl.htm',
'Höhere Genauigkeit für die Maus','maustune.htm',
'Mainboard-Lautsprecher mit der Soundkarte verbinden','sbpcqlnk.htm',
'Standard-PC im Kompaktformat','flach.htm',
'Links zu Seiten rund um Hardware','hwtpslnx.htm'
),
new Array(
'Cartoons und Co','unfug.htm',
'Disketten-Plädoyer','diskette.htm',
'Der legacy-free PC ist da','legacy.htm',
'(Un-)Ordnung','ordnung.htm',
'Fachchinesisch-Wörterbuch','wbuch.htm',
'Das erste Slot-In-CDROM','slotincd.htm',
'Wir basteln uns ein Präservativ','diykondm.htm',
'Es steht schlecht um einen, wenn...','schlimm.htm',
'Vor einer Weile beim PC-Kauf','jungarlt.htm',
'Festordnung','festordn.htm',
'Betriebsausflug','ausflug.htm',
'13 Gebote im Umgang mit EDV-Profis','13gebote.htm',
'Preisliste','preisli.htm'
),
new Array(
'Texte','texte/texte.htm',
'...das digitale Zeitalter','texte/ddigzeit.htm',
'Bereit für die Zukunft?','texte/profis.htm',
'Cellularitis','texte/cell.htm',
'Hundstage','texte/freibad.htm',
'Werte Information Luxus Daten','texte/wild.htm',
'Hopp oder Topf','texte/topf.htm',
'Verhaltensauffällig','texte/vrhltflg.htm',
'Tod der Maus','texte/maustod.htm',
'Augenblick der Ewigkeit','texte/ewigkeit.htm',
'Alte Bücher machen Klücher','texte/altbuch.htm',
'Nachtwächter','texte/nachtwch.htm',
'Verlauf','texte/verlauf.htm')
);

function setbasedir()
{
 var adresse=location.href;
 if(top.frames.length>0)
 {
  adresse=top.location.href;
 }

 if(adresse.lastIndexOf("#")!=-1)
 {
  adresse=adresse.substring(0,adresse.lastIndexOf("#"));
 }

 var j=0;
 while(j<TextTitel.length)
 {
  var i=0;
  while((2*i)<TextTitel[j].length)
  {
   var subaddr=TextTitel[j][2*i+1];
   var subadrpos=adresse.indexOf(subaddr);
   if(subadrpos>=0)
   {
    basedir=adresse.substring(0,subadrpos);
   }
   i++;
  }
  j++;
 }
};

function getIndex()
{
 var adresse=location.href;
 if(top.frames.length>0)
 {
  adresse=top.location.href;
 }

 if(adresse.lastIndexOf("#")!=-1)
 {
  adresse=adresse.substring(0,adresse.lastIndexOf("#"));
 }

 var j=0;
 while(j<TextTitel.length)
 {
  var i=0;
  while((2*i)<TextTitel[j].length)
  {
   var subaddr=TextTitel[j][2*i+1];
   var subadrpos=adresse.indexOf(subaddr);
   if(subadrpos>=0)
   {
    return { chapter:j,page:i };
   }
   i++;
  }
  j++;
 }
 return { chapter:0, page:0 };
};


function p()
{
 var pos = getIndex();
 return GetURL(pos.chapter,pos.page-1);
}

function n()
{
 var pos = getIndex();
 return GetURL(pos.chapter,pos.page+1);
}

function u()
{
 var pos = getIndex();
 return GetURL((pos.page != 0) ? pos.chapter : 0, 0);
}

function f()
{
 var pos = getIndex();
 return GetURL(pos.chapter, 0);
}

function l()
{
 var pos = getIndex();
 return GetURL(pos.chapter, 999);
}

function GetURL(chapter, page)
{
 var TextTitelC=TextTitel[Math.max(0,Math.min(chapter,TextTitel.length-1))];
 var TextTitelCP=TextTitelC[Math.max(0,Math.min(page,TextTitelC.length/2-1))*2+1];
 return basedir+TextTitelCP;
}

setbasedir();

var head = document.getElementsByTagName('head')[0];
head.innerHTML += 
'<link rel="home" href="'+basedir+'index.html" title="Startseite">' +
'<link rel="contents" href="'+basedir+'sitemap.htm" title="Inhaltsverzeichnis">' +
'<link rel="author" href="'+basedir+'edito.htm#2" title="Autor">' +
'<link rel="copyright" href="'+basedir+'edito.htm#3" title="Copyright">' +
'<link rel"first" href="'+f()+'" title="Erste Seite">' +
'<link rel="prev" href="'+p()+'" title="Seite zurück">' +
'<link rel="next" href="'+n()+'" title="Seite vor">' +
'<link rel="last" href="'+l()+'" title="Letzte Seite">' +
'<link rel="up" href="'+u()+'" title="Kapitel">' +
'<link rel="shortcut icon" href="favicon.ico">' +
'<link href="'+basedir+'dropdown.css" media="screen" rel="stylesheet" type="text/css" />';


if((window.innerWidth ? window.innerWidth : screen.availWidth) > 600)
{
	document.open();
	
	 document.write('<ul id="navdropdown">');
	 var j=0;
	 while(j<TextTitel.length)
	 {
	  var name = TextTitel[j][0];
	  var url  = basedir+TextTitel[j][1];
	  document.write('<li><a href="'+url+'" target="_top">'+name+'</a><ul>');
	  var i=1;
	  while((2*i)<TextTitel[j].length)
	  {
	   var name =TextTitel[j][2*i];
	   var url  =basedir+TextTitel[j][2*i+1];
	   document.write('<li><a href="'+url+'" target="_top">'+name+'</a></li>');
	   i++;
	  }
	  document.write('</ul></li>');
	  j++;
	 }
	 document.write('</ul><hr/>');
	
	document.close();
}
