////////////////////////////////////////////////// // DMB DHTML ENGINE 1.1.28 // // (c)xFX JumpStart // // // // PSN: 1DB7-110064-XFX-2230 // // // // GENERATED: 4/4/2002 - 7:09:00 PM // // -------------------------------------------- // // Config: Local // // AddIn: // // JS Name: menu // ////////////////////////////////////////////////// if ( typeof(ztel_assets) == "undefined" ) ztel_assets = 'https://purchase.z-tel.com/portal/cms/ztel/assets'; ztel_path = 'http://www.z-tel.com/portal/ztel'; if ( typeof(ztel_ordering_path) == "undefined" ) ztel_path = 'http://www.z-tel.com/portal/ztel'; //var nStyle = new Array; var hStyle = new Array; var nLayer = new Array; var hLayer = new Array; var nTCode = new Array; var AnimStep = 0; var AnimHnd = 0; var HTHnd = new Array; var DoFormsTweak = true; var MenusReady = false; var SelSndId = 0; var frameSelf = 'frames["self"]'; var nsOW; var nsOH; var mFrame; var cFrame; var OpenMenus = new Array; var nOM = 0; var mX; var mY; var HideSpeed = 300; var TimerHideDelay = 2000; var TimerHideHnd = 0; var cntxMenu = ''; var IsOverHS = false; var IsContext = false; var IsFrames = false; var BV=parseFloat(navigator.appVersion.indexOf("MSIE")>0?navigator.appVersion.split(";")[1].substr(6):navigator.appVersion); var BN=navigator.appName; var IsWin=(navigator.userAgent.indexOf('Win')!=-1); var IsMac=(navigator.userAgent.indexOf('Mac')!=-1); var OP=(navigator.userAgent.indexOf('Opera')!=-1&&BV>=4)?true:false; var NS=(BN.indexOf('Netscape')!=-1&&(BV>=4&&BV<5)&&!OP)?true:false; var SM=(BN.indexOf('Netscape')!=-1&&(BV>=5)||OP)?true:false; var IE=(BN.indexOf('Explorer')!=-1&&(BV>=4)||SM)?true:false; //alert( NS + "," + SM + "," + IE + "\n" + OP + "\n" + IsWin + "\n" + BV + "\n" + BN ); if(!eval(frames['self'])) { frames.self = window; frames.top = top; } cFrame = eval(frames['self']); var fx = 0; var tbUseToolbar = false; var lmcHS = null; function GetCurCmd(e) { //IE,SM,OP //This function will return the current command under the mouse pointer. //It will return null if the mouse is not over any command. //------------------------------ //Version 1.5 // if(SM) var cc = e; else { var cc = mFrame.window.event; if(!cc) cc = cFrame.window.event; cc = cc.srcElement; } while(cc.id=="") { cc = cc.parentElement; if(cc==null) break; } return cc; } function HoverSel(mode, imgLName, imgRName, e) { //IE,SM,OP //This is the function called every time the mouse pointer is moved over a command. //------------------------------ //mode: 0 if the mouse is moving over the command and 1 if is moving away. //imgLName: Name of the left image object, if any. //imgRName: Name of the right image object, if any. //------------------------------ //Version 16.0 // var imgLRsc = new Image; var imgRRsc = new Image; var nStyle; var mc; if(mode==0 && OpenMenus[nOM] && OpenMenus[nOM].SelCommand!=null) HoverSel(1); if(mode==0) { mc = GetCurCmd(e); if(nOM>1) { if(mc==OpenMenus[nOM-1].SelCommand) return false; while(((BV>=5)?mc.parentNode.parentNode.id!=OpenMenus[nOM].mName:mc.parentElement.parentElement.id!=OpenMenus[nOM].mName)) Hide(); } if(imgLName!='_') imgLRsc = eval(imgLName+"On"); if(imgRName!='_') imgRRsc = eval(imgRName+"On"); if(OP) mc.opw = OpenMenus[nOM].width - 2*mc.style.left; else { mc.opw = mc.style.width; mc.b = mc.style.borderLeft; mc.hasBorder = mc.b.split(" ").length>1; } OpenMenus[nOM].SelCommand = mc; OpenMenus[nOM].SelCommandPar = [imgLName,imgRName,SM?mc.getAttribute("style"):mc.style.cssText]; if(SM) { IsOverHS = false; mc.setAttribute("style", GetCStyle(mc.style) + xrep(hStyle[mc.id],"hand","pointer")); } else mc.style.cssText = GetCStyle(mc.style) + hStyle[mc.id]; if(SelSndId) PlaySound(); } else { mc = (mode==1)?OpenMenus[nOM].SelCommand:OpenMenus[nOM].Opener; imgLName = (mode==1)?OpenMenus[nOM].SelCommandPar[0]:OpenMenus[nOM].OpenerPar[0]; imgRName = (mode==1)?OpenMenus[nOM].SelCommandPar[1]:OpenMenus[nOM].OpenerPar[1]; nStyle = (mode==1)?OpenMenus[nOM].SelCommandPar[2]:OpenMenus[nOM].OpenerPar[2]; mc.style.background = ""; if(IsMac) mc.style.border = "0px none"; if(SM) mc.setAttribute("style", nStyle); else mc.style.cssText = ((BV<5)?GetCStyle(mc.style):"") + nStyle; if(imgLName!='_') imgLRsc = eval(imgLName+"Off"); if(imgRName!='_') imgRRsc = eval(imgRName+"Off"); OpenMenus[nOM].SelCommand = null; } if(imgLName!='_') mFrame.document.images[imgLName].src = imgLRsc.src; if(imgRName!='_') mFrame.document.images[imgRName].src = imgRRsc.src; if(!OP) FixHover(mc, mode); return true; } function FixHover(mc, mode) { //IE,SM //This function fixes the position of the commands' contents when using special highlighting effects. //------------------------------ //Version 2.1 // var hasBorder; var bw; if(mode==0) { if(BV>=5) s = mc.getElementsByTagName("SPAN")[0]; else s = mc.document.all.tags("SPAN")[0]; mc.s = s; mc.stop = s.style.top; mc.sleft = s.style.left; hasBorder = mc.style.borderLeft.split(" ").length>1; if(hasBorder != mc.hasBorder) { bw = (hasBorder?-GetBorderWidth(mc.style.borderLeft):GetBorderWidth(mc.b)); s.style.left = parseInt(s.style.left) + bw + "px"; s.style.top = parseInt(s.style.top) + bw + "px"; if(SM) { mc.cwidth = mc.style.width; mc.cheight = mc.style.height; mc.style.width = parseInt(mc.style.width) + 2*bw + "px"; mc.style.height = parseInt(mc.style.height) + 2*bw + "px"; } } } else { mc.s.style.top = mc.stop; mc.s.style.left = mc.sleft; if(SM) { mc.style.width = mc.cwidth; mc.style.height = mc.cheight; } } } function NSHoverSel(mode, mc, bcolor) { //NS //This is the function called every time the mouse pointer is moved over or away from a command. //------------------------------ //mode: 0 if the mouse is moving over the command and 1 if is moving away. //mc: Name of the layer that corresponds to the selected command. //n: Unique ID that identifies this command. Used to retrieve the data from the nLayer or hLayer array. //bcolor:Background color of the command. Ignored if the group uses a background image. //w: Width of the command's layer. //h: Height of the command's layer. //------------------------------ //Version 12.0 // var n; var ocw; var och; var LayerHTML; ClearTimer(parseInt(HTHnd[nOM],10));HTHnd[nOM] = 0; if(!nOM) return false; if(mode==0 && OpenMenus[nOM].SelCommand!=null) NSHoverSel(1); if(mode==0) { mc = mc.parentLayer.layers[mc.name.substr(0, mc.name.indexOf("EH"))]; n = parseInt(mc.name.substr(2),10); if(nOM>1) if(mc==OpenMenus[nOM-1].SelCommand) return false; while(!InMenu()&&nOM>1) Hide(); LayerHTML = hLayer[n]; OpenMenus[nOM].SelCommand = mc; OpenMenus[nOM].SelCommandPar = mc.bgColor; mc.bgColor = (LayerHTML.split("|")[1]!="")?null:bcolor; if(SelSndId) PlaySound(); } else { mc = (mode==1)?OpenMenus[nOM].SelCommand:OpenMenus[nOM].Opener; bcolor = (mode==1)?OpenMenus[nOM].SelCommandPar:OpenMenus[nOM].OpenerPar; n = parseInt(mc.name.substr(2),10); LayerHTML = nLayer[n]; mc.bgColor = (mc.parentLayer.background.src!="" || LayerHTML.split("|")[1]!="")?null:bcolor; OpenMenus[nOM].SelCommand = null; } ocw = mc.clip.width; och = mc.clip.height; mc.document.write(LayerHTML.split("|")[0]); mc.document.close(); mc.clip.width = ocw; mc.clip.height = och; if(LayerHTML.split("|")[1]!="") mc.background.src = LayerHTML.split("|")[1]; return true; } function Hide() { //IE,NS,SM,OP //This function hides the last opened group and it keeps hiding all the groups until //no more groups are opened or the mouse is over one of them. //Also takes care of reseting any highlighted commands. //------------------------------ //Version 4.5 // ClearTimer(HTHnd[nOM]);HTHnd[nOM] = 0; ClearTimer(AnimHnd);AnimHnd = 0; ClearTimer(TimerHideHnd); if(OpenMenus[nOM].SelCommand!=null) { if(IE) HoverSel(1); if(NS) NSHoverSel(1); } if(OpenMenus[nOM].Opener!=null) { if(IE) HoverSel(3); if(NS) NSHoverSel(3); } OpenMenus[nOM].visibility = "hidden"; nOM--; if(nOM==0) { if(tbUseToolbar && lmcHS) { if(IE) hsHoverSel(1); if(NS) hsNSHoverSel(1); } FormsTweak("visible"); status = ""; } else if(!InMenu()) HTHnd[nOM] = window.setTimeout("Hide()", HideSpeed/4); } function ShowMenu(mName, x, y, isCascading, hsImgName, algn) { //IE,NS,SM,OP //This is the main function to show the menus when a hotspot is triggered or a cascading command is activated. //------------------------------ //mName: Name of the
or to be shown. //x: Left position of the menu. //y: Top position of the menu. //isCascading: True if the menu has been triggered from a command. //hsImgName: Image to which the menu is attached to. //algn: Alignment setting for the menu. //------------------------------ //Version 16.1 // ClearTimer(parseInt(HTHnd[nOM],10));HTHnd[nOM] = 0; x = parseInt(x);y = parseInt(y); if(IE) if(BV>=5) var Menu = mFrame.document.getElementById(mName); else var Menu = mFrame.document.all[mName]; if(NS) var Menu = mFrame.document.layers[mName]; if(!Menu) return false; if(IE) { Menu = Menu.style; if(BV>=5) Menu.frmt = mFrame.document.getElementById(mName+"frmt").style; else Menu.frmt = mFrame.document.all[mName+"frmt"].style; } if(nOM>0) if(OpenMenus[1].mName == mName && !isCascading) { IsOverHS = true; return false; } if(Menu==OpenMenus[nOM]) return false; if(AnimHnd && nOM>0) { AnimStep=100; Animate(); } if(!isCascading) { var oldlmcHS = lmcHS; lmcHS = null; HideAll(); lmcHS = oldlmcHS; } Menu.mName = mName; Menu.Opener = nOM>0?OpenMenus[nOM].SelCommand:null; Menu.OpenerPar = nOM>0?OpenMenus[nOM].SelCommandPar:null; Menu.SelCommand = null; if(OP) { Menu.width = Menu.pixelWidth; Menu.height = Menu.pixelHeight; } if(!isCascading) { if(hsImgName) { var imgObj = cFrame.document.images[hsImgName.split("|")[0]]; if(imgObj) { var tbMode = hsImgName.split("|")[1]; if(tbMode&2) x = AutoPos(Menu, imgObj, algn)[0] + (IsFrames?GetLeftTop()[0]:0); if(tbMode&1) y = AutoPos(Menu, imgObj, algn)[1] + (IsFrames?GetLeftTop()[1]:0); } } } var pW = GetWidthHeight()[0] + GetLeftTop()[0]; var pH = GetWidthHeight()[1] + GetLeftTop()[1]; if(IE) { if(SM) Menu.display = "none"; if(isCascading) { x = parseInt(OpenMenus[nOM].left) + (x>0?2:1)*parseInt(OpenMenus[nOM].SelCommand.style.left) + (x>0?parseInt(OpenMenus[nOM].SelCommand.opw):0) - 6 + Math.abs(x); y = parseInt(OpenMenus[nOM].SelCommand.style.top) + parseInt(OpenMenus[nOM].top) - y; Menu.left = ((x+parseInt(Menu.width)>pW)?parseInt(OpenMenus[nOM].left) - parseInt(Menu.width) + 6:x) + "px"; Menu.top = ((y+parseInt(Menu.height)>pH)?pH - parseInt(Menu.height):y) + (OP?"":"px"); } else { Menu.left = ((x+parseInt(Menu.width)>pW)?pW - parseInt(Menu.width):x) + "px"; Menu.top = ((y+parseInt(Menu.height)>pH)?pH - parseInt(Menu.height):y) + (OP?"":"px"); } if(IsWin&&!SM) Menu.clip = "rect(0 0 0 0)"; } if(NS) { if(isCascading) { x = OpenMenus[nOM].left + (x>0?2:1)*OpenMenus[nOM].SelCommand.left + (x>0?OpenMenus[nOM].SelCommand.clip.width:0) - 6 + Math.abs(x); y = OpenMenus[nOM].SelCommand.top + OpenMenus[nOM].top - y; x = (x+Menu.w>pW)?OpenMenus[nOM].left - Menu.w + 6:x; y = (y+Menu.h>pH)?pH - Menu.h:y; } else { x = (x+Menu.w>pW)?pW - Menu.w:x; y = (y+Menu.h>pH)?pH - Menu.h:y; } Menu.clip.width = 0; Menu.clip.height = 0; Menu.moveToAbsolute(x,y); } if(isCascading) Menu.zIndex = parseInt(OpenMenus[nOM].zIndex) + 1; OpenMenus[++nOM] = Menu; if(NS) FillCommands(); if(SM&&!OP) FixCommands(mName); if(SM) Menu.display = "inline"; Menu.visibility = "visible"; HTHnd[nOM] = 0; if((IE&&IsWin&&!SM)||NS) AnimHnd = window.setTimeout("Animate()", 10); FormsTweak("hidden"); if(!isCascading&&!IsContext) IsOverHS = true; IsContext = false; ClearTimer(TimerHideHnd); TimerHideHnd = window.setTimeout("AutoHide()", TimerHideDelay); if(SelSndId) PlaySound(); return true; } function FixCommands(mName) { //SM //This function is used to fix the way the Gecko engine calculates //the borders and the way they affect the size of divs //------------------------------ //Version 1.7 // var m = mFrame.document.getElementById(mName); if(!m.Fixed) { var sd = m.getElementsByTagName("DIV"); var b = GetBorderWidth(sd[0].style.borderLeft); sd[0].style.width = parseInt(sd[0].style.width) - 2*b + "px"; sd[0].style.height = parseInt(sd[0].style.height) - 2*b + "px"; for(i=1;i<(sd.length);i++) { if(sd[i].style.borderLeft.indexOf("none")==-1) { sd[i].style.width = parseInt(sd[i].style.width) - 2*GetBorderWidth(sd[i].style.borderLeft) + "px"; sd[i].style.height = parseInt(sd[i].style.height) - 2*GetBorderWidth(sd[i].style.borderTop) + "px"; } } } m.Fixed = true; } function FillCommands() { //NS //This function is used to avoid having the same declaration for the normal //state of the commands //------------------------------ //Version 1.6 // var n; var ocw; var och; if(!OpenMenus[nOM].Filled) { var m = OpenMenus[nOM]; for(var sl=0,ml=m.layers.length; sl0) { m = m.layers[sl]; break; } for(var sl=0,ml=(m.layers.length-1); sl=l && mX<=r) && (mY>=t && mY<=b)) || IsOverHS; } function SetPointerPos(e) { //IE,NS,SM,OP //This function sets the mX and mY variables with the current position of the mouse pointer. //------------------------------ //e: Only used under Navigator, corresponds to the Event object. //------------------------------ //Version 1.6 // if(IE) { if(!SM) { if(mFrame!=cFrame||event==null) if(mFrame.window.event==null) return; else e = mFrame.window.event; else e = event; } mX = e.clientX + GetLeftTop()[0];my = e.clientY + GetLeftTop()[1]; } if(NS) { mX = e.pageX;my = e.pageY; } } function HideMenus(e) { //IE,NS,SM,OP //This function checks if the mouse pointer is on a valid position and if the current menu should be kept visible. //The function is called every time the mouse pointer is moved over the document area. //------------------------------ //e: Only used under Navigator, corresponds to the Event object. //------------------------------ //Version 25.1 // if(nOM>0) { SetPointerPos(e); if(OpenMenus[nOM].SelCommand!=null) if(!InMenu()&&!HTHnd[nOM]) HTHnd[nOM] = window.setTimeout("if(nOM>0)if(!InMenu())Hide()", HideSpeed); } } function FormsTweak(state) { //IE,SM,OP //This is an undocumented function, which can be used to hide every listbox (or combo) element on a page. //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. //------------------------------ //Version 2.0 // if(DoFormsTweak && IE) for(var f=0,n1=(mFrame.document.forms.length-1); f0) Hide(); } function GetLeftTop(f) { //IE,NS,SM,OP //This function returns the scroll bars position on the menus frame. //------------------------------ //Version 2.2 // if(!f) f = mFrame; if(IE) if(SM) return [OP?0:f.scrollX,OP?0:f.scrollY]; else if(f.document.body) return [f.document.body.scrollLeft,mFrame.document.body.scrollTop]; else return [0, 0]; if(NS) return [f.pageXOffset,f.pageYOffset]; } function tHideAll() { //IE,NS,SM,OP //This function is called when the mouse is moved away from a hotspot to close any opened menu. //------------------------------ //Version 1.2 // IsOverHS = false; HTHnd[nOM] = window.setTimeout("if(!InMenu()&&nOM==1)HideAll(); else HTHnd[nOM]=0;", HideSpeed); } function GetWidthHeight(f) { //IE,NS,SM,OP //This function returns the width and height of the menus frame. //------------------------------ //Version 2.1 // if(!f) f = mFrame; if(IE&&!SM) return [f.document.body.clientWidth,f.document.body.clientHeight]; if(NS||SM) return [f.innerWidth,f.innerHeight]; } function GetBorderWidth(b) { //IE,SM,SM,OP //This functions returns the width of a border //------------------------------ //Version 1.1 // if(OP) return 0; var w; var l = b.split(" "); for(var i=0; i0) return w; } return 0; } function GetCStyle(cmc) { //IE,SM,OP //This function completes the style of command with all the common //parameters from the original style code. //------------------------------ //Version 1.0 // return "position:absolute; left:" + cmc.left + "; top:" + cmc.top + "; width:" + (OP?cmc.pixelWidth:cmc.width) + "; height:" + (OP?cmc.pixelHeight:cmc.height) + "; "; } function AutoPos(Menu, imgObj, arAlignment) { //IE,NS,SM,OP //This function finds the image-based hotspot and returns the position at which //the menu should be displayed based on the alignment setting. //------------------------------ //Version 1.1 // var x = GetImgXY(imgObj)[0]; var y = GetImgXY(imgObj)[1]; var mW = parseInt(NS?Menu.w:Menu.width); var mH = parseInt(NS?Menu.h:Menu.height); switch(arAlignment) { case 0: y += GetImgWH(imgObj)[1]; break; case 1: x += GetImgWH(imgObj)[0] - mW; y += GetImgWH(imgObj)[1]; break; case 2: y -= mH; break; case 3: x += GetImgWH(imgObj)[0] - mW; y -= mH; break; case 4: x -= mW; break; case 5: x -= mW; y -= mH - GetImgWH(imgObj)[1]; break; case 6: x += GetImgWH(imgObj)[0]; break; case 7: x += GetImgWH(imgObj)[0]; y -= mH - GetImgWH(imgObj)[1]; break; } return [x, y]; } function GetImgXY(imgObj) { //IE,NS,SM,OP //This function returns the x,y coordinates of an image. //------------------------------ //Version 1.1 // var x; var y; if(IE) { x = getOffset(imgObj)[0]; y = getOffset(imgObj)[1]; } else { x = imgObj.x; y = imgObj.y; } return [x, y]; } function GetImgWH(imgObj) { //IE,NS,SM,OP //This function returns the width and height of an image. //------------------------------ //Version 1.1 // return [parseInt(imgObj.width), parseInt(imgObj.height)]; } function getOffset(imgObj) { //IE,NS,SM,OP //This function returns the horizontal and vertical offset of an object. //------------------------------ //Version 1.0 // x = imgObj.offsetLeft; y = imgObj.offsetTop; ce =imgObj.offsetParent; while (ce!=null) { y += ce.offsetTop; x += ce.offsetLeft; ce = ce.offsetParent; } return [x,y]; } function AutoHide() { //IE,NS,SM,OP //This function hides the menus, even when a submenu is open and no //command has been selected. //------------------------------ //Version 1.1 // var original_nOM = nOM; var OktoClose = true; for(;nOM>0;nOM--) if(InMenu()) { OktoClose = false; break; } nOM = original_nOM; if(OktoClose&&!IsOverHS) HideAll(); TimerHideHnd = window.setTimeout("AutoHide()", TimerHideDelay); } function PlaySound() { //IE,NS //This function plays the embeded sound referenced by SelSndId. //WARNING: This function is under development //------------------------------ //Version 1.0 // if(IsWin&&!SM&&(IE&&BV>=5||NS)) { var s = mFrame.document.embeds["Snd" + SelSndId]; if(s) s.play(); } SelSndId = 0; } function ShowContextMenu(e) { //IE,NS //This function is called when a user rightclicks on the document and it will show a predefined menu. //------------------------------ //Version 1.2 // if(cntxMenu!='') { if(IE) { SetPointerPos(e); IsContext = true; cFrame.ShowMenu(cntxMenu, mX-1, mY-1, false); return false; } if(NS) if(e.which==3) { IsContext = true; cFrame.ShowMenu(cntxMenu, e.x-1, e.y-1, false); return false; } } return true; } function SetUpEvents() { //IE,NS,SM,OP //This function initializes the frame variables and setups the event handling. //------------------------------ //Version 2.1 // if(!SM) onerror = errHandler; if(typeof(mFrame)=="undefined") mFrame = eval(frames['self']); if(typeof(mFrame)=="undefined") { window.setTimeout("SetUpEvents()",10); } else { if(NS) { mFrame.captureEvents(Event.MOUSEMOVE); mFrame.onmousemove = HideMenus; if(cntxMenu!="") { mFrame.window.captureEvents(Event.MOUSEDOWN); mFrame.window.onmousedown = ShowContextMenu; } nsOW = GetWidthHeight()[0]; nsOH = GetWidthHeight()[1]; window.onresize = rHnd; PrepareEvents(); } if(IE) { document.onmousemove = HideMenus; mFrame.document.onmousemove = document.onmousemove; mFrame.document.oncontextmenu = ShowContextMenu; if(SM&&!OP) { var i = 0; var m = mFrame.document.getElementById(i++); while(m) { m.style.width = parseInt(m.style.width) - 2*parseInt(m.style.paddingLeft) + "px"; m.style.height = parseInt(m.style.height) - 2*parseInt(m.style.paddingTop) + "px"; m = mFrame.document.getElementById(i++); } } } IsFrames = (cFrame!=mFrame); MenusReady = true; } } function errHandler(sMsg,sUrl,sLine) { //IE,NS //This function will trap any errors generated by the scripts and filter the unhandled ones. //------------------------------ //Version 1.1 // if(sMsg.substr(0,16)!="Access is denied"&&sMsg!="Permission denied") alert("Java Script Error\n" + "\nDescription: " + sMsg + "\nSource: " + sUrl + "\nLine: "+sLine); return true; } function FixPointSize(s) { //NS //This function increases the point-font value of any tag. //------------------------------ //Version 1.5 // if(s.indexOf("point-size=")!=-1) { var sp = s.split("point-size=")[1]; var ls = s.split("point-size=")[0] + "point-size="; var ps = sp.substr(0,sp.indexOf(" ")); var rs = s.split("point-size=")[1].substr(sp.indexOf(" ")); ps = parseInt(ps) + 3; return ls + ps + rs; } return s; } function ClearTimer(t) { //NS,IE //This function is used to overcome a bug in very //old versions of Navigator 4 //------------------------------ //Version 1.0 // if(t) window.clearTimeout(t); } function rHnd() { //NS //This function is used to reload the page when Navigator window is resized. //Original Code from DHTML Lab //------------------------------ //Version 1.0 // if((GetWidthHeight()[0]!=nsOW) || (GetWidthHeight()[1]!=nsOH)) frames["top"].location.reload(); } function PrepareEvents() { //NS //This function is called right after the menus are rendered. //It has been designed to attach the event handlers to the tag and //fix the font size problems with Navigator under the Mac and Linux. //------------------------------ //Version 4.0 // for(var l=0,n1=mFrame.document.layers.length; l0) { slo.document.onmouseup = hNSCClick; slo.document.TCode = nTCode[slo.name.split("EH")[1]]; } else if((slo.name.indexOf("MC")!=-1)&&!IsWin) if(nLayer[parseInt(slo.name.substr(2),10)].split("|")[0]!="") { nLayer[slo.name.substr(2)] = FixPointSize(nLayer[slo.name.substr(2)]); hLayer[slo.name.substr(2)] = FixPointSize(hLayer[slo.name.substr(2)]); } } } } } // rlb added function openMenuHeader(name,height,width,bgcolor) // height is the total height of the menu { name = (""+name).toLowerCase().replace(/\s/gi,""); if ( typeof(height) == "undefined" ) height = 16; if ( typeof(width) == "undefined" ) width = 142; if ( typeof(bgcolor) == "undefined" ) bgcolor = "#4187D7"; var mHeader = ""; if (IE) { mHeader = "\n"; } // rlb added function addMenuItem(label,toppx,url,lines,height,color,bgcolor) // toppx is the number of pixels down from the top of the menu, lines is how many lines of text for this item { addMenuItem.id|=0; var item="", nshColor="#145CAC", mid=addMenuItem.id++; if ( typeof(label)=="undefined" || (label+="").toUpperCase()=="MENUSEPERATOR" ) { label = ""; color = "#000000"; nshColor = "#4187D7"; hStyle[mid] = addMenuItem.menuStyle_Seperator; hLayer[mid] = nLayer[mid] = addMenuItem.menu_Seperator; } else { hStyle[mid] = addMenuItem.menuStyle_Link; hLayer[mid] = nLayer[mid] = ""+label+"|"; if ( typeof(url) != "undefined" ) nTCode[mid] = "cFrame.execURL('"+url+"');"; } if ( typeof(toppx) == "undefined" ) toppx = 0; if ( typeof(lines) == "undefined" ) lines = 1; if ( typeof(height) == "undefined" ) height = lines==1 ? 15 : 26; if ( typeof(color) == "undefined" ) color = "#FFFFFF"; if ( typeof(bgcolor) == "undefined" ) bgcolor = "#4187D7"; if (IE) { item = "
\n" + "\n" + ""+label+"\n" + "
\n"; } if (NS) { item = "\n" + "\n"; } return item; } addMenuItem.menuStyle_Link = "; font-family:Tahoma; font-size:9px; font-weight:normal; font-style:normal; text-decoration:none; cursor:default; color:#FFFFFF; background-color:#145CAC;"; addMenuItem.menuStyle_Seperator = "; font-family:Tahoma; font-size:9px; font-weight:normal; font-style:normal; text-decoration:none; cursor:default; color:#000000; background-color:#4187D7;"; addMenuItem.menu_Seperator = "\"\"|"; function CreateMenuHTML() { var menuHTML, rh=0; // used for incrementing the Relative Height of the next menu item menuHTML = openMenuHeader( "Learn", 215 ) // name and total height of this menu (add up all the "rh"s, plus a little more) + addMenuItem( "Consumer Services", rh=0 , "https://purchase.z-tel.com/portal/ztel/purchase/i/serv_avail.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "Business Services", rh+=12 , ztel_path+"/learn/i/businessservices.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "Local Calling Area", rh+=12, ztel_path+"/learn/i/lca.jsp" ) + addMenuItem( "Great International Rates", rh+=16, ztel_path+"/learn/i/internationalrates.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "Area Code Changes", rh+=12, ztel_path+"/learn/i/areacodechanges.jsp" ) + addMenuItem( "Tariffs", rh+=16, ztel_path+"/learn/i/tariffs.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "About Z-Tel", rh+=12, ztel_path+"/learn/i/about.jsp" ) + addMenuItem( "Investor Relations", rh+=16, 'http://www.corporate-ir.net/ireye/ir_site.zhtml?ticker=ZTEL&script=200' ) + addMenuItem( "Careers", rh+=16, ztel_path+"/learn/i/careers.jsp" ) + addMenuItem( "Talk to Us", rh+=16, ztel_path+"/troubleshoot/i/talktous.jsp" ) + closeMenuHeader() + openMenuHeader( "Purchase", 35 ) + addMenuItem( "Z-LineHOME", 0, ztel_path+"/purchase/i/serv_avail.jsp" ) + addMenuItem( "Z-LineBUSINESS", 15, ztel_path+"/purchase/i/ZLineBUSINESS.jsp" ) + closeMenuHeader() + openMenuHeader( "Manage", 185 ) + addMenuItem( "Z-LineHOME", rh=0, ztel_path+"/learn/i/login.jsp" ) + addMenuItem( "  Check Your Voicemail", rh+=16, ztel_path+"/learn/i/login.jsp" ) + addMenuItem( "  Access PVA Address Book", rh+=16, ztel_path+"/learn/i/login.jsp", 2 ) + addMenuItem( "  Pay Your Bill", rh+=16, 'https://paynow.speedpay.com/z-tel/index.asp' ) + addMenuItem( "  View Your Bill", rh+=16, 'https://www.myzline.com/operations/billingSummary.jsp' ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "Z-LineBUSINESS", rh+=12, ztel_path+"/learn/i/login.jsp" ) + addMenuItem( "  Check Your Voicemail", rh+=16, ztel_path+"/learn/i/login.jsp" ) + addMenuItem( "  Change Enhanced Features", rh+=16, ztel_path+"/learn/i/login.jsp", 2 ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "Z-LineMOBILE", rh+=12, ztel_path+"/learn/i/login.jsp" ) + addMenuItem( "  Access PVA Address Book", rh+=16, ztel_path+"/learn/i/login.jsp", 2 ) + closeMenuHeader() + openMenuHeader( "Troubleshoot", 399 ) + addMenuItem( "Z-LineHOME", rh=0, ztel_path+"/troubleshoot/i/zlinehomeMembersGuide.jsp") + addMenuItem( "  Getting Started", rh+=16, ztel_path+"/troubleshoot/i/gettingstarted.jsp" ) + addMenuItem( "  Voicemail Setup", rh+=16, ztel_path+"/troubleshoot/i/voice_mail.jsp" ) + addMenuItem( "  Calling Features Guide", rh+=16, ztel_path+"/troubleshoot/i/callingfeatures.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "  Service FAQs", rh+=12, ztel_path+"/troubleshoot/i/servicefaq.jsp" ) + addMenuItem( "  Troubleshooting Guide", rh+=16, ztel_path+"/troubleshoot/i/index.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "  Understanding Your Bill", rh+=12, ztel_path+"/troubleshoot/i/understandingyourbill.jsp" ) + addMenuItem( "  Customer Care", rh+=16, ztel_path+"/troubleshoot/i/customersupport.jsp" ) + addMenuItem( "  Feedback", rh+=16, ztel_path+"/troubleshoot/i/zlinehomeFeedback.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "Z-LineBUSINESS", rh+=12, ztel_path+"/troubleshoot/i/zlinebusinessMembersGuide.jsp" ) + addMenuItem( "  Confirming Your Service", rh+=16, ztel_path+"/troubleshoot/i/zlinebusinessConfirmYourService.jsp" ) + addMenuItem( "  Custom Calling
  Features Guide", rh+=16, ztel_path+"/troubleshoot/i/zlinebusinessCustomCallingFeatures.jsp", 2 ) + addMenuItem( "  Calling Service Guide", rh+=28, ztel_path+"/troubleshoot/i/zlinebusinessCallingServiceGuide.jsp" ) + addMenuItem( "  Business Communication
  Center Guide", rh+=14, ztel_path+"/troubleshoot/i/zlinebusinessBusinessCommunication.jsp", 2 ) + addMenuItem( "  Understanding Your Bill", rh+=24, ztel_path+"/troubleshoot/i/zlinebusinessUnderstandingYourBill.jsp" ) + addMenuItem( "  Customer Care", rh+=14, ztel_path+"/troubleshoot/i/zlinebusinessContactCustomerCare.jsp" ) + addMenuItem( "  Feedback", rh+=14, ztel_path+"/troubleshoot/i/zlinebusinessFeedback.jsp" ) + addMenuItem( "  Z-Speed Agreements", rh+=14, ztel_path+"/troubleshoot/i/zspeedagreements.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=14 ) + addMenuItem( "Z-LineMOBILE", rh+=12, ztel_path+"/troubleshoot/i/zlinemobileMembersGuide.jsp" ) + addMenuItem( "MENUSEPERATOR", rh+=12 ) + addMenuItem( "  Area Code Changes", rh+=12, ztel_path+"/learn/i/areacodechanges.jsp" ) + addMenuItem( "  Tariffs", rh+=12, ztel_path+"/learn/i/tariffs.jsp" ) + closeMenuHeader() ; document.open(); document.write(menuHTML); document.close(); } // end CreateMenuHTML() CreateMenuHTML(); SetUpEvents();