//  © 2001-2002 Paul Imboden, Lutz Slomianka


//-- 1. Antwortfenster
//-- 2. Checkbox
//-- 3. Bildwechsel
//-- 4. Lexikonfenster
//-- 5. Taschenrechner
//-- 6. CheckfieldX
//-- 7. Lexlegende (folgt)
//-- 8. doButtons (Imagemap onmousover, folgt)
//--9. Checkmenu
//--10. Divmenu, Browser detection, open & close
//--11. Safemail
//--12. CheckfieldM

//0. Dokumnettitel standardisieren
document.title = 'Dr. PI Bioconsulting' ;

//-- 1. Antwortfenster © 2001-2002 Paul Imboden, Lutz Slomianka
// mehrfacher Aufruf des gleichen Fensters funktioniert in allen Browsern!!
//Standardgrùssen: XL= 800x700, L=700x500, M=500x300, S=300x200

var Breite = 0;
var Hoehe = 0;
var Leiste = "no";

/* neu am 27.4.2005
*/
function wrapperOpen (file) {
      utility = eval(' window.open ( file, "MultiPurpose","WIDTH='+Breite+',HEIGHT='+Hoehe+', SCROLLBARS=' + Leiste + 'TOOLBAR=no,RESIZABLE=NO")') ;
      utility.focus()
}

function Antwortfenster ( utilitySource, Width, Height, Bar ) {
	Breite = Width;
	Hoehe = Height;
	Leiste = Bar;
  if ( window.utility ) {
	if ( utility.closed ) eval ( 'setTimeout("wrapperOpen(\'' + utilitySource + '\')",100)' )
    else {
		window.utility.close()
     	eval ( 'setTimeout("wrapperOpen(\'' + utilitySource + '\')",100)' );
     	utility.focus()
    }
  }
  if ( !window.utility ) eval ( 'setTimeout("wrapperOpen(\'' + utilitySource + '\')",100)' ) ;
}

var tapeAw = '' ;

function Antwort ( Nummer, Size ) {
	Breite = 500 ;
	Hoehe =  300 ;
	Leiste = 'no';  

	if ( Size == 'S' ) 		{ Breite = 400 ; Hoehe = 300 } ;
	if ( Size == 'M' )  		{ Breite = 500 ; Hoehe = 300 } ;
	if ( Size == 'L' ) 		{ Breite = 700 ; Hoehe = 500 } ;
	if ( Size == 'XL' ) 		{ Breite = 900 ; Hoehe = 700 } ;

	var utilitySource = '../_admin/antwort.html' ;

	tapeAw = '<blockquote><p><i>' ;
	tapeAw += document.getElementById ('Frage' + Nummer ).innerHTML ; 
	tapeAw += '</i></p></blockquote>' ;
	tapeAw += '<img src="../../bilder/blueline.gif" width="100%" height="6" border="0">' ;
	tapeAw += '<blockquote>' ;
	tapeAw += document.getElementById ('Antwort' + Nummer ).innerHTML ;
	tapeAw += '</blockquote>' ;		

	if ( window.utility ) {   																													
		if ( utility.closed ) eval ( 'setTimeout("wrapperOpen(\'' + utilitySource + '\')",100)' ) ; 	
    	else {																																		
 			window.utility.close() ; 
    		eval ( 'setTimeout("wrapperOpen(\'' + utilitySource + '\')",100)' );
     		utility.focus()
    	}
  	}
  	if ( !window.utility ) eval ( 'setTimeout("wrapperOpen(\'' + utilitySource + '\')",100)' ) ;
}

/*bis hierher neu am 27.4.2005*/ 
//-- 2. Checkbox © 2001-2002 Paul Imboden, Lutz Slomianka
//-- Syntax: checkbox ("Formularname", "Kommentar zu falschantwort", "Kommentar zu Richtiganwort", [richtige L¶sungen], ["Einzelkommentare zu Falschantworten"], ["Einzelkommentare zu Richtigantworten"])
//-- das letzte ist noch nicht eingebaut.
// Skript Fragenkatalog

var Kommentar = " ";
var allesrichtig = true;
var resultsstore = new Array();
	resultsstore.length = 0;
var saveresults = false;

function checkbox ( formular , com1, com2, right , comfalse , comright ) {

	allesrichtig = true;
	Kommentar = com1;
	saveresults = true;
	for (i=0; i < resultsstore.length; i++) if ( resultsstore[i][1] == formular ) saveresults = false;
		if (saveresults) {
		resultsstore[resultsstore.length] = ["",""];				
		resultsstore[resultsstore.length-1][0] = formular;
		resultsstore[resultsstore.length-1][1] = right;
		}
	for(i=0; i < eval ( 'document.' + formular + '.elements.length -1' ) ; i++) {
		if ( eval ( 'document.' + formular + '.elements[i].checked != right[i]' ) ) {
			allesrichtig = false;	
			Kommentar += comfalse [i] ;
		}
	}
	if (allesrichtig) Kommentar = com2;
	alert (Kommentar);
}
		
function checkboxfill ( formular ) {
	var results = new Array();
		results.length = 0;
	for (i=0; i < resultsstore.length; i++) if ( resultsstore[i][0] == formular ) results = resultsstore[i][1];
	if ( results.length != 0 ) {
		for (i=0; i < eval ( 'document.' + formular + '.elements.length -1' ) ; i++) {
			eval ( 'document.' + formular + '.elements[i].checked = results[i]' )
		}
	}
	else alert ('Versuchen Sie zuerst die Fragen selbstaendig zu beantworten!')		
}

//-- 3. Bildwechsel © 2001-2002 Paul Imboden, Lutz Slomianka
// Auswechseln eines Bildes gegen ein anderes. DAs Bild muss einen Namen haben!!! funktioniert in allen Browsern!! auf NS.
// Link = <a href="javascript:Bildwechsel('Bildbezeichnung', 'Filename')">

function Bildwechsel (image, source) {
	eval('document.images["' + image +'"].src="' + source +'"')
}

//1. Lexikonfenster © 2001-2002 Paul Imboden, Lutz Slomianka
// mehrfacher Aufruf des gleichen Fensters funktioniert in allen Browsern!!
//-- damit fªr die vielen M¶glichen Fenster (alle _blank) nur ein einziges von der passenden Gr¶sse jeweils offen ist.
// der Aufruf lautet z.B.:  <a href="javascript:Lexikonfenster('../../../lexikon/metaboliten/nad/nad.html')">

function lexOpen (file) {
      Lexikon = eval(' window.open ( file, "Lexikon", "WIDTH=800, HEIGHT=800, TOOLBAR=No, RESIZABLE=Yes,SCROLLBARS=yes,screenX=10,screenY=10")') ;
	clearTimeout(openit) ;
      Lexikon.focus()
}

function Lexikonfenster ( LexikonSource) {
	
  if ( window.Lexikon ) {
	if ( Lexikon.closed ) openit = eval ( 'setTimeout("lexOpen(\'' + LexikonSource + '\')",100)' )
    else {
		window.Lexikon.close()
     	openit = eval ( 'setTimeout("lexOpen(\'' + LexikonSource + '\')",100)' );
     	Lexikon.focus()
    }
  }
  if ( !window.Lexikon ) openit = eval ( 'setTimeout("lexOpen(\'' + LexikonSource + '\')",100)' )
}




//5. taschenrechner.js © 2001-2002 Paul Imboden, Lutz Slomianka
//ruft das Taschenrechenrfenster auf.
function Taschenrechner () {
	calculatorWindow = window.open('../../../hilfe/Rechner.html', 'Taschenrechner', 'width=360,scrollbars=no,height=260, screenX=20, screenY=20');
  	calculatorWindow.focus();
}

//-- 6. CheckfieldX © 2001-2002 Paul Imboden, Lutz Slomianka
//-- checkFieldX testet einen Wert, der in einem Formular mit dem Namen "nnnn" im Textfeld mit dem Namen îtextfield" eingegeben wird und beurteilt 
//--ob er richtig ist oder zu hoch, zu tief oder "falsch ªberlegt" ist und gibt fªr jeden Fall entsprechende Kommentare  -->
//	function checkFieldX("formname", richtig, zuhoch, zuniedrig, spezial, "comR", "comH", "comN", "comS")
//PS: alle vier Zahlenwerte und alle vier Textwerte muessen definiert sein!!!
<!-- Begin
	
function checkFieldX(form, Antwort, zuhoch, zuniedrig, spezial, comR, comH, comN, comS) {
	var missinginfo = "";
	var richtig = false;
		
	if (eval('document.' + form + '.textfield.value') < zuhoch && eval('document.' + form + '.textfield.value')  > zuniedrig ) {
		missinginfo += "\n     -  " + comR;
		richtig = true;
	}
	if (eval('document.' + form + '.textfield.value') >= zuhoch) {
		missinginfo += "\n     -  " + comH;
	}
	if (eval('document.' + form + '.textfield.value') <= zuniedrig) {
		missinginfo += "\n     -  " + comN;
	}
	if (eval('document.' + form + '.textfield.value') == spezial) {
		missinginfo += "\n     -  " + comS;
	}
	if (missinginfo != "" && !richtig) {
		missinginfo ="________________________________\n" +
		"Folgende Angaben sind nicht korrekt:\n\n" +
		missinginfo + "\n_________________________________" +
		"\nBitte geben Sie den richtigen Wert ein!";
	}

	saveresults = true;
	for (i=0; i < resultsstore.length; i++) if ( resultsstore[i][1] == form ) saveresults = false;
		if (saveresults) {
		resultsstore[resultsstore.length] = ["",""];				
		resultsstore[resultsstore.length-1][0] = form;
		resultsstore[resultsstore.length-1][1] = Antwort;
	}
	alert(missinginfo);
}
		
function checkFieldXfill ( formular ) {
	var results = new Array();
		results.length = 0;
	for (i=0; i < resultsstore.length; i++) if ( resultsstore[i][0] == formular ) results = resultsstore[i][1];
		if ( results.length != 0 ) {
			eval ( 'document.' + formular + '.elements[0].value = results' )
		}
		else alert ('Versuchen Sie zuerst die Fragen selbstaendig zu beantworten!')		
}


//  End -->

//-- 9. Checkmenu © 2001-2002 Paul Imboden, Lutz Slomianka
//-- Syntax: checkmenu ("Formularname", "Kommentar zu falschantwort", "Kommentar zu Richtiganwort", [richtige Loeungen], ["Einzelkommentare zu Falschantworten"], ["Einzelkommentare zu Richtigantworten"])
//-- das letzte ist noch nicht eingebaut.
// Skript Fragenkatalog

var Kommentar = " ";
var allesrichtig = true;

function checkmenu ( formular , com1, com2, right , comfalse , comright ) {
	saveresults = true;
	allesrichtig = true;
	Kommentar = com1;
	for (i=0; i < resultsstore.length; i++) if ( resultsstore[i][1] == formular ) saveresults = false;
	if (saveresults) {
		resultsstore[resultsstore.length] = ["",""];				
		resultsstore[resultsstore.length-1][0] = formular;
		resultsstore[resultsstore.length-1][1] = right;
	}			
	for(i=0; i < eval ( 'document.' + formular + '.elements.length -1' ) ; i++) {
		if ( eval ( 'document.' + formular + '.elements[i].value != right[i]' ) ) {
			allesrichtig = false;	
			Kommentar += comfalse [i] ;
		}
	}
	if (allesrichtig) Kommentar = com2;
	alert (Kommentar);
}
	
		
function checkmenufill ( formular ) {
	var results = new Array();
		results.length = 0;
	for (i=0; i < resultsstore.length; i++) if ( resultsstore[i][0] == formular ) results = resultsstore[i][1];
	if ( results.length != 0 ) {
		for (i=0; i < eval ( 'document.' + formular + '.elements.length -1' ) ; i++) {
//		alert(results)
// Cave: der "value" der Eingabe muss dem "index" der Eingabe entsprechen: dh. im Auswahlmenu muss die Reihenfolge sein: 0, 1, 2, 3, 4 etc. sein.
			eval ( 'document.' + formular + '.elements[i].selectedIndex = results[i]' ) ;
		}
	}
	else alert ('Versuchen Sie zuerst die Fragen selbstaendig zu beantworten!')		
}


//--10. Divmenu, Browser Detection, Zusatz fªr divisional Menu. 
// Achtung diesen Teil auch im Lexikon miro.js nachfªhren!!!
// browser detection
var DOM = ( document.getElementById ) ? true : false ;
var NS4 = ( navigator.appName == 'Netscape' && parseInt(navigator.appVersion) >= 4 && !DOM ) ;

function divmenu (todo) {
	if (todo == 'open') {	
	if ( NS4 ) document.divmenu.visibility = 'show' ;
	if ( DOM ) document.getElementById('divmenu').style.visibility = 'visible'; }
		
	if (todo == 'close') {	
	if ( NS4 ) document.divmenu.visibility = 'hide' ;
	if ( DOM ) document.getElementById('divmenu').style.visibility = 'hidden'; }
}

function feedback (todo) {
	if (todo == 'open') {	
	if ( NS4 ) document.divmenu.visibility = 'show' ;
	if ( DOM ) document.getElementById('feedback').style.visibility = 'visible'; }
		
	if (todo == 'close') {	
	if ( NS4 ) document.divmenu.visibility = 'hide' ;
	if ( DOM ) document.getElementById('feedback').style.visibility = 'hidden'; }
}
//--11. safemail
function safemail(name, domain, display) {
displayed=(typeof(display)=="undefined") ? name+"@"+domain : display
document.write('<a href=mailto:' + name + '@' + domain + '>' + displayed + '</a>');
}

//12. checkfieldM a minimal variant of checkfieldX with Field designation
//-- checkFieldM testet einen Wert, der in einem Formular mit dem Namen "nnnn" im Textfeld mit dem Namen îtextfield" eingegeben wird und beurteilt 
//--ob er richtig ist oder zu hoch, zu tief oder "falsch ueberlegt" ist und gibt fuer jeden Fall entsprechende Kommentare  -->
//	function checkFieldX("formname", "fieldname", zuhoch, zuniedrig, "comR", "comH", "comN")
//PS: alle vier Zahlenwerte und alle vier Textwerte muessen definiert sein!!!
<!-- Begin
		
function checkFieldM(form, field, zuhoch, zuniedrig, comR, comH, comN) {
	var missinginfo = "";
	var richtig = false;
		
	if (eval('document.' + form + '.' + field + '.value') < zuhoch && eval('document.' + form + '.' + field + '.value')  > zuniedrig ) {
		missinginfo += "\n     -  " + comR;
		richtig = true;
	}
	if (eval('document.' + form + '.' + field + '.value') >= zuhoch) {
		missinginfo += "\n     -  " + comH;
	}
	if (eval('document.' + form + '.' + field + '.value') <= zuniedrig) {
		missinginfo += "\n     -  " + comN;
	}
	if (missinginfo != "" && !richtig) {
		missinginfo ="________________________________\n" +
		"Folgende Angaben sind nicht korrekt:\n\n" +
		missinginfo + "\n_________________________________" +
		"\nBitte geben Sie den richtigen Wert ein!";
	}
	alert(missinginfo);
}

