var flashinstalled = 0;
var flashversion = 0;
MSDetect = "false";
if (navigator.plugins && navigator.plugins.length)
{
	x = navigator.plugins["Shockwave Flash"];
	if (x)
	{
		flashinstalled = 2;
		if (x.description)
		{
			y = x.description;
			flashversion = y.charAt(y.indexOf('.')-1);
		}
	}
	else
		flashinstalled = 1;
	if (navigator.plugins["Shockwave Flash 2.0"])
	{
		flashinstalled = 2;
		flashversion = 2;
	}
}
else if (navigator.mimeTypes && navigator.mimeTypes.length)
{
	x = navigator.mimeTypes['application/x-shockwave-flash'];
	if (x && x.enabledPlugin)
		flashinstalled = 2;
	else
		flashinstalled = 1;
}
else
	MSDetect = "true";


<!-- ************************************************** -->

function FIND(item) 
{
	if( window.mmIsOpera ) return(document.getElementById(item));
	if (document.all) return(document.all[item]);
	if (document.getElementById) return(document.getElementById(item));
	return(false);
}

<!-- ************************************************** -->

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

<!-- ************************************************** -->

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

<!-- ************************************************** -->

function ShowPara (para_name)
{
	var para = FIND (para_name);
	if (para)
	{
		if (para.style.visibility != "visible")
		{
			para.style.visibility = "visible";
			para.style.display = "block";
		}
		else
		{
			para.style.visibility = "hidden";
			para.style.display = "none";
		}
	}
}

<!-- ************************************************** -->

function SwapMenuIcon (icon_image)
{
	if (icon_image)
	{
		var srcname = icon_image.src;
		var gif_pos = srcname.indexOf (".gif");
		var name_pos = srcname.indexOf ("_open");
		var newname = "";
		if (name_pos >= 0)
			newname = srcname.substr (0, name_pos) + "_close";
		else
		{
			name_pos = srcname.indexOf ("_close");
			newname = srcname.substr (0, name_pos) + "_open";
		}
		newname += ".gif";
		icon_image.src = newname;
	}
}

<!-- ************************************************** -->

function Hilight (icon_image)
{
	if (icon_image)
	{
		var srcname = icon_image.src;
		var gif_pos = srcname.indexOf (".gif");
		var active_pos = srcname.indexOf ("_active");
		var newname = "";
		if (active_pos >= 0)
			newname = srcname.substr (0, active_pos);
		else
			newname = srcname.substr (0, gif_pos) + "_active";
		newname += ".gif";
		icon_image.src = newname;
	}
}

<!-- ************************************************** -->

function Mark (row, mode)
{
	row.bgColor= (mode) ? '#DEE2F1' : '#ffffff';
}

<!-- ************************************************** -->

function SetOpenIcon (icon_id)
{
	Hilight (FIND (icon_id));
}

<!-- ************************************************** -->

function toggleSel (chkBox) 
{
	checkSubTasks(chkBox, chkBox.checked);
}

<!-- ************************************************** -->

function checkSubTasks(chkBox, value) 
{
	var elems = document.getElementsByTagName("input");
	var i = 0;
	for (i = 0; i <= elems.length-1; i++) 
	{
		if ((elems[i].type == "checkbox") && (elems[i].id.substr(0, chkBox.id.length) == chkBox.id) && (elems[i].id.length > chkBox.id.length)) 
		{
			elems[i].checked = value;
			checkSubTasks(elems[i], value);
		}
	}
}

<!-- ************************************************** -->

function NumStr (string, length)
{
	var result = "";
	var zerocount = length - string.length;
	if (zerocount > 0)
	{
		for (i = 0; i != zerocount; i++)
			result += "0";
	}
	result += string;
	return result;
}

<!-- ************************************************** -->

function OutputDate (vardate)
{
	var thisdate = new Date (vardate);
	var result = "";
	var month  = thisdate.getMonth();
	var daystr = thisdate.getDate() + "";
	
	if (thisdate.getYear() > 70)
	{
		result += NumStr (daystr, 2) + ".";
		result += NumStr ((month + 1) + "", 2) + ".";
		result += thisdate.getFullYear();
	}
	
	return result;
}

<!-- ************************************************** -->

function ShowTimeNow (lang)
{
	var timenow	 	= new Date();
	var hourstr		= NumStr (((lang == "en" && timenow.getHours() > 11) ? timenow.getHours() - 12 : timenow.getHours()) + "", 2);
	var timestr		= (lang == "en") ? ((timenow.getHours() > 11) ? "pm" : "am") : " Uhr";
	var strtime 	= OutputDate (timenow) + "&#160;|&#160;" 
						+ hourstr + ":" 
						+ NumStr (timenow.getMinutes() + "", 2)
						+ timestr;
						
	document.write (strtime);
}

<!-- ************************************************** -->

function winOpen(url, breite, hoehe) 
{
      // Errechnet Koordinaten, um das Popup zentriert zu platzieren
      links = (screen.width/2)-(breite/2);
      oben = (screen.height/2)-(hoehe/2);
      window.open(url,"popup","height="+hoehe+",width="+breite+",status = no,toolbar = no,menubar = no,location = no,resizable = no,titlebar = no,scrollbars = no,fullscreen = no,top ="+oben+",left ="+links);
}

<!-- ************************************************** -->

function OpenPara (para_name)
{
	var para = FIND (para_name);

	if (para)
	{
		para.style.visibility = "visible";
		para.style.display = "block";
	}
}

<!-- ************************************************** -->

function ClosePara (para_name)
{
	var para = FIND (para_name);

	if (para)
	{
		para.style.visibility = "hidden";
		para.style.display = "none";
	}
}

<!-- ************************************************** -->

function ShowPara (para_name)
{
	var para = FIND (para_name);

	if (para)
	{
		if (para.style.visibility != "visible")
		{
			OpenPara (para_name);
		}
		else
		{
			ClosePara (para_name);
		}
	}
}

<!-- ************************************************** -->

var scaling = 0;
var scaling_factor = 2;

function ScaleFontSize (object_name, scale_factor)
{
	var obj = FIND (object_name);
	if (obj)
	{
		scaling += scale_factor;
		scaling = Math.min (Math.max (scaling, -2), 2);
		SkaleFontSizeObjects (obj, scaling);
	}
}

<!-- ************************************************** -->

function SkaleFontSizeObjects (obj, scaling)
{
	SkaleFontSizeObjectsTyped (obj, "h1", 24, scaling);
	SkaleFontSizeObjectsTyped (obj, "h2", 16, scaling);
	SkaleFontSizeObjectsTyped (obj, "h3", 14, scaling);
	SkaleFontSizeObjectsTyped (obj, "p", 12, scaling);
	SkaleFontSizeObjectsTyped (obj, "td", 12, scaling);
	SkaleFontSizeObjectsTyped (obj, "a", 12, scaling);
	SkaleFontSizeObjectsTyped (obj, "span", 12, scaling);
}

<!-- ************************************************** -->

function SkaleFontSizeObjectsTyped (root_object, object_name, default_size, scaling)
{
	var objects = root_object.getElementsByTagName (object_name);
	if (objects)
	{
		var count_objects = objects.length;
		var i;
		for (i = 0; i != count_objects; i++)
		{
			if ((objects[i].id + "").indexOf("JL") == -1)
			{
			objects[i].style.fontSize = default_size + scaling_factor * scaling;
			SkaleFontSizeObjects (objects[i], scaling);
			}
		}
	}
}

<!-- ************************************************** -->

function PageNavOk (buttonname)
{
	var enabled = true;
	if (!page_nr && (buttonname == 'img_page_first' || buttonname == 'img_page_prev'))
		enabled = false;
	else if (page_nr == page_count - 1 && (buttonname == 'img_page_next' || buttonname == 'img_page_last'))
		enabled = false;

	return enabled;
}

<!-- ************************************************** -->

function PageNavSetStatus (buttonname)
{
	var button_obj = FIND (buttonname + "_1");
	if (button_obj)
	{
		button_obj.src = img_path + buttonname.substr (4) + (PageNavOk (buttonname) ? "" : "_inactive") + ".gif";
	}
	var button_obj = FIND (buttonname + "_2");
	if (button_obj)
	{
		button_obj.src = img_path + buttonname.substr (4) + (PageNavOk (buttonname) ? "" : "_inactive") + ".gif";
	}
}

<!-- ************************************************** -->

function PageNav (buttonname)
{
	var new_page_nr = page_nr;
	switch (buttonname)
	{
		case "img_page_first":
			new_page_nr = 0;
			break;
		case "img_page_prev":
			new_page_nr = Math.max (--new_page_nr, 0);
			break;
		case "img_page_next":
			new_page_nr = Math.min (++new_page_nr, page_count - 1);
			break;
		case "img_page_last":
			new_page_nr = page_count - 1;
			break;
	}
	if (new_page_nr != page_nr)
	{
		PageNewPage (new_page_nr);
	}
}

<!-- ************************************************** -->

function ShowDefaultPage (default_page_id)
{
	PageNavInit();
	var open_page_nr = -1;
	var query_page_id;
	var urlstr = document.URL + "";
	var query_page_pos = urlstr.indexOf ("#");
	if (query_page_pos != -1)
	{
		query_page_id = urlstr.substr (query_page_pos + 12);
		open_page_nr = GetPageNr (query_page_id);
	}

	if (open_page_nr == -1)
	{
		open_page_nr = GetPageNr (default_page_id);
	}
	
	PageNewPage (open_page_nr, true);
}


<!-- ************************************************** -->

function GetPageNr (page_id)
{
	var i; 
	var result = -1;

	for (i = 0; i != page_count; i++)
	{
		if (String (page_ids[i]) == String (page_id))
		{
			result = i;
		}
	}
	
	return result;	
}

<!-- ************************************************** -->

function PageNewPage (new_page_nr, firsttime)
{
	if (!firsttime)
	{
		ShowPara ('para' + page_ids[page_nr], false);
		ShowPara ('para_buttons' + page_ids[page_nr], false);
	}
	
	page_nr = new_page_nr;
	ShowPara ('para' + page_ids[page_nr], true);
	ShowPara ('para_buttons' + page_ids[page_nr], true);
	
	var inputfield = FIND ("input_page_nr_1");
	if (inputfield) 
		inputfield.value = (page_nr + 1) + "";
		
	inputfield = FIND ("input_page_nr_2");
	if (inputfield) 
		inputfield.value = (page_nr + 1) + "";
	
	if (JL_page_no_1)
		JL_page_no_1.firstChild.nodeValue = "" + (new_page_nr + 1);
	if (JL_page_no_2)
		JL_page_no_2.firstChild.nodeValue = "" + (new_page_nr + 1);
	PageNavInit();
}

<!-- ************************************************** -->

function PageNavInput (field_nr)
{
	var inputfield = FIND ("input_page_nr_" + field_nr);
	if (inputfield)
	{
		var user_input = inputfield.value - 1;
		if (isNaN (user_input) || user_input < 0 || user_input > page_count - 1 || user_input == page_nr)
			inputfield.value = (page_nr + 1) + "";
		else
			PageNewPage (user_input);
	}
	return false;
}

<!-- ************************************************** -->

function PageNavInit()
{
	PageNavSetStatus ('img_page_prev');
	PageNavSetStatus ('img_page_next');
	var inputfield = FIND ("input_page_nr");
	if (inputfield) 
		inputfield.value = (page_nr + 1) + "";
}

<!-- ************************************************** -->

function MarkGlossaryWords (root_obj_name)
{
//	return; // ???
	var root_obj = FIND (root_obj_name);
	if (root_obj)
	{
		var marked_content = root_obj.innerHTML;
		var counter = 0;

		for (var glossary_word in glossary) 
		{
			var reg = new RegExp("(" + glossary_word + ")([^a-zA-Z])", "g");
			marked_content = marked_content.replace(reg, "---$2");
			
			var reg2 = new RegExp("---");
			var marked_word;
			while (reg2.test (marked_content)) 
			{
				marked_word = "";
				marked_word += "<span class='glossary_popup' id='glossary_popup_" + counter + "'>" + glossary[glossary_word] + "</span>";
				marked_word += "<span class='glossary_word' onmouseover='ShowGlossaryPopup (" + counter + ", true)' onmouseout='ShowGlossaryPopup (" + counter + ", false)'>";
				marked_word += glossary_word;
				marked_word += "</span>";
				marked_content = marked_content.replace (reg2, marked_word);
				counter++;
			}
		}
		
		root_obj.innerHTML = marked_content;
	}
}

<!-- ************************************************** -->

<!-- ************************************************** -->

function ShowGlossaryPopup (popup_nr, show_state)
{
	var glossary_popup = FIND ("glossary_popup_" + popup_nr);
	if (glossary_popup)
	{
		if (show_state)
		{
			glossary_popup.style.top = mouse_posy + 12;
			glossary_popup.style.left = mouse_posx + 12;
			
		}
		ShowPara ("glossary_popup_" + popup_nr);
	}
}

<!-- ************************************************** -->

document.onmousemove = GetPos;
var mouse_posx;
var mouse_posy;

function GetPos (event)
{
	if (window.event && window.event.clientX)
	{
		mouse_posx = window.event.clientX + document.body.scrollLeft;
		mouse_posy = window.event.clientY + document.body.scrollTop;
	}
	else
	{
		mouse_posx = event.pageX + window.pageXOffset;
		mouse_posy = event.pageY + window.pageYOffset;
	}
}

<!-- ************************************************** -->

function BookmarkPage (url_name, error_message) 
{ 
	if (window && window.external)
	{
		window.external.AddFavorite (window.location.href, url_name); 
	}
	else
	{
		alert (error_message); 
	}
}


