//JavaScript Document

/////////////////////////////////////////////////////////////////////////
// nicht ändern anfang [
/////////////////////////////////////////////////////////////////////////
var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;

function DHTML_init() {

	if (window.opera) {
		OP = 1;
	}
	if(document.getElementById) {
		DHTML = 1;
		DOM = 1;
	}
	if(document.all && !OP) {
		DHTML = 1;
		MS = 1;
	}
	if(document.layers && !OP) {
		DHTML = 1;
		NS = 1;
	}
}

function getElem(p1,p2,p3) {
	var Elem;
	if(DOM) {
	if(p1.toLowerCase()=="id") {
		if (typeof document.getElementById(p2) == "object")
		Elem = document.getElementById(p2);
		else Elem = void(0);
		return(Elem);
	}
	else if(p1.toLowerCase()=="name") {
		if (typeof document.getElementsByName(p2) == "object")
		Elem = document.getElementsByName(p2)[p3];
		else Elem = void(0);
		return(Elem);
	}
	else if(p1.toLowerCase()=="tagname") {
		if (typeof document.getElementsByTagName(p2) == "object" ||
			(OP && typeof document.getElementsByTagName(p2) == "function"))
		Elem = document.getElementsByTagName(p2)[p3];
		else Elem = void(0);
		return(Elem);
	}
	else return void(0);
	}
	else if(MS) {
	if(p1.toLowerCase()=="id") {
		if (typeof document.all[p2] == "object")
		Elem = document.all[p2];
		else Elem = void(0);
		return(Elem);
	}
	else if(p1.toLowerCase()=="tagname") {
		if (typeof document.all.tags(p2) == "object")
		Elem = document.all.tags(p2)[p3];
		else Elem = void(0);
		return(Elem);
	}
	else if(p1.toLowerCase()=="name") {
		if (typeof document[p2] == "object")
		Elem = document[p2];
		else Elem = void(0);
		return(Elem);
	}
	else return void(0);
	}
	else if(NS) {
	if(p1.toLowerCase()=="id" || p1.toLowerCase()=="name") {
	if (typeof document[p2] == "object")
		Elem = document[p2];
		else Elem = void(0);
		return(Elem);
	}
	else if(p1.toLowerCase()=="index") {
		if (typeof document.layers[p2] == "object")
		Elem = document.layers[p2];
		else Elem = void(0);
		return(Elem);
	}
	else return void(0);
	}
}

function getCont(p1,p2,p3) {
	var Cont;
	if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild) {
		if(getElem(p1,p2,p3).firstChild.nodeType == 3)
		Cont = getElem(p1,p2,p3).firstChild.nodeValue;
		else
		Cont = "";
		return(Cont);
	}
	else if(MS && getElem(p1,p2,p3)) {
		Cont = getElem(p1,p2,p3).innerText;
		return(Cont);
	}
	else return void(0);
}

function getAttr(p1,p2,p3,p4) {
	var Attr;
	if((DOM || MS) && getElem(p1,p2,p3)) {
		Attr = getElem(p1,p2,p3).getAttribute(p4);
		return(Attr);
	}
	else if (NS && getElem(p1,p2)) {
		if (typeof getElem(p1,p2)[p3] == "object")
			Attr=getElem(p1,p2)[p3][p4]
		else
			Attr=getElem(p1,p2)[p4]
			return Attr;
		}
	else return void(0);
}

function setCont(p1,p2,p3,p4) {
	if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild)
		getElem(p1,p2,p3).firstChild.nodeValue = p4;
	else if(MS && getElem(p1,p2,p3))
		getElem(p1,p2,p3).innerText = p4;
	else if(NS && getElem(p1,p2,p3)) {
		getElem(p1,p2,p3).document.open();
		getElem(p1,p2,p3).document.write(p4);
		getElem(p1,p2,p3).document.close();
	}
}

DHTML_init();

/////////////////////////////////////////////////////////////////////////
// nicht ändern ende ]
/////////////////////////////////////////////////////////////////////////

function getCookie (sCookieName)
{
    var sName=sCookieName+"=", ichSt, ichEnd;
    var sCookie=document.cookie;

    if ( sCookie.length && ( -1 != (ichSt = sCookie.indexOf(sName)) ) )
    {
        if (-1 == ( ichEnd = sCookie.indexOf(";",ichSt+sName.length) ) )
        ichEnd = sCookie.length;
        return unescape(sCookie.substring(ichSt+sName.length,ichEnd));
    }
    return null;
}
       
function setCookie (sName, vValue)
{
    var argv = setCookie.arguments, argc = setCookie.arguments.length;
    var sExpDate = (argc > 2) ? "; expires="+argv[2].toGMTString() : "";
    var sPath = (argc > 3) ? "; path="+argv[3] : "";
    var sDomain = (argc > 4) ? "; domain="+argv[4] : "";
    var sSecure = (argc > 5) && argv[5] ? "; secure" : "";
    document.cookie = sName + "=" + vValue + sExpDate + sPath + sDomain + sSecure + ";";
}

var bSoundOff = (getCookie("Sound")=="off");

var sTextOff   = "";
var sTextOn    = "";
var sBubbleOff = "";
var sBubbleOn  = "";

function SetSound(command)
{
    elemDiv=document.getElementById("SpanSound");

    if (command=="Toggle")
    {
        bSoundOff=!bSoundOff;
        var expdate = new Date(); 
        expdate.setMonth(expdate.getMonth()+1);

        if (bSoundOff)
            setCookie("Sound", "off", expdate);
        else
            setCookie("Sound","");
    }

    var SoundElem="";
    if (bSoundOff)
    {
        SoundElem='<img style="border-color:black; border-style:solid; border-width:3px" src="Img/SoundOff.gif" alt="' + sBubbleOff + '" >' + sTextOff;
    }
    else
    {
        SoundElem='<img style="border-color:black; border-style:solid; border-width:3px" src="Img/SoundOn.gif" alt="' + sBubbleOn + '" >'+ sTextOn;
        SoundElem+='<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/" '
        SoundElem+='width="0" height="0" src="Daybreak 1.mp3" PlayCount="0" volume="-1500" autostart=1 showcontrols=0 showstatusbar=0 showdisplay=0 />'
    }
    elemDiv.innerHTML=SoundElem;
}

function EditFile()
{
    var actualPage=GetPageFromLocation();
    F1 = window.open("editor/editor.aspx?m_ModifyUrl="+actualPage,"Edit","");
}

/////////////////////////////////////////////////////////////////////////
//Mouse 
/////////////////////////////////////////////////////////////////////////
function Punkt(x, y, bSet) {
    this.x = x;
    this.y = y;
    this.Set=bSet
}

function PunktDiff(ptPoint1, ptPoint2) {
    var ptRet = new Punkt(ptPoint1.x - ptPoint2.x, ptPoint1.y - ptPoint2.y, true);
    return ptRet;
}

var SpeedLimit    = 100;     // Px/sec
var DeadDistance  = 10;      // Px   
var DeadTime      = 500;     // ms
var TimerInterval = 20;      // ms
var Delay         = 250;     // ms
var timeDead      = 0        // ms

var ptLastAction    = new Punkt(0,0, false);
var ptMouseStart    = new Punkt(0,0, false);
var ptLastMouseMove = new Punkt(0,0, false);
var ptDeadStart     = new Punkt(0,0, false);

var timeMouseStart  = -1;
var time            = -1;
var ActiveMoveElem  = null;
var ActiveLinkElem  = null;
var ActivePage      = null;
var ActiveClickElem = null;

// Timer
var MoveTimer       = "";
var DeadTimer       = "";

function Betrag(ptPoint) {
var nNummer = ptPoint.x * ptPoint.x + ptPoint.y * ptPoint.y;
var nResult = Math.sqrt(nNummer);
return nResult;
}

function StartMoveTimer() {
    if(MoveTimer=="") {
	    time     = 0;
	    MoveTimer = setInterval("DoMoveTimer()",TimerInterval);
    }	
    else {
	    StopMoveTimer();
    }
}

function StopMoveTimer() {
    if(MoveTimer!="") {
	    clearInterval(MoveTimer);
	    MoveTimer = "";
	    time      = -1;
    }
}

function StartDeadTimer() {
    StopDeadTimer();

    timeDead    = DeadTime/TimerInterval;
    ptDeadStart = ptLastMouseMove;
    DeadTimer   = setInterval("DoDeadTimer()",TimerInterval);
}

function StopDeadTimer() {
    if(DeadTimer!="") {
	    clearInterval(DeadTimer);
	    DeadTimer = "";
	    timeDead  = 0;
	    ptDeadStart.Set = false;
    }
}

/////////////////////////////////////////////////////////////////////////
//HeadGrafic
/////////////////////////////////////////////////////////////////////////
var HeadGraficList = new Array()

HeadGraficList["standard"]        = "Img/Gif_Animation/Standard.gif";
HeadGraficList["stil"]            = "Img/Gif_Animation/Stil.gif";
HeadGraficList["elegance"]        = "Img/Gif_Animation/elegance.gif";
HeadGraficList["lifestyle"]       = "Img/Gif_Animation/lifestyle.gif";
HeadGraficList["funktionstueren"] = "Img/Gif_Animation/Funktionstueren.gif";
HeadGraficList["glasprogramm"]    = "Img/Gif_Animation/glasprogramm.gif";
HeadGraficList["normal"]          = "Img/Gif_Animation/Frau.gif";
HeadGraficList["produkte"]        = "Img/Gif_Animation/produkte.gif";
HeadGraficList["service"]		  = "Img/Gif_Animation/service.gif";
HeadGraficList["technik"]		  = "Img/Gif_Animation/technik.gif";
HeadGraficList["partner"]		  = "Img/Gif_Animation/partner.gif";
HeadGraficList["logo"]			  = "Img/Gif_Animation/logo.gif";
HeadGraficList["oberflaeche"]	  = "Img/Gif_Animation/oberflaeche.gif";
HeadGraficList["CPL"]			  = "Img/Gif_Animation/CPL.gif";
HeadGraficList["royal"]			  = "Img/Gif_Animation/royal.jpg";


/////////////////////////////////////////////////////////////////////////
//Activeanzeige
/////////////////////////////////////////////////////////////////////////

var ActiveList = new Array()

ActiveList["SubMenu"]	= "Img/unter_menue_aktiv.gif";
ActiveList["Active"]	= "Img/menue_aktiv.gif";

var PruemMenu = new Array(), SubMenu1 = null, SubMenu2 = null;
    
function CreateMenu(PruemMenu, iLevel , strName, strLink, strHeadGrafic) {
    PruemMenu[iLevel]               = new Array();
    PruemMenu[iLevel]["Name"]       = strName;
    PruemMenu[iLevel]["Link"]       = strLink;
    PruemMenu[iLevel]["Type"]       = "Menu";
    PruemMenu[iLevel]["HeadGrafic"] = strHeadGrafic;
    PruemMenu[iLevel]["SubMenu"]    = new Array();
    return PruemMenu[iLevel]["SubMenu"];
}

function CreatePMenu(PruemMenu, iLevel , strPMenuName, strName, strLink, strHeadGrafic) {
    PruemMenu[iLevel]               = new Array();
    PruemMenu[iLevel]["Name"]       = strName;
    PruemMenu[iLevel]["PName"]      = strPMenuName;
    PruemMenu[iLevel]["Link"]       = strLink;
    PruemMenu[iLevel]["Type"]       = "PMenu";
    PruemMenu[iLevel]["HeadGrafic"] = strHeadGrafic;
    PruemMenu[iLevel]["SubMenu"]    = new Array();
    return PruemMenu[iLevel]["SubMenu"];
}

function AddToMenu(PruemMenu, iLevel , strName, strLink, strHeadGrafic) {
    PruemMenu[iLevel]               = new Array();
    PruemMenu[iLevel]["Name"]       = strName;
    PruemMenu[iLevel]["Link"]       = strLink;
    PruemMenu[iLevel]["Type"]       = "Link";
    PruemMenu[iLevel]["HeadGrafic"] = strHeadGrafic;
}

function ReplaceTemplate (strTemplate, PruemMenu, strID) {
    var strMenuID, strParentID, strAktivID;
    var strRet = strTemplate;
    var strHeadGrafic = (PruemMenu["HeadGrafic"] == "")? "normal" : PruemMenu["HeadGrafic"];

    strMenuID   = "LinkID"   + strID;
    strParentID = "ParentID" + strID;
    strAktivID  = "AktivID"  + strID;
    strRet      = strRet.replace(/@AktivID@/,strAktivID);
    strRet      = strRet.replace(/@ParentID@/,strParentID);
    strRet      = strRet.replace(/@LinkID@/,strMenuID);
    strRet      = strRet.replace(/@name@/,PruemMenu["Name"]);
    strRet      = strRet.replace(/@link@/,PruemMenu["Link"]);
    strRet      = strRet.replace(/@picname@/,strHeadGrafic);

    if (PruemMenu["Type"] == "Menu" || PruemMenu["Type"] == "PMenu" && 0 < PruemMenu["SubMenu"].length) {

	    var Ergebnis = strRet.search(/@AktivSrc@/);
        
	    if (-1 != Ergebnis) {
		    strRet  = strRet.replace(/@AktivSrc@/,ActiveList["SubMenu"]);
		    strRet  = strRet.replace(/hidden/,"visible");
	    }
    }
    else {
	    strRet  = strRet.replace(/@AktivSrc@/,ActiveList["Active"]);
    }

    return strRet;
}

function GetSubMenu(strSubName) {
    var SubMenu = null;

    for (var i=0;i < PruemMenu.length && null == SubMenu;i++)
    {
	    if (PruemMenu[i]["Type"] == "Menu" || PruemMenu[i]["Type"] == "PMenu")
	    {
		    if (PruemMenu[i]["Type"] == "PMenu")
		    {
			    if (PruemMenu[i]["PName"] == strSubName) {
				    SubMenu = PruemMenu[i]["SubMenu"];
			    }
		    }
		    for (var j=0;j < PruemMenu[i]["SubMenu"].length && null == SubMenu;j++)
		    {
			    if (PruemMenu[i]["SubMenu"][j]["Type"] == "PMenu")
			    {
				    if (PruemMenu[i]["SubMenu"][j]["PName"] == strSubName) {
					    SubMenu = PruemMenu[i]["SubMenu"][j]["SubMenu"];
				    }
			    }
		    }
	    }
    }
    return SubMenu;
}

function ClearSubMenu(strSubName) {

    var bReady = false;

    for (var i=0;i < PruemMenu.length && !bReady;i++)
    {
	    if (PruemMenu[i]["Type"] == "Menu" || PruemMenu[i]["Type"] == "PMenu")
	    {
		    if (PruemMenu[i]["Type"] == "PMenu")
		    {
			    if (PruemMenu[i]["PName"] == strSubName) {
				    PruemMenu[i]["SubMenu"] = new Array();
				    bReady = true;
			    }
		    }
		    for (var j=0;j < PruemMenu[i]["SubMenu"].length && !bReady;j++)
		    {
			    if (PruemMenu[i]["SubMenu"][j]["Type"] == "PMenu")
			    {
				    if (PruemMenu[i]["SubMenu"][j]["PName"] == strSubName) {
					    PruemMenu[i]["SubMenu"][j]["SubMenu"] = new Array();
					    bReady = true;
				    }
			    }
		    }
	    }
    }
}

function ActiveElems() {
    ActiveMoveElem  = null;
    ActiveLinkElem  = null;
    ActivePage      = null;
    ActiveClickElem = null;
}

function BuildMenue() {

    var MenueTempLevel1 = getElem("id","template_menue_level_1",null);
    var MenueTempLevel2 = getElem("id","template_menue_level_2",null);
    var MenueTempLevel3 = getElem("id","template_menue_level_3",null);
    var Menue           = getElem("id","HTML_Menue",null);

    var strTempL1 = MenueTempLevel1.innerHTML;
    var strTempL2 = MenueTempLevel2.innerHTML;
    var strTempL3 = MenueTempLevel3.innerHTML;
        	
    ActiveElems();

    var strMenu   = "", strMenuText2 = "", strMenuText3 = "",  strMenuLevelText1, strMenuLevelText2, strMenuLevelText3;

    // string ersetzung
    for (var i=0;i < PruemMenu.length;i++)
    {
	    strMenuLevelText1 = ReplaceTemplate(strTempL1, PruemMenu[i], i.toString());
	    strMenuText2      = "";
	    if (PruemMenu[i]["Type"] == "Menu" || PruemMenu[i]["Type"] == "PMenu")
	    {
		    for (var j=0;j < PruemMenu[i]["SubMenu"].length;j++)
		    {
			    strMenuLevelText2    = ReplaceTemplate(strTempL2, PruemMenu[i]["SubMenu"][j], i.toString() + "." + j.toString());
			    strMenuText3 = "";
			    if (PruemMenu[i]["SubMenu"][j]["Type"] == "Menu" || PruemMenu[i]["SubMenu"][j]["Type"] == "PMenu")
			    {
				    for (var k=0;k < PruemMenu[i]["SubMenu"][j]["SubMenu"].length;k++)
				    {
					    strMenuLevelText3    = ReplaceTemplate(strTempL3, PruemMenu[i]["SubMenu"][j]["SubMenu"][k], i.toString() + "." + j.toString() + "." + k.toString());
					    strMenuText3         = strMenuText3 + strMenuLevelText3;
				    }
			    }
			    strMenuLevelText2 = strMenuLevelText2.replace(/@SubMenu@/,strMenuText3);
			    strMenuText2      = strMenuText2 + strMenuLevelText2;
		    }
	    }
	    strMenuLevelText1 = strMenuLevelText1.replace(/@SubMenu@/,strMenuText2);
	    strMenu           = strMenu + strMenuLevelText1;
    }
    Menue.innerHTML = strMenu;
}

function MenuCollapse(entity) {
    var Knoten = entity.firstChild;
    while (Knoten!=null) {
	    if ("DIV" == Knoten.nodeName && Knoten.id != "divError") {
		    if( (entity.id != "HTML_Menue") && (Knoten.parentNode.id != "HTML_Menue") ) {
			    Knoten.style.display = "none"	
		    }
		    MenuCollapse(Knoten);
	    }
	    Knoten = Knoten.nextSibling;
    }
}

function MenuExpand(entity) {
    var Knoten = entity.firstChild;
    while (Knoten!=null) {
	    if ("DIV" == Knoten.nodeName && Knoten.id != "divError") {
		    Knoten.style.display = "block";
	    }
	    Knoten = Knoten.nextSibling;
    }
    Knoten = entity.parentNode;
    if ( (null != Knoten) && (Knoten.id != "HTML_Menue") ) {
	    MenuExpand(Knoten);
    }
}

function IsOpen(entity) {
    var bOpen = false;
    if (null != entity) {
	    var Knoten = entity.firstChild;
	    while (Knoten!=null) {
		    if ("DIV" == Knoten.nodeName && Knoten.id != "divError") {
			    if( Knoten.style.display == "block" ) {
				    bOpen = true;
				    Knoten = null;
			    }
		    }
		    if (null != Knoten) {
			    Knoten = Knoten.nextSibling;
		    }
	    }
    }
    return bOpen;
}

function HaveSubMenu(entity) {
    var bHave = false;

    if (null != entity) {
	    var Knoten = entity.firstChild;
	    while (Knoten!=null) {
		    if ("DIV" == Knoten.nodeName && Knoten.id != "divError") {
			    bHave = true;
			    Knoten = null;
		    }
		    if (null != Knoten) {
			    Knoten = Knoten.nextSibling;
		    }
	    }
    }
    return bHave;
}


/////////////////////////////////////////////////////////////////////////
//Links
/////////////////////////////////////////////////////////////////////////
function GetAttributte(id, strAttrib) {
    var strRet = null;
    if ((null != id) && ("" != id) ) {
	    strRet = getAttr("id",id,null,strAttrib);
    }
    return strRet;
}

function getURLParameter(strUrl, strName) {
    var sURL = strUrl;
    var sRet = "";

    if (sURL.indexOf("?") > 0)
    {
	    var arrParams = sURL.split("?");
        	
	    var arrURLParams = arrParams[1].split("&");
        
	    var arrParamNames = new Array(arrURLParams.length);
	    var arrParamValues = new Array(arrURLParams.length);
        
	    var i = 0;
	    for (i=0;i<arrURLParams.length;i++)
	    {
		    var sParam =  arrURLParams[i].split("=");
		    arrParamNames[i] = sParam[0];
		    if (sParam[1] != "")
			    arrParamValues[i] = unescape(sParam[1]);
		    else
			    arrParamValues[i] = "No Value";
	    }
        
	    for (i=0;i<arrURLParams.length && "" == sRet;i++)
	    {
		    if (strName == arrParamNames[i])
		    {
			    sRet = arrParamValues[i];
		    }
	    }
    }
    return sRet;
}

function LinkLoction(LinkElem, AktivElem, strPage, bOpen) {
    this.LinkElem  = LinkElem;
    this.AktivElem = AktivElem;
    this.strPage   = strPage; 
}

function GetPageFromLocation()
{
    var strPage = null;

    try
    {
	    if ( (null != iframe) && (null != iframe.location) && (iframe.location.href != null) ) {
		    strPage = iframe.location.href;
	    }
    }
    catch ( exception )
    {
    }

    return strPage;
}

function CompareURL(strUrl1, strUrl2)
{
    var bRet = false;

    if (null != strUrl1 && null != strUrl2) {
	    var strURL_Long;
	    var strURL_Short;
        
	    var iFirst = strUrl1.indexOf("#");
	    if (-1 != iFirst) {
		    strUrl1 = strUrl1.slice(0, iFirst);
	    }

	    iFirst = strUrl2.indexOf("#");
	    if (-1 != iFirst) {
		    strUrl2 = strUrl2.slice(0, iFirst);
	    }

	    if (strUrl1.length > strUrl2.length) {
		    strURL_Long  = strUrl1;
		    strURL_Short = strUrl2; 
	    }
	    else {
		    strURL_Long  = strUrl2;
		    strURL_Short = strUrl1; 
	    }
	    strURL_Long      = strURL_Long.substr(strURL_Long.length-strURL_Short.length);
	    bRet = CompareNoCase(strURL_Long, strURL_Short);
    }
    return bRet;
}

function ShowLink(MyLink, MyHeadGrafic) {

    //Link
    if ((null != MyLink) && (MyLink != "")) {
	    var strPage = GetPageFromLocation();
	    if (false == CompareURL(MyLink, strPage)) {
		    iframe.location = MyLink;
	    }
    }
    //HeadGrafic
    ShowHeadGrafic(MyHeadGrafic);
}

function GetLink(id) {
    return GetAttributte(id, "mylink");
}

function ShowHeadGrafic(MyHeadGrafic) {
    if ((null != MyHeadGrafic) && (MyHeadGrafic != "")) {
	    var HeadElem = getElem("name","headgrafik", 0);
	    if (null != HeadElem) {
		    if (false == CompareURL(HeadElem.src, HeadGraficList[MyHeadGrafic])) {
			    HeadElem.src=HeadGraficList[MyHeadGrafic];
		    }
	    }
    }
}

function GetHeadGrafic(id) {
    return GetAttributte(id, "myheadgrafic");
}

function FindPageElem(entity, strPage) {
    var PageElem = null;
    var MyLink;
    var Knoten = entity.firstChild;
    while (Knoten!=null && PageElem == null) {
	    MyLink = GetLink(Knoten.id);
	    if ((MyLink != null) && (true == CompareNoCase(MyLink, strPage))) {
		    strID = Knoten.id;
		    strID = strID.replace(/LinkID/,"AktivID");
		    var AktivElem = getElem("id",strID,null);
		    PageElem = new LinkLoction(Knoten, AktivElem, strPage);
	    }
	    else {
		    PageElem = FindPageElem(Knoten, strPage);
		    Knoten = Knoten.nextSibling;
	    }
    }
    return PageElem;
}

function CompareNoCase(strText1, strText2) {
    var bRet = false;
    var str1 = (null == strText1) ? " " : strText1;
    var str2 = (null == strText2) ? " " : strText2;

    var sName = getURLParameter(str1, "nameOfPage");

    if ("" != sName)
    {
	    var iLast = sName.lastIndexOf(".");
	    if (-1 == iLast) {
		    sName = sName + ".htm";
	    }
	    str1 = sName;
    }

    sName = getURLParameter(str2, "nameOfPage");
    if ("" != sName)
    {
	    var iLast = sName.lastIndexOf(".");
	    if (-1 == iLast) {
		    sName = sName + ".htm";
	    }
	    str2 = sName;
    }

    str1 = str1.toLowerCase();
    str2 = str2.toLowerCase();
    if (str1 == str2) {
	    bRet = true;
    }
    return bRet;
}

function PageChange(side) {
    if (side==null)
	    return;

    var strPage = side;
    var iLast = side.lastIndexOf(".");
    var bChange = false;

    if (-1 == iLast) {
	    strPage = strPage + ".htm";
    }
    if (null == strPage)
	    return;

    var clientHeight = iframe.document.body.clientHeight;
    var scrollHeight = iframe.document.body.scrollHeight;
    var theIFrame = document.getElementById("iframe",false);

    //  alert(clientHeight + " "  + scrollHeight);
    if (theIFrame != null) {
	    if (clientHeight < scrollHeight) {
		    bChange=true;
	    }
	    else if (clientHeight != scrollHeight && scrollHeight <= 472) {
		    bChange=true;
	    }
    }
        
    bChange = false;	// TODO zeile löschen damit wieder f. unterschiedlich hohe scroll bars
    if (bChange) {
	    //alert(clientHeight + " "  + scrollHeight);
	    var iframeHeight=parseInt(theIFrame.height,10);
	    iframeHeight+=scrollHeight - clientHeight;
	    theIFrame.height=iframeHeight;
	    //alert(clientHeight + " "  + scrollHeight);
    }

    if (null == ActivePage || strPage != ActivePage) {
	    if ( (null != ActiveLinkElem) && (true == CompareNoCase(ActiveLinkElem.strPage, strPage)) ) {
		    ActivePage = strPage;
		    return;
	    }
        
	    if ((null != ActiveLinkElem) && (null != ActiveLinkElem.AktivElem.style.visibility)) {
        	
		    var MenuEbene = GetAttributte(ActiveLinkElem.LinkElem.id,"MenuEbene");

		    //Menü 2 Ebende -> Quadrat zu Pfeil sonst hidden
		    if ("2" == MenuEbene && HaveSubMenu(ActiveLinkElem.LinkElem.parentNode)) {
			    ActiveLinkElem.AktivElem.src = ActiveList["SubMenu"];
		    }
		    else {
			    ActiveLinkElem.AktivElem.style.visibility = "hidden";
		    }
		    ActiveLinkElem = null;
	    }
	    var menue_div =  getElem("id","HTML_Menue",null);
	    var PageElem = FindPageElem(menue_div, strPage);

	    if (null != PageElem) {
		    ActiveLinkElem = PageElem;
		    ActiveLinkElem.AktivElem.style.visibility = "visible";
        	
		    var MenuEbene = GetAttributte(ActiveLinkElem.LinkElem.id,"MenuEbene");

		    //Menü 2 Ebende -> Pfeil zu Quadrat
		    if ("2" == MenuEbene) {
			    ActiveLinkElem.AktivElem.src = ActiveList["Active"];
		    }

		    var strID = PageElem.LinkElem.id;
		    var ElemToOpen = getElem("id",strID,null);
		    if (null !=  ElemToOpen && !IsOpen(ElemToOpen.parentNode)) {
			    if (null == ActiveClickElem || ActiveClickElem != ElemToOpen) {
				    DoClick(ElemToOpen);
				    //ShowLink(GetLink(PageElem.LinkElem.id), GetHeadGrafic(PageElem.LinkElem.id));
				    ShowHeadGrafic(GetHeadGrafic(PageElem.LinkElem.id));
			    }
		    }
		    ActiveClickElem = null;
	    }
	    else {
		    ActivePageElem = null;
	    }
	    ActivePage = strPage;
    }
}

/////////////////////////////////////////////////////////////////////////
//Event-Funktionen
/////////////////////////////////////////////////////////////////////////
function DoClick (entityChild)
{
    var entity = entityChild.parentNode;

    if (null != entity ) {
	    var bOpen  = IsOpen(entity);
	    if (bOpen) {
		    MenuCollapse(entity);
	    }
	    else {

		    //Alles zu machen
		    var menue_div =  getElem("id","HTML_Menue",null);
		    MenuCollapse(menue_div);

		    //Aktuelles auf machen
		    MenuExpand(entity);
	    }
    }
}

function DoHoverOn (entityChild)
{
    var entity     = entityChild.parentNode;
    var NameClass  = entityChild.className;

    if (null != NameClass || "" != NameClass)
	    entityChild.className = entityChild.className.replace("_N","_H");

    NameClass  = entity.className;
    if (null != NameClass || "" != NameClass)
	    entity.className = entity.className.replace("_N","_H");
}

function DoHoverOff (entityChild)
{
    var entity     = entityChild.parentNode;
    var NameClass  = entityChild.className;

    if (null != NameClass || "" != NameClass)
	    entityChild.className = entityChild.className.replace("_H","_N");

    NameClass  = entity.className;
    if (null != NameClass || "" != NameClass)
	    entity.className = entity.className.replace("_H","_N");
}

function DoMouseClick (evt, entityChild)
{
    var ptMousePos = new Punkt(evt.clientX, evt.clientY, true);
    if (null != ActiveMoveElem) {
	    StopMoveTimer();
	    if (ActiveMoveElem.id != entityChild.id) {
		    if (timeDead > 0 && Betrag(PunktDiff(ptDeadStart,ptMousePos))<DeadDistance) {
			    return;
		    }
	    }
	    else {
		    StopDeadTimer();
	    }
    }
    ptLastAction = ptMousePos;
    ActiveClickElem = entityChild;
    DoClick (entityChild);
    ShowLink(GetLink(entityChild.id), GetHeadGrafic(entityChild.id));
}

function DoMouseMove (evt, entityChild) {

    var entity = entityChild.parentNode;
    var bOpen  = IsOpen(entity);

    var ptMousePos = new Punkt(evt.clientX, evt.clientY, true);
    ptLastMouseMove = ptMousePos;

    if (false == bOpen) {
	    if (ptLastAction.Set) {
		    if (Betrag(PunktDiff(ptLastAction,ptMousePos))>DeadDistance) {
			    ptLastAction.Set = false;
		    }
		    else
		    {
			    return
		    }
	    }
	    if (time==-1) {
		    StartMoveTimer();
		    ptMouseStart   = ptMousePos;
		    timeMouseStart = time;
		    ActiveMoveElem     = entityChild;
	    }
	    else {
		    if(Betrag(PunktDiff(ptMouseStart, ptMousePos))*1000/TimerInterval/(time-timeMouseStart) > SpeedLimit)
		    {
			    ptMouseStart=ptMousePos;
			    timeMouseStart=time;
		    }
	    }
    }
}

function DoMouseOut (entityChild) {
    StopMoveTimer();
    DoHoverOff(entityChild);
}

function DoMoveTimer () {

    var iInterval =  timeMouseStart+Delay/TimerInterval;

    if (time > iInterval) {
	    StopMoveTimer();
	    ptLastAction=ptMouseStart;
	    DoClick(ActiveMoveElem);
	    StartDeadTimer();
    }
    else
    {
	    time = time + 1;
    }
}

function DoDeadTimer () {
    if (timeDead > 0) {
	    timeDead = timeDead - 1;
	    if (0 == timeDead) {
		    StopDeadTimer();
	    }
    }
}

function DoSearch()	{
    var SearchEdit = getElem("id","field_SuchText",null);
    if (null != SearchEdit && null != iframe)
    {
	    var sLink = "Pub/App/Suche.aspx";
        
	    if ("" != SearchEdit.value) {
		    sLink = sLink + "?search=" + encodeURIComponent(SearchEdit.value);
	    }
	    else {
		    sLink = sLink + "?search=" + "";
	    }
	    iframe.location.href = sLink;
    }
}

