function generateWindow(tabledata)
{
  neuesFenster = open("", "_blank","height=600,width=700,menubar=yes,toolbar=yes,status=yes,scrollbars=yes,resizable=yes,dependent=yes");
  neuesFenster.document.open();
  with (neuesFenster.document) {
	writeln("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
	writeln("<html lang=\"de\">");
	writeln("<head>");
	writeln("<title>InfoZoom Druckseite</title>");
	writeln("<link rel=\"stylesheet\" href=\"../../kes.css\" type=\"text/css\" media=\"screen\">");
	writeln("<link rel=\"stylesheet\" href=\"../../kes.css\" type=\"text/css\" media=\"print\">");
	writeln("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">");

	writeln("<script type=\"text/javascript\">");
	writeln("<!--");
	// de-comment the following line, if you want an automatic print dialog:
	//	writeln("window.print();");

	var Auswahl = self.document.InfoZoom.nrOfRecords();
	var Vorgabe = 8;
	if (Auswahl > 6) Vorgabe = 6;
	else if (Auswahl < 5) Vorgabe = 10;

	writeln("var iStdSchriftgrad = " + Vorgabe + ";");
	writeln("function Schriftgrad(iDelta) {");
	writeln("  if (iDelta==0) iStdSchriftgrad = Number(document.getElementById('SchriftGradAnzeige').value);");
	writeln("  else iStdSchriftgrad += iDelta;");
	writeln("  if (iStdSchriftgrad <4) iStdSchriftgrad=4;");
	writeln("  if (iStdSchriftgrad >36) iStdSchriftgrad=36; ");
	writeln("  for(var i = 0; i < document.getElementsByTagName('th').length; i++) {");
	writeln("  document.getElementsByTagName('th')[i].style.fontSize = iStdSchriftgrad+'pt';");
	writeln("  }");
	writeln("  for(var i = 0; i < document.getElementsByTagName('td').length; i++) {");
	writeln("  document.getElementsByTagName('td')[i].style.fontSize = iStdSchriftgrad+'pt';");
	writeln("  }");
	writeln("  document.getElementById('SchriftGradAnzeige').value = iStdSchriftgrad;");
	writeln("}");
	writeln("//-->");
	writeln("</script>");

	writeln("<style type=\"text/css\">");
	writeln("<!--");
	writeln("@media all {");
	writeln("  TABLE#print TD, TABLE#print TH, TABLE#spec TD, TABLE#spec TH {");
	writeln("   	font-size: " + Vorgabe + "pt;");
	writeln("  }");
	writeln("}");
	writeln("-->");
	writeln("</style>");

	writeln("</head>");
	writeln("<body>");
	writeln("<h1 class='balken'>"+sTitel+"</h1>");

	write("<p class='navigation kleiner'><b>Hinweise:</b> Die Druckfunktion erfasst <b>nur die im Applet aktuell dargestellten Werte und Objekte</b> <i>ohne</i> \"eingeklappte\" Attributgruppen &ndash; sollten Sie weitere Daten in den Ausdruck aufnehmen mögen, so schließen Sie bitte dieses Fenster, ändern die Darstellung Ihren Wünschen gemäß und rufen Sie die Druckfunktion erneut auf.<br>");
	write("<b>Prüfen Sie bitte gegebenenfalls vor dem Ausdruck anhand der Druckvorschau, ob die Tabelle vollständig abgebildet wird</b> (im Internet Explorer unter Datei/Druckvorschau). Browser lassen \"rechts überstehende\" Teile, die breiter als das Papier sind, zumeist einfach wegfallen. ");
	write("Falls die Tabelle unvollständig erfassst wird, kann es helfen, die Seitenorientierung zu ändern (von Hoch- auf Querformat oder umgekehrt). ");
	write("Außerdem können Sie die Schriftgröße mit den nachfolgenden Schaltflächen verändern, um die Tabelle vollständig zu erfassen. Notfalls empfiehlt es sich, mehrere Teile getrennt auszudrucken (beispielweise immer die Einträge für einige Buchstaben des Alphabets gemeinsam).");
	write("<br><b>Diese Hinweise werden nicht mit ausgedruckt</b> (heutzutage übliche StyleSheet-Unterstützung vorausgesetzt).</p>\n\n");
	//writeln("<p></p>");
	writeln("<form class='navigation' action='javascript:Schriftgrad(0)'>");
	writeln("<p><button type='button' onclick='Schriftgrad(-2)' style='vertical-align: middle ;'>&minus;2&nbsp;Punkt</button>&nbsp;");
	writeln("<button type='button' onclick='Schriftgrad(-1)' style='vertical-align: middle ;'>&minus;1&nbsp;Punkt</button>&nbsp;");
	writeln("&ndash;&nbsp;Schriftgrad:&nbsp;<input type='text' id='SchriftGradAnzeige' value='"+Vorgabe+"' size='2' onchange='Schriftgrad(0)'>&nbsp;Punkt&nbsp;&ndash;&nbsp;");
	writeln("<button type='button' onclick='Schriftgrad(+1)' style='vertical-align: middle ;'>+1&nbsp;Punkt</button>&nbsp;");
	writeln("<button type='button' onclick='Schriftgrad(+2)' style='vertical-align: middle ;'>+2&nbsp;Punkt</button></p>");
	writeln("<p><button type='button' onclick='window.print();'><b>Drucken</b></button></p>");
	writeln("</form>");
	writeln("<hr class='navigation' style='margin-bottom: 2em;'>");

	write("<p class='seite kleiner'>Alle Daten nach Firmenangaben. Ohne Gewähr.</p>\n\n");
	
	writeln("<dl>");
	var Alle = self.document.InfoZoom.nrOfAllRecords();
	if (Auswahl != Alle) {
		var Objekte = self.document.InfoZoom.getObjectsString();
		writeln("<dt style='margin-bottom: 1em;'>Auswahl</dt>");
		writeln("<dd>Durch Ihre Selektionskriterien haben Sie " + Auswahl + " von " + Alle + " " + Objekte + " ausgewählt.</dd>\n");
	}
		
	var spec = self.document.InfoZoom.getSpecificationAsHTMLTable(50); // maxLength
	if (spec != "") {
		writeln("<dt style='margin-bottom: 1em;'>Spezifikation</dt><dd>");
		writeln(spec);
		writeln("</dd>");
	}
	writeln("</dl>");
	
	writeln(tabledata);
	writeln("</body>");
	writeln("</html>");
  }
  neuesFenster.document.close();
}


