//------------------------------------------------------------------------------
// (C)opyright 2002 by Stephan Klein
//------------------------------------------------------------------------------

var ImgList   = new Array;	// 2D-Array in dem die Bilder, Name, ChangeStatus & 
							// Text für die Statuszeile gespeichert werden
							
var cntImages = 0;			// speichert die Anzahl der eingefügten Einträge im
							// Array Images

//------------------------------------------------------------------------------
// InsertImage(name, img_off, img_on, status_text)
//
//		Fügt ein neues Bild in das Arry Images ein. name ist dabei der Name des
//		<img>-Tags, der über <img name="xyz"..> definiert werden muss. img_off
//		ist das Bild im Zustand aus, img_on enthält das Bild im Zustand an.
//		Statustext enthält den Text, der beim "Einschalten" des Bildes gesetzt
//		werden soll
//------------------------------------------------------------------------------
function InsertImage(name, img_off, img_on, status_text)
{	ImgList[cntImages]    = new Array(5);
	ImgList[cntImages][0] = new Image();		// Bild für AUS-Zustand
	ImgList[cntImages][0].src = img_off;
	ImgList[cntImages][1] = new Image();		// Bild für AN-Zustand
	ImgList[cntImages][1].src = img_on;
	ImgList[cntImages][2] = name;				// Name des Bildes
	ImgList[cntImages][3] = true;				// darf Bild geändert werden?
	ImgList[cntImages][4] = status_text;		// Text für die Statuszeile
	cntImages++;
} // Ende: InsertImage

//------------------------------------------------------------------------------
// ReplaceImage(name, img_off, img_on, status_text)
//
//		Ersetzt das Bild Name durch die neue Bildquelle und den neuen Status-Text
//------------------------------------------------------------------------------
function ReplaceImage(name, img_off, img_on, status_text)
{	// TODO: Bei Bedarf implementieren
} // Ende: ReplaceImage


//------------------------------------------------------------------------------
// InitImages();
//		
//		Aus dem Attribut window.name auslesen, welches Bild zunächst aktiviert 
//		werden soll
//------------------------------------------------------------------------------
function InitImages()
{	// TODO: Name des zu aktivierenden Bildes extrahieren
	var name = window.name.substring(window.name.lastIndexOf('_') + 1, window.name.length);
	Activate(name);
} // Ende: Init()

//------------------------------------------------------------------------------
// TurnOn(name)
//
//		Schaltet das Bild name, in den Zustand ON, sofern das Bild momentan
//		verändert werden darf. Dabei wird die Statuszeile auf den zuvor 
//		abgespeicherten Text gesetzt.
//------------------------------------------------------------------------------
function TurnOn(name)
{	for (i = 0; i < cntImages; i++)
	{	if (ImgList[i][3] == true)
			if (document.images[ImgList[i][2]] != null)
				if (name == ImgList[i][2])
				{	document.images[ImgList[i][2]].src = ImgList[i][1].src;	
					window.status = ImgList[i][4];
				}
	}
} 

//------------------------------------------------------------------------------
// TurnOff(name)
//
//		Schaltet das Bild name, in den Zustand ON, sofern das Bild momentan
//		verändert werden darf. Dabei wird die Statuszeile wieder gelöscht.
//------------------------------------------------------------------------------
function TurnOff(name)
{	for (i = 0; i < cntImages; i++)
	{	if (ImgList[i][3] == true)
			if (document.images[ImgList[i][2]] != null)
				if (name == ImgList[i][2])
				{	document.images[ImgList[i][2]].src = ImgList[i][0].src;	
					window.status = "";
				}
	}
} // Ende: TurnOff()

//------------------------------------------------------------------------------
// ResetAll()
//
//		Setzt alle Bilder in den Ausgangszustand (deaktiviert) und lässt einen
//		Statuswechsel für alle Bilder wieder zu.
//------------------------------------------------------------------------------
function ResetAll()
{	for (i = 0; i < cntImages; i++)
	{	ImgList[i][3] = true;
		if (document.images[ImgList[i][2]] != null)
		{	document.images[ImgList[i][2]].src = ImgList[i][0].src;	
			window.status = "";
		}
	}
}// Ende: ResetAll()

//------------------------------------------------------------------------------
// HoldStatus(name)
//
//		Friert den aktuellen Status des Bildes ein. Das Bild wird dann beim 
//		Aufruf der Funktionen TurnOn/TurnOff nicht mehr verändert.
//------------------------------------------------------------------------------
function HoldStatus(name)
{	for (i = 0; i < cntImages; i++)
	{	if (name != ImgList[i][2])
			ImgList[i][3] = true;
		else
			ImgList[i][3] = false;
	}	
} // Ende: HoldStatus()

//------------------------------------------------------------------------------
// Activate(name)
//
//		Setzt den Status für alle Bilder zurück und aktiviert den Übergebenen
//		Menüpunkt.
//------------------------------------------------------------------------------
function Activate(name)
{	ResetAll(); 
	TurnOn(name); 
	HoldStatus(name);
} // Ende: Activate()

//------------------------------------------------------------------------------
// SetStatus(name)
//
//		Schreibt den Text aText in die Statuszeile des Browsers.
//------------------------------------------------------------------------------
function SetStatus(aText)
{	window.status = aText;
} // Ende: SetStatus()

