// Diese Datei enthält von den Lerneinheiten häufig verwendete 
// Funktionen, die von Dreamweaver bereit gestellt werden.

// ---------------------------------------------------------------------------
// FUNKTION MM_callJS
// Parameter:	jsStr:	Javascritp Code der ausgefürt weden soll
// Diese Funktion führt beliebigen Javascritptcode aus
// ---------------------------------------------------------------------------
function MM_callJS(jsStr) { //v2.0
  eval(jsStr)
}

// ---------------------------------------------------------------------------
// Die nachfolgenden Variabeln dienen der Fenstersteuerung 
// ---------------------------------------------------------------------------
var myWin = new Array();	// Liste der geöffneten Fenster
var winNr = 0;				// Index des zuletzt geöffneten Fensters

// ---------------------------------------------------------------------------
// FUNKTION isOpened
// Diese Funktion gibt zurück ob das Fenster bereits geöffent ist oder nicht
// Parameter:	linkurl:	 
// ---------------------------------------------------------------------------
function isOpened(linkurl) {
  var booleans=0
  for (var i=0; i<myWin.length;i++) {
    if ((typeof(myWin[i])=="undefined") || (myWin[i]==null) || (myWin[i].closed)) {
        myWin[i]=null;
        booleans=0;
    } 
	else {
      var docurl  = myWin[i].document.URL;
      var begin;
      begin = Math.max(docurl.lastIndexOf("\\"),docurl.lastIndexOf("/"));
      var docName = docurl.slice(begin+1);
      begin = Math.max(linkurl.lastIndexOf("\\"),linkurl.lastIndexOf("/"));
      var linkName = linkurl.slice(begin+1)
      if (docName==linkName) {
        winNr=i;
        booleans=1;
        break;
      }
    }
  }
  return (booleans==0)?false:true;
}

// ---------------------------------------------------------------------------
// FUNKTION openBrWindow
// Fakefunktion um das Objekt Bild einfügen Nutzen zu können
// ---------------------------------------------------------------------------
function openBrWindow(theURL,winName,features) {   
	MM_openBrWindow(theURL,winName,features);
}
// ---------------------------------------------------------------------------
// FUNKTION MM_openBrWindow
// Diese Funktion öffent ein neues Fenster mit Namen winname, und lädt in 
// dieses Fenster das Dokument theURL. Das Aussehen des Fensters läßt sich über
// den Parameter features einstellen
// Parameter:	linkurl:	 
// ---------------------------------------------------------------------------
function MM_openBrWindow(theURL,winName,features) { //v2.4
  if (!isOpened(theURL)) {
    myWin[myWin.length]=window.open(theURL,winName,features);
    winNr=myWin.length-1;
  }
  myWin[winNr].focus();
}

// ---------------------------------------------------------------------------
// FUNKTION MM_preloadImages
// Diese Funktion lädt die in arguments angegebenen Bilder in den 
// Arbeitsspeicher
// ---------------------------------------------------------------------------
function MM_preloadImages() { //v3.0
  var d=document;
  if(d.images) {
  	if(!d.MM_p)
		d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
	for(i=0; i<a.length; i++)
	    if (a[i].indexOf("#")!=0) { 
			d.MM_p[j]=new Image; 
			d.MM_p[j++].src=a[i];
		}
	}
}

// ---------------------------------------------------------------------------
// FUNKTION MM_swapImgRestore
// Diese Funktion setzt ein vorher getauschtes Bild, 
// auf die Quelle der Orginaldatei zurück
// ---------------------------------------------------------------------------
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 
  	x.src=x.oSrc;
}

// ---------------------------------------------------------------------------
// FUNKTION MM_findObj
// Parameter:	n:	Diese Funktion gibt den String, das Objekt an,
//					das gesucht werden soll.
// 				d:	gibt das Dokument an in dem gesucht werden soll.
//					default ist das aktuelle Dokument.
//	Diese Funktion sucht ein Object im aktuellen Fenster, Frameset
// 	wird das Objekt gefunden wird sein handle zurückgegeben.
// ---------------------------------------------------------------------------
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&frames.length) {
    d=frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

// ---------------------------------------------------------------------------
// FUNKTION MM_swapImage
//	Diese Funktion tauscht die in den Argumenten angegebenen Bilder aus.
// ---------------------------------------------------------------------------
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// ---------------------------------------------------------------------------
// FUNKTION tmt_winComm
// Parameter:	bers:	Das Objekt mit dem etwas passieren soll
//				ord:	Die Eigenschaft/ Funktion deren Ergebnis 
//						zurückgeliefert werden soll.
// Diese Funktion liefert das Ergebnis der Operation bers.ord zurück
// ---------------------------------------------------------------------------
function tmt_winComm(bers, ord) {
    return eval(bers + "." + ord);
}

