ns4 = (document.layers)? true:false
ie4 = (document.all) && !(document.getElementById)? true:false
ie5 = (document.getElementById) && (document.all)? true:false
ns6 = (document.getElementById) && !(document.all)? true:false
if (screen) {var scenaW=screen.width; var scenaH=screen.height;} else {var scenaW=800; var scenaH=600;}
korekcjaRozdz=parseInt((scenaW+15)/100)
if(korekcjaRozdz<10){korekcjaRozdz=8;}
else if(korekcjaRozdz<12){korekcjaRozdz=10;}
else if(korekcjaRozdz<14){korekcjaRozdz=12;}
else if(korekcjaRozdz<16){korekcjaRozdz=14;}
else {korekcjaRozdz=16;}
var korekcjaRozdz2=korekcjaRozdz+korekcjaRozdz
var korekcjaRozdz05=parseInt(korekcjaRozdz/2)
var ekranX=0 //pozycja X lewego górnego rogu widocznej części ekranu
var ekranY=0 //pozycja Y lewego górnego rogu widocznej części ekranu
var mouseX=0 //aktualna pozycja X myszy
var mouseY=0 //aktualna pozycja Y myszy
MENU = new Array()
ITEM = new Array()
var activeDragDiv=false
var isOverMenu=-2
var isOverItem=-2
var wasOverMenu=-2
var wasOverItem=-2
var mouseIsOver=false
var timer=0
self.moveTo(0,0)
self.resizeTo(screen.availWidth,screen.availHeight)

function newMenu(nameMenu,nameItems) {
 var nrMenu=MENU.length;
 MENU[nrMenu]=nameMenu;
 if(newMenu.arguments.length>1) {ITEM[nrMenu]=nameItems;} else {ITEM[nrMenu]=nameMenu;}
}

function defineObject(idDiv) {
   if(ie5||ns6){eval("ob=document.getElementById('"+idDiv+"')");}
   else if(ie4) {eval("ob=document.all['"+idDiv+"']");}
   else if(ns4) {eval("ob=document.layers['"+idDiv+"'].document");}
return ob
}

function defineObjectStyle(idDiv) {
   if(ie5||ns6){eval("obj=document.getElementById('"+idDiv+"').style");}
   else if(ie4) {eval("obj=document.all['"+idDiv+"'].style");}
   else if(ns4) {eval("obj=document.layers['"+idDiv+"']");}
return obj
}

function createObjects() {
 var ob, obj, idDiv;
 for (var i=0; i<MENU.length; i++) {
   idDiv=MENU[i]+'Div';
   ob=defineObject(idDiv);
   obj=defineObjectStyle(idDiv);
   eval(MENU[i]+"=obj");
   MENU[i]=obj;
   MENU[i].layer=ob;
   MENU[i].init=initObject;
   MENU[i].init(idDiv);
   MENU[i].zIndex=20+i;
   MENU[i].nrMenu=i;
   MENU[i].namesItems=ITEM[i]
//   MENU[i].writeItem()
//   MENU[i].setStyl(MENU[i].type)
 }
}

function initObject(idDiv) {
 this.id=idDiv
 this.name=''
 this.title=''
 this.X=0 //aktualna wspórzędna X warstwy
 this.Y=0 //aktualna wspórzędna Y warstwy
 this.dX=0 //przesunięcie X menu względem swojego rodzica
 this.dY=0 //przesunięcie Y menu względem swojego rodzica
 this.pozX=-2000 //wspórzędna X warstwy bez scrollu gdy ma być widoczna
 this.pozY=0 //wspórzędna Y warstwy bez scrollu gdy ma być widoczna
 this.zIndex=20 //wspórzędna Z warstwy
 this.W=100 //szeroko¶ć warstwy
 this.H=50 //wysoko¶ć warstwy
 this.type=0 // typ menu
 this.visible=true //widoczno¶ć warstwy
 this.pointScrollMenuY=0 //wspórzędna Y sceny od której menu jest jednocześnie z nią skrollowane
 this.dragOffsetX=0
 this.dragOffsetY=0
 this.activeDrag=false
 this.canDrag=true //czy można przeciągać menu
 this.isFly=true //czy jest to pływające menu
 this.onOverTopParentShowChild=0 // gdy mysza jest nad najwyższym Menu 0-nie rozwijać menu podrzędnego, 1-rozwijać menu podrzędne
 this.rodzic=false
 this.nrMenuRodzica=false
 this.nrItemRodzica=false
 this.tab=''
 this.tabStyle=''
 this.td=new Array
// this.isItem=true //info czy s± buttony (pozycje w podmenu)
 this.item=new Array
 this.butt=new Array
 this.buttStyle=new Array
 this.sp=new Array
 this.spStyle=new Array
 this.mov=movObject
 this.move=moveObject
 this.resiz=resizObject
 this.resize=resizeObject
 this.write=writeToLayer
// this.addItem=addItemMenu
// this.initItem=initItemMenu
 this.hide=hideMenu
 this.show=showMenu
 this.setStyl=setStylMenu
 this.writeItem=writeItemMenu
 this.addChildrens=addChildrensItem
 this.addLinks=addLinksToItem
 this.addAllDown=addAllDownItem
}

function moveObject(pX,pY){
 this.X=pX
 this.Y=pY
 this.mov()
}
function movObject(){
 this.left=this.X
 this.top=this.Y
}
function resizObject(){
 this.width=this.W
 this.height=this.H
}
function resizeObject(pW,pH){
 this.W=pW
 this.H=pH
 this.resiz()
}
function writeToLayer(tekst){
// tekst=tekst.replace(/'/g,"\\\'")
 this.layer.innerHTML=tekst
}

function initItemMenu(idItem) {
 this.id=idItem
 this.dziecko=false //obiekt klasy menu podrzędny do tej poz. menu
 this.active=false //ustawienie pozycji jako nieaktywna (brak reakcji na myszę)
 this.href=''
 this.onMouseOver=''
 this.onMouseOut=''
 this.onMouseDown=''
 this.onMouseUp=''
 this.addAction=addActionItem
 this.dopiszDziecko=dopiszDzieckoDoItem
}

function addActionItem(hrefItem,onMouseOverItem,onMouseOutItem,onMouseDownItem,onMouseUpItem){
 if(hrefItem) this.href=hrefItem
 if(onMouseOverItem) this.onMouseOver=onMouseOverItem
 if(onMouseOutItem) this.onMouseOut=onMouseOutItem
 if(onMouseDownItem) this.onMouseDown=onMouseDownItem
 if(onMouseUpItem) this.onMouseUp=onMouseUpItem
 this.active=true
}

function writeItemMenu(){
 var txt=''
 if(this.namesItems.length==0)return
 var nameItem=this.namesItems.split("|");
 var ID=this.id+'tab'
 if(this.type<0){
   txt += "<table border=0 cellspacing=0 cellpadding=0  id=\""+ID+"\">"
   txt += "<tr>"
   var IDbutt=this.id+'butt0'
   var IDsp=this.id+'sp0'
   for (var i=0; i<nameItem.length; i++) {
      IDbutt=this.id+'butt'+i
      IDsp=this.id+'sp'+i
      ID=this.id+i
      txt += "<td id=\""+IDsp+"\"></td>"
      txt += "<td id=\""+IDbutt+"\">"
      txt += "<table border=0 cellspacing=0 cellpadding=0><tr>"
      txt += "<td id=\""+ID+"\">"+nameItem[i]+"</td>"
      txt += "</tr></table>"
      txt += "</td>"
   }
   IDsp=this.id+'sp'+i
   txt += "<td id=\""+IDsp+"\"></td>"
   txt += "</tr></table>"
   this.write(txt)
   ID=this.id+'tab'
   this.tab=defineObject(ID);
   this.tabStyle=defineObjectStyle(ID);
   for (var i=0; i<nameItem.length; i++) {
      IDbutt=this.id+'butt'+i
   this.butt[i]=defineObject(IDbutt);
   this.buttStyle[i]=defineObjectStyle(IDbutt);
      IDsp=this.id+'sp'+i;
      this.sp[i]=defineObject(IDsp); 
      this.spStyle[i]=defineObjectStyle(IDsp);
      ID=this.id+i
      this.item[i]=defineObjectStyle(ID);
      this.td[i]=defineObject(ID);
      this.item[i].ini=initItemMenu;
      this.item[i].ini(ID);
      this.item[i].nrMenu=this.nrMenu;
      this.item[i].nrItem=i;
   }
   IDsp=this.id+'sp'+i
   this.sp[i]=defineObject(IDsp); 
   this.spStyle[i]=defineObjectStyle(IDsp)
 }
 else {
   txt += "<table border=0 cellspacing=0 cellpadding=0 id=\""+ID+"\">"
   for (var i=0; i<nameItem.length; i++) {
      ID=this.id+i
//      txt += "<tr><td id=\""+ID+"\">"+nameItem[i]+"</td></tr>"
      txt += "<tr><td id=\""+ID+"\">";
      if(this.type>0) txt += nameItem[i];
      txt += "</td></tr>";
   }
   txt += "</table>"
   this.write(txt)
   ID=this.id+'tab'
   this.tab=defineObject(ID);
   this.tabStyle=defineObjectStyle(ID);
   for (var i=0; i<nameItem.length; i++) {
      ID=this.id+i
      this.item[i]=defineObjectStyle(ID);
      this.td[i]=defineObject(ID);
      this.item[i].ini=initItemMenu;
      this.item[i].ini(ID);
      this.item[i].nrMenu=this.nrMenu;
      this.item[i].nrItem=i;
   }
 }
}

function isOver() {
 var warunekXmin, warunekXmax, warunekYmin, warunekYmax;
 for (var j=MENU.length-1; j>=0; j--) {
   if(mouseX>=MENU[j].layer.offsetLeft && mouseX<=MENU[j].layer.offsetLeft+MENU[j].layer.offsetWidth && mouseY>=MENU[j].layer.offsetTop && mouseY<=MENU[j].layer.offsetTop+MENU[j].layer.offsetHeight) break;
 }
 isOverMenu=j;
 if(j<0) {isOverItem=-1; return false;}
 if(MENU[j].type>0) {
   warunekXmin=MENU[j].layer.offsetLeft+MENU[j].tab.offsetLeft+MENU[j].td[0].offsetLeft;
   if (mouseX>=warunekXmin && mouseX<=warunekXmin+MENU[j].td[0].offsetWidth) {
      if(MENU[j].item.length>0) {
         for (var k=0; k<MENU[j].item.length; k++) {
              warunekYmin=MENU[j].layer.offsetTop+MENU[j].tab.offsetTop+MENU[j].td[k].offsetTop;
              warunekYmax=warunekYmin+MENU[j].td[k].offsetHeight
              if (mouseY>=warunekYmin && mouseY<=warunekYmax) {
                  isOverItem = k;
                  return true;
              }
         }
      }
   }
 }
 if(MENU[j].type<0) {
   var padding=parseInt((MENU[j].butt[0].offsetHeight-MENU[j].td[0].offsetHeight)/2)
   warunekYmin=MENU[j].layer.offsetTop+padding;
   if (mouseY>=warunekYmin && mouseY<=warunekYmin+MENU[j].td[0].offsetHeight) {
      if(MENU[j].item.length>0) {
         for (var k=0; k<MENU[j].item.length; k++) {
              warunekXmin=MENU[j].layer.offsetLeft+MENU[j].tab.offsetLeft+MENU[j].butt[k].offsetLeft+padding;
              warunekXmax=warunekXmin+MENU[j].td[k].offsetWidth
              if (mouseX>=warunekXmin && mouseX<=warunekXmax) {
                  isOverItem = k;
                  return true;
              }
         }
      }
   }
 }

 isOverItem = -1;
 return true;
}

function mouseMove(e) {
  mouseX = (ns4||ns6)? e.pageX : event.x+document.body.scrollLeft
  mouseY = (ns4||ns6)? e.pageY : event.y+document.body.scrollTop
  if (isOverMenu>=0 && MENU[isOverMenu].activeDrag) {
      MENU[isOverMenu].pozX = mouseX-MENU[isOverMenu].dragOffsetX;
      if(ekranY >= MENU[isOverMenu].pointScrollMenuY) {
         MENU[isOverMenu].pozY = mouseY-ekranY-MENU[isOverMenu].dragOffsetY+MENU[isOverMenu].pointScrollMenuY;
      } else {
         MENU[isOverMenu].pozY = mouseY-MENU[isOverMenu].dragOffsetY;
      }
      MENU[isOverMenu].move(mouseX-MENU[isOverMenu].dragOffsetX,mouseY-MENU[isOverMenu].dragOffsetY);
      return false;
  }
  mouseIsOver=isOver();
  if (!mouseIsOver && wasOverMenu>=0 && wasOverItem>=0){actionMouseIsOut();}//gasimy
  else if (mouseIsOver && (isOverMenu != wasOverMenu || isOverItem != wasOverItem)) {
     if (wasOverMenu>=0 && wasOverItem>=0){actionMouseIsOut();}//gasimy
     if (isOverMenu>=0 && isOverItem>=0) {actionMouseIsOver();}//zapalamy
  }
  return false;
}

function mouseDown(e) {
 if( ((ns4 || ns6) && e.which==1) || ((ie4 || ie5) && event.button==1) ) {
   if(isOverMenu>=0 && isOverItem>=0) {
//      if(MENU[isOverMenu].item[isOverItem].href) {self.parent.location.href=MENU[isOverMenu].item[isOverItem].href;}
      if(MENU[isOverMenu].item[isOverItem].href) {loadSource(MENU[isOverMenu].item[isOverItem].href);}
      else if(MENU[isOverMenu].item[isOverItem].onMouseDown) {eval(MENU[isOverMenu].item[isOverItem].onMouseDown+';');}
      else if(MENU[isOverMenu].rodzic==false && MENU[isOverMenu].onOverTopParentShowChild==0 && isOverItem>=0 &&  MENU[isOverMenu].item[isOverItem].dziecko != false) {MENU[isOverMenu].onOverTopParentShowChild=-1;}
   }
   if(isOverMenu>=0 && MENU[isOverMenu].canDrag) {
      mouseX = (ns4||ns6)? e.pageX : event.x+document.body.scrollLeft
      mouseY = (ns4||ns6)? e.pageY : event.y+document.body.scrollTop
      activeDragDiv=true;
      MENU[isOverMenu].activeDrag=true;
      MENU[isOverMenu].dragOffsetX = mouseX-MENU[isOverMenu].X;
      MENU[isOverMenu].dragOffsetY = mouseY-MENU[isOverMenu].Y;
      return false;
   }
 }
 return true
}

function mouseUp(e) {
  if(isOverMenu>=0 && isOverItem>=0) {
    if(MENU[isOverMenu].item[isOverItem].onMouseUp) {eval(MENU[isOverMenu].item[isOverItem].onMouseUp+';');}
  }
  if(isOverMenu>=0 && MENU[isOverMenu].activeDrag) {
    activeDragDiv=false
    MENU[isOverMenu].activeDrag=false;
    MENU[isOverMenu].dragOffsetX = 0;
    MENU[isOverMenu].dragOffsetY = 0;
  }
  return true
}

function actionMouseIsOver() {
//  if(!MENU[isOverMenu].item[isOverItem].active) return
  wasOverMenu=isOverMenu;
  wasOverItem=isOverItem;
  MENU[isOverMenu].item[isOverItem].backgroundColor=MENU[isOverMenu].item[isOverItem].bgOver;
  MENU[isOverMenu].item[isOverItem].color=MENU[isOverMenu].item[isOverItem].colorOver;
  MENU[isOverMenu].item[isOverItem].border=MENU[isOverMenu].item[isOverItem].borderOver;
  if(MENU[isOverMenu].item[isOverItem].borderTopOver) {
    MENU[isOverMenu].item[isOverItem].borderTop=MENU[isOverMenu].item[isOverItem].borderTopOver;
    MENU[isOverMenu].item[isOverItem].borderLeft=MENU[isOverMenu].item[isOverItem].borderLeftOver;
    MENU[isOverMenu].item[isOverItem].borderRight=MENU[isOverMenu].item[isOverItem].borderRightOver;
    MENU[isOverMenu].item[isOverItem].borderBottom=MENU[isOverMenu].item[isOverItem].borderBottomOver;
  }
  if(MENU[isOverMenu].item[isOverItem].onMouseOver) {eval(MENU[isOverMenu].item[isOverItem].onMouseOver+';');}
}

function actionMouseIsOut() {
  MENU[wasOverMenu].item[wasOverItem].backgroundColor=MENU[wasOverMenu].item[wasOverItem].bgOut;
  MENU[wasOverMenu].item[wasOverItem].color=MENU[wasOverMenu].item[wasOverItem].colorOut;
  MENU[wasOverMenu].item[wasOverItem].border=MENU[wasOverMenu].item[wasOverItem].borderOut;
  if(MENU[wasOverMenu].item[wasOverItem].borderTopOut) {
    MENU[wasOverMenu].item[wasOverItem].borderTop=MENU[wasOverMenu].item[wasOverItem].borderTopOut;
    MENU[wasOverMenu].item[wasOverItem].borderLeft=MENU[wasOverMenu].item[wasOverItem].borderLeftOut;
    MENU[wasOverMenu].item[wasOverItem].borderRight=MENU[wasOverMenu].item[wasOverItem].borderRightOut;
    MENU[wasOverMenu].item[wasOverItem].borderBottom=MENU[wasOverMenu].item[wasOverItem].borderBottomOut;
  }
  if(MENU[wasOverMenu].item[wasOverItem].onMouseOut) {eval(MENU[wasOverMenu].item[wasOverItem].onMouseOut+';');}
  wasOverMenu=-1;
  wasOverItem=-1;
}

function dopiszDzieckoDoItem(obiektDziecko) {
 this.dziecko=obiektDziecko;
 obiektDziecko.rodzic=MENU[this.nrMenu];
 obiektDziecko.nrMenuRodzica=this.nrMenu;
 obiektDziecko.nrItemRodzica=this.nrItem;
 if(obiektDziecko.rodzic.type>=0) {
    obiektDziecko.dX=obiektDziecko.rodzic.layer.offsetWidth-korekcjaRozdz;
    obiektDziecko.dY=MENU[this.nrMenu].td[this.nrItem].offsetTop+korekcjaRozdz05;
 } else {
    obiektDziecko.dX=MENU[this.nrMenu].butt[this.nrItem].offsetLeft;
    obiektDziecko.dY=MENU[this.nrMenu].butt[this.nrItem].offsetTop+MENU[this.nrMenu].butt[this.nrItem].offsetHeight-parseInt(MENU[this.nrMenu].buttStyle[this.nrItem].padding)-1;
 }
}

function addChildrensItem(namesChildrens) {
  var nameChild=namesChildrens.split("|")
  if(nameChild.length==0)return
  for (var i=0; i<nameChild.length; i++) {
     if(i>=this.item.length) return
     if(nameChild[i]) eval('this.item['+i+'].dopiszDziecko('+nameChild[i]+')')
  }
}

function addLinksToItem(namesLinks) {
  var nameLink=namesLinks.split("|")
  if(nameLink.length==0)return
  for (var i=0; i<nameLink.length; i++) {
     if(i>=this.item.length) return
     if(nameLink[i]) eval('this.item['+i+'].addAction("'+nameLink[i]+'")')
  }
}

function addAllDownItem(namesAll) {
  var nameDown=namesAll.split("|")
  if(nameDown.length==0)return
  for (var i=0; i<nameDown.length; i++) {
     if(i>=this.item.length) return
     if(nameDown[i]) eval('this.item['+i+'].addAction("","","","'+nameDown[i]+'","")')
  }
}

function setPositionMenu() {
  if(activeDragDiv) return true;
  ekranX=(document.all)?document.body.scrollLeft:window.pageXOffset
  ekranY=(document.all)?document.body.scrollTop:window.pageYOffset
  for (var m=MENU.length-1; m>=0; m--) {
     if(MENU[m].rodzic==false){MENU[m].visible=true; if(isOverItem<0 && MENU[m].onOverTopParentShowChild<0) MENU[m].onOverTopParentShowChild=0;} else {MENU[m].visible=false;};
  }
  if(isOverItem>=0 && MENU[isOverMenu].item[isOverItem].dziecko != false) {
     if(MENU[isOverMenu].rodzic != false || MENU[isOverMenu].onOverTopParentShowChild != 0) MENU[isOverMenu].item[isOverItem].dziecko.visible=true;
  }
  if(isOverMenu>=0) setVisibleFamily(MENU[isOverMenu])
  for (m=MENU.length-1; m>=0; m--) {
     if(MENU[m].visible==false) {MENU[m].hide();} else {MENU[m].show();};
  }
 return true
}

function setVisibleFamily(object) {
  object.visible=true;
  if(object.rodzic==false) {return;}
  setVisibleFamily(object.rodzic)
}

function hideMenu(){
 this.move(-2000,-2000)
}

function showMenu() {
 if(ekranY <= this.pointScrollMenuY || !this.isFly) {
    if(this.rodzic==false) {this.move(this.pozX,this.pozY);} else {this.move(this.rodzic.X+this.dX,this.rodzic.Y+this.dY);}
 } else {
    if(this.rodzic==false) {this.move(this.pozX,this.pozY+ekranY-this.pointScrollMenuY);} else {this.move(this.rodzic.X+this.dX,this.rodzic.Y+this.dY);}
 }
}

function loadSource(url) {
  if (ns4) {var lyr = document.layers['bufferFrame']; lyr.load(url,lyr.clip.width);}
  else if (ie4||ie5||ns6) {parent.bufferFrame.document.location = url;}
  timer=8;
}
function bufferToMain() {
  timer=0
  if (ie4) document.all['main'].innerHTML = parent.bufferFrame.document.body.innerHTML
  if (ie5||ns6) document.getElementById('main').innerHTML = parent.bufferFrame.document.body.innerHTML
}

