// Haendler-Navigation
// javascript fuer Menue1 (TopBar)
// (c) Ing. Christian Groesswang, P.I.C.S., http://www.pics.co.at
// Version 26-04-2001, gc
// includes Skoda+Porsche-Extensions


// Arrays fuer die Daten
var menu1 = new Array();
var menu1Options = new Array();

// Globale Vars + Default-Settings
var menu1Active=0;			// aktives Menue
var menu1OpenItem=-1;		// hervorgehobenes Menue
var menu1Layer='';			// Layer fuer Menue
var menu1TopFrame='';		// Name TopFrame
var menu1Top2Frame='';		// Name 2. TopFrame
var menu1LeftFrame='';		// Name LeftFrame
var menu1MainFrame='';		// Name MainFrame
var menu1ImageCol=1;		// Spalte für Image 1 od. 2
var menu1UrlTop2='';		// Url im Frame Top2
var menu1Images=new Array();	// Bilder fuer Menue (Kleine Hi/Low/Open)
var menu1ImageSize=new Array();	// Groesse fuer Bild

var menu1ItemImages=new Array();	// Bilder fuer Menue (Kleine Hi/Low/Open)


// Hilfsfunktion Text in Statuszeile ausgeben
function setStatusText(pText)
{
	// Meldung in Statuszeile ausgeben
	status=pText;
	return true;
}


// ------------------------------------
// Funktionen zum Anpassen des Menues
// ------------------------------------

	// ===== Einstellungen fuer alle Menues treffen =====
	function menu1SetMainOptions(pTopFrame, pTop2Frame, pLeftFrame, pMainFrame, pImageCol, pImageLow, pImageHigh, pImageOpen, pImageSizeX, pImageSizeY, pUrlTop2)
	{
		// Einstellungen fuer alle Menues festlegen
		// pTopFrame = Name TopFrame
		// pTop2Frame = Name TopFrame2
		// pLeftFrame = Name LeftFrame
		// pMainFrame = Name MainFrame
		// pImageCol = Spalte fuer Hi/Low/open Bild
		// pImageLow = Bild normal
		// pImageHigh = Bild high
		// pImageOpen = Bild Aktiv
		// pUrlTop2 = Link fuer Leere Seite in Top2
		menu1TopFrame=pTopFrame;
		menu1Top2Frame=pTop2Frame;
		menu1LeftFrame=pLeftFrame;
		menu1MainFrame=pMainFrame;
		menu1ImageCol=pImageCol;
		menu1Images[0]=pImageLow;
		menu1Images[1]=pImageHigh;
		menu1Images[2]=pImageOpen;
		menu1ImageSize[0]=pImageSizeX;
		menu1ImageSize[1]=pImageSizeY;
		menu1UrlTop2 = pUrlTop2;
	}
	
	
	// ===== Einstellungen fuer jedes Menues treffen =====
	function menu1SetMenuOptions(pMenuNr,pMenuX, pMenuY, pMenuWidth, pMenuHeight, pZIndex, pUnused1,pUnused2,pUnused3)
	{
		// Einstellungen fuer ein Menue festlegen
		// pMenuNr = Nummer des Menues
		// 0: pMenuX = X-Position
		// 1: pMenuY = Y-Position
		// 2: pMenuWidth = Breite des Menues in Pixel
		// 3: pMenuHeight = Hoehe des Menues in Pixel
		// 4: pZIndex = z-index fuer Menuelayer
		// 5: --
		// 6: --	
		// 7: --
		menu1Options[pMenuNr] = new Array(pMenuX, pMenuY, pMenuWidth, pMenuHeight, pZIndex, pUnused1,pUnused2,pUnused3);
		//									0		1		2			3			4		5			6		7
	}

// ------------------------------------
// Funktionen zum Erzeugen des Menues
// ------------------------------------

	// ===== Neues Menue mit pMenuNr erzeugen =====
	function menu1Create(pMenuNr)
	{
		menu1[pMenuNr]=new Array();
		menu1ItemImages[pMenuNr]=new Array();		// Bilder fuer Menue (Kleine Hi/Low/Open)
	}
	
	// ===== Neuen Hauptmenue-Eintrag erzeugen =====
	function menu1CreateItem(pMenu,pXPos,pYPos,pItemText,pShowSubMenu,pTopUrl,pLeftUrl,pMainUrl,pJSFunction,pImgOff,pImgOver,pImgOn,pImgWidth,pImgHeight)
	{
		// Nummer des Menues, x/y-Position, Text fuer Menue-Eintrag (bzw. alt-Text fuer Graphik) , ID des Menues in Ebene 2, URLs fuer Top, Left, Content, auszufuehrende Javascript-Funktion, off/over/on-Dateien fuer Graphik, Breite/Hoehe-Graphik)
		// z.B. menu1CreateItem(1,226,49,'Neuwagen',1,'','','','setRootPage("neuw")',ImagePath + 'm1neuwagen_off.gif',ImagePath + 'm1neuwagen_off.gif',ImagePath + 'm1neuwagen_off.gif',84,22);
	
		// pMenu		= In welchem Menu
		// pXPos, pYPos = X-Y-Position des Eintrags
		// pItemText	= Text der angezeigt wird (Wenn pImgOff='' dann nur Text, sonst als alt-Text)
		// pShowSubMenu = welches Submenue soll angezeigt werden
		// pTopUrl		= Link fuer TopFrame
		// pLeftUrl		= Link fuer LeftFrame
		// pMainUrl		= Link fuer MainFrame
		// pJSFunction	= Javascript-Funktion die ausgefuhrt wird
		// pImgOff		= Normale Graphik (Wird diese leergelassen '', dann wird nur Text verwendet
		// pImgOver		= MouseOver Graphik
		// pImgOn		= Graphik wenn Bereich aktiv
		// pImgWidth, pImgHeight = Breite und Hoehe der Graphik
		
		// Ermitteln wieviele Eintraege in diesem Menue bereits existieren
		var newPos=menu1[pMenu].length;
		// und die Elemente einfügen
		menu1[pMenu][newPos]=new Array(pXPos,pYPos,pItemText,pShowSubMenu,pTopUrl,pLeftUrl,pMainUrl,pJSFunction,pImgOff,pImgOver,pImgOn,pImgWidth,pImgHeight);
		//								0	  1		2			3			4		5		6		 7			 8			9		10	   11		12
		
		menu1ItemImages[pMenu][newPos]=new Array();		// Bilder fuer Menue (Kleine Hi/Low/Open)
		menu1ItemImages[pMenu][newPos][0]=new Image();	// 8
		menu1ItemImages[pMenu][newPos][1]=new Image();	// 9
		menu1ItemImages[pMenu][newPos][2]=new Image();	// 10
		menu1ItemImages[pMenu][newPos][0].src = pImgOff;
		menu1ItemImages[pMenu][newPos][1].src = pImgOver;	
		menu1ItemImages[pMenu][newPos][2].src = pImgOn;

	}



// ---------------------------------------------------
//  Funktionen zum Erzeugen des Codes fuer das Menues
// ---------------------------------------------------	
	function menu1CreateLayer(pMenuNr)
	{
		// Erzeugt die Layer mit dem entsprechenden Menue
		var html='';
		var allhtml='';
		var extImg='';
		var itemLink='';
		
		// Alle Eintraege des Menues durchlaufen
		for (var i=0;i<menu1[pMenuNr].length;i++)
		{
			// jetzt den Hauptmenueeintrag anzeigen
			var mt='';
			var m1Left=menu1[pMenuNr][i][0] + menu1Options[pMenuNr][0];
			var m1Top=menu1[pMenuNr][i][1]  + menu1Options[pMenuNr][1];
			html='';
			html+='<div id="divMenu1x'+pMenuNr+'e'+i+'" style="position:absolute; width:'+menu1Options[pMenuNr][2]+'; height:'+menu1Options[pMenuNr][3]+'; left: '+m1Left+'; top: '+m1Top+';  z-index:'+menu1Options[pMenuNr][4]+'; visibility:hidden;">';
			// Link basteln
			itemLink='<a href="javascript:menu1ItemClick('+i+',0)"';
			// MouseOver-Effekte
			itemLink+=' onMouseOver="menu1ItemIn('+i+',0);return true;" onMouseOut="menu1ItemOut('+i+',0)"';
			// Style fuer Eintrag
			itemLink+=' class="menu1Item">';

			//  Spalte Text
			if (menu1[pMenuNr][i][8]=='')
			{
				// Menue benutzt Text statt Graphik
				mt+=menu1[pMenuNr][i][2];
			}
			else
			{
				// Graphik-Menue
				mt+='<img src="'+menu1[pMenuNr][i][8]+'" border="0" name="imgMenu1x'+pMenuNr+'Item'+i+'" alt="'+menu1[pMenuNr][i][2]+'">';
			}

			// Zusatz-Graphik
			if (menu1Images[0]!='')
			{
				// erweiterte Graphik
				extImg='<img src="'+menu1Images[0]+'" border="0" name="imgMenu1ax'+pMenuNr+'Item'+i+'">';
			}

			// nur wenn Graphik angegeben
			switch (menu1ImageCol)
			{
				case 0:
					html+=itemLink+mt+'</a>';
					break;
				case 1:
					html+=itemLink+extImg+mt+'</a>';
					break;
				case 2:
					html+=itemLink+mt+extImg+'</a>';
					break;
			}
			html+='</div>';
//			alert(html);
			allhtml+=html;
		}
		//if (pMenuNr==1) alert(html);	
		return allhtml;
	}
	
	function menu1WriteLayers()
	{
		// Layer fuer das Menue schreiben
		for (i=1;i<menu1.length;i++)		
		{
			// alert(menu1CreateLayer(i))
			document.write(menu1CreateLayer(i));
		}
	}

// --------------------------------------------------------------------------
// Funktionen zum Ein-/Ausblenden und Initialisieren der Menues
// --------------------------------------------------------------------------

	function menu1Init()
	{
		// DynLayer fuer Menue Initialisieren
		dMenu1=new Array();
		for (i=1;i<menu1.length;i++)
		{
			dMenu1[i]=new Array();
			for (j=0;j<menu1[i].length;j++)
			{
				dMenu1[i][j]=new DynLayer('divMenu1x'+i+'e'+j);
			}
		}
	}
	
	function menu1Show(pMenuNr)
	{
		// Menue anzeigen
		if (menu1Active!=0)
		{
			menu1Hide(pMenuNr);
		}
		else
		{
			for (j=0;j<menu1[pMenuNr].length;j++)
			{
				dMenu1[pMenuNr][j].show();
			}
			menu1Active=pMenuNr;
		}
		
	}
	
	function menu1Hide(pMenuNr)
	{
		// akutelles Menue ausblenden und neues anzeigen
		if (menu1Active!=0)
		{
			for (j=0;j<menu1[pMenuNr].length;j++)
			{
				dMenu1[pMenuNr][j].show();
			}
			menu1Active=0;
		}
		if (pMenuNr>0)
		{
			menu1Show(pMenuNr);
		}
		menu1SetOpen(-1);
	}

// -------------------------------------
// Funktionen zum Abarbeiten des Menues
// -------------------------------------

	// ===== Eventhandler: mouseClick auf Eintrag
	function menu1ItemClick(pItemNr)
	{
	// Klickroutine fuer Eintrag im Menue
	// wenn pSubItem>0, dann wurde ein Subeintrag angeklickt, sonst der Haupteintrag
	
	
		
		// Ist ein Untermenue anzuzeigen?
		if(menu1[menu1Active][pItemNr][3] == null)
		{
			//nop
		} 
		else if (menu1[menu1Active][pItemNr][3] != 0 )
		{
			eval('parent.'+menu1LeftFrame+'.menu2Show('+menu1[menu1Active][pItemNr][3]+');');
		} else 
		{
			// altes Untermenu ausblenden
			eval('parent.'+menu1LeftFrame+'.menu2Hide();');
		}
		
		// Untermenues in Top2 ausblenden
		if(menu1[menu1Active][pItemNr][3] != null)
			eval('parent.'+menu1Top2Frame+'.menu3Hide();');
		
		// ist ein Unterprogramm zu starten
		if (menu1[menu1Active][pItemNr][7]!='')
		{ 
			eval(menu1[menu1Active][pItemNr][7]);
		}

		// sind Seiten zu laden
		if (menu1[menu1Active][pItemNr][6]!='')
		{ 
			eval('parent.'+menu1MainFrame+'.location='+menu1[menu1Active][pItemNr][6]+';');
		}
		if (menu1[menu1Active][pItemNr][4]!='')
		{ 
			eval('parent.'+menu1TopFrame+'.location='+menu1[menu1Active][pItemNr][5]+';');
		}
		if (menu1[menu1Active][pItemNr][5]!='')
		{ 
			eval('parent.'+menu1LeftFrame+'.location='+menu1[menu1Active][pItemNr][5]+';');
		}
		menu1SetOpen(pItemNr);
	}

	// ===== Eventhandler: mouseOver auf Eintrag
	function menu1ItemIn(pItemNr)
	{
		setStatusText(menu1[menu1Active][pItemNr][2]);
		// MouseOver-Anim fuer eintrag
		if (pItemNr==menu1OpenItem)
		{
			// Submenue ist offen
		}
		else
		{
			// normal
			// if (menu1[menu1Active][i][pItemNr]=='')
			if (menu1[menu1Active][pItemNr][8]=='')
			{
				// Keine Graphik, d.h. Texteffekt statt Graphik 2
			}
			else
			{
				changeImage('divMenu1x'+menu1Active+'e'+pItemNr,'imgMenu1x'+menu1Active+'Item'+pItemNr, menu1ItemImages[menu1Active][pItemNr][1].src);
			}

			if (menu1ImageCol!=0)
			{
				changeImage('divMenu1x'+menu1Active+'e'+pItemNr,'imgMenu1ax'+menu1Active+'Item'+pItemNr,menu1Images[1]);
			}
		}
	
	}
	
	function menu1ItemOut(pItemNr)
	{
		setStatusText('');
		// MouseOut-Anim fuer eintrag
		if (pItemNr==menu1OpenItem)
		{
			// Submenue ist offen
		}
		else
		{
			// normal
			if (menu1[menu1Active][pItemNr][8]=='')
			{
				// Keine Graphik, d.h. Texteffekt statt Graphik 2
			}
			else
			{
				changeImage('divMenu1x'+menu1Active+'e'+pItemNr,'imgMenu1x'+menu1Active+'Item'+pItemNr, menu1ItemImages[menu1Active][pItemNr][0].src);
			}
			if (menu1ImageCol!=0)
			{
				changeImage('divMenu1x'+menu1Active+'e'+pItemNr,'imgMenu1ax'+menu1Active+'Item'+pItemNr,menu1Images[0]);
			}
		}
	}
	
	function menu1SetOpen(pItemNr)
	{
		// Wenn Menü keine Einträge enthalt, dann Function verlassen
		if(menu1[menu1Active].length<1) return false;

		// Einen Menuepunkt als Offen markieren
		// alte Markierung loeschen
		if (menu1OpenItem>=0)
		{
			// normal
			if (menu1[menu1Active][menu1OpenItem][8]=='')
			{
				// Keine Graphik, d.h. Texteffekt statt Graphik 2
			}
			else
			{
				changeImage('divMenu1x'+menu1Active+'e'+menu1OpenItem,'imgMenu1x'+menu1Active+'Item'+menu1OpenItem, menu1ItemImages[menu1Active][menu1OpenItem][0].src);
			}
			if (menu1ImageCol!=0)
			{
				changeImage('divMenu1x'+menu1Active+'e'+menu1OpenItem,'imgMenu1ax'+menu1Active+'Item'+menu1OpenItem,menu1Images[0]);
			}
		}
		// neue Setzen
		menu1OpenItem=pItemNr;
		if (menu1OpenItem>=0)
		{
			// normal
			if (menu1[menu1Active][menu1OpenItem][8]=='')
			{
				// Keine Graphik, d.h. Texteffekt statt Graphik 2
			}
			else
			{
				changeImage('divMenu1x'+menu1Active+'e'+menu1OpenItem,'imgMenu1x'+menu1Active+'Item'+menu1OpenItem,menu1ItemImages[menu1Active][menu1OpenItem][2].src);
			}
			if (menu1ImageCol!=0)
			{
				changeImage('divMenu1x'+menu1Active+'e'+menu1OpenItem,'imgMenu1ax'+menu1Active+'Item'+menu1OpenItem,menu1Images[2]);
			}
		}
		
	}
