// ***************************************************************************************
// (c) 2002 Gottfried Schittenkopf
// 
//  Version 1.1 vom 09.07.2002 
//
// DIESES SCRIPT PRELOADET UEBERBLEND-BILDER (onMouseOver, onMouseDown,...)
// IN 2-DIMENSIONALE ARRAYS UND STELLT DIE ENTSPRECHENDEN UEBERBLENDFUNKTIONEN
// ZUR VERFUEGUNG.
//
//	Funktionen:	Initialize	Initialisiert die nötigen Parameter
//
//			Preload		Erstellt die Datenfelder, dfie die Bilder enthalten
//
//			GetNameSrc	Extrahiert aus einem Bild-Dateinamen den Bildnamen und 
//					gibt ihn zurück (z.B. "C:/data/images/baum_over.jpg" -> "baum")
//					nötig für den Aufruf über Tag-Namen
//
//			PostImage	Tauscht die Bilder im HTML-Dokument aus; 
//
// ***************************************************************************************
// 
// Die Bilder sind als z.B. "baum_out.jpg", "baum_over.jpg" und
// "baum_down.jpg" in ein Verzeichnis zu legen

// Für den Aufruf im HTML-Dokument gibt es dann 2 verschiedene Möglichkeiten:

// (1) 	Entweder der Aufruf im IMG-Tag ist dann lediglich
//
//				 onMouseOver="PostImage(0,1)"
//
// 	wobei die erste Nummer der Bildindex ist, die 2. Nummer ist OVER(1), OUT(0) od. DOWN(2) 
// 	Bei dieser Methode muss das IMG-Tag den selben Namen haben wie das Bild (z.B. bei "baum_out.jpg"
// 	-> Img-Tag-Name muss "baum" lauten)
//
// oder
//
// (2) Der Aufruf erfolgt über IMG-Tag-Namen und Index; z.B.
//
//				onMouseOver="PostImage('TESBILD',1)"
//
// wobei 'TESTBILD' der name des IMG-Tags ist, die Nummer ist OVER(1), OUT(0) od. DOWN(2) 
// Hier wird der Bildname aus dem src-Eintrag des IMG-Tags extrahiert, er muss also korrekt eingetragen sein.
//
// ***********************************************************************************************************


//----------Default-Werte-------------------------------------------------------------------------------------
var NrDimensions=3;	// 2 oder 3; bei 2 nur MouseOut und MouseOver, bei 3 auch noch MouseDown
var ImgExtension=".jpg"; // Endungen fuer Bilder
var ImgDir=""; 		// Verzeichnis fuer Bilder

var ImgExtOut="_out";	 // z.B. Bild "baum" wird als 'baum_out.jpg' (=Startbild) im Verzeichnis gesucht
var ImgExtOver="_over";
var ImgExtDown="_down";
//------------------------------------------------------------------------------------------------------------


var ImgName= new Array();	// Namens-Array (enthält z.B. 'baum')

var Img= new Array();		// 2-dimensionalen Array erzeugen,
				// 1. index=Bildnummer, 2.=out, over od. down; für function Preload()




//------------------------------------------------INITIALIZE---------------------------------------------------

function Initialize() {

// Initialisierungsfunktion für die Konfigurationswerte

var arg=Initialize.arguments;


if ((arg.length>0) && (arg[0]!= '')){
		
		if (isNaN(arg[0]) || (arg[0]< 2) || (arg[0]>3) ) alert("Die Anzahl der Dimensionen darf nur 2 oder 3 betragen!")
		else 	NrDimensions=arg[0];	
		}

if ((arg.length>1) && (arg[1]!= '')) ImgExtension=arg[1];	
if ((arg.length>2) && (arg[2]!= '')) ImgDir=arg[2];	
if ((arg.length>3) && (arg[3]!= '')) ImgExtOut=arg[3];	
if ((arg.length>4) && (arg[4]!= '')) ImgExtOver=arg[4];	
if ((arg.length>5) && (arg[5]!= '')) ImgExtDown=arg[5];	



return 0;

}	

// IM HAUPTDOKUMENT MUSS NACH DEM INITIALIZE-AUFRUF DIE IMG-LISTE KOMMEN
//
// Z.B.
//
// ImgName[0]="button";
// ImgName[1]="titelpic";
// usw.
//***************************************************************************************




//-----------------------------------------------PRELOAD------------------------------------------------------------

function Preload(){

	for (i=0; i < ImgName.length; ++i)
		{
		Img[i] = new Array(0);	
		for (var j=0; j< NrDimensions; j++)	
			{
			Img[i][j] = new Image();         
			dummy=ImgDir + ImgName[i];
			if (j==0) dummy=dummy + ImgExtOut;
			if (j==1) dummy=dummy + ImgExtOver;
			if (j==2) dummy=dummy + ImgExtDown;
			dummy=dummy + ImgExtension;
			Img[i][j].src= dummy;				
			}

	 	}

}


//----------------------------------------------------GETNAMESRC----------------------------------------------------

function GetNameSrc(SrcString){

// extrahiert aus einer pfadangabe eine img-tag-src angabe den namen,
// der fuer die ImgName-Variable noetig ist, und gibt ihn zurueck

SrcString=SrcString.slice(0,SrcString.length-4);	// dateiendung wegschneiden

// ev. Pfadangaben wegschneiden
var dummy=SrcString.lastIndexOf("/");			
if (dummy != -1) SrcString = SrcString.slice(dummy+1,SrcString.length);

// "_over", "_out" u. "_down" wegschneiden
dummy=SrcString.lastIndexOf("_");
if (dummy != -1) SrcString = SrcString.slice(0,dummy);

return SrcString;

}



//----------------------------------------------------POSTIMAGE------------------------------------------------------


function PostImage()          //uebernimmt name des img-tags, nummer des buttons und nummer des bildes
	{
    	
    	var Doc=document;	// object vom typ document erstellen
    	var Obj; 		// object-variable fuer img-object
    	
    	var arg=PostImage.arguments;	//uebergabe-argumente
   	var i,j,PicName;		//variablen fuer uebergabe-werte
   	
   	
   	
   	if (!isNaN(arg[0]))
   		{
   		//es wurden nur 2 ziffern angegeben, d.h. Img-Tag-Name muss gleich dem oben angegebenen namen sein
		i=arg[0];	// nummer des bildes
   		j=arg[1];   // out, over oder down
		PicName=ImgName[i];
		Obj=Doc[PicName];
   		Obj.src=Img[i][j].src;
		}	   	
   	else	
   		{
   	   	PicName = arg[0];
   		j=arg[1];	// nummer des bildes
   		Obj=Doc[PicName];
   		PicName=GetNameSrc(Obj.src);
   		for (i=0; i<ImgName.length; i++)
   			{
   			if (ImgName[i]==PicName)
   				{
   				Obj.src=Img[i][j].src;
   				break;
   				}
   			}
   		}
   	
   	return 0;
   	
  	}