// MakeMenu mmPart2 (08-02-2005)
// by Vic Phillips http://www.vicsJavaScripts.org.uk

// Functional Code

// No Need to Change

var mmAry=new Array();
var mmTNu,mmSNu,mmENu,mmTxtN,mmLastObj,mmMCnt,mmObj,mmMPos,mmSPos,mmTO;
var mmDelay=50;

function mmInitialise(mm){
 mmMenuObj=document.getElementById(mm);
 mmMenuObj.style.zIndex=mmZIndex;
 mmObj=mmMenuObj.getElementsByTagName('DIV');
 mmMCnt=0;
 for (mm0=0;mm0<mmObj.length;mm0++){
  mmObj[mm0].style.position='absolute';
  mmObj[mm0].style.overflow='hidden';
  mmObj[mm0].style.display='block';
  mmObj[mm0].prime='yes';
  mmObj[mm0].onclick=function(){ mmClick(this); }
  mmObj[mm0].onmouseover=function(){ mmMouseOver(this); }
  if (mmObj[mm0].className=='mmMainTopic'){
   mmMCnt++;
   mmObj[mm0].group=mmMCnt;
   mmObj[mm0].nu=0;
   mmObj[mm0].sep=mmMainSeparation;
   mmObj[mm0].bgover=mmMainOverBGColor;
   mmObj[mm0].txtover=mmMainOverTxtColor;
   mmObj[mm0].txtosx=mmMainTxtOffSetX;
   mmObj[mm0].txtosy=mmMainTxtOffSetY;
   mmObj[mm0].sub=new Array();
   mmTNu=mmObj[mm0].sub;
  }
  if (mmObj[mm0].className=='mmSubTopic'){
   mmObj[mm0].group=mmMCnt;
   mmObj[mm0].nu=1;
   mmTNu[mmTNu.length]=mmObj[mm0];
   mmObj[mm0].sep=mmSubSeparation;
   mmObj[mm0].bgover=mmSubOverBGColor;
   mmObj[mm0].txtover=mmSubOverTxtColor;
   mmObj[mm0].txtosx=mmSubTxtOffSetX;
   mmObj[mm0].txtosy=mmSubTxtOffSetY;
   mmObj[mm0].sub=new Array();
   mmSNu=mmObj[mm0].sub;
  }
  if (mmObj[mm0].className=='mmExtTopic'){
   mmObj[mm0].group=mmMCnt;
   mmObj[mm0].nu=2;
   mmSNu[mmSNu.length]=mmObj[mm0];
   mmObj[mm0].sep=mmExtSeparation;
   mmObj[mm0].bgover=mmExtOverBGColor;
   mmObj[mm0].txtover=mmExtOverTxtColor;
   mmObj[mm0].txtosx=mmExtTxtOffSetX;
   mmObj[mm0].txtosy=mmExtTxtOffSetY;
   mmObj[mm0].sub=new Array();
  }
 }
 mmClone=document.createElement('DIV');
 document.getElementsByTagName('BODY')[0].appendChild(mmClone);
 mmClone.style.position='absolute';
 mmClone.style.overflow='hidden';
 mmTopicFormat(mmMenuObj);
 if (mmFormat=='Compact'){
  mmCompactPos();
 }
  mmStartDisplay();
  mmMenuHeight(mmObj[0]);
}

function mmStartDisplay(){
 for (mm1=0;mm1<mmObj.length;mm1++){
  if (mmObj[mm1].nu){
   mmObj[mm1].style.display='none';
  }
 }
 if (mmFormat=='Cascade'){
  mmCascadePos();
 }
}

function mmCascadePos(){
 mmObj[0].style.top=(mmObj[0].sep)+'px';
 for (mm0=1;mm0<mmObj.length;mm0++){
  if (mmObj[mm0].style.display=='block'){
   for (mm1=0;mm1<mm0;mm1++){
    if (mmObj[mm1].style.display=='block'){
     mmObj[mm0].style.top=(mmObj[mm1].offsetTop+mmObj[mm1].offsetHeight+mmObj[mm0].sep)+'px';
    }
   }
  }
 }
 mmMenuHeight(mmObj[0]);
}

function mmClick(mm){
 if (mm.url){
  mmLink(mm);
 }
 mmToggle(mm);
 if (mmLastObj==mm){
  for (mm0=0;mm0<mmObj.length;mm0++){
   for (mm1=0;mm1<mmObj[mm0].sub.length;mm1++){
    if (mmObj[mm0].sub[mm1].style.display=='block'&&mmObj[mm0].sub[mm1].nu>mm.nu){
     mmObj[mm0].sub[mm1].style.display='none';
    }
   }
  }
  mmLastObj=null;
 }
 else {
  mmToggle(mm);
  mmLastObj=mm;
 }
}

function mmToggle(mm){
 mmObj=mmNormalise(mm.parentNode.childNodes);
 for (mm0=0;mm0<mmObj.length;mm0++){
  if (mmObj[mm0].group!=mm.group&&mmObj[mm0].nu){
   mmObj[mm0].style.display='none';
  }
 }
 for (mm0=0;mm0<mmObj.length;mm0++){
  for (mm1=0;mm1<mmObj[mm0].sub.length;mm1++){
   if (mmObj[mm0].sub[mm1].nu>mm.nu&&mmObj[mm0].sub[mm1].group==mm.group&&mmObj[mm0].sub[mm1]!=mm){
    if (mmObj[mm0].sub[mm1].style.display=='block'){
     mmObj[mm0].sub[mm1].style.display='none';
    }
   }
  }
 }
 for (mm0=0;mm0<mm.sub.length;mm0++){
  if (mm.sub[mm0].style.display=='none'){
   mm.sub[mm0].style.display='block';
  }
  else {
   mm.sub[mm0].style.display='none';
  }
 }
 if (mmFormat=='Cascade'){
  setTimeout('mmCascadePos()',mmDelay);
 }
}

function mmNormalise(mm){
 mmAry=new Array();
 for (mm0=0;mm0<mm.length;mm0++){
  if (mm[mm0].prime=='yes'){
   mmAry[mmAry.length]=mm[mm0];
  }
 }
 return mmAry;
}

function mmMenuHeight(mm){
 mmObj=mmNormalise(mm.parentNode.getElementsByTagName('DIV'));
 for (mm0=0;mm0<mmObj.length;mm0++){
  if (mmObj[mm0].style.display=='block'){
   mm.parentNode.style.height=(mmObj[mm0].offsetTop+mmMainSeparation+mmObj[mm0].offsetHeight)+'px';
  }
 }
}

function mmTopicFormat(mm){
 mmObj=mmNormalise(mm.childNodes);
 for (mm0=0;mm0<mmObj.length;mm0++){
  mm=new Array(mmObj[mm0]);
  mmAry=new Array;
  for (mm3=0;mm3<mm[0].childNodes.length;mm3++){
   if (mm3==0){
    if (mm[0].childNodes[mm3].nodeType==3){
     mmTxtN=document.createTextNode(mm[0].childNodes[mm3].data);
    }
    if (mm[0].childNodes[mm3].tagName=='A'){
     mm[0].url=mm[0].childNodes[mm3].href;
     mm[0].target=mm[0].childNodes[mm3].target
     mmTxtN=document.createTextNode(mm[0].childNodes[mm3].firstChild.data);
    }
    mm[mm3+1]=mmClone.cloneNode(false);
    mm[mm3+1].style.zIndex=(4-mm3);
    mm[mm3+1].style.width=mmObj[mm0].offsetWidth+'px';
    mm[mm3+1].style.height=mmObj[mm0].offsetHeight+'px';
    mm[mm3+1].style.textAlign=mmObj[mm0].style.textAlign;
    mm[mm3+1].style.top=mm[0].txtosy+'px';
    mm[mm3+1].style.left=mm[0].txtosx+'px';
    mm[mm3+1].style.color=mm[0].style.color;
    mm[mm3+1].appendChild(mmTxtN);
    mmAry[mmAry.length]=mm[0].childNodes[mm3];
   }
   if (mm[0].childNodes[mm3].tagName=='IMG'){
    mmAry[mmAry.length]=mm[0].childNodes[mm3];
    mm[mm3+1]=mm[0].childNodes[mm3];
    mm[mm3+1].style.position='absolute';
    mm[mm3+1].style.zIndex=(4-mm3);
    mm[mm3+1].style.top='0px';
    mm[mm3+1].style.left='0px';
    mm[mm3+1].height=(mm[0].offsetHeight);
    mm[mm3+1].width=(mm[0].offsetWidth);
   }
  }
  for (mm4=0;mm4<mmAry.length;mm4++){
   mm[0].removeChild( mmAry[mm4]);
  }
  for (mm5=1;mm5<mm.length;mm5++){
   if (mm[mm5]){
    mm[mm5].prime='no';
    mm[0].appendChild(mm[mm5]);
   }
  }
 }
}

function mmMouseOver(mm){
 clearTimeout(mmTO);
 if (mmFormat=='Compact'){
  mmLastObj=mm;
  mmTO=setTimeout('mmToggle(mmLastObj)',mmDelay*2);
 }
 mm.txtcolor=mm.childNodes[0].style.color;
 mm.bgcolor=mm.style.backgroundColor;
 mm.childNodes[0].style.color=mm.txtover;
 mm.style.backgroundColor=mm.bgover;
 if (mm.childNodes[1]){ mm.childNodes[1].style.display='none'; }
 mm.onmouseout=function(){
                mmTO=setTimeout('mmStartDisplay()',mmDelay*5);
                this.style.backgroundColor=this.bgcolor;
                this.childNodes[0].style.color=this.txtcolor;
                if (this.childNodes[1]){ this.childNodes[1].style.display='block'; }
               }
}

function mmLink(mm){
 if (mm.target.toLowerCase().match('_top')||mm.target.toLowerCase().match('_blank')){
  window.top.location=mm.url;
 }
 else if (mm.target.toLowerCase().match('javascript')){
  eval(mm.url);
 }
 else if (eval('parent.'+mm.target)){
  eval('top.'+mm.target+'.location.href=mm.url');
 }
}

function mmCompactPos(){
 mmObj=mmNormalise(mmMenuObj.childNodes);
 for (mm0=0;mm0<mmObj.length;mm0++){
  if (mmObj[mm0].nu==0){
   mmObj[mm0].style.top=((mmObj[mm0].offsetHeight*(mmObj[mm0].group-1))+(mmMainSeparation*mmObj[mm0].group))+'px';
   mmMPos=mmObj[mm0].offsetTop;
   mmSNu=0;
  }
  if (mmObj[mm0].nu==1){
   mmObj[mm0].style.top=((mmObj[mm0].offsetHeight+mmSubSeparation)*mmSNu+mmMainSeparation+mmMPos)+'px';
   mmSPos=mmObj[mm0].offsetTop;
   mmObj[mm0].style.display='none';
   mmSNu++;
   mmENu=0;
  }
  if (mmObj[mm0].nu==2){
   mmObj[mm0].style.top=((mmObj[mm0].offsetHeight+mmExtSeparation)*mmENu+mmSubSeparation+mmSPos)+'px';
   mmObj[mm0].style.display='none';
   mmENu++;
  }
 }
}


