// WYSIWYG
var userdata = Array();
userdata['color_dark'] = '#dedede';
userdata['color_light'] = '#f3f3f3';
userdata['fontfamily'] = 'Trebuchet MS, Arial';
userdata['fontsize'] = 12;

// Browser
var ua = navigator.userAgent.toLowerCase();

var isIE = (navigator.appName == 'Microsoft Internet Explorer');
var isIE6 = this.isIE && (ua.indexOf('msie 6') != -1);
var isIE7 = this.isIE && (ua.indexOf('msie 7') != -1);
var isFirefox = ua.indexOf('firefox') != -1;
var isGecko = ua.indexOf('gecko') != -1;
var isSafari = ua.indexOf('safari') != -1;
var isOpera = window['opera'] && opera.buildNumber ? true : false;
var isMac = ua.indexOf('mac') != -1;
var isNS = ua.indexOf('netscape') != -1;
var isNS7 = ua.indexOf('netscape/7') != -1;
var isNS71 = ua.indexOf('netscape/7.1') != -1;

var browserCompatMode = (document.compatMode == 'QuirksMode' || document.compatMode == 'BackCompat' ? 1 : 0);

// hideMenu(), showMenu() (wait = array -> menue.id-bezogen -> Bsp.: wait["ansichten_menue"], etc...)
var wait = Array();

// in_array-Funktion aus PHP nachempfunden ;-)
Array.prototype.in_array = function (elem)
	{

	for(i = 0; i < this.length; i++)
		{

		if(this[i] === elem)
			{

			return true;

			}

		}

	return false;

	}

// Common
function focusOn(focusObject)
	{

	if(document.getElementById(focusObject))
		{

		if(document.getElementById(focusObject).disabled != true)
			{

			document.getElementById(focusObject).focus();

			}

		}

	}

// Menue wieder verstecken (wait_for_seconds = 0/1 = nein/ja)
function hideMenu(menue, wait_for_seconds)
	{

	if(document.getElementById(menue))
		{

		// altes Timeout des eigenen Menues killen -> falls die Maus nicht laenger als 0,25 Sekunden ausserhalb des Menues war, bleibt das Menue angezeigt
		window.clearTimeout(wait[document.getElementById(menue).id]);

		if(wait_for_seconds == 1)
			{

			// neues Timeout setzen -> Menue erst nach 0,25 Sekunden schliessen und dann SELECT-Felder wieder anzeigen
			wait[document.getElementById(menue).id] = window.setTimeout("document.getElementById('" + menue + "').style.display = 'none'; selectFields(1);", 250);

			}
		else
			{

			// Menue schliessen 
			document.getElementById(menue).style.display = 'none';

			// SELECT-Felder wieder anzeigen
			selectFields(1);

			}

		}

	}

// Menue anzeigen
function showMenu(menue, keine_hand, dont_hide_selects, not_inline, switch_to_hide)
	{

	if(document.getElementById(menue))
		{

		// Falls das Menue schon sichtbar ist und switch_to_hide == 1, dann hideMenu() aufrufen
		if(switch_to_hide == 1 && (document.getElementById(menue).style.display == 'inline' || document.getElementById(menue).style.display == 'block' || document.getElementById(menue).style.display == ''))
			{

			hideMenu(menue, 0);
			return;

			}

		// altes Timeout des eigenen Menues killen -> falls die Maus nicht laenger als 0,25 Sekunden ausserhalb des Menues war, bleibt das Menue angezeigt
		window.clearTimeout(wait[document.getElementById(menue).id]);

		if(dont_hide_selects != '1')
			{

			// SELECT-Felder verstecken
			selectFields(0);

			}

		// Mauspfeil zur Hand "machen"
		if(keine_hand != '1')
			{

			document.getElementById(menue).style.cursor = 'pointer';

			}

		if(not_inline != '1')
			{

			// Menue anzeigen
			document.getElementById(menue).style.display = 'inline';

			}
		else
			{

			// Menue anzeigen
			document.getElementById(menue).style.display = 'block';

			}

		}

	}

// SELECT-Felder verstecken oder anzeigen (visibility wurde mit Absicht verwendet: 1. keine Verschiebung der Objekte quasi bleibt ein Platzhalter / 2. versteckte SELECT-Felder, die es auch bleiben sollen wurden mit display versteckt - tauchen also mit dem css-visibility nicht auf und bleiben auch versteckt ;-)
function selectFields(switcher)
	{

	if(isIE7)
		{

		return;

		}

	if(switcher < 1)
		{

		switcher = 'hidden';

		}
	else
		{

		switcher = 'visible';

		}

	form_count = document.forms.length;

	for(i = 0; i < form_count; i++)
		{

		select_count = document.forms[i].getElementsByTagName('select').length;

		for(j = 0; j < select_count; j++)
			{

			document.forms[i].getElementsByTagName('select')[j].style.visibility = switcher;

			}

		}

	}

function scrollBarPositions()
	{

	if(self.pageYOffset)// all except Explorer
		{

		x = self.pageXOffset;
		y = self.pageYOffset;

		}
	else if(document.documentElement && document.documentElement.scrollTop)// Explorer 6 Strict
		{

		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;

		}
	else if(document.body)// all other Explorers
		{

		x = document.body.scrollLeft;
		y = document.body.scrollTop;

		}

	// Positionen zurueck geben
	return Array(x, y);

	}

function getMousePosition(e, width, height)
	{

	// Opera, des Spezzle
	if(isOpera == 1)
		{

		cordX = e.screenX - e.offsetX;
		cordY = e.screenY - (window.outerHeight - window.innerHeight) - e.offsetY;

		}
	else
		{

		cordX = e.screenX;
		cordY = e.screenY;

		}

	if(width > 0)
		{

		// Fensters liegt horizontal ausserhalb des Bildschirms
		if(cordX + width > screen.availWidth)
			{

			cordX = screen.availWidth - width;

			}

		}

	if(height > 0)
		{

		// Fensters liegt vertikal ausserhalb des Bildschirms
		if(cordY + height > screen.availHeight)
			{

			cordY = screen.availHeight - height;

			}

		}

	// Koordinaten zurueck geben
	return Array(cordX, cordY);

	}

// Neues Fenster oeffnen
function newWindow(url, width, height, resizable, scrollbars, left, top, name)
	{

	if(resizable == '')
		{

		resizable = 'yes';

		}

	if(scrollbars == '')
		{

		scrollbars = 'yes';

		}

	if(name != undefined)
		{

		lala = window.open(url, name, 'dependent=no, height=' + height + ', hotkeys=yes, left=' + left + ', location=no, menubar=no, resizable=' + resizable + ', scrollbars=' + scrollbars + ', status=no, toolbar=yes, top=' + top + ', width=' + width);

		}
	else
		{

		lala = window.open(url, 'newWindow' + Math.round(Math.random()), 'dependent=no, height=' + height + ', hotkeys=yes, left=' + left + ', location=no, menubar=no, resizable=' + resizable + ', scrollbars=' + scrollbars + ', status=no, toolbar=yes, top=' + top + ', width=' + width);

		}

	if(lala == null)
		{

		alert('Sie müssen Ihren Popup-Blocker deaktivieren, um diese Funktion nutzen zu können.\n-\nPlease disable your Popup-Blocker to use this function.');

		}
	else
		{

		lala.focus();

		}

	return lala;

	}