function getBodyHeight()
{
	browser=navigator.appName; 
	
	if(browser == "Microsoft Internet Explorer")
	{
		hoeheBody = document.documentElement.clientHeight;
	}
	else
	{
		hoeheBody = window.innerHeight;
	} 

	document.getElementById('overlay').style.height = hoeheBody+"px";
}


function prefix (id, pattern)
{
	var text = $('#'+id).html();
	text = pattern + text;
	$('#'+id).html(text);
}

/**
 * Öffnet eine Javascript Popup-Nachricht inkl. Overlay über dem Rest der Seite.
 *
 * Damit diese Methode funktioniert, wird folgendes benötigt:
 * / Folgenden DIV-Container, direkt unter dem obigen Template-Marker: "<div id="overlay" class="overlay"></div>"
 * / Einen DIV-Container Names "showOverlayOK"
 *
 * @param   string  Text der Meldung
 * @param   string  Optionaler Head der Nachricht (Standard: "Warnung")
 * @param   string  Optionaler link für den OK-Button (Standardmäßig wird das Popup einfach geschlossen)
 * @return  bool    true bei Erfolg
 */
function _alert () 
{
	//msg, head, link
	if (arguments.length >= 1)
	{
    	hideIndestructible();

		var msg = arguments[0];
		var head = arguments.length >= 2 ? arguments[1] : "Warnung";
		var link = arguments.length == 3 ? arguments[2] : "javascript: var OKpressed = 1;";
		
		$('#overlay').show();
		
		
		$("#okbox_header").html(head);
		$("#okbox_msg").html(msg);
		//prefix ("okbox_msg", msg);
		$('#okbox_confirm').attr('href', link);
		
		$('#showOkOverlay').show();
	
		// korrekte positionierung
		var scrollPos = $(document).scrollTop();
		var docHeight = $(document).height();
		var inHeight = $(window).innerHeight();
		var msgHeight = $('#showOkOverlay').height();
		var msgPos = ( ( inHeight - msgHeight ) / 2 ) + scrollPos;
		
		$('#overlay').css ('top', '0px');
		
		if ($.browser.msie)
		{
			$('#overlay').css ('height', docHeight);
		}
		else
		{
			$('#overlay').css ('height', docHeight);
		} 
		
		$('#showOkOverlay').css ('top', msgPos);
		
		return true;
	}
	else
	{
		return false;
	}
}


    
	/**
     * Öffnet eine Javascript Popup-Nachricht inkl. Overlay über dem Rest der Seite. Es werden 2
     * Antwortmöglichkeiten Angeboten (zB Ja oder Nein), wobei beim Klicken auf einen Buttons
     * Ein Formular mit verstecktem Formularfeld abgesandt werden kann.
     *
     * Damit diese Methode funktioniert, wird folgendes benötigt:
     * / Ein Template-Marker "{TPL_ADDITIONAL_OVERLAYS}" genau vor dem </body> Tag jener Seite,
     *   auf dem die Funktion aufgerufen wird
     * / Folgenden DIV-Container, direkt unter dem obigen Template-Marker: "<div id="overlay" class="overlay"></div>"
     * / Einen Ordner "overlay" im Templates Verzeichnis der Seite mit der folgenden Datei:
         - overlay_question.html
         [- overlay_question_form.html] Falls mit dem Klicken eines Buttons ein Formular abgesandt werden soll
     *
     * @param   string  Head der Nachricht
     * @param   string  Text der Meldung
     * @param   string  Text für den Abbruch (zB "Nein")
     * @param   string  Text für die Bestätigung (zB "Ja")
     * @param   string  Link, der Bei Drücken des Bestätigungsbuttons aufgerufen wird
     * @return  bool    true bei Erfolg
     */
    function _confirm (head, msg, cancelTxt, confirmText, confirmLink) 
    {
    	hideIndestructible();

		$('#questionbox_head').html(head);
		$('#questionbox_msg').html(msg);
		$('#questionbox_cancel').html(cancelTxt);
		$('#questionbox_confirm').html(confirmText);
	
		var isFunction = (confirmLink.substr (0, 9) == "FUNCTION:");
		
		if (isFunction)
		{
			functionName = confirmLink.substr (9);
			
			$('#questionbox_confirm').attr("href", "#");
			$('#questionbox_confirm').attr("onClick", functionName + "(); return false;" );
			
		}
		else
		{
			
			$('#questionbox_confirm').attr("href", confirmLink);
		}

		// korrekte positionierung
		var scrollPos = $(document).scrollTop();
		var docHeight = $(document).height();
		var inHeight = $(window).innerHeight();
		var msgHeight = $('#showOkOverlay').height();
		var msgPos = ( ( inHeight - msgHeight ) / 2 ) + scrollPos;
		
		$('#overlay').css ('top', '0px');
		
		if($.browser.msie)
		{
			$('#overlay').css ('height', docHeight);
		}
		else
		{
			$('#overlay').css ('height', docHeight);
		} 
		
		$('#showQuestionOverlay').css ('top', msgPos);

		$('#overlay').show();
    	$('#showQuestionOverlay').show();
		
		return true;
    }

    function _loading (head, msg)
	{
    	hideIndestructible();

		$('#questionbox_head').html(head);
		$('#questionbox_msg').html(msg);
		$('#questionbox_cancel').hide();
		$('#questionbox_confirm').hide();

		// korrekte positionierung
		var scrollPos = $(document).scrollTop();
		var docHeight = $(document).height();
		var inHeight = $(window).innerHeight();
		var msgHeight = $('#showOkOverlay').height();
		var msgPos = ( ( inHeight - msgHeight ) / 2 ) + scrollPos;
		
		$('#overlay').css ('top', '0px');
		
		if($.browser.msie)
		{
			$('#overlay').css ('height', docHeight);
		}
		else
		{
			$('#overlay').css ('height', docHeight);
		} 
		
		$('#showQuestionOverlay').css ('top', msgPos);

		$('#overlay').show();
    	$('#showQuestionOverlay').show();
		
		questionBoxConfirmed();
		
		return true;
	}

	function hideDIVScrolling ()
	{
		var oldOverflow = $(this).css ("overflow");
		
		if (oldOverflow == "auto")
		{
			$(this).css ("overflow", "hidden");
			$(this).attr ("oldOverflow", oldOverflow);
		}
	}
	
	function restoreDIVScrolling ()
	{
		var oldOverflow = $(this).attr ("oldOverflow");
		
		if (oldOverflow == "auto")
		{
			$(this).css ("overflow", "auto");
			$(this).attr ("oldOverflow", "");
		}
	}
	
	function hideSelect ()
	{
		$(this).css ("visibility", "hidden");
	}

	function restoreSelect ()
	{
		$(this).css ("visibility", "visible");
	}
	
	function hideIndestructible ()
	{
		$('div').each ( hideDIVScrolling );	
		$('select').each ( hideSelect );
		
	}

	function restoreIndestructible ()
	{
		$('div').each ( restoreDIVScrolling );	
		$('select').each ( restoreSelect );
	}

	function questionBoxConfirmed ()
	{
		var head = $('#questionbox_head').html();
		var msg = $('#questionbox_msg').html();

		$('#confirmLoadingHead').html ( head );
		$('#confirmLoadingText').html ( msg );
		
		$('#showQuestionOverlay').html( $('#confirmLoadingContent').html() );
	}
	
	/**
	 * Klicks aller Overlay-Buttons müssen veranlassen, dass die 
	 * ausgeblendeten Elemente wieder sichtbar werden.
	 */
	$(document).ready (function ()
	{
		$('#questionbox_cancel').click ( restoreIndestructible );
		$('#questionbox_confirm').click ( restoreIndestructible );
		$('#okbox_confirm').click ( restoreIndestructible );
//		$('#questionbox_confirm').click ( restoreIndestructible );

		$('#questionbox_confirm').click ( questionBoxConfirmed );
	});
