var scFr=self.PopupMenu?self:(parent.PopupMenu?parent:top);
function popEvt(str,each)
{
 if(!scFr || !scFr.PopupMenu || !scFr.PopupMenu.list)
  return; 
 var sp = scFr.pMenu;
 var PML= scFr.PopupMenu.list, mN;
 for (var objName in PML) 
 {
  if (each)
  {
   for (mN in PML[objName].menu)
   {
    var pobj = PML[objName];
    var ppar = pobj.menu[mN][0].par;
    // Either: single frame menus, OR frameset menus with the menu appearing in this frame.
    if ((!ppar&&scFr==self) || (ppar&&ppar.substring(ppar.lastIndexOf('.')+1)==self.name)) 
     eval(str);
   }
  }
  else eval(str);
 }
};
var scrFn,popOL=window.onload,popUL=window.onunload,popOR=window.onresize,popOS=window.onscroll,nsWinW=window.innerWidth,nsWinH=window.innerHeight,nsPX=window.pageXOffset,nsPY=window.pageYOffset;document.popOC=document.onclick;
// Only run the rest if we've found the core menu script in this or a parent window!
if(scFr.PopupMenu)
{
 if(!self.page)var isNS4=scFr.isNS4,page={};if(scFr!=self)for(var f in scFr.page)page[f]=scFr.page[f];page.win=self;
 popEvt('self[objName]=PML[objName]',0);
 if(!isNS4)popEvt('sp.update(true,mN)',1);
 // Window ONLOAD
 window.onload=function(){
  if(popOL)popOL();
  if(isNS4){popEvt('sp.update(false,mN)',1);setInterval(scrFn,50)}
  if(!scFr.isOp)
   window.onunload=new Function('if(popUL)popUL();popEvt("for(var i=0;i<pobj.menu[mN].length;i++) pobj.menu[mN][i].lyr=null",1)');
  /*if (scFr.PopupMenu.list && scFr.PopupMenu.list.pMenu) with(scFr.PopupMenu.list.pMenu) { // ERIC'S ADD
   if(scrollMenu && (''+scrollMenu!='undefined')) 
    scrollMenu('root',initMenuScrollX);
  }*/
 };
 // Window ONSCROLL
 if(popOS||(''+popOS!='undefined'))
   window.onscroll=function(){if(popOS)popOS();popEvt('sp.position(mN)',1)};else{scrFn='if(nsPX!=pageXOffset||nsPY!=pageYOffset){nsPX=pageXOffset;nsPY=pageYOffset;popEvt("sp.position(mN)",1)}';if(!isNS4)setInterval(scrFn,50)}
 function resizeBugCheck(){if(nsWinW!=innerWidth||nsWinH!=innerHeight)location.reload()};if(scFr.isOp&&!document.documentElement&&!self.opFix)self.opFix=setInterval('resizeBugCheck()',500);
 // Window ONRESIZE
 window.onresize=function(){
  if(popOR)popOR();
  if(isNS4)resizeBugCheck();
  popEvt('sp.position(mN)',1)
  if (scFr.PopupMenu.list && scFr.PopupMenu.list.pMenu) with(scFr.PopupMenu.list.pMenu) { // ERIC'S ADD
   if(scrollMenu && (''+scrollMenu!='undefined')) 
    scrollMenu('root',0); 
  }
 };
 // Document ONCLICK
 if(isNS4)document.captureEvents(Event.CLICK);
 document.onclick=function(evt){
  popEvt('if(isNS4 && sp.overI) sp.click(sp.overM, sp.overI); if(!sp.overI && sp.hideDocClick) sp.over("root",0)',0);
  return document.popOC?document.popOC(evt):(isNS4?document.routeEvent(evt):self.uNdEfInEd)
 }


// ============================= EXTRA: HORIZONTAL MENU SCROLL ==============================
// Look at pop_extras.js for vertical version, but change the following:
// 1/ add  var scrInt = null;  here and remove   PopupMenu.prototype.scrInt = null;
// 2/ move the code to get in that order, with eP.page 
//     var eP = eval(sm.par||'self');
//     if (sm.menuW < eP.page.winW())             

var scrInt = null;
var pmsMX = 0, pmsMY = 0;
document.popOldMM = document.onmousemove;
if (isNS4) document.captureEvents(Event.MOUSEMOVE);
// --- Ajouté par sécurité
var stepAmount = 15;
var previousAmount = 0; 

document.onmousemove = function(evt)
{
 evt = evt ? evt : window.event;
 pmsMX = isNS4 ? evt.pageX - page.scrollX() : evt.clientX;
 //window.defaultStatus = 'pmsMX = '+pmsMX+'  page.winW()='+page.winW();                                

 if (pmsMX < 20)
 { 
   popEvt('if(sp.overI&&(!scrInt || previousAmount>0)){clearInterval(scrInt);' +
    'scrInt=setInterval(sp.myName+".scrollMenu(\'"+sp.overM+"\',-'+stepAmount+')", 50)}', 0);
   previousAmount = -stepAmount;
 }
 else if (pmsMX > page.winW()-(scFr.isIE?20:35)) 
 { 
   popEvt('if(sp.overI&&(!scrInt || previousAmount<0)){clearInterval(scrInt);' +
    'scrInt=setInterval(sp.myName+".scrollMenu(\'"+sp.overM+"\','+stepAmount+')", 50)}', 0);
   previousAmount = stepAmount;
 }
 else
 {
   popEvt('if(scrInt){clearInterval(scrInt);scrInt=null}',0);
   previousAmount = 0;
 }

 return this.popOldMM ? this.popOldMM(evt) : (isNS4?this.routeEvent(evt):null);
};

}//End of if(scFr.PopupMenu)