var returnXPos = "";
var returnYPos = "";
var activeMain = "";
var activeMainPic = 99;
var activeLevel1 ="";
var activeLevel2 ="";
var activeLevel3 ="";
var activeIcon1 ="";
var activeIcon2 ="";
var activeIcon3 ="";
var mainRunning = false;
var mainReturning = false;
//var quality = 6.25;
var quality =12.5;
var refreshRate = 250/quality;
var globalSpeed = 50/quality;
// some known objects
var nc  = !!(document.captureEvents && !document.getElementById);
var ie4 = !!(document.all           && !document.documentElement);
var imgpath = "imgTemplates/jsmenu/";
var opic = "document.images.orangepoint";

// einfache div-layer referenzieren
function dRefS(num) {return (nc? document.layers[num] : (ie4? document.all[num].style : document.getElementById(num).style))}

function e2cl(cl1_val, cl2_val){block(cl1_val);showLayer2('subnav' + cl1_val);displayNavPicMain2(cl2_val);}
function e2ou(ou_val){aendern2(ou_val);}
function e2ov(ov_val){aendern(ov_val);}
function e3cl(cl1_val, cl2_val){blockKl('kl' + cl1_val);displayNavPicMain2(cl2_val);}
function e3ou(ou_val){aendern2kl('kl' + ou_val);}
function e3ov(ov_val){aendernkl('kl' + ov_val );}

// id, zielposition x und y, Geschwindigkeit
function move(id,x,y,speed)
{
 aktX  =  parseInt(dRefS(id).left);
 aktY  =  parseInt(dRefS(id).top);
 distX =  x - aktX;
 distY =  y - aktY;
 dist  =  Math.sqrt(distX*distX + distY*distY);
 if(Math.abs(dist) < speed)
 {
  dRefS(id).left =  x;
  dRefS("button"+id).left =  x;
  //dRefS(id).top  =  y;
  mainRunning = false
  return;
 }
 dRefS(id).left =  aktX + distX / dist * speed;
 // dRefS(id).top  =  aktY + distY / dist * speed;
 dRefS("button"+id).left =  aktX + distX / dist * speed;
 //dRefS("button"+id).top  =  aktY + distY / dist * speed;
 run =setTimeout("move('" + id + "'," + x + "," + y + "," + globalSpeed + ")", refreshRate);
}
function returnMain(id,x,y,speed)
{
 aktX  =  parseInt(dRefS(id).left);
 aktY  =  parseInt(dRefS(id).top);
 distX =  x - aktX;
 distY =  y - aktY;
 dist  =  Math.sqrt(distX*distX + distY*distY);
 if(Math.abs(dist) < speed)
 {
  dRefS(id).left =  x;
  dRefS("button"+id).left =  x;
  //dRefS(id).top  =  y;
  mainReturning = false
  return;
 }
 dRefS(id).left =  aktX + distX / dist * speed;
 //dRefS(id).top  =  aktY + distY / dist * speed;
 dRefS("button"+id).left =  aktX + distX / dist * speed;
 //dRefS("button"+id).top  =  aktY + distY / dist * speed;
 run =setTimeout("returnMain('" + id + "'," + x + "," + y + "," + globalSpeed + ")", refreshRate);
}

function MM_showHideLayers1()
{
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
  {
    if ((obj=MM_findObj(args[i]))!=null)
    {
      v=args[i+2];
      if (obj && obj.style)
      {
        obj=obj.style;
        v=(v=='show')?'visible':(v='hide')?'hidden':v;
      }
      if(obj)obj.visibility=v;
    }
  }
}

function MM_showHideLayers() {
if (document.getElementById)
{
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) {
v=args[i+2]; /* this code should not change into the format
"i<(args.length-1); i+=2)... v=args[i+1]", because the changed script doesn't then work in MS IE 5.0 for Windows */
{
var Cmenu = document.getElementById(args[i]); v=(v=='show')?'visible':(v='hide')?'hidden':v; Cmenu.style.visibility = v;
}
} } else {}
}

function MM_swapImgRestore(){
  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() {
  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) {
  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); return x;
}

function MM_swapImage(){
  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];
  }
}

var hiL=new Image();
hiL.src=ctxpath + imgpath + "point"+color+".gif";
var loL=new Image();
loL.src=ctxpath + imgpath + "blank.gif";
function aendern(nr)
{
imgObj = eval(opic+nr);
imgObj.src=hiL.src;
}
function aendern2(nr)
{
if(activeIcon1==nr) {return;}
imgObj = eval(opic+nr);
imgObj.src=loL.src;
}

var hi=new Image();
hi.src=ctxpath + imgpath + "point_kl"+color+".gif";
var lo=new Image();
lo.src=ctxpath + imgpath + "blank.gif";

function aendernkl(nr)
{
imgObj = eval(opic+nr);
imgObj.src=hi.src;
}
function aendern2kl(nr)
{

if(activeIcon2==nr){return;}
imgObj = eval(opic+nr);
imgObj.src=lo.src;
}

function outline(id)
{
 if(document.getElementById(id).style.display == 'none')
 {
  document.getElementById(id).style.display = 'block';
 }
 else
 {
  document.getElementById(id).style.display = 'none';
 }
}
function clearState()
{
  if(activeIcon1!="")
  {
    imgObj = eval(opic+activeIcon1);
    imgObj.src=loL.src;
  }
  if(activeIcon2!="")
  {
    imgObj = eval(opic+activeIcon2);
    imgObj.src=lo.src;
  }
  if(activeLevel2!="")
  {
    outline(activeLevel2);
    activeLevel2="";
  }
  if(activeLevel1!="")
  {
    MM_showHideLayers(activeLevel1,'','hide');
    activeLevel1="";
  }
  if(activeLevel3!="")
  {
    MM_showHideLayers(activeLevel3,'','hide');
    activeLevel3="";
  }
}

function block(name) {
  if(activeIcon1!=""&& activeIcon1!=name)
  {
    imgObj = eval(opic+activeIcon1);
    imgObj.src=loL.src;
  }
  if(activeIcon2!="")
  {
  imgObj = eval(opic+activeIcon2);
  imgObj.src=lo.src;
  }
  activeIcon2="";
  activeIcon1=name;
}

function blockKl(name)
{
  if(activeIcon2!="" && activeIcon2!=name)
  {
  imgObj = eval(opic+activeIcon2);
  imgObj.src=lo.src;
  }
  activeIcon2=name;
}

function initMove(id, startX, startY, x, y){
  if(activeMain==id)
  {
    clearState();
    return;
  }
  if(mainRunning||mainReturning) {return;}
  if(activeMain !="")
  {
  returnMove(globalSpeed);
  clearState();
  }
  dRefS(id).left =  startX;
  dRefS(id).top  =  startY;
  returnXPos = startX;
  returnYPos = startY;
  mainRunning = true;
  move(id,x,y,globalSpeed);
  activeMain = id;
}
function returnMove(speed)
{
  if(mainReturning){return;}
  mainReturning = true;
  returnMain(activeMain,returnXPos,returnYPos,globalSpeed);
  activeMain = "";
}
function showLayer1(divName1) {
  if(activeLevel1!="")
  {
    MM_showHideLayers(activeLevel1,'','hide');
  }
  MM_showHideLayers(divName1,'','show');
  activeLevel1 = divName1;
}
function showLayer2(divName2){
  if(activeLevel2!="")
  {
    outline(activeLevel2);
  }
  outline(divName2);
  activeLevel2 = divName2;
}
function showLayer3(divName3){
  if(activeLevel3!="")
  {
  MM_showHideLayers(activeLevel3,'','hide');
  }
  MM_showHideLayers(divName3,'','show');
  activeLevel3 = divName3;
}
function loliteMain(nr)
{
  if(activeMainPic == nr){return;}
  imgObj = eval("document.images.navpic_line"+ nr);
  imgObj.src=picSrclLo;
  imgObj = eval("document.images.navpic_ball"+ nr);
  imgObj.src=picSrcbLo;
  document.getElementById("navt" +(nr + 1)).className = "mainnav";
}
function hiliteMain(nr){
  imgObj = eval("document.images.navpic_line"+ nr);
  imgObj.src=picSrclHi;
  imgObj = eval("document.images.navpic_ball"+ nr);
  imgObj.src=picSrcbHi;
  document.getElementById("navt" +(nr + 1)).className = "mainnavhi";
}
function displayNavPicMain(nr){
  navPicMainId = "imgright";
  navPicMainIdAnim = "animationright";
  imgObj = eval("document.images."+navPicMainId);
  imgObj.src=MP[nr]["navPicRight"];
  imgObj = eval("document.images."+navPicMainIdAnim);
  imgObj.src=ctxpath + imgpath + "Linien_HG2_278.gif";
}

function displayNavPicMain2(picSrc)
{
  navPicMainId = "imgright";
  navPicMainIdAnim = "animationright";
  imgObj = eval("document.images."+navPicMainId);
  imgObj.src=picSrc;
  imgObj = eval("document.images."+navPicMainIdAnim);
  imgObj.src=ctxpath + imgpath + "Linien_HG2_278.gif";
}
function doMainMenu(nr)
{
  //activeMain = nr;
  if(activeMainPic!=99 && activeMainPic!="" && activeMainPic!=null)
  {
    loliteMe = activeMainPic;
    activeMainPic=99;
    loliteMain(loliteMe);
  }
  if(activeMainPic == 0)
  {
    activeMainPic=99;
    loliteMain(0);
  }
  activeMainPic = nr;
  hiliteMain(nr);
  displayNavPicMain(nr);
  initMove(MP[nr]["navName"],MP[nr]["startX"], MP[nr]["startY"],MP[nr]["x"],MP[nr]["y"]);
  activeIcon2="";
  activeIcon1="";
  showLayer1(MP[nr]["subNavName"]);
}

function jumper()
{
  if(jumpL1 != null && jumpL1!="")
  {
    doMainMenu(jumpL1-1);
    if(jumpL2 && jumpL2 != null && jumpL2!="")
    {
      aendern(''+jumpL1+jumpL2);
      block(''+jumpL1+jumpL2);
      showLayer2('subnav'+jumpL1+jumpL2);
      if(jumpL3 && jumpL3 != null && jumpL3!="")
      {
        aendernkl('kl'+jumpL1+jumpL2+jumpL3);
        blockKl('kl'+jumpL1+jumpL2+jumpL3);
      }
    }
  }
}