home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 June / PCWorld_2003-06_cd.bin / SOFTWARE / VYZKUSTE / DHTML / DMBSETUP.EXE / Tutorial / menus / menu.js < prev    next >
Text File  |  2003-01-10  |  56KB  |  1,264 lines

  1. //////////////////////////////////////////////////
  2. // DMB DHTML ENGINE 1.5.001                     //
  3. // (c)xFX JumpStart                             //
  4. //                                              //
  5. // PSN: 4A16-195224-XFX-3732                    //
  6. //                                              //
  7. // GENERATED: 1/10/2003 - 1:55:53 PM            //
  8. // -------------------------------------------- //
  9. //  Config: Local                               //
  10. //   AddIn:                                     //
  11. // JS Name: menu                                //
  12. //////////////////////////////////////////////////
  13.  
  14.  
  15.     var nStyle = new Array;
  16.     var hStyle = new Array;
  17.     var nLayer = new Array;
  18.     var hLayer = new Array;
  19.     var nTCode = new Array;
  20.  
  21.     var AnimStep = 0;
  22.     var AnimHnd = 0;
  23.     var HTHnd = new Array;
  24.     var MenusReady = false;
  25.     var imgLRsc = new Image;
  26.     var imgRRsc = new Image;
  27.     var smHnd = 0;
  28.     var lsc = null;
  29.     var tmrHideHnd = 0;
  30.     var IsOverHS = false;
  31.     var IsContext = false;
  32.     var IsFrames = false;
  33.     var dxFilter=null;
  34.  
  35.     var AnimSpeed = 35;
  36.     var TimerHideDelay = 1037;
  37.     var SubMenusDelay = 71;
  38.  
  39.     var cntxMenu = '';
  40.     var DoFormsTweak = true;
  41.  
  42.     function GetOPStyle(){;}function SetOPStyle(){;}
  43.  
  44.     var nsOW;
  45.     var nsOH;
  46.  
  47.     var mFrame;
  48.     var cFrame = self;
  49.  
  50.     var OpenMenus = new Array;
  51.     var nOM = 0;
  52.  
  53.     var mX;
  54.     var mY;
  55.  
  56.     var BV=parseFloat(navigator.appVersion.indexOf("MSIE")>0?navigator.appVersion.split(";")[1].substr(6):navigator.appVersion);
  57.     var BN=navigator.appName;
  58.     var IsWin=(navigator.userAgent.indexOf('Win')!=-1);
  59.     var IsMac=(navigator.userAgent.indexOf('Mac')!=-1);
  60.     var KQ=(BN.indexOf('Konqueror')!=-1&&(BV>=5))?true:false;
  61.     var OP=(navigator.userAgent.indexOf('Opera')!=-1&&BV>=4)?true:false;
  62.     var NS=(BN.indexOf('Netscape')!=-1&&(BV>=4&&BV<5)&&!OP)?true:false;
  63.     var SM=(BN.indexOf('Netscape')!=-1&&(BV>=5)||OP)?true:false;
  64.     var IE=(BN.indexOf('Explorer')!=-1&&(BV>=4)||SM||KQ)?true:false;
  65.     var IX=(IE&&IsWin&&!SM&&!OP&&(BV>5.5)&&(dxFilter!=null));
  66.  
  67.     if(!eval(frames['self'])) {
  68.         frames.self = window;
  69.         frames.top = top;
  70.     }
  71.     
  72. var lmcHS = null;
  73.     var tbNum = 0;
  74.  
  75.  
  76.  
  77.     var fx = 0;
  78.  
  79.  
  80.     hStyle[0]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  81.     hStyle[1]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  82.     hStyle[2]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  83.     hStyle[3]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  84.     hStyle[4]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  85.     hStyle[5]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  86.     hStyle[6]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  87.     hStyle[7]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  88.     hStyle[8]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  89.     hStyle[9]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  90.     hStyle[10]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  91.     hStyle[11]="; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #FFFFFF; background-color: #804040; cursor: default;";
  92.     nTCode[12]="cFrame.execURL('http://www.google.com', 'this');";
  93.     nTCode[13]="cFrame.HideAll();dmbNW=window.open(cFrame._purl('http://software.xfx.net'),'NewWindow','left=80,top=80,width=600,height=400,directories=0,channelmode=0,toolbar=0,fullscreen=0,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=1');dmbNW.focus();if(cFrame.IsFrames)mFrame.location.reload();";
  94.     var ComputersRImgOff = new Image;
  95.     var ComputersRImgOn = new Image;
  96.     ComputersRImgOff.src = rimPath+'black_arrow.gif';
  97.     ComputersRImgOn.src = rimPath+'white_arrow.gif';
  98.     var AccessoriesRImgOff = new Image;
  99.     var AccessoriesRImgOn = new Image;
  100.     AccessoriesRImgOff.src = rimPath+'black_arrow.gif';
  101.     AccessoriesRImgOn.src = rimPath+'white_arrow.gif';
  102.  
  103.  
  104.  
  105.     function GetCurCmd(e) {
  106.         //IE,SM,OP,KQ
  107.         //This function will return the current command under the mouse pointer.
  108.         //It will return null if the mouse is not over any command.
  109.         //------------------------------
  110.         //Version 1.5
  111.         //
  112.         if(SM)
  113.             var cc = e;
  114.         else {
  115.             var cc = mFrame.window.event;
  116.             if(!cc)
  117.                 cc = cFrame.window.event;
  118.             cc = cc.srcElement;
  119.         }
  120.         while(cc.id=="") {
  121.             cc = cc.parentElement;
  122.             if(cc==null) break;
  123.         }
  124.         return cc;
  125.     }
  126.  
  127.     function HoverSel(mode, imgLName, imgRName, e) {
  128.         //IE,SM,OP,KQ
  129.         //This is the function called every time the mouse pointer is moved over a command.
  130.         //------------------------------
  131.         //mode: 0 if the mouse is moving over the command and 1 if is moving away.
  132.         //imgLName: Name of the left image object, if any.
  133.         //imgRName: Name of the right image object, if any.
  134.         //------------------------------
  135.         //Version 16.2
  136.         //
  137.         var nStyle;
  138.         var mc;
  139.         
  140.         if(mode==0 && OpenMenus[nOM].SelCommand!=null)
  141.             HoverSel(1);
  142.         
  143.         if(mode==0) {
  144.             mc = GetCurCmd(e);
  145.             if(nOM>1) {
  146.                 if(mc==OpenMenus[nOM-1].SelCommand)    return false;
  147.                 while(((BV>=5)?mc.parentNode.parentNode.id!=OpenMenus[nOM].mName:mc.parentElement.parentElement.id!=OpenMenus[nOM].mName))
  148.                         Hide();
  149.             }
  150.             if(imgLName) imgLRsc = eval(imgLName+"On");
  151.             if(imgRName) imgRRsc = eval(imgRName+"On");
  152.             if(OP)
  153.                 mc.opw = OpenMenus[nOM].width - 2*mc.style.left;
  154.             else {
  155.                 mc.opw = mc.style.width;
  156.                 mc.b = mc.style.borderLeft;
  157.                 mc.hasBorder = mc.b.split(" ").length>1;
  158.             }
  159.  
  160.             if(!mc.nStyle) {
  161.                 if(OP)
  162.                     mc.nStyle = GetOPStyle(mc);
  163.                 else
  164.                     mc.nStyle = SM?mc.getAttribute("style"):mc.style.cssText;
  165.                 mc.hStyle = GetCStyle(mc.style) + ((SM||KQ)?xrep(hStyle[mc.id],"hand","pointer"):hStyle[mc.id]);
  166.             }
  167.         
  168.             OpenMenus[nOM].SelCommand = mc;
  169.             OpenMenus[nOM].SelCommandPar = [imgLName,imgRName,mc.nStyle];
  170.             
  171.             if(SM||KQ) {
  172.                 IsOverHS = false;
  173.                 if(OP)
  174.                     SetOPStyle(mc, mc.hStyle);
  175.                 else
  176.                     mc.setAttribute("style", mc.hStyle);
  177.             } else
  178.                 mc.style.cssText = mc.hStyle;
  179.             if(!OP) FixCursor(mc.style, mc.hStyle);
  180.         } else {
  181.             mc = (mode==1)?OpenMenus[nOM].SelCommand:OpenMenus[nOM].Opener;
  182.             imgLName = (mode==1)?OpenMenus[nOM].SelCommandPar[0]:OpenMenus[nOM].OpenerPar[0];
  183.             imgRName = (mode==1)?OpenMenus[nOM].SelCommandPar[1]:OpenMenus[nOM].OpenerPar[1];
  184.             nStyle = (mode==1)?OpenMenus[nOM].SelCommandPar[2]:OpenMenus[nOM].OpenerPar[2];
  185.             mc.style.background = "";
  186.             if(IsMac) mc.style.border = "0px none";
  187.             if(SM||KQ) {
  188.                 if(OP)
  189.                     SetOPStyle(mc, nStyle);
  190.                 else
  191.                     mc.setAttribute("style", nStyle);
  192.             } else
  193.                 mc.style.cssText = ((BV<5)?GetCStyle(mc.style):"") + nStyle;
  194.             if(imgLName) imgLRsc = eval(imgLName+"Off");
  195.             if(imgRName) imgRRsc = eval(imgRName+"Off");
  196.             OpenMenus[nOM].SelCommand = null;
  197.         }
  198.         
  199.         if(imgLName) mFrame.document.images[imgLName].src = _fip(imgLRsc);
  200.         if(imgRName) mFrame.document.images[imgRName].src = _fip(imgRRsc);
  201.         
  202.         if(!OP) FixHover(mc, mode);
  203.         
  204.         return true;
  205.     }
  206.     
  207.     function FixHover(mc, mode) {
  208.         //IE,SM
  209.         //This function fixes the position of the commands' contents when using special highlighting effects.
  210.         //------------------------------
  211.         //Version 2.2
  212.         //
  213.         var hasBorder;
  214.         var bw;
  215.         if(mode==0) {
  216.             if(BV>=5)
  217.                 s = mc.getElementsByTagName("SPAN")[0];
  218.             else
  219.                 s = mc.document.all.tags("SPAN")[0];
  220.             mc.s = s;
  221.             mc.stop = s.style.top;
  222.             mc.sleft = s.style.left;
  223.             
  224.             hasBorder = mc.style.borderLeft.split(" ").length>1;
  225.             if(hasBorder != mc.hasBorder) {
  226.                 bw = (hasBorder?-GetBorderWidth(mc.style.borderLeft):GetBorderWidth(mc.b));
  227.                 s.style.left = parseInt(s.style.left) + bw + "px";
  228.                 s.style.top = parseInt(s.style.top) + bw + "px";
  229.                 if(SM)
  230.                     with(mc.style) {
  231.                         mc.cwidth = width;
  232.                         mc.cheight = height;
  233.                         width = parseInt(width) + 2*bw + "px";
  234.                         height = parseInt(height) + 2*bw + "px";
  235.                     }
  236.             }            
  237.         } else {
  238.             mc.s.style.top = mc.stop;
  239.             mc.s.style.left = mc.sleft;
  240.             if(SM) {
  241.                 mc.style.width = mc.cwidth;
  242.                 mc.style.height = mc.cheight;
  243.             }
  244.         }
  245.     }
  246.     
  247.     function NSHoverSel(mode, mc) {
  248.         //NS
  249.         //This is the function called every time the mouse pointer is moved over or away from a command.
  250.         //------------------------------
  251.         //mode: 0 if the mouse is moving over the command and 1 if is moving away.
  252.         //------------------------------
  253.         //Version 13.0
  254.         //
  255.         var mcN;
  256.         
  257.         ClearTimer(parseInt(HTHnd[nOM]));HTHnd[nOM] = 0;
  258.         if(!nOM) return false;
  259.         
  260.         if(mode==0 && OpenMenus[nOM].SelCommand!=null)
  261.             NSHoverSel(1);
  262.         
  263.         if(mode==0) {
  264.             mcN = mc.parentLayer.layers[mc.name.substr(0, mc.name.indexOf("EH")) + "N"];
  265.             mcN.mcO = mc.parentLayer.layers[mc.name.substr(0, mc.name.indexOf("EH")) + "O"];
  266.             if(nOM>1) if(mc==OpenMenus[nOM-1].SelCommand) return false;
  267.             while(!InMenu()&&nOM>1) Hide();
  268.             OpenMenus[nOM].SelCommand = mcN;
  269.             mcN.mcO.visibility = "show";
  270.             mcN.visibility = "hide";
  271.         } else {
  272.             mcN = (mode==1)?OpenMenus[nOM].SelCommand:OpenMenus[nOM].Opener;
  273.             mcN.visibility = "show";
  274.             mcN.mcO.visibility = "hide";                        
  275.             OpenMenus[nOM].SelCommand = null;
  276.         }
  277.         return true;
  278.     }
  279.  
  280.     function Hide() {
  281.         //IE,NS,SM,OP,KQ
  282.         //This function hides the last opened group and it keeps hiding all the groups until
  283.         //no more groups are opened or the mouse is over one of them.
  284.         //Also takes care of reseting any highlighted commands.
  285.         //------------------------------
  286.         //Version 4.6
  287.         //
  288.         var m;
  289.         
  290.         ClearTimer(HTHnd[nOM]);HTHnd[nOM] = 0;
  291.         ClearTimer(AnimHnd);AnimHnd = 0;
  292.         ClearTimer(tmrHideHnd);
  293.         
  294.         if(nOM) {
  295.             m = OpenMenus[nOM];
  296.             if(m.SelCommand!=null) {
  297.                 if(IE) HoverSel(1);
  298.                 if(NS) NSHoverSel(1);
  299.             }
  300.             if(m.Opener!=null) {
  301.                 if(IE) HoverSel(3);
  302.                 if(NS) NSHoverSel(3);
  303.             }
  304.  
  305.             ToggleMenu(m, "hidden");
  306.             nOM--;
  307.  
  308.         }
  309.         
  310.         if(nOM==0) {
  311.             if(tbNum && lmcHS) {
  312.                 if(IE) hsHoverSel(1);
  313.                 if(NS) hsNSHoverSel(1);
  314.             }
  315.             status = "";
  316.         } else
  317.             if(!InMenu()) HTHnd[nOM] = window.setTimeout("Hide()", TimerHideDelay/20);
  318.     }
  319.     
  320.     function ToggleMenu(m, s) {
  321.         //IE,NS,SM,OP,KQ
  322.         //This function controls how the menus are displayed
  323.         //and hidden from the screen.
  324.         //------------------------------
  325.         //Version 1.0
  326.         //
  327.         if(IX) {
  328.             with(m.obj) {
  329.                 if(!m.fs) {
  330.                     m.filter += dxFilter;
  331.                     m.fs = true;
  332.                 }
  333.                 for(var i=0; i<filters.length; i++) {
  334.                     filters[i].apply();
  335.                     m.visibility = s;
  336.                     filters[i].play();
  337.                 }
  338.             }
  339.         } else
  340.             m.visibility = s;
  341.         FormsTweak(s=="visible"?"hidden":"visible");
  342.     }
  343.     
  344.     function ShowMenu(mName, x, y, isCascading, hsImgName, algn) {
  345.         //IE,NS,SM,OP,KQ
  346.         //This function controls the way menus and submenus are displayed.
  347.         //It also applies a delay to display submenus.
  348.         //------------------------------
  349.         //Version 1.0
  350.         //
  351.         ClearTimer(smHnd);smHnd = 0;
  352.         if(IX) if(document.readyState!="complete") return false;
  353.         if(isCascading) {
  354.             lsc = OpenMenus[nOM].SelCommand;
  355.             smHnd = window.setTimeout("if(nOM)if(lsc==OpenMenus[nOM].SelCommand)ShowMenu2('" + mName + "',0,0,true,''," + algn + ")", SubMenusDelay);
  356.         } else
  357.             ShowMenu2(mName, x, y, false, hsImgName, algn);
  358.         return true;
  359.     }
  360.  
  361.     function ShowMenu2(mName, x, y, isCascading, hsImgName, algn) {
  362.         //IE,NS,SM,OP,KQ
  363.         //This is the main function to show the menus when a hotspot is triggered or a cascading command is activated.
  364.         //------------------------------
  365.         //mName: Name of the <div> or <layer> to be shown.
  366.         //x: Left position of the menu.
  367.         //y: Top position of the menu.
  368.         //isCascading: True if the menu has been triggered from a command.
  369.         //hsImgName: Image to which the menu is attached to.
  370.         //algn: Alignment setting for the menu.
  371.         //------------------------------
  372.         //Version 20.5
  373.         //
  374.         var xy;
  375.         ClearTimer(parseInt(HTHnd[nOM]));HTHnd[nOM] = 0;
  376.         x = parseInt(x);y = parseInt(y);
  377.         
  378.         var Menu = GetObj(mName);
  379.         if(!Menu) return false;
  380.         if(IE) {
  381.             Menu = Menu.style;
  382.             Menu.obj = GetObj(mName);
  383.             Menu.frmt = GetObj(mName+"frmt").style;
  384.         }
  385.         
  386.         if(nOM>0)
  387.             if(OpenMenus[1].mName == mName && !isCascading) {
  388.                 IsOverHS = true;
  389.                 return false;
  390.             }
  391.         if(Menu==OpenMenus[nOM]) return false;
  392.             
  393.         if(AnimHnd && nOM>0) {
  394.             AnimStep=100;
  395.             Animate();
  396.         }
  397.             
  398.         if(!isCascading) {
  399.             var oldlmcHS = lmcHS;
  400.             lmcHS = null;
  401.             HideAll();
  402.             lmcHS = oldlmcHS;
  403.         }
  404.         
  405.         Menu.mName = mName;
  406.         Menu.Opener = nOM>0?OpenMenus[nOM].SelCommand:null;
  407.         Menu.OpenerPar = nOM>0?OpenMenus[nOM].SelCommandPar:null;
  408.         Menu.SelCommand = null;
  409.         if(OP) {
  410.             Menu.width = Menu.pixelWidth;
  411.             Menu.height = Menu.pixelHeight;
  412.         }
  413.         
  414.         if(!isCascading) {
  415.             if(hsImgName) {
  416.                 var imgObj = NS?FindImage(cFrame.document, hsImgName.split("|")[0]):cFrame.document.images[hsImgName.split("|")[0]];
  417.                 if(imgObj) {
  418.                     var tbMode = hsImgName.split("|")[1];
  419.                     if(tbMode&2) x = AutoPos(Menu, imgObj, algn)[0] + (IsFrames?GetLeftTop()[0]:0);
  420.                     if(tbMode&1) y = AutoPos(Menu, imgObj, algn)[1] + (IsFrames?GetLeftTop()[1]:0);
  421.                     if(IsMac&&IE&&!SM&&(BV>=5)) {
  422.                         x += parseInt(mFrame.document.body.leftMargin);
  423.                         y += parseInt(mFrame.document.body.topMargin);
  424.                     }
  425.                 }
  426.             }
  427.  
  428.         }
  429.         
  430.         var pW = GetWidthHeight()[0] + GetLeftTop()[0];
  431.         var pH = GetWidthHeight()[1] + GetLeftTop()[1];
  432.         
  433.         if(IE) {
  434.             if(SM) Menu.display = "none";
  435.             if(isCascading) {
  436.                 xy = GetSubMenuPos(Menu, algn);
  437.                 x = xy[0];y = xy[1];
  438.  
  439.             }
  440.             Menu.left = FixPos(x,parseInt(Menu.width),pW) + "px";
  441.             Menu.top = FixPos(y,parseInt(Menu.height),pH) + (OP?"":"px");
  442.             if(!IX&&!SM&&IsWin) Menu.clip = "rect(0 0 0 0)";
  443.         }
  444.         if(NS) {
  445.             if(isCascading) {
  446.                 xy = GetSubMenuPos(Menu, algn);
  447.                 x = xy[0];y = xy[1];
  448.  
  449.             }
  450.             Menu.clip.width = 0;
  451.             Menu.clip.height = 0;
  452.  
  453.             Menu.moveToAbsolute(FixPos(x,Menu.w,pW),FixPos(y,Menu.h,pH));
  454.         }
  455.         if(isCascading)    Menu.zIndex = parseInt(OpenMenus[nOM].zIndex) + 1;
  456.         OpenMenus[++nOM] = Menu;
  457.         
  458.         if(SM&&!OP) FixCommands(mName);
  459.         if(SM) Menu.display = "inline";
  460.         
  461.         if(!IX) {
  462.             HTHnd[nOM] = 0;
  463.             if((IE&&IsWin&&!SM)||(NS&&Menu.clip.width==0))
  464.                 AnimHnd = window.setTimeout("Animate()", 10);
  465.         }
  466.         ToggleMenu(Menu, "visible");
  467.         
  468.         if(!isCascading&&!IsContext) IsOverHS = true;
  469.         IsContext = false;
  470.         ClearTimer(tmrHideHnd);
  471.         tmrHideHnd = window.setTimeout("AutoHide()", TimerHideDelay);
  472.         
  473.         return true;
  474.     }
  475.     
  476.     function GetSubMenuPos(mg, a) {
  477.         //IE,NS,SM,OP,KQ
  478.         //This function calculates the position of a submenu based on its alignment.
  479.         //------------------------------
  480.         //Version 1.1
  481.         //
  482.         var x;
  483.         var y;
  484.         var pg = OpenMenus[nOM];
  485.         var sc = pg.SelCommand;
  486.         
  487.         if(NS) {
  488.             pg.width = pg.w;
  489.             pg.height = pg.h;
  490.             mg.width = mg.w;
  491.             mg.height = mg.h;
  492.             sc.width = sc.clip.width;
  493.             sc.height = sc.clip.height;
  494.         } else
  495.             if(OP) {
  496.                 sc.left = sc.style.left;
  497.                 sc.top = sc.style.top;
  498.                 sc.width = sc.style.pixelWidth;
  499.                 sc.height = sc.style.pixelHeight;
  500.             } else
  501.                 sc = sc.style;
  502.         
  503.         var lp = parseInt(pg.left) + parseInt(sc.left);
  504.         var tp = parseInt(pg.top) + parseInt(sc.top);
  505.  
  506.         switch(a) {
  507.             case 0:
  508.                 x = lp;
  509.                 y = tp + parseInt(sc.height);
  510.                 break;
  511.             case 1:
  512.                 x = lp + parseInt(sc.width) - parseInt(mg.width);
  513.                 y = tp + parseInt(sc.height);
  514.                 break;
  515.             case 2:
  516.                 x = lp;
  517.                 y = tp - parseInt(mg.height);
  518.                 break;
  519.             case 3:
  520.                 x = lp + parseInt(sc.width) - parseInt(mg.width);
  521.                 y = tp - parseInt(mg.height);
  522.                 break;
  523.             case 4:
  524.                 x = lp - parseInt(mg.width);
  525.                 y = tp;
  526.                 break;
  527.             case 5:
  528.                 x = lp - parseInt(mg.width);
  529.                 y = tp + parseInt(sc.height) - parseInt(mg.height);
  530.                 break;
  531.             case 6:
  532.                 x = lp + parseInt(sc.width);
  533.                 y = tp;
  534.                 break;
  535.             case 7:
  536.                 x = lp + parseInt(sc.width);
  537.                 y = tp + parseInt(sc.height) - parseInt(mg.height);
  538.                 break;
  539.             case 8:
  540.                 x = lp - parseInt(mg.width);
  541.                 y = tp + (parseInt(sc.height) - parseInt(mg.height))/2;
  542.                 break;
  543.             case 9:
  544.                 x = lp + parseInt(sc.width);
  545.                 y = tp + (parseInt(sc.height) - parseInt(mg.height))/2;
  546.                 break;
  547.             case 10:
  548.                 x = lp + (parseInt(sc.width) - parseInt(mg.width))/2;
  549.                 y = tp - parseInt(mg.height);
  550.                 break;
  551.             case 11:
  552.                 x = lp + (parseInt(sc.width) - parseInt(mg.width))/2;
  553.                 y = tp + parseInt(sc.height);
  554.                 break;
  555.         }
  556.         return [x,y];
  557.     }
  558.     
  559.     function FixCommands(mName, f, t) {
  560.         //SM
  561.         //This function is used to fix the way the Gecko engine calculates
  562.         //the borders and the way they affect the size of divs
  563.         //------------------------------
  564.         //Version 2.1
  565.         //
  566.         var m = GetObj(mName, f);
  567.         if(!m.Fixed) {
  568.             if(!f) f = mFrame;
  569.             if(!t) t = 0;
  570.             var sd = m.getElementsByTagName("DIV");
  571.             for(var i=0;i<(sd.length);(t>0?i+=2:i++))
  572.                 with(sd[i].style) {
  573.                     var b = GetBorderWidth(borderLeft);
  574.                     if(borderLeft.indexOf("none")==-1) {
  575.                         width = parseInt(width) - 2*b + "px";
  576.                         height = parseInt(height) - 2*b + "px";
  577.                     }
  578.                 }
  579.                 
  580.         }
  581.         m.Fixed = true;
  582.     }
  583.  
  584.     function Animate() {
  585.         //IE,NS,SM,OP,KQ
  586.         //This function is called by ShowMenu every time a new group must be displayed and produces the predefined unfolding effect.
  587.         //Currently is disabled for Navigator, because of some weird bugs we found with the clip property of the layers.
  588.         //------------------------------
  589.         //Version 1.9
  590.         //
  591.         var r = '';
  592.         var nw = nh = 0;
  593.         if(AnimStep+AnimSpeed>100) AnimStep = 100;
  594.         switch(fx) {
  595.             case 1:
  596.                 if(IE) r = "0 " + AnimStep + "% " + AnimStep + "% 0";
  597.                 if(NS) nw = AnimStep; nh = AnimStep;
  598.                 break;
  599.             case 2:
  600.                 if(IE) r = "0 100% " + AnimStep + "% 0";
  601.                 if(NS) nw = 100; nh = AnimStep;
  602.                 break;
  603.             case 3:
  604.                 if(IE) r = "0 " + AnimStep + "% 100% 0";
  605.                 if(NS) nw = AnimStep; nh = 100;
  606.                 break;
  607.             case 0:
  608.                 if(IE) r = "0 100% 100% 0";
  609.                 if(NS) nw = 100; nh = 100;
  610.                 break;
  611.         }
  612.         if(OpenMenus[nOM]) {
  613.             with(OpenMenus[nOM]) {
  614.                 if(IE)
  615.                     clip =  "rect(" + r + ")";
  616.                 if(NS) {
  617.                     clip.width = w*(nw/100);
  618.                     clip.height = h*(nh/100);
  619.                 }
  620.             }
  621.             AnimStep += AnimSpeed;
  622.             if(AnimStep<=100)
  623.                 AnimHnd = window.setTimeout("Animate()",25);
  624.             else {
  625.                 ClearTimer(AnimHnd);
  626.                 AnimStep = 0;
  627.                 AnimHnd = 0;
  628.             }
  629.         }
  630.     }
  631.     
  632.     function InTBHotSpot() {
  633.         //IE,NS,SM,OP,KQ
  634.         //This function returns true if the mouse pointer is over a toolbar item.
  635.         //------------------------------
  636.         //Version 1.1
  637.         //
  638.         if(!tbNum) return false;
  639.         var m = lmcHS;
  640.         if(!m) return false;
  641.         var l = parseInt(m.left);
  642.         var r = l+(IE?parseInt(m.width):m.clip.width);
  643.         var t = parseInt(m.top);
  644.         var b = t+(IE?parseInt(m.height):m.clip.height);
  645.         return ((mX>=l && mX<=r) && (mY>=t && mY<=b)) || IsOverHS;
  646.     }
  647.     
  648.     function InMenu() {
  649.         //IE,NS,SM,OP,KQ
  650.         //This function returns true if the mouse pointer is over the last opened menu.
  651.         //------------------------------
  652.         //Version 2.1
  653.         //
  654.         var m = OpenMenus[nOM];
  655.         if(!m) return false;
  656.         var l = parseInt(m.left);
  657.         var r = l+(IE?parseInt(m.width):m.clip.width);
  658.         var t = parseInt(m.top);
  659.         var b = t+(IE?parseInt(m.height):m.clip.height);
  660.         return ((mX>=l && mX<=r) && (mY>=t && mY<=b)) || IsOverHS;
  661.     }
  662.  
  663.     function SetPointerPos(e) {
  664.         //IE,NS,SM,OP,KQ
  665.         //This function sets the mX and mY variables with the current position of the mouse pointer.
  666.         //------------------------------
  667.         //e: Only used under Navigator, corresponds to the Event object.
  668.         //------------------------------
  669.         //Version 1.6
  670.         //
  671.         if(IE) {
  672.             if(!SM) {
  673.                 if(mFrame!=cFrame||event==null)
  674.                     if(mFrame.window.event==null)
  675.                         return;
  676.                     else
  677.                         e = mFrame.window.event;
  678.                 else
  679.                     e = event;
  680.             }
  681.             mX = e.clientX + GetLeftTop()[0];
  682.             mY = e.clientY + GetLeftTop()[1];
  683.         }
  684.         if(NS) {
  685.             mX = e.pageX;
  686.             mY = e.pageY;
  687.         }
  688.     }
  689.     
  690.     function HideMenus(e) {
  691.         //IE,NS,SM,OP,KQ
  692.         //This function checks if the mouse pointer is on a valid position and if the current menu should be kept visible.
  693.         //The function is called every time the mouse pointer is moved over the document area.
  694.         //------------------------------
  695.         //e: Only used under Navigator, corresponds to the Event object.
  696.         //------------------------------
  697.         //Version 25.1
  698.         //
  699.         if(nOM>0) {
  700.             SetPointerPos(e);
  701.             if(OpenMenus[nOM].SelCommand!=null)
  702.                 if(!InMenu()&&!HTHnd[nOM])
  703.                     HTHnd[nOM] = window.setTimeout("if(nOM>0)if(!InMenu())Hide()", TimerHideDelay);
  704.         }
  705.     }
  706.     
  707.     function FormsTweak(state) {
  708.         //IE,SM,OP
  709.         //This is an undocumented function, which can be used to hide every listbox (or combo) element on a page.
  710.         //This can be useful if the menus will be displayed over an area where is a combo box, which is an element that cannot be placed behind the menus and it will always appear over the menus resulting in a very undesirable effect.
  711.         //------------------------------
  712.         //Version 3.2
  713.         //
  714.         var fe;
  715.         if(IE&&(!SM||OP)&&DoFormsTweak) {
  716.             var m = OpenMenus[nOM];
  717.             if((BV>=5.5)&&!OP&&m)
  718.                 cIF(state=="visible"?"hidden":"visible");
  719.             else
  720.                 if(nOM==1)
  721.                     for(var f=0; f<mFrame.document.forms.length; f++)
  722.                         for(var e=0; e<mFrame.document.forms[f].elements.length; e++) {
  723.                             fe = mFrame.document.forms[f].elements[e];
  724.                             if(fe.type) if(fe.type.indexOf("select")==0) fe.style.visibility = state;
  725.                         }
  726.         }
  727.     }
  728.     
  729.     function cIF(state) {
  730.         //IE
  731.         //------------------------------
  732.         //Version 1.3
  733.         //
  734.         var mfd = mFrame.document;
  735.         if(mfd.getElementsByTagName("SELECT").length==0) return;
  736.         var m = OpenMenus[nOM];
  737.         var iname = m.obj.id + "iframe";
  738.         var i = GetObj(iname);
  739.         if(!i) {
  740.             i = mfd.createElement("?");
  741.             i.id = iname + "pobj";
  742.             mfd.body.insertBefore(i);
  743.             i = mfd.createElement("IFRAME");
  744.             if(location.protocol=="https:") i.src = "/ifo.htm";
  745.             i.id = iname;
  746.             i.style.position = "absolute";
  747.             i.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
  748.             mfd.getElementById(iname + "pobj").insertBefore(i);
  749.         }        
  750.         with(i.style) {
  751.             left = m.left;
  752.             top = m.top;
  753.             width = m.width;
  754.             height = m.height;
  755.             zIndex = m.zIndex-1;
  756.             visibility = state;
  757.         }
  758.     }
  759.  
  760.     function execURL(url, tframe) {
  761.         //IE,NS,SM,OP,KQ
  762.         //This function is called every time a command is triggered to jump to another page or execute some javascript code.
  763.         //------------------------------
  764.         //url: Encrypted URL that must be opened or executed.
  765.         //tframe: If the url is a document location, tframe is the target frame where this document will be opened.
  766.         //------------------------------
  767.         //Version 1.2
  768.         //
  769.         HideAll();
  770.         window.setTimeout("execURL2('" + escape(_purl(url)) + "', '" + tframe + "')", 100);
  771.     }
  772.  
  773.     function execURL2(url, tframe) {
  774.         //IE,NS,SM,OP,KQ
  775.         //This function is called every time a command is triggered to jump to another page or execute some javascript code.
  776.         //------------------------------
  777.         //url: Encrypted URL that must be opened or executed.
  778.         //tframe: If the url is a document location, tframe is the target frame where this document will be opened.
  779.         //------------------------------
  780.         //Version 1.6
  781.         //
  782.         var fObj = (tframe=="_blank"?window.open(""):(tframe=="_parent"?mFrame.parent:eval(rStr(tframe))));
  783.         url = rStr(unescape(url));
  784.         url.indexOf("javascript:")!=url.indexOf("vbscript:")?eval(url):fObj.location.href = url;
  785.     }
  786.  
  787.     function rStr(s) {
  788.         //IE,NS,SM,OP,KQ
  789.         //This function is used to decrypt the URL parameter from the triggered command.
  790.         //------------------------------
  791.         //Version 1.2
  792.         //
  793.         s = xrep(s,"%1E", "'");
  794.         s = xrep(s,"\x1E", "'");
  795.         if(OP&&s.indexOf("frames[")!=-1) {
  796.             s = xrep(s,String.fromCharCode(s.charCodeAt(7)), "'");
  797.         }
  798.         return xrep(s,"\x1D", "\x22");
  799.     }
  800.  
  801.     function hNSCClick(e) {
  802.         //NS
  803.         //This function executes the selected command's trigger code.
  804.         //------------------------------
  805.         //Version 1.0
  806.         //
  807.         eval(this.TCode);
  808.     }
  809.     
  810.     function HideAll() {
  811.         //IE,NS,SM,OP,KQ
  812.         //This function will hide all the currently opened menus.
  813.         //------------------------------
  814.         //Version 1.1
  815.         //
  816.         if(nOM)
  817.             while(nOM>0) Hide();
  818.         else Hide();
  819.     }
  820.     
  821.     function tHideAll() {
  822.         //IE,NS,SM,OP,KQ
  823.         //This function is called when the mouse is moved away from a hotspot to close any opened menu.
  824.         //------------------------------
  825.         //Version 1.2
  826.         //
  827.         IsOverHS = false;
  828.         HTHnd[nOM] = window.setTimeout("if(!InMenu()&&!InTBHotSpot())HideAll(); else HTHnd[nOM]=0;", TimerHideDelay);
  829.     }
  830.     
  831.     function GetLeftTop(f) {
  832.         //IE,NS,SM,OP,KQ
  833.         //This function returns the scroll bars position on the menus frame.
  834.         //------------------------------
  835.         //Version 2.7
  836.         //
  837.         if(!f) f = mFrame;
  838.         if(IE)
  839.             if(SM)
  840.                 return [OP?f.pageXOffset:f.scrollX,OP?pageYOffset:f.scrollY];
  841.             else
  842.                 return [GetBodyObj(f).scrollLeft,GetBodyObj(f).scrollTop];
  843.         if(NS)
  844.             return [f.pageXOffset,f.pageYOffset];
  845.     }
  846.  
  847.     function GetWidthHeight(f) {
  848.         //IE,NS,SM,OP,KQ
  849.         //This function returns the width and height of the menus frame.
  850.         //------------------------------
  851.         //Version 2.3
  852.         //
  853.         if(!f) f = mFrame;
  854.         if(NS||SM)
  855.             return [f.innerWidth,f.innerHeight];
  856.         else
  857.             return [GetBodyObj(f).clientWidth,GetBodyObj(f).clientHeight];
  858.     }
  859.     
  860.     function GetBodyObj(f) {
  861.         //IE
  862.         //
  863.         //------------------------------
  864.         //Version 1.0
  865.         //
  866.         return (f.document.compatMode=="BackCompat"||BV<6||IsMac)?f.document.body:f.document.documentElement;
  867.     }
  868.     
  869.     function GetBorderWidth(b) {
  870.         //IE,SM
  871.         //This functions returns the width of a border
  872.         //------------------------------
  873.         //Version 1.1
  874.         //
  875.         if(OP) return 0;
  876.         var w;
  877.         var l = b.split(" ");
  878.         for(var i=0; i<l.length; i++) {
  879.             w = parseInt(l[i]);
  880.             if(w>0)
  881.                 return w;
  882.         }
  883.         return 0;
  884.     }
  885.     
  886.     function GetCStyle(cmc) {
  887.         //IE,SM,OP
  888.         //This function completes the style of command with all the common
  889.         //parameters from the original style code.
  890.         //------------------------------
  891.         //Version 1.0
  892.         //
  893.         return "position: absolute; white-space: nowrap; left:" + cmc.left + 
  894.                "; top: " + cmc.top + 
  895.                "; width: " + (OP?cmc.pixelWidth:cmc.width) + 
  896.                "; height: " + (OP?cmc.pixelHeight:cmc.height) + "; ";
  897.     }
  898.     
  899.     function AutoPos(Menu, imgObj, arAlignment) {
  900.         //IE,NS,SM,OP,KQ
  901.         //This function finds the image-based hotspot and returns the position at which 
  902.         //the menu should be displayed based on the alignment setting.
  903.         //------------------------------
  904.         //Version 1.1
  905.         //
  906.         var x = GetImgXY(imgObj)[0];
  907.         var y = GetImgXY(imgObj)[1];
  908.         var mW = parseInt(NS?Menu.w:Menu.width);
  909.         var mH = parseInt(NS?Menu.h:Menu.height);
  910.             
  911.         switch(arAlignment) {
  912.             case 0:
  913.                 y += GetImgWH(imgObj)[1];
  914.                 break;
  915.             case 1:
  916.                 x += GetImgWH(imgObj)[0] - mW;
  917.                 y += GetImgWH(imgObj)[1];
  918.                 break;
  919.             case 2:
  920.                 y -= mH;
  921.                 break;
  922.             case 3:
  923.                 x += GetImgWH(imgObj)[0] - mW;
  924.                 y -= mH;
  925.                 break;
  926.             case 4:
  927.                 x -= mW;
  928.                 break;
  929.             case 5:
  930.                 x -= mW;
  931.                 y -= mH - GetImgWH(imgObj)[1];
  932.                 break;
  933.             case 6:
  934.                 x += GetImgWH(imgObj)[0];
  935.                 break;
  936.             case 7:
  937.                 x += GetImgWH(imgObj)[0];
  938.                 y -= mH - GetImgWH(imgObj)[1];
  939.                 break;
  940.         }        
  941.         return [x, y];
  942.     }
  943.  
  944.     function GetImgXY(imgObj) {
  945.         //IE,NS,SM,OP,KQ
  946.         //This function returns the x,y coordinates of an image.
  947.         //------------------------------
  948.         //Version 1.2
  949.         //
  950.         var x;
  951.         var y;
  952.             
  953.         if(IE)    {
  954.             x = getOffset(imgObj)[0];
  955.             y = getOffset(imgObj)[1];
  956.         } else    {
  957.             y = GetImgOffset(cFrame, imgObj.name, 0, 0);
  958.             x = imgObj.x + y[0];
  959.             y = imgObj.y + y[1];
  960.         }
  961.             
  962.         return [x, y];
  963.         
  964.     }
  965.  
  966.     function GetImgWH(imgObj) {
  967.         //IE,NS,SM,OP,KQ
  968.         //This function returns the width and height of an image.
  969.         //------------------------------
  970.         //Version 1.1
  971.         //
  972.         return [parseInt(imgObj.width), parseInt(imgObj.height)];
  973.     }
  974.  
  975.     function getOffset(imgObj) {
  976.         //IE,NS,SM,OP,KQ
  977.         //This function returns the horizontal and vertical offset of an object.
  978.         //------------------------------
  979.         //Version 1.0
  980.         //
  981.         x = imgObj.offsetLeft;
  982.         y = imgObj.offsetTop;
  983.         ce =imgObj.offsetParent;
  984.         while (ce!=null)    {
  985.             y += ce.offsetTop;
  986.             x += ce.offsetLeft;
  987.             ce = ce.offsetParent;
  988.         }
  989.         return [x,y];
  990.     }
  991.     
  992.     function FindImage(d, img) {
  993.         //NS
  994.         //This function finds an image regardless of its location in the document structure.
  995.         //------------------------------
  996.         //Version 1.0
  997.         //
  998.         var i;
  999.         var tmp;
  1000.         
  1001.         if(d.images[img]) return d.images[img];
  1002.         
  1003.         for(i=0; i<d.layers.length; i++) {
  1004.             tmp = FindImage(d.layers[i].document, img);
  1005.             if(tmp) return tmp;
  1006.         }
  1007.         return null;
  1008.     }
  1009.  
  1010.     function GetImgOffset(d, img, ox, oy) {
  1011.         //NS
  1012.         //This function finds the offset to an image regardless of its location in the document structure.
  1013.         //------------------------------
  1014.         //Version 1.0
  1015.         //
  1016.         var i;
  1017.         var tmp;
  1018.         
  1019.         if(d.left) {
  1020.             ox += d.left;
  1021.             oy += d.top;
  1022.         }
  1023.                 
  1024.         if(d.document.images[img]) return [ox, oy];
  1025.         
  1026.         for(i=0; i<d.document.layers.length; i++) {
  1027.             tmp = GetImgOffset(d.document.layers[i], img, ox, oy);
  1028.             if(tmp) return [tmp[0], tmp[1]];
  1029.         }        
  1030.         return null;
  1031.     }
  1032.     
  1033.     function AutoHide() {
  1034.         //IE,NS,SM,OP,KQ
  1035.         //This function hides the menus, even when a submenu is open and no
  1036.         //command has been selected.
  1037.         //------------------------------
  1038.         //Version 1.1
  1039.         //
  1040.         var original_nOM = nOM;
  1041.         var OktoClose = true;
  1042.         for(;nOM>0;nOM--)
  1043.             if(InMenu()) {
  1044.                 OktoClose = false;
  1045.                 break;
  1046.             }
  1047.         nOM = original_nOM;
  1048.         if(OktoClose&&!IsOverHS)
  1049.             Hide();
  1050.         
  1051.         if(nOM) if(!InMenu()) tmrHideHnd = window.setTimeout("AutoHide()", TimerHideDelay);
  1052.     }
  1053.     
  1054.     function ShowContextMenu(e) {
  1055.         //IE,NS,SM
  1056.         //This function is called when a user rightclicks on the document and it will show a predefined menu.
  1057.         //------------------------------
  1058.         //Version 1.3
  1059.         //
  1060.         if(cntxMenu!='') {
  1061.             if(IE) {
  1062.                 IsContext = true;
  1063.                 SetPointerPos(e);
  1064.             }            
  1065.             if(NS)
  1066.                 if(e.which==3) {
  1067.                     IsContext = true;
  1068.                     mX = e.x;
  1069.                     mY = e.y;
  1070.                 }
  1071.         }
  1072.         if(IsContext) {
  1073.             HideAll();
  1074.             cFrame.ShowMenu(cntxMenu, mX-1, mY-1, false);
  1075.             return false;
  1076.         }
  1077.         return true;
  1078.     }
  1079.  
  1080.     function SetUpEvents() {
  1081.         //IE,NS,SM,OP,KQ
  1082.         //This function initializes the frame variables and setups the event handling.
  1083.         //------------------------------
  1084.         //Version 2.5
  1085.         //
  1086.         if(!SM) onerror = errHandler;
  1087.         if(!mFrame) mFrame = cFrame;
  1088.         if(typeof(mFrame)=="undefined")
  1089.             window.setTimeout("SetUpEvents()",10);
  1090.         else {
  1091.             if(NS) {
  1092.                 mFrame.captureEvents(Event.MOUSEMOVE);
  1093.                 mFrame.onmousemove = HideMenus;
  1094.                 if(cntxMenu!="") {
  1095.                     mFrame.window.captureEvents(Event.MOUSEDOWN);
  1096.                     mFrame.window.onmousedown = ShowContextMenu;
  1097.                 }
  1098.                 nsOW = GetWidthHeight()[0];
  1099.                 nsOH = GetWidthHeight()[1];
  1100.                 window.onresize = rHnd;
  1101.                 PrepareEvents();
  1102.             }
  1103.             if(IE) {
  1104.                 document.onmousemove = HideMenus;
  1105.                 mFrame.document.onmousemove = document.onmousemove;
  1106.                 mFrame.document.oncontextmenu = ShowContextMenu;
  1107.                 if(SM&&!OP) {
  1108.                     var i = 0;
  1109.                     var m;
  1110.                     while(GetObj(i)) {
  1111.                         m = GetObj(i++);
  1112.                         m.style.width = parseInt(m.style.width) - 2*parseInt(m.style.paddingLeft) + "px";
  1113.                         m.style.height = parseInt(m.style.height) - 2*parseInt(m.style.paddingTop) + "px";
  1114.                     }
  1115.                 }
  1116.             }
  1117.             IsFrames = (cFrame!=mFrame);
  1118.             MenusReady = true;
  1119.             if(IE) FixImages();
  1120.         }
  1121.  
  1122.  
  1123.     }
  1124.     
  1125.     function errHandler(sMsg,sUrl,sLine) {
  1126.         //IE,NS
  1127.         //This function will trap any errors generated by the scripts and filter the unhandled ones.
  1128.         //------------------------------
  1129.         //Version 1.1
  1130.         //
  1131.         if(sMsg.substr(0,16)!="Access is denied"&&sMsg!="Permission denied"&&sMsg.indexOf("cursor")==-1)
  1132.             alert("Java Script Error\n" +
  1133.                   "\nDescription: " + sMsg +
  1134.                   "\nSource: " + sUrl +
  1135.                   "\nLine: "+sLine);
  1136.         return true;
  1137.     }
  1138.     
  1139.     function FixPos(p, s, r) {
  1140.         //IE,NS,SM,OP,KQ
  1141.         //This function optimizes the position of the menus in order to ensure that they are always
  1142.         //displayed inside the browser's visible area.
  1143.         //------------------------------
  1144.         //Version 1.0
  1145.         //
  1146.         var n = (p+s>r)?r-s:p;
  1147.         return (n<0)?0:n;
  1148.     }
  1149.     
  1150.     function FixPointSize(s) {
  1151.         //NS
  1152.         //This function increases the point-size value for Navigator 4.
  1153.         //------------------------------
  1154.         //Version 2.0
  1155.         //
  1156.         if(IsWin||!NS) return s;
  1157.         for(var i=54; i>1; i--)
  1158.             if(s.indexOf("point-size=" + i)!=-1)
  1159.                 s = xrep(s, "point-size=" + i, "point-size=" + (i+3));
  1160.         return s;
  1161.     }
  1162.     
  1163.     function ClearTimer(t) {
  1164.         //IE,NS,SM,OP,KQ
  1165.         //This is a helper function used to overcome a bug in very
  1166.         //old versions of Navigator 4
  1167.         //------------------------------
  1168.         //Version 1.0
  1169.         //
  1170.         if(t) window.clearTimeout(t);
  1171.     }
  1172.     
  1173.     function xrep(s, f, n) {
  1174.         //IE,NS,SM,OP,KQ
  1175.         //This function looks for any occurrence of the f string and replaces it with the n string.
  1176.         //------------------------------
  1177.         //Version 1.2
  1178.         //
  1179.         if(s) s = s.split(f).join(n);
  1180.         return s;
  1181.     }
  1182.     
  1183.     function rHnd() {
  1184.         //NS
  1185.         //This function is used to reload the page when Navigator window is resized.
  1186.         //Original Code from DHTML Lab
  1187.         //------------------------------
  1188.         //Version 1.0
  1189.         //
  1190.         if((GetWidthHeight()[0]!=nsOW) || (GetWidthHeight()[1]!=nsOH))
  1191.             frames["top"].location.reload();
  1192.     }
  1193.     
  1194.     function FixCursor(mcs, s) {
  1195.         //IE
  1196.         //This function fixes a bug that affects IE6 and custom cursors.
  1197.         //------------------------------
  1198.         //Version 1.0
  1199.         //
  1200.         if(mcs.cursor=="")
  1201.             mcs.cursor = (BV<6?"default":s.split("cursor: url(")[1].split(")")[0]);
  1202.     }
  1203.     
  1204.     function GetObj(oName, f) {
  1205.         //IE,NS,SM,OP,KQ
  1206.         //This function returns the object whose name is oName and its located in the f frame.
  1207.         //------------------------------
  1208.         //Version 1.0
  1209.         //
  1210.         var obj;
  1211.         if(!f) f = mFrame;
  1212.         if(NS)
  1213.             obj = f.document.layers[oName];
  1214.         else
  1215.             if(BV>=5)
  1216.                 obj = f.document.getElementById(oName);
  1217.             else
  1218.                 obj = f.document.all[oName];
  1219.         return obj;
  1220.     }
  1221.  
  1222.     function PrepareEvents() {
  1223.         //NS
  1224.         //This function is called right after the menus are rendered.
  1225.         //It has been designed to attach the event handlers to the <layer> tag and
  1226.         //fix the font size problems with Navigator under the Mac and Linux.
  1227.         //------------------------------
  1228.         //Version 4.1
  1229.         //
  1230.         for(var l=0; l<mFrame.document.layers.length; l++) {
  1231.             var lo = mFrame.document.layers[l];
  1232.             if(lo.layers.length) {
  1233.                 lo.w = lo.clip.width;
  1234.                 lo.h = lo.clip.height;
  1235.                 for(var sx=0; sx<lo.layers.length; sx++)
  1236.                     for(var sl=0; sl<lo.layers[sx].layers.length; sl++) {
  1237.                         var slo = mFrame.document.layers[l].layers[sx].layers[sl];
  1238.                         if(slo.name.indexOf("EH")>0) {
  1239.                             slo.document.onmouseup = hNSCClick;
  1240.                             slo.document.TCode = nTCode[slo.name.split("EH")[1]];
  1241.                         }
  1242.                     }
  1243.  
  1244.             }
  1245.         }
  1246.     }
  1247.     
  1248.  
  1249.  
  1250.     if(IE)
  1251.         with(document) {
  1252.             open();
  1253.             write(xrep("<div id=\"grpProducts\" style=\"position: absolute; top:0px; left:0px;; width:121px; height:79px; z-index: 1000; visibility: hidden\"><div id=\"grpProductsfrmt\" style=\"position: absolute; top:0px; left:0px; width: 121px; height: 79px; background-color: #FFC840; ; border-left: #804040 2px solid ; border-right: #804040 2px solid ; border-top: #804040 2px solid ; border-bottom: #804040 2px solid ;\"><div nowrap style=\"position: absolute; white-space: nowrap;; top: 2px; left: 2px; width: 113px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=0 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'ComputersRImg\',this);status=\'Computers\';cFrame.ShowMenu(\'grpComputers\', 0, 0, true, \'\', 6);\"><span style=\"position:absolute; top: 5px; left: 9px; width: 95px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:76px; left:0px;\" align=left>Computers</div><span style=\"position:absolute; top:0px; left:85px;\"><img name=ComputersRImg src=\"%%REL%%black_arrow.gif\" width=10 height=10></span></span></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 24px; left: 2px; width: 113px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=1 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'AccessoriesRImg\',this);status=\'Accessories\';cFrame.ShowMenu(\'grpAccessories\', 0, 0, true, \'\', 6);\"><span style=\"position:absolute; top: 5px; left: 9px; width: 95px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:76px; left:0px;\" align=left>Accessories</div><span style=\"position:absolute; top:0px; left:85px;\"><img name=AccessoriesRImg src=\"%%REL%%black_arrow.gif\" width=10 height=10></span></span></div><div style=\"position: absolute; top: 46px; left: 2px; width: 113px; height: 5px;\"><div style=\"position:absolute; top:2px; left:11px; width:90px; height:1px; overflow:hidden; background-color:#000000\"></div></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 52px; left: 2px; width: 113px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=2 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Catalog Index\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 95px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:95px; left:0px;\" align=left>Catalog Index</div></span></div></div></div><div id=\"grpComputers\" style=\"position: absolute; top:0px; left:0px;; width:165px; height:86px; z-index: 1000; visibility: hidden\"><div id=\"grpComputersfrmt\" style=\"position: absolute; top:0px; left:0px; width: 165px; height: 86px; background-color: #FFC840; ; border-left: #804040 2px solid ; border-right: #804040 2px solid ; border-top: #804040 2px solid ; border-bottom: #804040 2px solid ;\"><div nowrap style=\"position: absolute; white-space: nowrap;; top: 2px; left: 2px; width: 157px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=3 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'High Performance\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 139px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:139px; left:0px;\" align=left>High Performance</div></span></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 24px; left: 2px; width: 157px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=4 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Gaming Systems\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 139px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:139px; left:0px;\" align=left>Gaming Systems</div></span></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 46px; left: 2px; width: 157px; height: 34px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=5 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Computers for the Home<br>Desktop Systems\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 139px; height: 24px;\"><div style=\"position:absolute; top:-1px; width:139px; left:0px;\" align=left>Computers for the Home<br>Desktop Systems</div></span></div></div></div><div id=\"grpAccessories\" style=\"position: absolute; top:0px; left:0px;; width:90px; height:95px; z-index: 1000; visibility: hidden\"><div id=\"grpAccessoriesfrmt\" style=\"position: absolute; top:0px; left:0px; width: 90px; height: 95px; background-color: #FFC840; ; border-left: #804040 2px solid ; border-right: #804040 2px solid ; border-top: #804040 2px solid ; border-bottom: #804040 2px solid ;\"><div nowrap style=\"position: absolute; white-space: nowrap;; top: 2px; left: 2px; width: 82px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=6 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Cables\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 64px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:64px; left:0px;\" align=left>Cables</div></span></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 24px; left: 2px; width: 82px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=7 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Adapters\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 64px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:64px; left:0px;\" align=left>Adapters</div></span></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 46px; left: 2px; width: 82px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=8 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Connectors\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 64px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:64px; left:0px;\" align=left>Connectors</div></span></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 68px; left: 2px; width: 82px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=9 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Batteries\';\"><span style=\"position:absolute; top: 5px; left: 9px; width: 64px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:64px; left:0px;\" align=left>Batteries</div></span></div></div></div><div id=\"grpLinks\" style=\"position: absolute; top:0px; left:0px;; width:120px; height:51px; z-index: 1000; visibility: hidden\"><div id=\"grpLinksfrmt\" style=\"position: absolute; top:0px; left:0px; width: 120px; height: 51px; background-color: #FFC840; ; border-left: #804040 2px solid ; border-right: #804040 2px solid ; border-top: #804040 2px solid ; border-bottom: #804040 2px solid ;\"><div nowrap style=\"position: absolute; white-space: nowrap;; top: 2px; left: 2px; width: 112px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=10 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'Search the Web\';\" OnClick=\"cFrame.execURL(\'http://www.google.com\', \'this\');\"><span style=\"position:absolute; top: 5px; left: 9px; width: 94px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:94px; left:0px;\" align=left>Search the Web</div></span></div><div nowrap style=\"position: absolute; white-space: nowrap;; top: 24px; left: 2px; width: 112px; height: 21px; font-family: Tahoma; font-size: 11px; font-weight: bold; font-style: normal; text-decoration: none; color: #000000; background-color: #FFC840; cursor: default;\" id=11 OnMouseOver=\"cFrame.HoverSel(0,\'\',\'\',this);status=\'xFX JumpStart<sup>«</sup>\';\" OnClick=\"cFrame.HideAll();dmbNW=window.open(cFrame._purl(\'http://software.xfx.net\'),\'NewWindow\',\'left=80,top=80,width=600,height=400,directories=0,channelmode=0,toolbar=0,fullscreen=0,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=1\');dmbNW.focus();if(cFrame.IsFrames)mFrame.location.reload();\"><span style=\"position:absolute; top: 5px; left: 9px; width: 94px; height: 11px;\"><div style=\"position:absolute; top:-1px; width:94px; left:0px;\" align=left>xFX JumpStart<sup>«</sup></div></span></div></div></div>", '%' + '%REL%%', rimPath));
  1254.             close();
  1255.         }
  1256.     if(NS)
  1257.         with(document) {
  1258.             open();
  1259.             write(xrep(FixPointSize("<layer name=grpProducts top=0 left=0 width=121 height=79 z-index=1000 bgColor=#804040 visibility=hidden><layer bgColor=#FFC840 left=2 top=2 width=117 height=75 z-index=1001><layer name=MC1EH1 left=2 top=2 width=113 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Computers\';cFrame.ShowMenu(\'grpComputers\', 0, 0, true, \'\', 6);\"></layer><layer name=MC1N left=2 top=2 width=113 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=95 height=13><layer top=0 width=76 left=0><div align=left>Computers</div></layer><layer top=2 left=85><img name=ComputersRImg src=\"%%REL%%black_arrow.gif\" width=10 height=10></layer></layer></font></b></ilayer></layer><layer name=MC1O left=2 top=2 width=113 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=95 height=13><layer top=0 width=76 left=0><div align=left>Computers</div></layer><layer top=2 left=85><img name=ComputersRImg src=\"%%REL%%white_arrow.gif\" width=10 height=10></layer></layer></font></b></ilayer></layer><layer name=MC2EH2 left=2 top=24 width=113 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Accessories\';cFrame.ShowMenu(\'grpAccessories\', 0, 0, true, \'\', 6);\"></layer><layer name=MC2N left=2 top=24 width=113 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=95 height=13><layer top=0 width=76 left=0><div align=left>Accessories</div></layer><layer top=2 left=85><img name=AccessoriesRImg src=\"%%REL%%black_arrow.gif\" width=10 height=10></layer></layer></font></b></ilayer></layer><layer name=MC2O left=2 top=24 width=113 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=95 height=13><layer top=0 width=76 left=0><div align=left>Accessories</div></layer><layer top=2 left=85><img name=AccessoriesRImg src=\"%%REL%%white_arrow.gif\" width=10 height=10></layer></layer></font></b></ilayer></layer><layer left=2 top=46 width=109 height=7 z-index=1002><layer left=11 top=2 width=87 height=1 bgcolor=#000000></layer></layer><layer name=MC4EH4 left=2 top=52 width=113 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Catalog Index\';\"></layer><layer name=MC4N left=2 top=52 width=113 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=95 height=13><layer top=0 width=95 left=0><div align=left>Catalog Index</div></layer></layer></font></b></ilayer></layer><layer name=MC4O left=2 top=52 width=113 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=95 height=13><layer top=0 width=95 left=0><div align=left>Catalog Index</div></layer></layer></font></b></ilayer></layer></layer></layer><layer name=grpComputers top=0 left=0 width=165 height=86 z-index=1000 bgColor=#804040 visibility=hidden><layer bgColor=#FFC840 left=2 top=2 width=161 height=82 z-index=1001><layer name=MC5EH5 left=2 top=2 width=157 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'High Performance\';\"></layer><layer name=MC5N left=2 top=2 width=157 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=139 height=13><layer top=0 width=139 left=0><div align=left>High Performance</div></layer></layer></font></b></ilayer></layer><layer name=MC5O left=2 top=2 width=157 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=139 height=13><layer top=0 width=139 left=0><div align=left>High Performance</div></layer></layer></font></b></ilayer></layer><layer name=MC6EH6 left=2 top=24 width=157 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Gaming Systems\';\"></layer><layer name=MC6N left=2 top=24 width=157 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=139 height=13><layer top=0 width=139 left=0><div align=left>Gaming Systems</div></layer></layer></font></b></ilayer></layer><layer name=MC6O left=2 top=24 width=157 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=139 height=13><layer top=0 width=139 left=0><div align=left>Gaming Systems</div></layer></layer></font></b></ilayer></layer><layer name=MC7EH7 left=2 top=46 width=157 height=34 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Computers for the Home<br>Desktop Systems\';\"></layer><layer name=MC7N left=2 top=46 width=157 height=34 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=139 height=26><layer top=0 width=139 left=0><div align=left>Computers for the Home<br>Desktop Systems</div></layer></layer></font></b></ilayer></layer><layer name=MC7O left=2 top=46 width=157 height=34 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=139 height=26><layer top=0 width=139 left=0><div align=left>Computers for the Home<br>Desktop Systems</div></layer></layer></font></b></ilayer></layer></layer></layer><layer name=grpAccessories top=0 left=0 width=90 height=95 z-index=1000 bgColor=#804040 visibility=hidden><layer bgColor=#FFC840 left=2 top=2 width=86 height=91 z-index=1001><layer name=MC8EH8 left=2 top=2 width=82 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Cables\';\"></layer><layer name=MC8N left=2 top=2 width=82 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Cables</div></layer></layer></font></b></ilayer></layer><layer name=MC8O left=2 top=2 width=82 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Cables</div></layer></layer></font></b></ilayer></layer><layer name=MC9EH9 left=2 top=24 width=82 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Adapters\';\"></layer><layer name=MC9N left=2 top=24 width=82 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Adapters</div></layer></layer></font></b></ilayer></layer><layer name=MC9O left=2 top=24 width=82 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Adapters</div></layer></layer></font></b></ilayer></layer><layer name=MC10EH10 left=2 top=46 width=82 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Connectors\';\"></layer><layer name=MC10N left=2 top=46 width=82 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Connectors</div></layer></layer></font></b></ilayer></layer><layer name=MC10O left=2 top=46 width=82 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Connectors</div></layer></layer></font></b></ilayer></layer><layer name=MC11EH11 left=2 top=68 width=82 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Batteries\';\"></layer><layer name=MC11N left=2 top=68 width=82 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Batteries</div></layer></layer></font></b></ilayer></layer><layer name=MC11O left=2 top=68 width=82 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=64 height=13><layer top=0 width=64 left=0><div align=left>Batteries</div></layer></layer></font></b></ilayer></layer></layer></layer><layer name=grpLinks top=0 left=0 width=120 height=51 z-index=1000 bgColor=#804040 visibility=hidden><layer bgColor=#FFC840 left=2 top=2 width=116 height=47 z-index=1001><layer name=MC12EH12 left=2 top=2 width=112 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'Search the Web\';\"></layer><layer name=MC12N left=2 top=2 width=112 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=94 height=13><layer top=0 width=94 left=0><div align=left>Search the Web</div></layer></layer></font></b></ilayer></layer><layer name=MC12O left=2 top=2 width=112 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=94 height=13><layer top=0 width=94 left=0><div align=left>Search the Web</div></layer></layer></font></b></ilayer></layer><layer name=MC13EH13 left=2 top=24 width=112 height=21 z-index=1003 OnMouseOver=\"cFrame.NSHoverSel(0,this);status=\'xFX JumpStart<sup>«</sup>\';\"></layer><layer name=MC13N left=2 top=24 width=112 height=21 z-index=1002 bgColor=#FFC840><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#000000><layer left=1 top=0 width=94 height=13><layer top=0 width=94 left=0><div align=left>xFX JumpStart<sup>«</sup></div></layer></layer></font></b></ilayer></layer><layer name=MC13O left=2 top=24 width=112 height=21 z-index=1002 bgColor=#804040 visibility=hide><ilayer left=8 top=4><b><font face=Tahoma point-size=8 color=#FFFFFF><layer left=1 top=0 width=94 height=13><layer top=0 width=94 left=0><div align=left>xFX JumpStart<sup>«</sup></div></layer></layer></font></b></ilayer></layer></layer></layer>"), '%' + '%REL%%', rimPath));
  1260.             close();
  1261.         }
  1262. SetUpEvents();
  1263.  
  1264.