


// *********************************************************
// * You may use this code for free on any web page provided that 
// * these comment lines and the following credit remain in the code.
// * Floating Div from http://www.javascript-fx.com
// ********************************************************
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function JSFX_FloatDiv(id, sx, sy) {
	var el=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];
	var px = document.layers ? "" : "px";
	window[id + "_obj"] = el;
	if(document.layers)el.style=el;
	el.cx = el.sx = sx;el.cy = el.sy = sy;
	el.sP=function(x,y) {
    this.style.left=x+px;this.style.top=y+px; 
  }
	el.floatIt=function() {
		var pX, pY;
		pX = (this.sx >= 0) ? 0 : ns ? innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
		pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
		if(this.sy<0) 
		pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
		this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
		this.sP(this.cx, this.cy);
		setTimeout(this.id + "_obj.floatIt()", 40);
	}
	return el;
}

function initMenu() {
  JSFX_FloatDiv("menuContent", 0,50).floatIt();
  setSubnavi();
}

/********************************************************
 * Copyright (C) 2002-2003, CodeHouse.com. All rights reserved.
 * CodeHouse(TM) is a registered trademark.
 *
 * THIS SOURCE CODE MAY BE USED FREELY PROVIDED THAT
 * IT IS NOT MODIFIED OR DISTRIBUTED, AND IT IS USED
 * ON A PUBLICLY ACCESSIBLE INTERNET WEB SITE.
 * 
 * CodeHouse.com JavaScript Library Module: Load XML Document Method
 *
 * You can obtain this script at http://www.codehouse.com
 ********************************************************/
function CJL_loadXmlDocument(xmlFile, cbFun)
{
   var xdoc;

   if( window.ActiveXObject && /Win/.test(navigator.userAgent) )
   {
      xdoc = new ActiveXObject("Microsoft.XMLDOM");

      xdoc.async = false;
      xdoc.load(xmlFile);

      cbFun(xdoc);

      return true;
   }
   else if( document.implementation && document.implementation.createDocument )
   {
      xdoc = document.implementation.createDocument("", "", null);
      xdoc.load(xmlFile);

      xdoc.onload = function()
      {
         cbFun(xdoc);
      }

      return true;
   }
   else
   {
      return false;
   }
}

var LanguagePos    = 649;
var isHigh         = 0;

for(i=0; i<navigationImages.length; i++) {
  if (rubricFolder == navigationImages[i][0]) {
    isHigh = i;
  }
}

var newPos         = 0;
var moverPos       = 0;
var movePos        = navigationImages[isHigh][2];

var newWidth         = 0;
var moverWidth       = 0;
var moveWidth        = navigationImages[isHigh][3];

// Anzeige der Mausposition
function zeige(e) {
	if(window.Event) {
		paging	= e.pageX
	}
	else {
		paging	= event.clientX
	}

  newPos = paging;
  moveImages();
}


function initPosition(Pos, Width) {
  newPos = Pos;
  newWidth = Width;
  moveImages();
}

delayTime = "undefined";
function moveImages() {
  if (delayTime != "undefined") {
    clearTimeout(delayTime);
  }
  delayTime      = setTimeout("moveImages()",50);
  moverPos       = Math.round(movePos+=((newPos)-movePos)*2/20);
  moverWidth     = Math.round(moveWidth+=((newWidth)-moveWidth)*2/20);

  document.getElementById("highlighter").style.left = moverPos;
  document.getElementById("highlighter").style.width = moverWidth;
  
  if (newPos == moverPos) {
    clearTimeout(delayTime);
	delayTime != "undefined";
  }
}

function setToDefault() {
  newPos = navigationImages[isHigh][2];
  newWidth = navigationImages[isHigh][3];
  moveImages();
}

function goToLanguage() {
  if (languageFolder == "home_de") {
   thisURL = thisURL.replace(/\/index.html/, "/index_en.html");
  }
  else if (languageFolder == "home_en") {
   thisURL = thisURL.replace(/\/index_en.html/, "/index.html");
  }
  else if (languageFolder == "de") {
   thisURL = thisURL.replace(/\/de\//, "/en/");
  }
  else if (languageFolder == "en") {
    thisURL = thisURL.replace(/\/en\//, "/de/");
  }
  self.location.href = thisURL
}

var naviContent  = '';
var betweenImage = 0;
    naviContent += '  <div id="mainnavigation">';
    naviContent += '    <ul>';
	  for(i=0; i<navigationImages.length; i++) {
      naviContent += '      <li><a href="'+navigationImages[i][4]+'" onmouseover="initPosition('+navigationImages[i][2]+','+navigationImages[i][3]+');" onmouseout="setToDefault();"><img src="'+navigationImages[i][1]+'"></a></li>'; 
      betweenImage = betweenImage + navigationImages[i][3]      
    }
    
	  for(i=0; i<navigationLanguage.length; i++) {
      betweenImage = LanguagePos - betweenImage;
      naviContent += '      <li><img src="'+backToRoot+'_common/img/default/trans.gif" width="'+betweenImage+'" height="1"></li>'; 
      naviContent += '      <li><a href="javascript:goToLanguage();" onmouseover="initPosition(LanguagePos,'+navigationLanguage[i][1]+');" onmouseout="setToDefault();"><img src="'+navigationLanguage[i][0]+'"></a></li>'; 
    }

    naviContent += '    </ul>';
    naviContent += '  </div>';
    naviContent += '  <div id="navigationline">';
    naviContent += '    <div id="highlighter" style="position: relative; width:'+moveWidth+'px; height: 5px; left:'+movePos+'px; background-color:#ffff33;"></div>';
    naviContent += '  </div>';

 
//  function writeSubnavigation() { 
    var thisIsHigh = -1;
    var subnavi  = '';
    if (subnavigation[rubricFolder] != undefined) {
    subnavi  += '<ul>';
    for(i=0;i<subnavigation[rubricFolder].length;i++) {
      for(j=0;j<subnavigation[rubricFolder][i].length;j++) {

        var highlightClass  = '';
		var thisJS = 'toggleMenu('+i+');'
        if ((thisURL.indexOf(subnavigation[rubricFolder][i][j][1]) != -1)){
          highlightClass  = ' high';
		  thisJS = 'toggleMenu('+i+');'
        }
        if(j == 0) {
          if (subnavigation[rubricFolder][i].length ==1) {
            subnavi += '<li><a href="' + backToLangRoot + subnavigation[rubricFolder][i][0][1] + '" class="arrow'+highlightClass+'"><img src="'+backToRoot+'_common/img/default/trans.gif">' + subnavigation[rubricFolder][i][0][0] + '</a></li>';
          }
          else {
            subnavi += '<li><a href="javascript:'+thisJS+'" class="arrow'+highlightClass+'"><img src="'+backToRoot+'_common/img/default/trans.gif">' + subnavigation[rubricFolder][i][0][0] + '</a></li>';
          }
        }
        else {
            var highlightSubClass  = '';
            var thisDisplay  = 'none;';
            if ((thisURL.indexOf(subnavigation[rubricFolder][i][j][1]) != -1)){
              highlightSubClass  = 'high';
              thisDisplay  = 'block;';
              thisIsHigh = i;
            }
            if (j == 1) {
              subnavi += '<li><ul id="sec'+i+'" style="display:'+thisDisplay+' padding-left:15px;">';
            }
            subnavi += '<li><a href="' + backToLangRoot + subnavigation[rubricFolder][i][j][1] + '" class="'+highlightSubClass+'">-&nbsp;<img src="'+backToRoot+'_common/img/default/trans.gif">' + subnavigation[rubricFolder][i][j][0] + '</a></li>';
            if(j == subnavigation[rubricFolder][i].length-1) {
              subnavi += '</ul></li>';
            }
         // }  
        }
      }
    }
    subnavi += '</ul>';
  }
//    return table;
//  }

function setSubnavi() {
  if (rubricFolder == "portfolio") {
    for(i=0;i<subnavigation[rubricFolder].length;i++) {
      for(j=0;j<subnavigation[rubricFolder][i].length;j++) {
        if ((thisURL.indexOf(subnavigation[rubricFolder][i][j][1]) != -1)){
          document.getElementById('sec'+i).style.display = "block";
          document.getElementById('sec'+i).style.display = "block";
        }
      }
	}
  }  
}

function highlightImage(state, id, src) {
  if (id) {
    if (state == 'hi') {
      document.getElementById(id).src = src.replace(/_lo.gif/,"_hi.gif")
    }
    else if (state == 'lo') {
      document.getElementById(id).src = src.replace(/_hi.gif/,"_lo.gif")
    }
  }
}


function toggleMenu(numb) {
  for(i=0;i<subnavigation[rubricFolder].length;i++) {
    if (document.getElementById('sec'+i)) {
	 if (i != numb) {
        document.getElementById('sec'+i).style.display = "none";
	  }
	}
  }
  if (document.getElementById('sec'+numb).style.display == "none") {
    document.getElementById('sec'+numb).style.display = "block";
  }
  else {
    document.getElementById('sec'+numb).style.display = "none";
	if ((thisIsHigh != -1) && document.getElementById('sec'+thisIsHigh)) {
      document.getElementById('sec'+thisIsHigh).style.display = "block";
	}
  }
}