      /* JavaScriptTextBausteine Beginn */
      
        
    /* Diese Variable enth&auml;lt den Text, welcher im Hinweisfenster beim Verhindern des Doppelklicks erscheint. */
    var doppelKlickText  = 'Ihre Anfrage wird bereits bearbeitet - bitte haben Sie einen Moment Geduld.\n\nIm Problemfall (z.B. extrem lange Wartezeit) aktualisieren Sie bitte die Seite im Browser und treffen Sie erneut Ihre Auswahl.';          
  
    /* Diese Variable legt die X-Position des DHTML Hinweis Layers fest. */
    var LayerPosX  = '230';
  
    /* Diese Variable legt die Y-Position des DHTML Hinweis Layers fest */
    var LayerPosY  = '200';          
  
    /* Diese Variable legt die Zeit in Millisekunden fest, nach welcher der DHTML Hinweis Layer eingeblendet wird. */
    var LayerTime  = '6000';          
  
         
      /* JavaScriptTextBausteine Ende */      
  


function browsertest()
{
  browserName = navigator.appName;
  browserVer = parseInt(navigator.appVersion);
  ver = 3;
  if (browserName == "Netscape" && browserVer>=5) ver=browserVer;
  if (browserName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("5.5") !=-1) ver = 5;
  if (browserName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("6.0") !=-1) ver = 6;

  if ((browserName == "Netscape" && browserVer <= 4) ||
      (browserName == "Microsoft Internet Explorer" && ver <5 ) ||
       (ver <= 3))
  {
    return(false);
  }
  else
  {
    return(true);
  }
}

var cms_LOGIN = false;
var cms_LOGINNAME = "";
var cms_KNDNR = "";
var cms_SUMME = 0;
var cms_POSITIONEN = 0;
var cms_PAGE_TYPE = 0;
var cms_COOKIES_ENABLED = false;
var cms_ONKZ = "";
var cms_RUFNR = "";

// used in trim/rtrim/ltrim functions
// We don't want to trip JUST spaces, but also tabs,
var whitespace = new String(" \t\n\r");

//cms_page_init();

function cms_page_init()
{

  var browser_ok = true; // Annahme, das alles gut wird
  var cms_COOKIES_ENABLED = true;

  //Test auf gesetzten BrowsertestCookie (wird gesetzt,
  // wenn cms_init_cookie bereits ausgefuehrt wurde)
  // erst pr&uuml;fen, ob Cookies enabled sind
  // Achtung! Funktion cookiesEnabled unten im Script arbeitet nicht korrekt!
  // wird deshalb ignoriert
  if(navigator.cookieEnabled == true)
  {
    cms_COOKIES_ENABLED=true;
  }
  else
  {
    cms_COOKIES_ENABLED=false; 
  }
  
  if (cms_COOKIES_ENABLED==true)
  {
    // falls kein BrowserCheck-Cookie existiert, Browser pr&uuml;fen  
    if(!getCookie("BrowserCheck"))
    {
      browser_ok=browsertest();
      if (navigator.userAgent.indexOf("Opera") != -1 && !browsertest()) browser_ok=false;
    }
    // falls Browserpr&uuml;fung fehlschlug, Weichenseite
    if (browser_ok == false)
    {
      window.location.href=weichenseiten_uri;
    }
    // cookies enabled und browser ok  
    cms_init_cookie();
  }
  else
  {
    window.location.href=weichenseiten_uri;
  }
}
// Ende cms_page_init()



function cms_init_cookie()
{
    var val = document.cookie;
    if (val!=null)
    {
      var ar = val.split(";");
      var i=0;
      var tmp = new Array();
      var regExp = /(^").+("$)/;
              
      for (i=0 ; i < ar.length;i++) 
      {
          tmp = ar[i].split("=");
          
          var cookieKey = trim(tmp[0]);
          var cookieValue = tmp[1];
          
          if (cookieValue && cookieValue.search(regExp) != -1)
          {
            cookieValue = cookieValue.replace(/^"/, "");
            cookieValue = cookieValue.replace(/"$/, "");
          }

          // isuser auslesen
          if (cookieKey == "isuser")
          {   
              if (cookieValue) 
              {
                  cms_LOGIN = true;
                  cms_LOGINNAME = cookieValue;

                  /*
                  if (tmp[2]) 
                  {
                      cms_SUMME = tmp[2];
                  }
                  if (tmp[3]) 
                  {
                      cms_POSITIONEN = tmp[3];
                  }
                  */
              }
          }
           
          // kunden nummer auslesen
          if (cookieKey == "iskndnr")
          { 
              if (cookieValue ) 
              {
                  cms_KNDNR = cookieValue;
              }
          }
             
          // positionen auslesen
          if (cookieKey == "Position")
          {
              if (cookieValue) 
              {
                  cms_POSITIONEN = cookieValue.split(",")[0];
              }
          }
  
          // gesamtpreis auslesen
          if (cookieKey == "Preis")
          {
              if (cookieValue) 
              {
                  cms_SUMME = cookieValue.split(" ")[0];
              }
          }  
          
          // RufNummer auslesen
          if (cookieKey == "RufNr")
          {
              if (cookieValue) 
              {
                  var cms_RUFNR_GES = cookieValue.split(",");
                  cms_ONKZ = cms_RUFNR_GES[0];
                  cms_RUFNR = cms_RUFNR_GES[1];
              }
          }
      }
      
      // fallbacks
      if( (cms_SUMME == 0)     || 
          (cms_SUMME == 0.0)   || 
          (cms_SUMME == "0.0") || 
          (cms_SUMME == "N/A") )
      {
          cms_SUMME = "0,00";
      }
    }
    

    // Cookie fuer den Browsercheck setzen
    bcCookie = getCookie("BrowserCheck")   
    
    if(bcCookie == null)
    {
      setCookie("BrowserCheck","yes","","","/");
    }
}


// Standardfunktion zum Setzen eines Cookies

function setCookie(name, wert, domain, expires, path, secure)
{
   var cook = name + "="+unescape(wert);
   cook += (domain) ? "; domain="+ domain : "";
   cook += (expires) ? "; expires="+expires : "";
   cook += (path) ? "; path="+path : "";
   cook += (secure) ? "; secure" : "";
   
   document.cookie = cook;
}

//Standardfunktion zum Lesen eines Cookies

function getCookie(name)
{
   var i=0;  //Suchposition im Cookie
   var suche = name+"=";

   while (i < document.cookie.length)
   {
      if (document.cookie.substring(i, i+suche.length)==suche)
      {      
         var ende = document.cookie.indexOf(";", i+suche.length);
         ende = (ende > -1) ? ende : document.cookie.length;
         var cook = document.cookie.substring(i+suche.length, ende);
         return unescape(cook);
      }
      i++;
   }
   return false;
}


 function getSID()
 {
   var self_url = "" + document.location.href;                   
   var sidString = self_url.match(/;sid=[0-9A-Za-z_-]*=/) + "";

   // remove trailing ';sid='
   var retVal = sidString.substring(5);
   return retVal;
 }
 
 function cms_init() 
 {
   setTimeout('self.focus()',100);
   // only call following print with print window:     
   

   // next line performs browser and cookie check and branches if necessary to weichenseite
   //cms_page_init();

   // cms_initDSLQuickCheck();
   
 }
 
 function cms_init_ISCI() 
 {
   //setTimeout('self.focus()',100);
   // only call following print with print window:     
   
   openISCIPopup('ViewHOMain-GetHoPopup');

   // next line performs browser and cookie check and branches if necessary to weichenseite
   cms_page_init();

   // cms_initDSLQuickCheck();
 }
          
 function cms_printPage()
 {
   var url = location.href;
   url = url +"&amp;print=true";
   
   // open a new window for print
   var size = "width=800,height=600,screenX=20,screenY=20";
   size = size + ",resizable=yes,status=yes,scrollbars=yes,menubar=no";
   window.open(url, "windowName", size);
 }

            
 function cms_openPopup(  
            url , 
            width , 
            height , 
            resizeable , 
            scrollbars , 
            statusline, 
            menubar, 
            toolbar, 
            location, 
            windowName, 
            submitSID,
            nofocus ) 
 {
   
   if (submitSID == "true")
   {
     sid = getSID();
     
     if(url.indexOf("?") != -1)
     {
         url = url + "&amp;sid="+escape(sid);
     }
     else
     {
         url = url + "?sid="+escape(sid);
     }
   }
            
            
   var size=     "width="       + width;
   size = size + ",height="     + height;
   size = size + ",left=20,top=20,resizable="+resizeable;
   size = size + ",scrollbars=" + scrollbars;
   size = size + ",menubar="    + menubar;
   size = size + ",toolbar="    + toolbar;
   size = size + ",location="   + location;
   size = size + ",status="     + statusline;
           
   if (!windowName)
   {
     windowName = "newPopup";
   }

   win = window.open(url,windowName, size);
   winFocus = win; // win nicht global definiert

   if (nofocus==1) return;
   
   if (window.aktiv_popup) clearTimeout(aktiv_popup);
   aktiv_popup = setTimeout("winFocus.focus()", 1000);
 }

 function cms_openPopup_XY(  
            url , 
            width , 
            height ,
            posX ,
            posY , 
            resizeable , 
            scrollbars , 
            statusline, 
            menubar, 
            toolbar, 
            location, 
            windowName, 
            submitSID,
            nofocus ) 
 {
   
   if (submitSID == "true")
   {
     sid = getSID();
     
     if(url.indexOf("?") != -1)
     {
         url = url + "&amp;sid="+escape(sid);
     }
     else
     {
         url = url + "?sid="+escape(sid);
     }
   }
            
            
   var size=     "width="       + width;
   size = size + ",height="     + height;
   size = size + ",left="    + posX;
   size = size + ",top="    + posY;
   size = size + ",resizable="+resizeable;
   size = size + ",scrollbars=" + scrollbars;
   size = size + ",menubar="    + menubar;
   size = size + ",toolbar="    + toolbar;
   size = size + ",location="   + location;
   size = size + ",status="     + statusline;
           
   if (!windowName)
   {
     windowName = "newPopup";
   }

   win = window.open(url,windowName, size);
   winFocus = win; // win nicht global definiert

   if (nofocus==1) return;
   
   if (window.aktiv_popup) clearTimeout(aktiv_popup);
   aktiv_popup = setTimeout("winFocus.focus()", 1000);
 }
 

 function cms_submitSID(url)
 {   
     sid = getSID();
     
     // build the new URI
     var uri = addURIParameter(url, "sid", sid);
     
     window.location.href = uri;
 }
 

 function cms_popup_open(url,html_name,w,h)
 {
   var attrib = 'width='+w+',height='+h+',status=yes,resizable=no,scrollbars';
           
   if (html_name == "_blank")
   {
     window.open(url);
   }
   else
   {
     win_obj = window.open(url,html_name,attrib);
   }
 }   

 function cms_setCookie(benutzername)
 {
    // nothing       
 }

   
 
 /* helper ****************************************************************
  *
  *
  * helper ****************************************************************
 */
 
 /*
   Removes trailing and leading whitespaces from our string.
 */

 function trim(str)
 {
    return rtrim(ltrim(str));
 }

 
 /*
   Removes leading whitespaces from our string.
 */
 function ltrim(str)
 
 {
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) 
   {
      // We have a string with leading blank(s)...

      var j=0, i = s.length;

      // Iterate from the far left of string until we
      // don't have any more whitespace...
      while ((j < i) && (whitespace.indexOf(s.charAt(j)) != -1))
      {
         j++;
      }
      
      // Get the substring from the first non-whitespace
      // character to the end of the string...
      s = s.substring(j, i);
   }
   return s;
}

/*
   Removes trailing whitespaces from a string.
*/
function rtrim(str)
{
   
   var s = new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) 
   {
      // insert// We have a string with trailing blank(s)...

      var i = s.length - 1;       // Get length of string

      // Iterate from the far right of string until we
      // don't have any more whitespace...
      while ((i >= 0) && (whitespace.indexOf(s.charAt(i)) != -1))
      {
         i--;
      }
      
      // Get the substring from the front of the string to
      // where the last non-whitespace character is...
      s = s.substring(0, i+1);
   }

   return s;
}


// This function tests whether the user accepts cookies.
function cookiesEnabled()
{
  // immer pr&uuml;fen, ob ein Cookie geschrieben werden kann
  // deshalb hier ausgeklammert
  // if(document.cookie == '') 
  // {
    // Try to set a cookie.
    document.cookie = 'EKI_acceptsCookies=yes'; 
    if(document.cookie.indexOf('EKI_acceptsCookies=yes') != -1) 
    {
      // If it succeeds, return true
      return true; 
    }
    else
    {
      return false;
    }
  // ausgeklammert, da wir immer pr&uuml;fen, ob Cookie geschrieben werden kann
  //} 
  //else 
  //{ 
    // there was already a cookie
  //  return true;
  //}
}
     
/** 
* returns an array of the parameter names 
*/
function getParameterNames(uri)
{
  var paramNames = new Array();
  var queryStr = uri.split("?")[1];
  
  if(queryStr)
  {
    var params = queryStr.split("&");
    for (var p=0; p < params.length; p++)
    {
      var nameValue = params[p].split("=");
      paramNames[p] = nameValue[0];
    }
  }
  
  return paramNames;
}

/** 
* returns an array of parameters
*/
function removeURIParameter(uri, removeParamName)
{
  var paramArray = new Array();
  
  var firstPart = uri.split("?")[0];
  var queryStr = uri.split("?")[1];
    
  if(queryStr)
  {
    var params = queryStr.split("&");
    for (var p=0; p < params.length; p++)
    {
      var nameValue = params[p].split("=");
      var current = nameValue[0];
      
      if(current != removeParamName)
      {
        firstPart = addURIParameterValue(firstPart, nameValue);
      }
    }
    uri = firstPart;
  }
  return uri;
}

/**
 * returns true, if parameter is contained in the queryString, 
 * otherwise false
*/
function containsURIParameter(uri, parameterName)
{
  var params = new Array();
  params = getParameterNames(uri);
  for (var i=0; i < params.length; i++)
  {
    if(params[i] == parameterName)
    {
      return true;
    }
  }
  return false;
}

/**
 * adds a URI paramValue to the specified URI. 
 */
function addURIParameterValue(uri, nameValue)
{
  var firstPart = uri.split("?")[0];
  var queryStr = uri.split("?")[1];
  
  if(queryStr)
  {
    // there are already params
    uri = uri + "&";
  }
  else
  {
    // there are no params
    uri = uri + "?";
  }
  uri = uri + nameValue[0] + "=" + nameValue[1];
  return uri;
}

/**
 * adds a URI parameter to the specified URI. 
 * if a parameter withe the given String was already present,
 * the old one is removed before adding the new.
 */
function addURIParameter(uri, paramName, value)
{
  if(containsURIParameter(uri, paramName))
  {
    // remove at first
    uri = removeURIParameter(uri, paramName);  
  }
  var newParam = new Array();
  newParam[0] = paramName;
  newParam[1] = value;
  return addURIParameterValue(uri, newParam);
}


/*
 * ersetzt entity-codierten in einem text durch 
 * entsprechende character-representation
 * @ return ersetzter text
 */
function decodeText(text)
{
  matcher =  /&#([0-9]{2,5});/g
  
  text = text.replace(matcher ,
       function killThem(whole,numb) 
       {
         return String.fromCharCode(parseInt(numb));
       }
       );  
  return text;
}



function cms_submit_loginform(opt) 
{
  cms_checkInputs();
}


/**
* does the login.
* param opt are an optional parameters
*/
function doLogin(itemLocator, headerSelection) 
{
  // init url
  var url = "";
  url = url + window.location.href;

  if(itemLocator.length > 0)
  {
    url = addURIParameter(url, "itemLocator", itemLocator);
  }

  if(headerSelection.length > 0)
  {
    url = addURIParameter(url, "headerSelection", headerSelection);
  }

  url = addURIParameter(url, "showLoginmask", "true");

  // delete the cookie:
  document.cookie = "isuser=";      

  // do the reload
  window.location.href = url;
}


/**
* does the logout.
* param opt are an optional parameters
*/
function doLogout(url, itemLocator, headerSelection)
{  
  // delete the cookie:
  document.cookie = "isuser=";

  // Reload page:
  window.location.href=url;
}


function cms_checkInputs()
{
  deactivateLayer = false;

  // check login name
  var loginname = document.loginform.RequestForm_CssUserId.value;
  if (loginname.length == 0) 
  {
    cms_countClickForElement=0;
    deactivateLayer = true;
    alert(textWrongLogin);
    document.loginform.RequestForm_CssUserId.focus();
    return false;
  }
  if(!loginname.match("^[a-zA-Z0-9_.-]{6,32}$"))
  {  
    cms_countClickForElement=0;
    deactivateLayer = true;
    alert(textWrongLogin);
    return false;
  }
   
  // check password
  var password = document.loginform.RequestForm_CssPassword.value;
  if (password.length == 0) 
  {
    cms_countClickForElement=0;
    deactivateLayer = true;
    alert(textWrongPassword);
    document.loginform.RequestForm_CssPassword.focus();
    return false;
  }
  if(!password.match("^.{8,16}$"))
  {
    cms_countClickForElement=0;
    deactivateLayer = true;
    alert(textWrongPassword);
    return false;
  }
  // ok
  return true;
} 



function get_searchstring(qt) 
 {
   //changes + into %2B
   //changes space into + 
   
   qt=escape(qt);
   while(qt.match(/\+/))
   {
      qt=qt.replace(/\+/,"%2B")
   }
   while(qt.match(/\%20/))
   {
      qt=qt.replace(/%20/,"+")
   }
   return qt;
 }

 function cms_suchen(urlProductSearch, url) 
 {
   var sid = getSID();
   var ber = document.searchform.ber.value;
  
   if (ber==3)
   {
      url = urlProductSearch;      
      url = addURIParameter(url, "search_string", get_searchstring(document.searchform.qt.value));
      url = url + "&amp;search_attribute_keyword=name"+
      
       "&amp;search_online=true"+
       "&amp;search_typecode=1"+
       "&amp;search_typecode=2"+ 
       "&amp;search_typecode=3"+ 
       "&amp;search_typecode=4"+ 
       "&amp;search_typecode=5"+ 
       "&amp;search_typecode=9"+ 
       "&amp;search_typecode=10"+ 
       "&amp;search_typecode=11"+ 
       "&amp;search_typecode=16"+ 
       "&amp;search_typecode=17"+ 
       "&amp;search_online=true"+ 
       "&amp;search_unit_status=1"+ 
       "&amp;search_site_name=PK"+ 
       "&amp;sort_attribute_1=product_name"+
       "&amp;sort_direction_1=ascending"+ 
       "&amp;simpleSearch=yes"+ 
       "&amp;search_query_searchable=1"+
       "&amp;search_attribute_searchable=searchable"+
       "&amp;search_type_searchable=integer"+
       "&amp;search_attribute=name"+ 
       "&amp;search_attribute=longDescription"+ 
       "&amp;search_attribute=shortDescription"; 

   }
   else
   {   
      //URL zusammenbauen:
      url = url + "?ber=" + escape(ber);
      url = url + "&amp;sid=" + escape(sid);
      url = url + "&amp;qt=" + get_searchstring(document.searchform.qt.value);
   }
   
   //Fensteraufruf
   cms_openPopup(url,807,620 ,0,1,1,0,0,0,'searchpopup',0);
}

// ###############################################################
// NEW:   for www.T-com.de (only T-DSL Quickcheck)
// ###############################################################

var textWrongVorwahl = "Bitte geben Sie eine Vorwahl bestehend aus Ziffern ein.";
var textWrongRufnummer = "Bitte geben Sie eine Rufnummer bestehend aus Ziffern ein.";

function cms_checkQuickCheck(quickCheckFormId)
{
  var quickcheckform;
  if (document.all)
  {
    eval("quickcheckform = document.all."+quickCheckFormId);
  }
  else if (document.getElementById)
  {
    quickcheckform = document.getElementById(quickCheckFormId);
  }
  
  
  var vorwahl = quickcheckform.xmlOnkz.value;
  if (vorwahl.length == 0) 
  {
    alert(textWrongVorwahl);
    cms_countClickForElement=0;
    quickcheckform.xmlOnkz.focus();
    return;
  }
  if(vorwahl.match("[^0-9]"))
  {
    alert(textWrongVorwahl);
    cms_countClickForElement=0;
    quickcheckform.xmlOnkz.focus();
    return;
  }
   
  // check Rufnummer
  var rufnummer = quickcheckform.xmlRufnr.value;
  if (rufnummer.length == 0) 
  {
    alert(textWrongRufnummer);
    cms_countClickForElement=0;
    quickcheckform.xmlRufnr.focus();
    return;
  }
  if(rufnummer.match("[^0-9]"))
  {
    alert(textWrongRufnummer);
    cms_countClickForElement=0;
    quickcheckform.xmlRufnr.focus();
    return;
  }
   
  // ok
  
  url="/is-bin/INTERSHOP.enfinity/WFS/EKI-PK-Site/-/-/-/ViewDslCheck-Check";
  url=url+'?xmlOnkz='+vorwahl+'&xmlRufnr='+rufnummer+'&businessProducts=true';
  
  //alert(url);
  cms_openPopup(url,600,500,1,1,1,0,0,0,'quickcheck',0);
}

function openISCIPopup(url)
{
  var size="width=737,height=600,screenX=20,screenY=20,resizable=1,scrollbars=1,menubar=0";
  
  windowName = "ISCIPopup";
  ISCIwin = window.open(url,windowName, size);
  setTimeout("ISCIwin.focus()", 1000);
}

function cms_printPage()
{
  if(document.all && navigator.appVersion.substring(22,23)==4)
  { 
    self.focus();
    var OLECMDID_PRINT = 6;
    var OLECMDEXECOPT_DONTPROMPTUSER = 2;
    var OLECMDEXECOPT_PROMPTUSER = 1;
    var WebBrowser = '<object xmlns:java="http://xml.apache.org/xslt/java" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:isdt="http://intershop.com/cm/2001/isdt" xmlns:isxsl="com.intershop.subotnic.capi.rendering.isxsl.ISXSLExtensions" xmlns:isci="http://intershop.com/cm/2001/isci" xmlns:isxml="http://intershop.com/cm/2001/isxml" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" id="WebBrowser1" width="0"></object>';
    document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
    WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
    WebBrowser1.outerHTML = '';
  }
  else
    window.print();
}

function cms_addPrintURI(URL, ADDURL)
{
  var returl;
  
  if(URL.indexOf("?") != -1)
  {
    returl = URL + "&amp;" + ADDURL;
  }
  else
  {
    returl = URL + "?" + ADDURL;
  }

  return returl;
}


 


  
/*

var navpfeilurl = "/is-bin/intershop.static/WFS/EKI-TCOM-Site/-/Editions/Root%20Edition/units/EKI-TCOM/entwicklung/medienobjekte/unternavigation_pfeil.gif";

var navpfeilselectedurl = "/is-bin/intershop.static/WFS/EKI-TCOM-Site/-/Editions/Root%20Edition/units/EKI-TCOM/entwicklung/medienobjekte/unternavigation_pfeil_magenta.gif";

*/

navpfeil = new Image();
navpfeil.src = "/image/spacer.gif";

navpfeilselected = new Image();
navpfeilselected.src = "/image/spacer.gif";

navpfeilweiss = new Image();
navpfeilweiss.src = "/image/spacer.gif";



  
var navLastExpandedId;
var navExpandMode;
var navTimer;

function navOver(id, changePic, color, pcolor, tcolor, isLink)
{
  window.clearTimeout(navTimer);
  if (navLastExpandedId && (navLastExpandedId != id))
  {
    navImpand(id, navLastExpandedId);
  }
  document.getElementById("navItemText"+id).style.color= (tcolor)? tcolor : "#e20074";
  document.getElementById("navItemPoints"+id).style.color= (pcolor)? pcolor : "#e20074";
  document.getElementById("navItemBG"+id).style.backgroundColor= (color)? color : "#dcdcdc";
  if (isLink)
  {
    if (document.all) 
    { 
      document.getElementById("navItemBG"+id).style.cursor='hand'; 
    } 
    else 
    { 
      document.getElementById("navItemBG"+id).style.cursor='pointer'; 
    }
  }
  else
  {
    document.getElementById("navItemBG"+id).style.cursor="default";
  }
  
  if(changePic)
  {
    if (navExpandMode)
    {
      navExpand(id);
      navLastExpandedId = id;  
    }
//    document.getElementById("navItemPic"+id).src=navpfeilselectedurl;
    if (color=='#E20074' || color=='#e20074')
    {
      document.getElementById("navItemPic"+id).src=navpfeilweiss.src;
    } 
    else
    { 
      document.getElementById("navItemPic"+id).src=navpfeilselected.src;
    }
  }
  
  return;
}


function navOut(id, changePic, color, pcolor, tcolor)
{
  document.getElementById("navItemText"+id).style.color= (tcolor)? tcolor : "#3d3d3d";
  document.getElementById("navItemPoints"+id).style.color= (pcolor)? pcolor : "#bfbfbf";
  document.getElementById("navItemBG"+id).style.backgroundColor= (color)? color : "#ffffff";

  if (changePic)
  {
//    document.getElementById("navItemPic"+id).src=navpfeilurl;
    if (color=='#E20074' || color=='#e20074')
    {
      document.getElementById("navItemPic"+id).src=navpfeilweiss.src;
    } 
    else
    {
      document.getElementById("navItemPic"+id).src=navpfeil.src;
    }
  }  
  navTimer = setTimeout("finishNavExpandMode();", 2000);
  return;
}

function navClick(id)
{
  if (navLastExpandedId)
  {
    if (navLastExpandedId == id)
    {
      // same element as before
      return;
    }
  
    navImpand(id, navLastExpandedId);
  }

  navExpand(id);
  navLastExpandedId = id;  
}


function navImpand(id, lastId)
{
    if ((lastId.length < id.length) &&
        (id.substr(0, lastId.length) == lastId))
    {
      // expand child - do not hide parent
    }
    else if ((id.length < lastId.length) &&
             (lastId.substr(0, id.length) == id))
    {
      // expand parent - hide childs
      var genId = "navItemSub"+lastId;
      var parentIdLength = "navItemSub".length+id.length;
      do
      {
        var lastSubArea = document.getElementById(genId);
        if (lastSubArea)
        {
          lastSubArea.style.visibility = "hidden";
          genId = (genId.lastIndexOf("_") >= 0) ? genId.substr(0, genId.lastIndexOf("_")) : "";
        }
      }
      while (lastSubArea && genId && (genId.length > parentIdLength))
    }
    else
    {
      var genId = "navItemSub"+lastId;
      var parentId = "navItemSub"+id;
      do
      {
        var lastSubArea = document.getElementById(genId);
        if (lastSubArea)
        {
          lastSubArea.style.visibility = "hidden";
          if (genId.lastIndexOf("_") >= 0)
          {          
            genId = genId.substr(0, genId.lastIndexOf("_"));
            if ((genId.length < parentId.length) &&
                (parentId.substr(0, genId.length) == genId))
            {            
              genId = null;
            }
          }
          else
          {
            genId = null;
          }
        }
      }
      while (lastSubArea && genId)
    }
}

function navExpand(id)
{
  navExpandMode = true;
  var subArea = document.getElementById("navItemSub"+id);
  if (!subArea)
  {
    // element not found
    return;
  }
  
  var navItem = document.getElementById("navItemBG"+id);
  var x = absLeft(navItem);
  var y = absTop(navItem);
    
  subArea.style.left = x+150;
  subArea.style.top = y-1;
  subArea.style.visibility = "visible";
    
  return;
}
  
function finishNavExpandMode()
{
  if (navLastExpandedId)
  {
    navImpand("navItemSub_", navLastExpandedId);
    navLastExpandedId = null;
  }
  navExpandMode = false;
}

function absTop(el)
{
  if ((navigator.userAgent.indexOf('Netscape') > 0) || (navigator.userAgent.indexOf('netscape') > 0))
  {
    return (el.offsetParent && (el.parentNode.style.position == "absolute")) ? el.offsetTop + absTop(el.offsetParent) : el.offsetTop;
  }
  else
  {
    return (el.offsetParent && (el.parentNode.style.position != "absolute")) ? el.offsetTop + absTop(el.offsetParent) : el.offsetTop;
  }
}

function absLeft(el)
{
  if ((navigator.userAgent.indexOf('Netscape') > 0) || (navigator.userAgent.indexOf('netscape') > 0))
  {
  return (el.offsetParent && (el.parentNode.style.position == "absolute")) ? el.offsetLeft + absLeft(el.offsetParent) : el.offsetLeft;  
  }
  {
  return (el.offsetParent && (el.parentNode.style.position != "absolute")) ? el.offsetLeft + absLeft(el.offsetParent) : el.offsetLeft;  
  }
}


var cms_countClickForElement=0;
var deactivateLayer = false;

function cms_globalDeactivateElement(element,message) 
{
  /*
  - first click increments counter, second click calls alert and returns false
  - hint: "return false" works only if you call a function via on[click|submit|...]
  - onclick="return deactivate(this);" - "this" is not used here yet, but it could 
    be later to identify element,
    e.g. function deactivate(element) {element.onclick = Function("return false;");}
    so it's better to implement it with "this" in all templates and to change only 
    the js-function if necessary
  */
  if (cms_countClickForElement==0) { 
     // increment counter at first function call
     cms_countClickForElement++;
        
     
    if(document.getElementById("popupWnd")!=null && !deactivateLayer)
    {
        if(typeof(LayerTime)!='undefined' && LayerTime != null)
        {
          setTimeout("cms_showLayer()", parseInt(LayerTime));
        }
        else
        {
          setTimeout("cms_showLayer()",5000);
        }
    }
     
     return true;
  } else {
    if (message) { 
      // message defined via function call
      alert(message);
    } 
    else 
    { 
      if((doppelKlickText != null) || (doppelKlickText != ''))
      {
        alert(doppelKlickText);
      }
      else
      {
        // no message defined, show default message
              alert('Der Vorgang hat bereits begonnen! Bitte warten Sie bis die Anfrage ausgefuehrt wurde!');
      }
    }
      
      return false; // do nothing
  }
}

function cms_goToUrl(URL)
{
  cms_globalDeactivateElement(this);
  self.location.href=URL;
}


/* Funktionen zur Anzeige des Hinweislayers */
function showPopupWnd(wndPosX, wndPosY)
{  
  wndPosX = wndPosX + document.body.scrollTop;
  wndPosY = wndPosY + document.body.scrollLeft;
    
  document.getElementById("popupWnd").style.top      = wndPosX + "px";
  document.getElementById("popupWnd").style.left      = wndPosY + "px";
  document.getElementById("popupWnd").style.visibility  = "visible";
}

function movePopupWnd(wndPosX, wndPosY)
{
  document.getElementById("popupWnd").style.top      = wndPosX + "px";
  document.getElementById("popupWnd").style.left      = wndPosY + "px";
}

function hidePopupWnd()
{
  document.getElementById("popupWnd").style.visibility  = "hidden";
}
   
      
function cms_showLayer()
{
  if(!deactivateLayer)
  {
    
    if(typeof(LayerPosX)!='undefined' && typeof(LayerPosY)!='undefined' && LayerPosX != null && LayerPosY!=null)
    {
      showPopupWnd(parseInt(LayerPosX), parseInt(LayerPosY));
    }
    else
    {
      showPopupWnd(230, 200);
    }
  }
  deactivateLayer = false;
}

