//------------------------------------------------------------------------
// Variablen
//------------------------------------------------------------------------
var containerData;
var mediaCart = new Array();	// Download-Box
var mediaList = new Array();					// IDs und Typen der Medienübersichten oder Fotoliste einer Meldung 
var newsData = new Array();	// News-Textspeicher, um Textlängen anpassen zu können
var searchQuery = "";			// Suchanfrage

var previewId = 0;			// aktueller Preview (ID) oder 0
var previewChapter = 0;		// Textkapitel, (>0 => Pressemappe)
var xtraPage = "";			// Extras, wie Impressum etc. 

//------------------------------------------------------------------------
// Initialisierung
//------------------------------------------------------------------------

var xmlHttp = new Array();
xmlHttp["A"] = null;
xmlHttp["B"] = null;

function Get_XmlHttp(id)
{
	if (xmlHttp[id] != null)
		xmlHttp[id].abort();
	xmlHttp[id] = null;
	
	try
	{
 		xmlHttp[id] = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
 	}
	catch (e)
 	{
 		try
  		{
  			xmlHttp[id] = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
  		}
 		catch (e)
  		{
  			xmlHttp[id] = new ActiveXObject("Microsoft.XMLHTTP");
  		}
 	}
	if (!xmlHttp[id])
	{
		alert("Http-Request kann nicht initialisiert werden.");
		this.location.replace("error.php?type=XmlHttp");
		return;
	}
}

function Init(id, type)
{
	Init_Menu(idMenu);
	Init_Layers();
	
	Get_Welcome();
	Load_DBox();
	
	if (idMenu == 1)	// id=1 immer News
	{
		idContainer = 0;
		Init_Container(0, 0);
		if (id > 0)
		{
			if (type == M_TEXT)
			{
				mediaType = type;
				Open_Text(id, 0);
			}
		}
		else
			Get_News();
	}
	else
	{
		if (idContainer <= 0)
			Get_Container(idMenu, 0, 0);
		
		if (idContainer > 0)
			Get_Media(idContainer, mediaType, mediaFilter);
	}
}

window.onresize = Init_Layers;

//-----------------------------------------------------------------
// Serverkommunikation via HTTP-Request (AJAX)
//-----------------------------------------------------------------

// Welcome

function Get_Welcome()
{
	Get_XmlHttp("B");
	xmlHttp["B"].open("GET", "/common/service/welcome.php?r=" + Math.random() + "&crp=" + corpo, false);
	xmlHttp["B"].send(null);

	if (xmlHttp["B"].readyState == 4 || xmlHttp["B"].readyState=="complete")
	{
		document.getElementById("submenu").innerHTML = xmlHttp["B"].responseText;
		xmlHttp["B"] = null;
	}
}

// News

function Get_News()
{
	Get_XmlHttp("A");;
	xmlHttp["A"].open("GET", "/common/media/news.php?r=" + Math.random() + "&crp=" + corpo, true);
	xmlHttp["A"].send(null);
	xmlHttp["A"].onreadystatechange = Show_News;
	Load_Animation(true);
	Hide_Options('preview');
}

function Show_News()
{
	Clear_Sticker();
	
	switch (xmlHttp["A"].readyState) 
	{
    case 0: // UNINITIALIZED
    case 1: // LOADING
    case 2: // LOADED
    case 3: // INTERACTIVE
      	break;
    case 4 : // COMPLETED
		document.getElementById("content2").style.visibility = "hidden";
		document.getElementById("content2").innerHTML = "";
		document.getElementById("content1").innerHTML = xmlHttp["A"].responseText;
		Init_News(true);																// opener Texte speichern und Längen anpassen
		document.getElementById("content1").style.visibility = "visible";

		var x = document.getElementById("layout2_content").offsetWidth;				// sTCKER-News initialisieren
		var h = document.getElementById("content2").offsetHeight;
		if (document.getElementById("layout2_info").offsetHeight <= h)				// nur wenn die Darstellungshöhe reicht, Info-Layer in Sticker übertragen
		{
			Init_Sticker(x+60, 212, h, "layout2_info");
		}
		else
		{
			document.getElementById("layout2_info").style.left = (x + 20) + "px";	// wenn die Darstellungshöhe für den Sticker nicht reicht, im Scrollbereich belassen
		}
		document.getElementById("filter").style.visibility = "hidden";
		document.getElementById("filter").innerHTML = "";
		Scroll_Content(null);				// Scrolling auf Start
		Load_Progress();
		previewId = 0;
		previewChapter = 0;
		xmlHttp["A"] = null;
      	break;
    default:
		alert("XML HTTP: News konnten nicht geladen werden.");
		break;
	}
}

// Container

function Get_Container(idm, idc, idmedia)
{
	if(xmlHttp["A"] != null)	// evtl. laufenden asynchronen Request abbrechen
	{
		xmlHttp["A"].abort(); 	// den Request abbrechen
		xmlHttp["A"] = null;
		Load_Animation(false);
	}
	Get_XmlHttp("B");
	xmlHttp["B"].open("GET", "/common/media/container.php?r=" + Math.random() + "&crp=" + corpo + "&m=" + idm, false);
	xmlHttp["B"].send(null);

	if (xmlHttp["B"].readyState == 4 || xmlHttp["B"].readyState=="complete")
	{
		containerData = eval('(' + xmlHttp["B"].responseText + ')');
	/*	if (containerData[0][0] < 0)	// Fehler
		{
			alert('Es ist ein Übertragungsfehler aufgetreten.\nDer Renault Presse-Service muss neu gestartet werden.');
			this.location.replace("index.php");
		}
	*/
		xmlHttp["B"] = null;
		var str = '';
		var i;
		
		for (i=0; i<containerData.length; i++)
		{
			str += '<div id="c' + containerData[i][0] + '" class="menu_r">';
			str += '<div class="menu_text_r" onmouseover="Hilite_Menu(this)" onmouseout="Unlite_Menu(this)"';
			str += ' onclick="Select_Container(' + containerData[i][0] + ')">' + containerData[i][1] + '</div></div>';
		}
		document.getElementById("history").innerHTML = str;
		if (containerData.length > 0)
		{
			if (idc > 0)
				Init_Container(idc, idmedia);
			else
				Init_Container(containerData[0][0], idmedia);	// ersten Container aktivieren
		}
		else
			Init_Container(0, 0);
	}
}

// Medienlisten

function Get_Media(idc, mtype, filter)
{
	var query;
	if (xtraPage == "search")
		query = "/common/media/search.php?r=" + Math.random() + "&crp=" + corpo + "&t=" + mtype + "&f=" + filter + "&q=" + escape(searchQuery);
	else
		query = "/common/media/media.php?r=" + Math.random() + "&crp=" + corpo + "&c=" + idc + "&t=" + mtype + "&f=" + filter;
		
	Get_XmlHttp("A");;
	xmlHttp["A"].open("GET", query, true);
	xmlHttp["A"].send(null);
	xmlHttp["A"].onreadystatechange = Show_Media;
	Load_Animation(true);
	Hide_Options('preview');
}

function Show_Media() 
{
	Clear_Sticker();
	
	switch (xmlHttp["A"].readyState) 
	{
    case 0: // UNINITIALIZED
    case 1: // LOADING
    case 2: // LOADED
    case 3: // INTERACTIVE
      	break;
    case 4 : // COMPLETED
		document.getElementById("content2").style.visibility = "hidden";
		document.getElementById("content2").innerHTML = "";
		document.getElementById("content1").innerHTML = xmlHttp["A"].responseText;
		document.getElementById("content1").style.visibility = "visible";
		if (document.getElementById("medialist"))
			mediaList = document.getElementById("medialist").value.split("|");
		if ((mediaType == M_PHOTO) || (mediaType == M_VIDEO))
		{
			Load_Progress();
			document.getElementById("filter").innerHTML = document.getElementById("filter_data").innerHTML;
			document.getElementById("filter_data").innerHTML = "";
			Init_Filter(mediaType);
			document.getElementById("filter").style.visibility = "visible";
		}
		else
		{
			document.getElementById("filter").style.visibility = "hidden";
			document.getElementById("filter").innerHTML = "";
			Load_Animation(false);
		}
		previewId = 0;
		previewChapter = 0;
		Scroll_Content(null);				// Scrolling auf Start
 		if (document.getElementById("extra_optiondata"))
		{
			document.getElementById("preview_options").innerHTML = document.getElementById("extra_optiondata").innerHTML;
			document.getElementById("extra_optiondata").innerHTML = '';
			Show_ExtraOptions();
		}
		xmlHttp["A"] = null;
//		if (document.getElementById("extra_title"))
//			document.getElementById("submenu").innerHTML = '<br /><br /><div class="menu_l_selected"><div class="menu_text_l">' + document.getElementById("extra_title").value + '</div></div>';
     	break;
    default:
		alert("XML HTTP: Medien konnten nicht geladen werden.");
		break;
	}
}

// Textvorschau

function Get_Text(id, a)
{
	Get_XmlHttp("A");;
	xmlHttp["A"].open("GET", "/common/media/text.php?r=" + Math.random() + "&crp=" + corpo + "&id=" + id + "&a=" + a, true);
	xmlHttp["A"].send(null);
	xmlHttp["A"].onreadystatechange = new Function('Show_Preview(' + id + ')');
	Load_Animation(true);
}

// Fotovorschau

function Get_Photo(id)
{
	Get_XmlHttp("A");;
	if (xtraPage == 'downloadbox')
	{
		xmlHttp["A"].open("GET", "/common/media/photo.php?r=" + Math.random() + "&crp=" + corpo + "&id=" + id, true);
	}
	else
	{
		var prevId = 0;
		var nextId = 0;
		var i = Get_MediaIndex(id, M_PHOTO);
		if (i >= 0)
		{
			if (i > 0)
				prevId = mediaList[i-2];
			else
				prevId = mediaList[mediaList.length-2];
			if (i < mediaList.length-2)
				nextId = mediaList[i+2];
			else
				nextId = mediaList[0];
		}
		xmlHttp["A"].open("GET", "/common/media/photo.php?r=" + Math.random() + "&crp=" + corpo + "&id=" + id + "&pid=" + prevId + "&nid=" + nextId, true);
	}
	xmlHttp["A"].send(null);
	xmlHttp["A"].onreadystatechange = new Function('Show_Preview(' + id + ')');
	Load_Animation(true);
	
}

// Videovorschau

function Get_Video(id)
{
	Get_XmlHttp("A");;
	if (playFormat == "flv")
		xmlHttp["A"].open("GET", "/common/media/video_fl.php?r=" + Math.random() + "&crp=" + corpo + "&id=" + id + "&f=" + videoFormat, true); // Flash Video
	else	
		xmlHttp["A"].open("GET", "/common/media/video.php?r=" + Math.random() + "&crp=" + corpo + "&id=" + id + "&f=" + videoFormat, true);
	xmlHttp["A"].send(null);
	xmlHttp["A"].onreadystatechange = new Function('Show_Preview(' + id + ')');
	Load_Animation(true);
	
}

function Show_Preview(id) 
{
	switch (xmlHttp["A"].readyState) 
	{
    case 0: // UNINITIALIZED
    case 1: // LOADING
    case 2: // LOADED
    case 3: // INTERACTIVE
      	break;
    case 4 : // COMPLETED
		Clear_Sticker();
		previewChapter = 0;
		
		switch (mediaType)
		{
			case M_TEXT:
			case M_PRESSKIT:
			document.getElementById("content2").style.visibility = "hidden";
			document.getElementById("content2").innerHTML = "";
			document.getElementById("content1").innerHTML = xmlHttp["A"].responseText;
			document.getElementById("content1").style.visibility = "visible";
			if (document.getElementById("chapter"))
			{
				var c = document.getElementById("chapter").value;
				previewChapter = c;
				if (c > 1)
				{
					if (!document.getElementById("chapter" + c))
						Scroll_Content(null);						// Scrolling auf Start
					else
						Scroll_Content(document.getElementById("chapter" + c));
				}
				if (c == 0)																// Indikator für Pressemeldung
				{
					Scroll_Content(null);						// Scrolling auf Start
					var x = document.getElementById("layout1_info").offsetLeft;				// Layer für zugeordnete Fotos initialisieren
					var w = document.getElementById("content2").offsetWidth - x;		// Basis der Positions- und Größenberechnung ist der immer vollständig skalierte Content2-Layer
					var h = document.getElementById("content2").offsetHeight;
					Init_Sticker(x+40, w, h, "layout1_info");
	
					if (document.getElementById("photoid"))								// Sind Fotos vorhanden?
					{
						var h = Math.floor(w * 0.75);									// Fotohöhe errechnet sich aus der Breite bei 4:3
						c = document.getElementById("content2").offsetHeight;
						if (h > c - 90)													// Fotobox liegt 60 Pixel unterhalb der Dateiinfoausgabe plus 30 Pixel Platz für Schlagworte
							h = c - 90;													// ergibt die verfügbare Resthöhe
						document.getElementById("txphoto").style.height = h + "px";
						document.getElementById("tximage").style.height = h + "px";
						
						mediaList = document.getElementById("photolist").value.split("|");	// Fotoliste in Medienarray speichern für "Slideshow"
						//Show_PhotoOptions();
					}
					Show_PreviewOptions(id, M_TEXT);
				}
				else
					Show_PreviewOptions(id, M_PRESSKIT);
			}
			Load_Animation(false);
 			break;
			case M_PHOTO:
			document.getElementById("content1").style.visibility = "hidden";
			document.getElementById("content1").innerHTML = "";
			document.getElementById("content2").innerHTML = xmlHttp["A"].responseText;
			document.getElementById("content2").style.visibility = "visible";
			Load_Progress();
			Show_PreviewOptions(id, M_PHOTO);
			break;
			case M_VIDEO:
//			document.getElementById("content2").style.visibility = "hidden";
//			document.getElementById("content2").innerHTML = "";
//			document.getElementById("content1").innerHTML = xmlHttp["A"].responseText;
//			document.getElementById("content1").style.visibility = "visible";

			document.getElementById("content1").style.visibility = "hidden";
			document.getElementById("content1").innerHTML = "";
			document.getElementById("content2").innerHTML = xmlHttp["A"].responseText;
			document.getElementById("content2").style.visibility = "visible";

			document.getElementById("filter").innerHTML = document.getElementById("filter_data").innerHTML;
			document.getElementById("filter_data").innerHTML = "";
			Init_Filter(mediaType);
			document.getElementById("filter").style.visibility = "visible";
			
			if (playFormat == "flv")
				Init_Video(document.getElementById("content2").offsetHeight-40);	// Flash Video
			Load_Animation(false);
			Show_PreviewOptions(id, M_VIDEO);
			break;
		}
		previewId = id;
		Hide_Options("media");
		xmlHttp["A"] = null;
		break;
    default:
		alert("XML HTTP: Medienvorschau konnte nicht geladen werden.");
		break;
	}
}

// ZIP-Archiv

function Get_Archive(files, save)
{
	if (save)
	{
		this.location = "/common/zip/zip.php?crp=" + corpo + "&f=" + files + "&s=1";
	}
	else
	{
		Get_XmlHttp("A");;
		xmlHttp["A"].open("GET", "/common/zip/zip.php?r=" + Math.random() + "&crp=" + corpo + "&f=" + files + "&s=0", true);
		xmlHttp["A"].send(null);
		xmlHttp["A"].onreadystatechange = Show_Archive;
	}
}

function Show_Archive()
{
	switch (xmlHttp["A"].readyState) 
	{
    case 0: // UNINITIALIZED
    case 1: // LOADING
    case 2: // LOADED
    case 3: // INTERACTIVE
      	break;
    case 4 : // COMPLETED
		var zipData = eval('(' + xmlHttp["A"].responseText + ')');
		if ((xtraPage == "downloadbox") && (document.getElementById("extra_title")))
		{
			var str = document.getElementById("extra_title").value.split("|");
			if (str.length == 1)
				str[1] = "";
			str[1] += "_________________<br /><br />" + zipData[0];	
			document.getElementById("submenu").innerHTML = '<br /><br /><div class="menu_l_selected"><div class="menu_text_l">'+str[0]+'</div></div><div class="extra_info">'+str[1]+'</div>';
		}
		xmlHttp["A"] = null;
		break;
    default:
		alert("XML HTTP: ZIP-Archiv konnte nicht erstellt werden.");
		break;
	}
}

// Suche im Hintergrund über alle Medien, um die Ergebnisse quantitativ anzeigen zu können

function Get_Results()
{
	Get_XmlHttp("B");
	xmlHttp["B"].open("GET", "/common/media/results.php?r=" + Math.random() + "&crp=" + corpo + "&q=" + escape(searchQuery), true);
	xmlHttp["B"].send(null);
	xmlHttp["B"].onreadystatechange = Show_Results;
}

function Show_Results()
{
	switch (xmlHttp["B"].readyState) 
	{
    case 0: // UNINITIALIZED
    case 1: // LOADING
    case 2: // LOADED
    case 3: // INTERACTIVE
      	break;
    case 4 : // COMPLETED
		var res = eval('(' + xmlHttp["B"].responseText + ')');
		if ((xtraPage == "search") && (document.getElementById("extra_title")))
		{
			var str = '';
			if (res[0] > 1)
				str += res[0] + " Texte<br />";
			else if (res[0] == 1)
				str += "1 Text<br />";
			if (res[1] > 1)
				str += res[1] + " Fotos<br />";
			else if (res[1] == 1)
				str += "1 Foto<br />";
			if (res[2] > 1)
				str += res[2] + " Videos<br />";
			else if (res[2] == 1)
				str += "1 Video<br />";
			if (res[3] > 1)
				str += res[3] + " Daten-Dokumente<br />";
			else if (res[3] == 1)
				str += "1 Daten-Dokument<br />";
			if (res[4] > 1)
				str += res[4] + " Web-Links";
			else if (res[4] == 1)
				str += "1 Web-Link";
			
			document.getElementById("submenu").innerHTML = '<br /><br /><div class="menu_l_selected"><div class="menu_text_l">Suchergebnisse</div></div><div class="extra_info">' + str + '</div>';
		}
		xmlHttp["B"] = null;
		break;
	}
}

// Loading/Progress

function Load_Animation(run)
{
	if (run)
	{
		document.getElementById("busy").innerHTML = '<div class="busy"><img src="/img/loadanim.gif" width="64" height="64" /><p id="busymsg"></p></div>';
		document.getElementById("busy").style.visibility = "visible";
	}
	else
	{
		document.getElementById("busy").style.visibility = "hidden";
		document.getElementById("busy").innerHTML = '';
	}
}

function Load_Progress()
{
	if (!document.getElementById("count"))
	{
		Load_Animation(false);
		return;
	}
	if (!document.getElementById("busymsg")	)
	{
		Load_Animation(false);
		return;
	}
		
	var n = Number(document.getElementById("count").value);
	if (n < 1)
	{
		Load_Animation(false);
		return;
	}
	var layer = "content1";
	var x = document.getElementById(layer).getElementsByTagName('img').length;			// Anzahl der Bilder
	if (x < 1)
	{
		layer = "content2";
		x = document.getElementById(layer).getElementsByTagName('img').length;	
	}
	if (x > n)
		x = n;
	n = 0;
	var i;
	for (i=0; i<x; i++)
	{	
		if (document.getElementById(layer).getElementsByTagName('img')[i].complete)	// Status aller Bilder abfragen
			n++;
	}
	document.getElementById("busymsg").innerHTML = n + "/" + x;
	if (n < x - 4)
		setTimeout('Load_Progress()', 100);
	else
		Load_Animation(false);	
}

function Stop_Progress()
{
	if (document.getElementById("count"))
		document.getElementById("count").value = 0;	// Abbruch durch Benutzer: count auf 0 setzen
}
//-----------------------------------------------------------------
// Menu
//-----------------------------------------------------------------

function Init_Menu(id)
{
	var i, j, x, y;
	var str, data; 

	// Indize im Array ermitteln
	
	x = y = -1;
	for (i=0; i<menu.length; i++)
	{
		for (j=0; j<menu[i].length; j++)
		{
			data = menu[i][j].split('|');
			if (data[0] == id)
			{
				x = i;	
				y = j;
				break;
			}
		}
		if (x > 0)
			break;
	}
	
	if ((y == 0) && (menu[x].length > 1))		// Hauptpunkt mit Unterpunkten hat keine Inhalte
		y = 1;									// => 1. Unterpunkt wählen
		
	// Hauptpunkt selektieren
	
	for (i=0; i<menu.length; i++)
	{
		if (i == x)
			document.getElementById("m" + i).className = "menu_t_selected";
		else
			document.getElementById("m" + i).className = "menu_t";
	}
	
	str = '';
	if (y > 0)		// Untermenü schreiben und selektieren
	{
	//	str += '<div class="menu_separator"></div>';
		for (i=1; i<menu[x].length; i++)
		{
			data = menu[x][i].split('|');
			if (Number(data[0]) < 1)
			{
				str += '<div class="menu_separator"></div>';
			}
			else
			{
				str += '<div id="s' + data[0] + '" class="menu_l';
				if (i == y)
				{
					idMenu = Number(data[0]);	// Aktiver Menüpunkt
					document.getElementById("l" + M_DATA).innerHTML = data[2];	// Label für PDFs unterscheidlich
					str += '_selected';
				}
				str += '"><div class="menu_text_l" onmouseover="Hilite_Menu(this)" onmouseout="Unlite_Menu(this)" onclick="Select_Menu(' + data[0] + ')">';
				str += data[1] + '</div></div>';
			}
		}
	}
	else
	{
		data = menu[x][0].split('|');
		document.getElementById("l" + M_DATA).innerHTML = data[2];	// Label für PDFs unterscheidlich
		idMenu = Number(data[0]);
	}
	document.getElementById("submenu").innerHTML = str;
	Init_Scroll('submenu');
}

function Hilite_Menu(elem)
{
	var cls = elem.parentNode.className;
	if ((cls.indexOf("_selected") > 0) || (cls.indexOf(" disabled") > 0))
		return;
	cls = elem.className;
	if (cls.indexOf(" hilite") > 0)
		return;
	elem.className = cls + " hilite";
}

function Unlite_Menu(elem)
{
/*	var cls = elem.parentNode.className;
	if ((cls.indexOf("selected") > 0) || (cls.indexOf("disabled") > 0))
		return;
*/	var cls = elem.className;
	var i = cls.indexOf(" hilite");
	if (i < 0)
		return;
	elem.className = cls.substr(0, i);
}

function Select_Menu(id)
{
//	if ((id > 1) && (id == idMenu))	=========> bereits selektiertes Menü nochmal selektieren => Medienliste 
//		return;

	mediaFilter &= 0xFF00;  // Inhaltsfilter löschen, da bei der neuen Rubrik ebtl. kein solcher Filter gesetzt ist.
	
	Init_Menu(id);		// Menü selektieren, Untermenü schreiben und die wirkliche idMenu - ggf. aus 1. Unterpunkt ermittelt - setzen(!)
	idContainer = 0;

	if (idMenu == 1)			// id=1 immer News
	{
		Init_Container(0, 0);
		Get_News();
	}
	else
		Get_Container(idMenu, 0, 0);
}

function Go_Home()
{
	this.location.replace("main.php");
}
//-----------------------------------------------------------------
// News
//-----------------------------------------------------------------

function Init_News(save)
{
	if (!document.getElementById("count"))
		return;
		
	var i, a, h, str;
	var n = document.getElementById("count").value;		// Anz. der Fotos = Anz. der News

	for (i=0; i<n; i++)
	{
		if (save)													// Im ersten Lauf Texte aus HTML in Array speichen
			newsData[i] = document.getElementById("news" + i).lastChild.data;		// Opener-Text
		else
			document.getElementById("news" + i).lastChild.data = newsData[i];		// sonst zurückschreiben
		if (i == 0)
			h = 180;	// Boxhöhe Teaser
		else
			h = 120;
		str = newsData[i];
		while (document.getElementById("news" + i).offsetHeight > h)		// Texthöhe auf Boxhöhe trimmen
		{
			a = str.lastIndexOf(" ");
			if (a < 0)
				break;
			str = str.substr(0, a) + "...";	
			document.getElementById("news" + i).lastChild.data = str;
		}
	}
}
//-----------------------------------------------------------------
// Container
//-----------------------------------------------------------------

function Select_Container(id)
{
	if (idContainer == id)
		return;

	Init_Container(id, 0)
}

function Init_Container(id, idmedia)
{
	var i, j, h, s;
	
	if (document.getElementById("c" + idContainer))
		document.getElementById("c" + idContainer).className = "menu_r";
	idContainer = id;
	
	if (id > 0)
	{
		document.getElementById("c" + id).className = "menu_r_selected";
		for (i=0; i<containerData.length; i++)
		{
			if (containerData[i][0] == id)
			{
				if (containerData[i][2].length > 4)
				{
					h = containerData[i][4];
					if (h < 200)
						s = (200 - h) >> 1;
					else
						s = 0;
					document.getElementById("icon").innerHTML = '<img src="/icon/' + containerData[i][2] + '" width="' + containerData[i][3] + '" height="' + h + '" vspace="' + s + '" />';
				}
				else
					document.getElementById("icon").innerHTML = '';
				for (j=0; j<D_MEDIA.length; j++)
				{
					document.getElementById("t" + D_MEDIA[j]).className = "menu_b";
					if (containerData[i][j+5] > 0)
						document.getElementById("l" + D_MEDIA[j]).className = "menu_text_b";
					else
					{
						if (mediaType == D_MEDIA[j])		// aktueller Medientyp nicht im Container => Text wählen
						{
							mediaType = M_TEXT;
						}
						document.getElementById("l" + D_MEDIA[j]).className = "menu_text_b disabled";
					}
				}
			}
			document.getElementById("t" + mediaType).className = "menu_b_selected";
		}
		document.getElementById("mediamenu").style.visibility = "visible";
		document.getElementById("icon").style.visibility = "visible";
		if (idmedia == 0)
			Get_Media(idContainer, mediaType, mediaFilter);
	}
	else
	{
		document.getElementById("icon").style.visibility = "hidden";
		document.getElementById("mediamenu").style.visibility = "hidden";
		document.getElementById("filter").style.visibility = "hidden";
		document.getElementById("history").innerHTML = "";
	}
	Init_Scroll('history');	
}

//-----------------------------------------------------------------
// Medien
//-----------------------------------------------------------------

function Select_Media(type)
{
	if (type == mediaType)
		return;
	
	if (document.getElementById("l" + type).className.indexOf("disabled") > 0)
		return;
	
	document.getElementById("t" + mediaType).className = "menu_b";
	document.getElementById("t" + type).className = "menu_b_selected";
	
	mediaType = type;	
	Get_Media(idContainer, mediaType, mediaFilter);
}

function Init_MediaMenu()
{
	var i;
	
	for (i=0; i<D_MEDIA.length; i++)
	{
		if (document.getElementById("l" + D_MEDIA[i]).className.indexOf("disabled") < 0)
			document.getElementById("l" + D_MEDIA[i]).className = "menu_text_b";
		document.getElementById("t" + D_MEDIA[i]).className = "menu_b";
	}
	document.getElementById("t" + mediaType).className = "menu_b_selected";
}

function Init_Filter(type)
{
	var i, val;
	
	switch (type)
	{
		case M_PHOTO:
		for (i=0; i<16; i++)
		{
			val = Math.pow(2, i);
			if (mediaFilter & val)			// Filter ist gesetzt
				document.getElementById("f" + S_FILTER[i]).src = "/img/f_" + S_FILTER[i] + "_1.gif";
		}
		break;
		case M_VIDEO:
		document.getElementById("f" + videoFormat).src = "/img/f_" + videoFormat + "_1.gif";
		break;
	}
}

function Hilite_Filter(bit, info)
{
	document.getElementById("filter_info").innerHTML = info;	// Info immer zeigen
	
	var val = Math.pow(2, bit);
	if (mediaFilter & val)			// Filter ist eingeschaltet
		return;
	document.getElementById("f" + S_FILTER[bit]).src = "/img/f_" + S_FILTER[bit] + "_2.gif";
}

function Unlite_Filter(bit)
{
	document.getElementById("filter_info").innerHTML = "&nbsp;";
	
	var val = Math.pow(2, bit);
	if (mediaFilter & val)			// Filter ist eingeschaltet
		return;
	document.getElementById("f" + S_FILTER[bit]).src = "/img/f_" + S_FILTER[bit] + "_0.gif";
}

function Switch_Filter(bit)
{
	var cFilter = mediaFilter & 0xFF;	// Inhaltsfilter
	var fFilter = mediaFilter & 0xFF00; // Formatfilter
	var val = Math.pow(2, bit);

	if (val & 0xFF)		// Inhaltsfilter
	{
		if (cFilter & val)		// Filter ist eingeschaltet
			cFilter = 0;		// Alle Filter ausschalten, da ja nur 1 Filter angeschaltet gewesen sein kann
		else
			cFilter = val;		// Filter einschalten
	}
	else
	{
		if (fFilter & val)		// Filter ist eingeschaltet
			fFilter = 0;		// Alle Filter ausschalten, da ja nur 1 Filter angeschaltet gewesen sein kann
		else
			fFilter = val;		// Filter einschalten
	}
	mediaFilter = cFilter | fFilter;
	Init_Filter(M_PHOTO);
/*	
	var val = Math.pow(2, bit);
	if (mediaFilter & val)			// Filter ist eingeschaltet
	{	
		mediaFilter &= ~val;			// also ausschalten
		document.getElementById("f" + S_FILTER[bit]).src = "/img/f_" + S_FILTER[bit] + "_0.gif";
	}
	else
	{	
		mediaFilter |= val;			// sonst einschalten
		document.getElementById("f" + S_FILTER[bit]).src = "/img/f_" + S_FILTER[bit] + "_1.gif";
	}
*/	
	document.getElementById("filter_info").innerHTML = "&nbsp;";
	Get_Media(idContainer, mediaType, mediaFilter);
}

function Hilite_VideoFormat(format, info)
{
	document.getElementById("filter_info").innerHTML = info;	// Info immer zeigen
	
	if (format == videoFormat)
		return;
	document.getElementById("f" + format).src = "/img/f_" + format + "_2.gif";
}

function Unlite_VideoFormat(format, info)
{
	document.getElementById("filter_info").innerHTML = "&nbsp;";
	
	if (format == videoFormat)
		return;
	document.getElementById("f" + format).src = "/img/f_" + format + "_0.gif";
}

function Select_VideoFormat(format)
{
	if (format == videoFormat)
		return;
	document.getElementById("f" + videoFormat).src = "/img/f_" + videoFormat + "_0.gif";
	document.getElementById("f" + format).src = "/img/f_" + format + "_1.gif";
	videoFormat = format;
	if (previewId > 0)
		Get_Video(previewId);
		
}

function Show_MediaOptions(elem, id, type)
{
	var x = elem.offsetLeft;
	var y = elem.offsetTop;
	var w = elem.offsetWidth;
	var h = elem.offsetHeight;
	
	document.getElementById("media_options").style.width = "40px";
	document.getElementById("media_options").style.height = h + "px";
	document.getElementById("media_options").style.left = (x + w - 39) + "px";
	document.getElementById("media_options").style.top = y + "px";
	Init_Options("media", id, type, In_Cart(id, type));
	document.getElementById("media_options").style.visibility = "visible";
}

function Show_PreviewOptions(id, type)
{
	Init_Options("preview", id, type, In_Cart(id, type));
	document.getElementById("preview_options").style.visibility = "visible";
}

function Show_PhotoOptions()
{
	var y = document.getElementById("txphoto").offsetTop;
	var h = document.getElementById("tximage").offsetHeight;
	document.getElementById("txphoto_options").style.top = (y + h - 40) + "px";
	var id = document.getElementById("photoid").value;
	Init_Options("txphoto", id, M_PHOTO, In_Cart(id, M_PHOTO));
	document.getElementById("txphoto_options").style.visibility = "visible";
}

function Show_ExtraOptions(id, type)
{
	document.getElementById("preview_options").style.visibility = "visible";
}

function Init_Options(name, id, type, cart)
{
	var data = document.getElementById(name + "_optiondata").innerHTML.split("|");
	var html = "";
	
	var i;
	
	for (i=0; i<data.length; i+=2)
	{
		if (!data[i] || !data[i+1])
			break;
			
		data[i+1] = data[i+1].replace(/{ID}/g, String(id));
		data[i+1] = data[i+1].replace(/{TYPE}/g, String(type));

		switch (data[i])
		{
			case "CART0":
			if (cart < 0)
				html += data[i+1];
			break;
			case "CART1":
			if (cart >= 0)
				html += data[i+1];
			break;
			case "BROWSE":
			html += data[i+1].replace(/{BROWSE}/g, Get_Browse(id));
			break;
			default:
			html += data[i+1];
			break;
		}
	}
	document.getElementById(name + "_options").innerHTML = html;
}

function Hide_Options(name)
{
	if (document.getElementById(name + "_options"))
		document.getElementById(name + "_options").style.visibility = "hidden";
}

function Hilite_Option(icn, name, info)
{
	document.getElementById("option_info").innerHTML = info;
	if (name.length)
		icn.src = "/img/i_" + name + "_2.gif";
}

function Unlite_Option(icn, name)
{
	document.getElementById("option_info").innerHTML = '';
	if (name.length)
		icn.src = "/img/i_" + name + "_0.gif";
}

function Zoom_Photo(img, mode)
{
	if (mode)
	{
		document.getElementById("content2").innerHTML = '<img style="cursor:pointer" onclick="Zoom_Photo(this, 0)" onmouseout="Zoom_Photo(this, 0)" src="' + img.src + '" height="100%">';
		document.getElementById("content1").style.visibility = "hidden";
		document.getElementById("sticker").style.visibility = "hidden";
		document.getElementById("content2").style.visibility = "visible";
		Hide_Options("txphoto");
		Hide_Options("preview");
	}
	else
	{
		document.getElementById("content2").innerHTML = '';
		document.getElementById("content2").style.visibility = "hidden";
		document.getElementById("content1").style.visibility = "visible";
		document.getElementById("sticker").style.visibility = "visible";
		document.getElementById("preview_options").style.visibility = "visible";
	}
}
//-----------------------------------------------------------------
// Download und Download-Box
//-----------------------------------------------------------------

function In_Cart(id, type)
{
	var i;
	
	for (i=0; i<mediaCart.length; i+=2)
	{
		if ((mediaCart[i] == id) && (mediaCart[i+1] == type))
			return i;
	}
	return -1;
}

function Remove_Media(name, id, type)
{
	var i = In_Cart(id, type);
	if (i >= 0)
	{
		mediaCart.splice(i, 2);
		Init_Options(name, id, type, -1);
		Save_DBox();
	}
}

function Add_Media(name, id, type)
{
	mediaCart.push(id, type);	
	Init_Options(name, id, type, 1);
	Save_DBox();
}

function Remove_DBMedia(name, id, type)
{
	var i = In_Cart(id, type);
	if (i >= 0)
	{
		mediaCart.splice(i, 2);
		Save_DBox();
		Open_DBox();
	}
}

function Open_DBox()
{
	document.getElementById("dbox").src = "/img/m_dbox_1.gif";
	if (mediaCart.length == 0)
	{
		Open_Extra('none');
		document.getElementById("content1").innerHTML = '<p>Es befinden sich keine Medien in Ihrer Download-Box.</p>';
		setTimeout('Close_Extra()', 2000);
		return;
	}
	
	Open_Extra('downloadbox', '&d=' + mediaCart.join(",") + '&f=' + videoFormat);
	var files = document.getElementById("dboxfiles").value;
	if (files.length > 4)
		Get_Archive(files, 0);
}

function Delete_DBox()
{
	if (confirm('Möchten Sie wirklich alle Medien aus Ihrer Download-Box entfernen?'))
	{
		mediaCart.length = 0;
		Open_DBox();
		Save_DBox();
	}
}

function Download_DBox()
{
	var files = document.getElementById("dboxfiles").value;
	if (files.length > 4)
		Get_Archive(files, 1);
}

function Download_Media(id, type)
{
	this.location = "/common/service/download.php?crp=" + corpo + "&id=" + id + "&t=" + type + "&f=" + videoFormat;
}

function Hilite_Special(name, info)
{
	if (document.getElementById(name).src.indexOf("_1.gif") > 0)
		return;
		
	if (name == "dbox")
	{
//		if (xtraPage == "downloadbox")
//			return;
		var n = mediaCart.length >> 1;
		if (n > 0)
			info += "<br />" + n + " Medien";
	}
	document.getElementById(name + "_info").innerHTML = info;
	document.getElementById(name).src = "/img/m_" + name + "_2.gif";
}

function Unlite_Special(name)
{
	document.getElementById(name + "_info").innerHTML = "";
	if (document.getElementById(name).src.indexOf("_1.gif") > 0)
		return;
	document.getElementById(name).src = "/img/m_" + name + "_0.gif";
}

//-----------------------------------------------------------------
// Medien-Preview
//-----------------------------------------------------------------

function Open_Text(id, a)
{
	mediaType = M_TEXT;
	Init_MediaMenu();
	Get_Text(id, a);	
}

function Open_Photo(id)
{
	mediaType = M_PHOTO;
	Init_MediaMenu();
	Get_Photo(id);	
}

function Open_Video(id)
{
	mediaType = M_VIDEO;
	Init_MediaMenu();
	Get_Video(id);	
}

function Open_NewsText(id)	// Pressemeldung aus News 	
{
//	mediaType = M_TEXT;
//	Init_Menu(idm);			
//	idContainer = 0;		 
	Open_Text(id, 0);
}

function Open_NewsVideo(id)	// Video Preview aus News
{
	mediaType = M_VIDEO;
//	Init_Menu(idm);
//	idContainer = 0;	// damit Close_Preview den Container initialisiert
	Open_Video(id);
}

function Open_NewsMedia(idm, idc, mtype, target)
{
	var id;
	
	Init_Menu(idm);
	if (target)
	{
		if ((mtype == M_DATA) || (mtype == M_LINK))
		{
			Get_Container(idMenu, idc, 0);
			Open_URL(target);
			Select_Media(mtype);
		}
		else
		{
			id = Number(target);
			Get_Container(idMenu, idc, id);
			switch (mtype)
			{
				case M_TEXT:
				Open_Text(id, 0);
				break;
				case M_PRESSKIT:
				Open_Text(id, 1);
				break;
				case M_PHOTO:
				Open_Photo(id);
				break;
				case M_VIDEO:
				Open_Video(id);
				break;
			}
		}
	}
	else
	{
		if (mtype == M_PRESSKIT)
			mtype = M_TEXT;
		mediaType = mtype;
		Get_Container(idMenu, idc, 0);
	}
}

function Print_Text(id, type)
{
	//this.location = "/common/php/print.php?crp=" + corpo + "&id=" + id + "&type=" + type;
	window.open("/common/php/print.php?crp=" + corpo + "&id=" + id + "&type=" + type, "print");
}

function Get_Browse(id)
{
	var n = mediaList.length;
	var i;
	
	for (i=0; i<n; i+=2)
	{
		if (mediaList[i] == id)
		{
			return ((i >> 1) + 1) + " / " + (n >> 1);
		}
	}
	return "0 / 0";
}

function Get_MediaIndex(id, type)
{
	var n = mediaList.length;
	var i;
	
	for (i=0; i<n; i+=2)
	{
		if ((mediaList[i] == id) && (mediaList[i+1] == type))
			return i;
	}
	return -1;
}

function Next_Photo(id)
{
	var i, file;
	var n = mediaList.length;
	
	for (i=0; i<n; i+=2)
	{
		if (mediaList[i] == id)
		{
			if (i < n - 2)
				i += 2;
			else
				i = 0;
			id = mediaList[i];
			file = mediaList[i+1];
			document.getElementById("tximage").src = "media/photo/lores/" + file + "p.jpg";
			document.getElementById("photoid").value = id;
			Init_Options("txphoto", id, M_PHOTO, In_Cart(id, M_PHOTO));
			document.getElementById("txkeywords").innerHTML = document.getElementById("keylist").value.split("|")[i>>1];
			return;
		}
	}
}

function Prev_Photo(id)
{
	var i, file;
	var n = mediaList.length;
	
	for (i=0; i<n; i+=2)
	{
		if (mediaList[i] == id)
		{
			if (i >= 2)
				i -= 2;
			else
				i = n - 2;
			id = mediaList[i];
			file = mediaList[i+1];
			document.getElementById("tximage").src = "media/photo/lores/" + file + "p.jpg";
			document.getElementById("photoid").value = id;
			Init_Options("txphoto", id, M_PHOTO, In_Cart(id, M_PHOTO));
			document.getElementById("txkeywords").innerHTML = document.getElementById("keylist").value.split("|")[i>>1];
			return;
		}
	}
}


function Close_Preview()
{
	Hide_Options("preview");
	document.getElementById("content1").innerHTML = "";
	document.getElementById("content2").innerHTML = "";
	if (xtraPage == "search")
	{
		Get_Media(idContainer, mediaType, mediaFilter);
		return;	
	}
	if (xtraPage == "downloadbox")
	{
		Open_DBox();
		return;	
	}
	
	if (idMenu == 1)
	{
		Get_News();
		return;
	}
	
	if (idContainer == 0)
		Get_Container(idMenu, 0, 0);
	else
		Get_Media(idContainer, mediaType, mediaFilter);
}

//-------------------------------------------------------------------
// Service (Impressum, Glossar, Kontakt, Footage etc.)
//-------------------------------------------------------------------
function Open_Extra(page, param)
{
	if (page != "downloadbox")
		document.getElementById("dbox").src = "/img/m_dbox_0.gif";

	if(xmlHttp["A"] != null)
	{
		xmlHttp["A"].abort(); // den Request abbrechen
        xmlHttp["A"] = null; // und zurück setzen
		Load_Animation(false);
	}
	
	if (!param)
		param = "";
		
	Get_XmlHttp("B");
	xmlHttp["B"].open("GET", "/common/service/" + page + ".php?r=" + Math.random() + "&crp=" + corpo + param, false);
	xmlHttp["B"].send(null);

	if (xmlHttp["B"].readyState == 4 || xmlHttp["B"].readyState=="complete")
	{
		Hide_Options('media'); 
		Hide_Options('preview'); 
		Hide_Options('txphoto');
		Show_MatrixElements('hidden');
	
		document.getElementById("content1").innerHTML = xmlHttp["B"].responseText;
		document.getElementById("content1").style.visibility = "visible";
		document.getElementById("content2").innerHTML = "";
		document.getElementById("content2").style.visibility = "hidden";
		
		Scroll_Content(null);
		
		if (page == "glossar")
		{
			var x = document.getElementById("layout2_content").offsetWidth;				
			var h = document.getElementById("content2").offsetHeight;

			Init_Sticker(x+60, 212, h, "layout2_info");
		}
		else
		{
			Clear_Sticker();
		}
		
		if (document.getElementById("extra_optiondata"))
		{
			document.getElementById("preview_options").innerHTML = document.getElementById("extra_optiondata").innerHTML;
			document.getElementById("extra_optiondata").innerHTML = '';
			Show_ExtraOptions();
		}
		if (document.getElementById("extra_title"))
		{
			var str = document.getElementById("extra_title").value.split("|");
			if (str.length == 1)
				str[1] = "";
			document.getElementById("submenu").innerHTML = '<br /><br /><div class="menu_l_selected"><div class="menu_text_l">'+str[0]+'</div></div><div class="extra_info">'+str[1]+'</div>';
		}
		else
			document.getElementById("submenu").innerHTML = '';
		xtraPage = page;
		document.getElementById("extramenu").style.visibility = "visible";
		Init_Scroll('submenu');
		xmlHttp["B"] = null;
	}
	else
	{
		alert('Die Seite konnte nicht geladen werden.');
		Close_Extra();
	}
}

function Close_Extra()
{
	if (xtraPage == "downloadbox")
	{
		document.getElementById("dbox").src = "/img/m_dbox_0.gif";
		previewId = 0;
	}
	
	xtraPage = "";
	
	Clear_Sticker();
	document.getElementById("extramenu").style.visibility = "hidden";
	Show_MatrixElements('visible');
	Hide_Options('preview'); 
	Init_Menu(idMenu);
	
	if (idMenu == 1)
	{
		document.getElementById("mediamenu").style.visibility = "hidden";
		
		if (previewId > 0)
		{
			switch (mediaType)
			{
				case M_TEXT:
				Open_NewsText(previewId);
				break;
				case M_VIDEO:
				Open_NewsVideo(previewId);
				break;
				default:
				Get_News();
				break;
			}
		}
		else
			Get_News();
	}
	else
	{
//		document.getElementById("mediamenu").style.visibility = "visible";
		
		if (idContainer == 0)
			Get_Container(idMenu, 0, 0);
		if (previewId > 0)
		{
			switch (mediaType)
			{
				case M_TEXT:
				case M_PRESSKIT:
				Open_Text(previewId, previewChapter);
				break;
				case M_PHOTO:
				Open_Photo(previewId);
				break;
				case M_VIDEO:
				Open_Video(previewId);
				break;
				default:
				Get_News();
				break;
			}
		}
		else
			Get_Media(idContainer, mediaType, mediaFilter);
	}

}

function Open_EMail(id)
{
	Open_Extra('contact', '&id=' + id);
	if (document.contact.msg)
		document.contact.msg.focus();
}

function Send_EMail()
{
	Send_Form(document.contact, "contact.php", "content1");
}

function Order_Video(id)
{
	Open_Extra('order', '&id=' + id);
	if (document.order.strasse)
		document.order.strasse.focus();
}

function Send_Order()
{
	Send_Form(document.order, "order.php", "content1");
}


//-------------------------------------------------------------------
// Suche
//-------------------------------------------------------------------

function Open_Search()
{
	if (searchQuery.length > 4)
		Open_Extra('search', '&q=' + escape(searchQuery));
	else
		Open_Extra('search');
}

function Quick_Search()
{
	var term = document.getElementById("qsearch").value;
	if (term.length < 3)
	{
		document.getElementById("qsearch").value = "Schnellsuche";
		return;
	}
	if (term == "Schnellsuche")
		return;
	
	if ((term.length == 6) && (!isNaN(term)))
		mediaType = M_PHOTO;
	
	var d = new Date();
	var m = d.getMonth() + 1;
	if (m < 10)
		m = "0" + m;
	searchQuery = "+" + escape(term) + "|*|*|2000-01|" + d.getFullYear() + "-" + m;

	Open_Extra('none');
	xtraPage = "search";

	Init_MediaMenu();
	document.getElementById("mediamenu").style.visibility = "visible";
	mediaFilter &= 0xFF00;  // Inhaltsfilter löschen
	Get_Media(0, mediaType, mediaFilter);
	Get_Results();
}

function Start_Search()
{
	if (document.search.term1.value.length < 3)
		return;
	
	var bool = 	"*";
	if (document.search.bool.value == 1)
		bool = "+";
		
	searchQuery = "+" + document.search.term1.value + "|" + bool + document.search.term2.value + "|" + bool + document.search.term3.value + "|";
	searchQuery += document.search.from_year.value + "-";
	var m = Month_Index(document.search.from_month.value) + 1;
	if (m < 10)
		searchQuery += "0";
	searchQuery += m + "|";
	
	searchQuery += document.search.to_year.value + "-";
	m = Month_Index(document.search.to_month.value) + 1;
	if (m < 10)
		searchQuery += "0";
	searchQuery += m;

	Init_MediaMenu();
	document.getElementById("mediamenu").style.visibility = "visible";
	mediaFilter &= 0xFF00;  // Inhaltsfilter löschen
	Get_Media(0, mediaType, mediaFilter);
	Get_Results();
}

function Switch_SearchOption(elem)
{
	var val = 1 - Number(document.search.bool.value);
	
	document.search.bool.value = val;
	document.search.bool_and.className = "radio" + val;
	document.search.bool_or.className = "radio" + (1 - val);
}

//-------------------------------------------------------------------
// Glossar
//-------------------------------------------------------------------

function Select_Glossar(c)
{
	Open_Extra("glossar", "&c=" + c);
}

function Glossar_Search()
{
	var term = document.getElementById("gsearch").value;
	if (term.length < 3)
	{
		document.getElementById("gsearch").value = "Stichwortsuche";
		return;
	}
	if (term == "Stichwortsuche")
		return;
	
	Open_Extra("glossar", "&q=" + escape(term));
}

//-------------------------------------------------------------------
// RSS
//-------------------------------------------------------------------

function Open_RSS()
{
	window.open("/common/rss/renaultpresse.xml", "rss");
}

//-------------------------------------------------------------------
// Microsites
//-------------------------------------------------------------------

function Open_Microsite(dir, width, height)
{
	var x, y;
	if (document.all) 
	{
	  x = window.screenLeft + 50;
	  y = window.screenTop + 50;
	}
	else 
	{
	  x = window.screenX + 50;
	  y = window.screenY + 100;
	}
	if (x + width > screen.width)
		x = screen.width - width - 20;
	if (y + height > screen.height)
		y = screen.height - height - 50;
		
	var ms = window.open("/common/microsites/" + dir, "microsite", "menubar=no, location=no, resizable=no, scrollbars=no, status=no, toolbar=no, dependent=yes, width=" + width + ",height=" + height + ",left=" + x + ",top=" + y);
  ms.focus();
}

//-------------------------------------------------------------------
// Link in neuem Fenster
//-------------------------------------------------------------------

function Open_URL(url)
{
	window.open(url, "win");
}

//-------------------------------------------------------------------
// Formulare
//-------------------------------------------------------------------

function Switch_Option(elem)
{
	var cls = elem.className;
	var status = Number(cls.substr(cls.length-1, 1));	// aktueller Zustand im ClassName enthalten (0 oder 1)
	status = 1 - status;
	elem.className = cls.substr(0, cls.length-1) + status;
	return status;
}

function Show_Popup(index)
{
	Hide_Popups();
	document.getElementById("popup" + index).style.visibility = "visible";
}

function Hide_Popup(index)
{
	if (!document.getElementById("popup" + index))
		return false;
	document.getElementById("popup" + index).style.visibility = "hidden";
	return true;
}

function Hide_Popups()
{
	var i = 0;
	
	while (	Hide_Popup(i))
		i++;
}

function Select_Popup(index, id, val)
{
	document.getElementById(id).value = val;
	Hide_Popup(index);
}

function Send_Form(f, action, output)
{
	var i, name, val;
	var str = "";
	
	for (i=0; i<f.elements.length; i++)
	{
			
		name = f.elements[i].name;
		switch(f.elements[i].type)
		{
			case "text":
			case "textarea":
			case "password":
			val = f.elements[i].value;
			if ((f.elements[i].className.indexOf(" opt") < 0) && (val.length < 3))
			{
				alert('Bitte füllen Sie das Formular vollständig aus.\n\nNur hellgrau unterlegte Felder sind optional.');
				f.elements[i].focus();
				return -1;
			}
			str += name + '=' + escape(val);
			str += "&";
			break;
			case "hidden":
			val = f.elements[i].value;
			str += name + '=' + val;
			str += "&";
			break;
		}
	}
	str = str.substr(0, str.length-1);	
//	var file = Basename(f.action);
	Get_XmlHttp("B");
	xmlHttp["B"].open("POST", "/common/service/" + action, false);
	xmlHttp["B"].setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttp["B"].send(str);

	if (xmlHttp["B"].readyState == 4 || xmlHttp["B"].readyState=="complete")
	{
		document.getElementById(output).innerHTML = xmlHttp["B"].responseText;
		xmlHttp["B"] = null;
		return 1;
	}
	alert('Ihre Anfrage konnte wegen eines technischen Problems leider nicht entgegengenommen werden.\n\nBitte versuchen Sie es später noch einmal oder senden Sie Ihre Anfrage per E-Mail an team@brand-news.com.');
	return 0;
}

function Basename(path, suffix) 
{
    var b = path.replace(/^.*[\/\\]/g, '');
    
    if (typeof(suffix) == 'string' && b.substr(b.length-suffix.length) == suffix) 
	{
        b = b.substr(0, b.length-suffix.length);
    }
    
    return b;
}

var months = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");

function Month_Index(str)
{
	var i;
	for (i=0; i<12; i++)
	{
		if (months[i] == str)
			return i;
	}
	return 0;
}

