// checkOkRechner sendet dem Applet die Nachricht dass es sich anzeigen soll

function checkOkRechner(startApplet,popUpTitle)
	{
		var showIt = 1;

// hier wird geprüft ob es der Button mit der Bestätigung 
// der Nutzungsbedingungen gedrückt ist.
		if(document.bestaetigung.gelesen.checked==false)
		{

// wenn er nicht gedrückt wurde wird eine Alertboc angezeigt.
	 		alert("Sie haben den Benutzungsbedingungen nicht zugestimmt.");
	 		showIt = 0;
	 	}

// hier wird versucht dem Applet eine Nachricht zu schicken. Das geht schief
// wenn wenn eine falsche Java Version aktive ist. Deshalb ein try/catch block.
// wenn showIt 1 ist zeigt sich das Applet an, wenn es 0 ist nicht, 
// wird sogar wieder unsichtbar wenn es vorher sichtbar war.
		try {
			document.applets[startApplet].popUp(showIt);
		} catch(e) {
// dieser catch Block wird nur ausgeführt wenn der document.applets Aufruf 
// nichtfunktioniert 
			var messageStr = 
				"Kann den " + popUpTitle + " nicht starten:\r\n\n" +
				"Moeglicher Fehler:\r\n\n" +
				"Es wird eine aktive Sun Java Installation\r\n" +
				"der Version 1.4 oder groesser benoetigt\r\n\n" +
				"-----------------------------------------------\r\n" +
				e;
			alert(messageStr);
		}
	}

// Hier wird die Seite aufgebaut
function calculaturSetUp(appletName,startButton,appletConfig,appletData,appletTitle,hinweis_file){
	try {
		// Zuerst wird geprüft ob Java vorhanden und aktiv ist. Das ist noch 
		// keine vollständige Prüfung on auch eien richtige version altiv ist. 
		if (! navigator.javaEnabled()){
			// wenn Java nicht bricht "trow" ab und es geht mit dem catch Block weiter.
			trow("no java");
		}
		// hier wird je nach Browser typ, unterschiedlicher Text ausgegeben.
		// ausgeben wird was zwischen den runden Klammern von document.write( ..... ) steht.
		// Die schliesende Klammer ist 14 Zeilen weiter unten. 
		// Die ausgabe besteht aus meheren Teilen die durch Komma getrennt sind. 
		// Was in ' Anführungszeichen steht wird unverändert ausgegeben,
		// Beim Text ohne ' handelt es sich um variablen deren Wert beim Aufruft definiert wird.
		//
		// Am Beispiel vom 'Microsoft Internet Explorer' und denn Aufruf des Speichenrechners
        // wird folgendes ausgegeben. 
		// der Aufruf aus der speichenrechner.html Seite ist 
		//    <script type="text/javascript">
        //        calculaturSetUp("SpRechner","Speichenrechner starten","SpeichenRechner",
        //                "WheelConfigFile.txt","Speichen Rechner","bedienungshinweise_speichenrechner.pdf");
    	//    </script>
		// also ist der Wert von appletName == "SpRechner"
		// und es wird folgendes ausgegeben.
		// <APPLET code="SpCalculation" codebase="configurator" width="1" height="1" archive="SpCalculationSwing.jar" name="SpRechner"  
		// das ist die Ausgabe der ersten 7 Zeilen, es geht natürlich weiter und endet mit  </APPLET>
 
		var _app = navigator.appName;
		if (_app == 'Microsoft Internet Explorer') {
			// document.write('<br>Microsoft Internet Explorer<br>');
			document.write('<APPLET ',
					'code="SpCalculation"',
					'codebase="configurator" ',
					'width="1" ',
					'height="1" ',
					'archive="SpCalculationSwing.jar" ',
					'name="' , appletName , '" ',
					'appConfig="', appletConfig, '" ',
					'wheelConfig="', appletData, '" ',
					'popupTitle="', appletTitle, '" ',
					'popUpFlag="false" ',
					'debug="4"',
					'> ',
				'</APPLET>');
		} else if (_app == 'Opera') {
			// document.write('<br>Opera<br>');
			document.write('<APPLET codetype="application/java" ',
					'code="SpCalculation"',
					'codebase="configurator" ',
					'archive="SpCalculationSwing.jar" ',
					'width="1" ',
					'height="1" ',
					'name="', appletName, '" ',
					'>',
				'<param name="appConfig" 	value="', appletConfig, '">',
				'<param name="wheelConfig"	value="', appletData, '">',
				'<param name="popupTitle"  	value="', appletTitle, '">',
				'<param name="popUpFlag"   	value="false">',
				'<param name="debug"       	value="4">',
				'</APPLET>');
		} else if (_app == 'Netscape') {
			// document.write('<br>Netscape<br>');
			document.write('<APPLET codetype="application/java" ',
					'code="SpCalculation"',
					'codebase="configurator" ',
					'archive="SpCalculationSwing.jar" ',
					'width="1" ',
					'height="1" ',
					'name="', appletName, '" ',
					'>',
				'<param name="appConfig" 	value="', appletConfig, '">',
				'<param name="wheelConfig"	value="', appletData, '">',
				'<param name="popupTitle"  	value="', appletTitle, '">',
				'<param name="popUpFlag"   	value="false">',
				'<param name="debug"       	value="4">',
				'</APPLET>');
		} else if (_app == 'Konqueror') {
			// document.write('<br>Konqueror<br>');
			document.write('<APPLET codetype="application/java" ',
					'code="SpCalculation"',
					'codebase="configurator" ',
					'archive="SpCalculationSwing.jar" ',
					'width="1" ',
					'height="1" ',
					'name="', appletName, '" ',
					'>',
				'<param name="appConfig" 	value="', appletConfig, '">',
				'<param name="wheelConfig"	value="', appletData, '">',
				'<param name="popupTitle"  	value="', appletTitle, '">',
				'<param name="popUpFlag"   	value="false">',
				'<param name="debug"       	value="4">',
				'</APPLET>');
		} else {
			document.write('<br>Browser switch other = ',_app,'<br>');
			document.write('<APPLET codetype="application/java" ',
					'code="SpCalculation"',
					'codebase="configurator" ',
					'width="1" ',
					'height="1" ',
					'archive="SpCalculationSwing.jar" ',
					'name="', appletName, '" ',
					'>',
				'<param name="appConfig" 	value="', appletConfig, '">',
				'<param name="wheelConfig"	value="', appletData, '">',
				'<param name="popupTitle"  	value="', appletTitle, '">',
				'<param name="popUpFlag"   	value="false">',
				'<param name="debug"       	value="4">',
				'</APPLET>');
		}

		// hier geht es wieder für alle Browser gleich weiter 
		// So sieht die Ausgabe aus:
		// Ich habe vor jeden document.write Befehl die Ausgabe geschrieben. Die Variable hinweis_file wird aus dem Aufruf definiert
		// und ist beim Speichenrechner auf bedienungshinweise_speichenrechner.pdf gesetzt. Siehe Aufruf.
 
		// <form name="bestaetigung">
		document.write('<form name="bestaetigung">');
		// <input type="checkbox" name="gelesen" />
		document.write('<input type="checkbox" name="gelesen" /> ');
		// <label>Ich habe die <a href="benutzungsbedingungen.pdf">	Benutzungsbedingungen (PDF)</a> gelesen, verstanden und stimme diesen zu.</label>
		document.write('<label>Ich habe die <a href="benutzungsbedingungen.pdf" target="_blank">',
					'Benutzungsbedingungen (PDF)</a> gelesen, verstanden und stimme diesen zu.</label>');
		// <a href="bedienungshinweise_speichenrechner.pdf" class="stand-alone" target="_blank">Bedienungshinweise (PDF)</a>
		document.write('<a href="' ,
				hinweis_file,
				'" class="stand-alone" target="_blank">Bedienungshinweise (PDF)</a>');
		// Die nächste Zeile ist etwas schieriger zu verstehen da hier verschachtelte ' und " notwendig sind.
        // Die Erkärung oben mit den Anfürungszeichen habe ich etwas vereinfacht.
		// <input type="button" value="Speichenrechner starten" onclick="checkOkRechner('SpRechner','Speichen Rechner');">
		document.write('<input type="button" value="',startButton, '" onclick="checkOkRechner(',"'",appletName,"','",appletTitle,"'",');">');
		// <hr> 
		document.write('<br> ');
		// </form>&nbsp;<br />&nbsp;<br />
		document.write('</form>&nbsp;<br />&nbsp;<br />');
	} catch (e) {
		// Kein Java oder Fehler aufgetreten
		document.write('<font color="red" size="5" >');
		document.write('<br>Java nicht aktiv<br>');
		document.write('<br>Der Speichenrechner ben&ouml;tigt eine Java Installation Version 1.4 oder gr&ouml;&szlig;er.<br>');
		document.write('</font>');
	}
}

