// Menu
// (c) Diogenes Software Design
//     http://www.diogenes-software.de
//     Thomas Kowarsch
//
// date 	 : 21.08.2000
// modification  : 21.12.2000 (Thomas Kowarsch) Update for Netscape 6.0

var Geschwindigkeit = 20; // 1 = langsam, 20 = schnell
var width = 0;
var height = 0;
var activ = 0;
var layerRight = new Array();
var layerBottom = new Array();
var layer;
var lastScrollY=0;
var diffY=0;
var oldoffset=0;

IE = (document.all) ? 1: 0;
NS4 = (document.layers) ? 1: 0;
NS5 = (document.getElementById) ? 1: 0;

function MoveLayer(MoveLayer) {        
    if(IE) MoveLayer.style.pixelTop += percent;
    if(NS4) MoveLayer.top += percent; 
    
    // first move to Bottom of the Page
    if (NS4) { if (MoveLayer.top < 0) MoveLayer.top = window.innerHeight-82; MoveLayer.left = 4; }
    if (IE) { 
      if (oldoffset != document.body.offsetHeight) {
	MoveLayer.style.pixelTop = document.body.offsetHeight-82; 
	oldoffset = document.body.offsetHeight;
	MoveLayer.style.pixelLeft = -40;
      }
    }
}

function heartBeat() {
  if(IE) { diffY = document.body.scrollTop;  }
  if(NS4) { diffY = self.pageYOffset; }
  if ((IE || NS4) && (diffY != lastScrollY)) {
        percent = .1 * (diffY - lastScrollY);
        if(percent > 0) percent = Math.ceil(percent);
        else percent = Math.floor(percent);
	if (IE) {
	  oldoffset = document.body.offsetHeight;
	  for(i=0;i<14;i++) {
	  	GetLayer(i);
	  	MoveLayer(layer);
	  }
	}
        lastScrollY = lastScrollY + percent;
  }
}
        
// Only for IE
function GetLayer(page) {
  if (IE)
  switch(page) {
	case 0: layer = document.all.Page0; break;
	case 1: layer = document.all.Page1; break;
	case 2: layer = document.all.Page2; break;
	case 3: layer = document.all.Page3; break;
	case 4: layer = document.all.Page4; break;
	case 5: layer = document.all.Page5; break;
	case 6: layer = document.all.Page6; break;
	
	case 7: layer = document.all.left0; break;
	case 8: layer = document.all.left1; break;
	case 9: layer = document.all.left2; break;
	case 10: layer = document.all.left3; break;
	case 11: layer = document.all.left4; break;
	case 12: layer = document.all.left5; break;
	case 13: layer = document.all.left6; break;
  }
  else if (NS5)
    layer = document.getElementById( ((page<7) ? ("Page"+page) : ("left"+(page-7))) );
}	

function ResetAll() {
  if (IE || NS5) {
	for(i=0; i<7; i++) {
	  GetLayer(i);
	  layer.style.clip="rect(0 0 2 0)";
	  if (NS5) layer.style.height = 0;
	  GetLayer(i+7);	
	  layer.style.backgroundColor = "#DED6EF";
	}
  } else if (NS4) {
	for(i=0; i<7; i++) {
	  document.layers[i].clip.bottom = 5;
	  document.layers[i].clip.right  = 0;
	  document.layers[i+7].clip.right  = 119;
	  document.layers[i+7].document.bgColor = "#DED6EF"
	}
  }
}

function OnLoad() {
  for(i=0;i<7;i++) {
	if (IE || NS5) {
		GetLayer(i);
        	layerRight[i] = Number(layer.style.width.split("px")[0]);
        	if (IE) layerBottom[i] = Number(layer.style.height.split("px")[0])+Number(layer.style.top.split("px")[0]);
        	if (NS5) layerBottom[i] = Number(layer.style.height.split("px")[0])-1;
        	layer.style.top = Number(layer.style.top.split("px")[0])+3;
        	GetLayer(i+7);
        	if (IE) {
        		layer.style.left = 11;
        		layer.style.width = 121;
        	}
        	if (NS5) {
        		layer.style.width = 117;
        	}
  	} else if (NS4)
  	{	
		layerBottom[i] = document.layers[i].clip.bottom-4;
		layerRight[i] = document.layers[i].clip.right-4;
		document.layers[i].clip.top = document.layers[i].clip.top+3;
    	} 
  }
  ResetAll();
  window.setInterval("heartBeat()",1);
}

// Scroll horicontal
function ShowHoricontal(page) {
  height += Geschwindigkeit;
  if (height<layerBottom[page]) {
     if (IE || NS5) {
     	GetLayer(page);
     	layer.style.clip="rect(0 "+ width+ " "+height+" 0)";
     	if (NS5) layer.style.height = height;
     } else document.layers[page].clip.bottom = height;
     window.setTimeout("ShowHoricontal("+page+")",0);
  }
  else {
     height = layerBottom[page];
     if (IE || NS5) {
     	GetLayer(page);
     	layer.style.clip="rect(0 "+ width+ " "+height+" 0)";
     	if (NS5) layer.style.height = height;
     } else document.layers[page].clip.bottom = height;
     activ = 0;
  }
}

// Scroll vertical
function ShowVertical(page) {
  width+=Geschwindigkeit;
  if (width<layerRight[page]) {
     if (IE || NS5) {
     	GetLayer(page);
     	layer.style.clip="rect(0 "+ width+ " 2 0)";
     } else document.layers[page].clip.right = width;
     window.setTimeout("ShowVertical("+page+")",0);
  }
  else {
     width = layerRight[page];
     if (IE || NS5) {
        GetLayer(page);       
        layer.style.clip="rect(0 "+ width+ " 2 0)";
     } else document.layers[page].clip.right = width;
     ShowHoricontal(page);
  }
}

// start
var active_page = -1;
function Start(page) {
  if (!activ) {
    activ = 1;
    ResetAll();
    if (active_page == page) {
    	active_page = -1;
    	activ = 0;
    	return;
    } else active_page = page;
    if (IE || NS5) {  
    	GetLayer(page+7);
	layer.style.backgroundColor = "#8C84AD";
	GetLayer(page);
     	layer.style.left = 135;
     	layer.style.top = Number(layer.style.top.split("px")[0]);
	layer.style.visibility = "visible";
    } else if (NS4) {
    	document.layers[page+7].document.bgColor = "#8C84AD";
    	document.layers[page].visibility = "show";
    }
    width = height = 0;
    ShowVertical(page);
  }
}

function Change(page) {
    if (active_page != page-1) {
    	ResetAll(); 
    	active_page = -1;
    }
}

function OnMouseOver(page) {
    mMouse(page);
    if (page) Change(page);
}
