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 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_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


///////////////////////////////////////////////////////////////////


// decrypt helper function
function G21_decryptCharcode(n,start,end,offset)
	{
	n = n + offset;
	if (offset > 0 && n > end)	{
		n = start + (n - end - 1);
	} else if (offset < 0 && n < start)	{
		n = end - (start - n - 1);
	}
	return String.fromCharCode(n);
	}
// decrypt string
function G21_decryptString(enc,offset)
	{
	var dec = "";
	var len = enc.length;
	for(var i=0; i < len; i++)	{
		var n = enc.charCodeAt(i);
		if (n >= 0x2B && n <= 0x3A)	{
			dec += G21_decryptCharcode(n,0x2B,0x3A,offset);	// 0-9 . , - + / :
		} else if (n >= 0x40 && n <= 0x5A)	{
			dec += G21_decryptCharcode(n,0x40,0x5A,offset);	// A-Z @
		} else if (n >= 0x61 && n <= 0x7A)	{
			dec += G21_decryptCharcode(n,0x61,0x7A,offset);	// a-z
		} else {
			dec += enc.charAt(i);
		}
	}
	return dec;
	}
// decrypt spam-protected emails
function G21_uncryptMailto(s)
	{
	location.href = G21_decryptString(s,-2);
	}


///////////////////////////////////////////////////////////////////


// Druckfenster anzeigen
function openPrint(url,w,h)
	{
    l = screen.width/2-50;
    t = screen.height/2-150;
    w = eval(w) + 16;
    options = "width="+w+",height="+h+",left="+l+",top="+t+",menubar=yes,resizable=yes,scrollbars=yes,status=yes";
    Druckwindow = window.open(url,'Details',options);
    Druckwindow.focus();
	}


///////////////////////////////////////////////////////////////


// Funktion zum Setzen einer Bookmark / eines Favoriten
function CreateBookmarkLink(url,title)
	{
	//url = "Webpage URL";
	//title = "Webpage Title";
	if(window.sidebar)
		{
		// Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
		}
	else if(window.external)
		{ // IE Favorite
		window.external.AddFavorite( url, title);
		}
	else if(window.opera && window.print)
		{ // Opera Hotlist
		return true;
		}
	}


///////////////////////////////////////////////////////////////


function toggleLoginBox(elementLayerID,elementSwitchID)
	{
	switchID = document.getElementById(elementSwitchID);
	layerID = document.getElementById(elementLayerID);

	if(layerID.style.display == 'none')
		{
//		$("#"+elementSwitchID).fadeOut('slow');
//		$("#"+elementLayerID).show('slow');
		$("#naviMain").animate({top:'0'},300);
		$("#"+elementSwitchID+" A").removeClass('loginBoxSwitchOpen').addClass('loginBoxSwitchClose');
		$("#"+elementLayerID).delay(500).animate({height:'toggle'},300);
		}
	else
		{
//		$("#"+elementSwitchID).fadeIn('slow');
//		$("#"+elementLayerID).hide('slow');
		$("#"+elementSwitchID+" A").removeClass('loginBoxSwitchClose').addClass('loginBoxSwitchOpen');
		$("#"+elementLayerID).animate({height:'toggle'},300);
		$("#naviMain").delay(500).animate({top:'35px'},200);
		}
	}


///////////////////////////////////////////////////////////////


function str_replace(SuchText, ErsatzText, QuellText)
	{
	// Fehlerpruefung
	if ((QuellText == null) || (SuchText == null))
		{ return null; }
	if ((QuellText.length == 0) || (SuchText.length == 0))
		{ return QuellText; }
	
	// Kein ErsatzText ?
	if ((ErsatzText == null) || (ErsatzText.length == 0))
		{ ErsatzText = ""; }
	
	var LaengeSuchText = SuchText.length;
	var LaengeErsatzText = ErsatzText.length;
	var Pos = QuellText.indexOf(SuchText, 0);
	
	while(Pos >= 0)
		{
		QuellText = QuellText.substring(0, Pos) + ErsatzText + QuellText.substring(Pos + LaengeSuchText);
		Pos = QuellText.indexOf(SuchText, Pos + LaengeErsatzText);
		}

return QuellText;
	}


///////////////////////////////////////////////////////////////


function getBookmarkColor(elem)
	{
	srcAlt = elem.src;
	srcNew = str_replace('_gray.png', '.png', srcAlt)
	elem.src = srcNew;
	}


///////////////////////////////////////////////////////////////


function getBookmarkGray(elem)
	{
	srcAlt = elem.src;
	srcNew = str_replace('.png', '_gray.png', srcAlt)
	elem.src = srcNew;
	}


