var hBar = new ItemStyle(40, 10, '', 0, 0, '15#336699', '10#6699CC', 'highText', 'highText', '', '', null, null, 'hand', 'default'); var subM = new ItemStyle(22, 0, '>', -15, -1, '', '', 'lowText2', 'highText2', 'itemBorder', 'itemBorder', null, null, 'hand', 'default'); var pMenu = new PopupMenu('pMenu'); with (pMenu) { // Here's what the values in the next startMenu() command mean, in order: // 'root': the name of this menu. // false: orientated as a horizontal menu (true creates a vertical menu). // 10: the 'left' offset of this menu in pixels. // 0: the 'top' offset of this menu in pixels. // 17: the height of this menu (for vertical menus, this becomes the menu width). // hBar: the ItemStyle used to give this menu colours and layout/formatting. // '': this menu does not display within a frame (see the Frameset Example Script to do that). // false: this menu shows submenus on mouseover. 'true' means show on click. // // Most of the items are 'sm:' items popping out submenus, except the last 'js:' JavaScript command // to pop open a new window. I've also given each item a length in pixels, overriding the ItemStyle. startMenu('root', false, -100, -100, 1, hBar, '', false); addItem('  ', 'mAboutTPT', 'sm:', null, 140); addItem('  ', 'mPipeline', 'sm:', null, 40); addItem('  ', 'mInvestors', 'sm:', null, 40); addItem('  ', 'mPress', 'sm:', null, 80); startMenu('mAboutTPT', true, 'page.elmPos("mainAboutTPT").x', 'page.elmPos("mainAboutTPT").y + ', 194, subM); addItem('SWAP:About TorreyPines^About TorreyPines', 'page.php?page_id=80', ''); addItem('SWAP:Management Bios^Management Bios', 'page.php?page_id=3', ''); addItem('SWAP:Board of Directors^Board of Directors', 'page.php?page_id=9', ''); addItem('SWAP:Strategic Alliances^Strategic Alliances', 'page.php?page_id=8', ''); addItem('SWAP:Contact Us^Contact Us', 'page.php?page_id=1029', ''); startMenu('mPipeline', true, 'page.elmPos("mainPipeline").x', 'page.elmPos("mainPipeline").y + ', 194, subM); addItem('SWAP:Pipeline Overview^Pipeline Overview', 'page.php?page_id=71', ''); addItem('SWAP:Tezampanel and NGX426^Tezampanel and NGX426', 'page.php?page_id=65', ''); addItem('SWAP:NGX267 and NGX292^NGX267 and NGX292', 'page.php?page_id=67', ''); addItem('SWAP:Discovery Programs^Discovery Programs', 'page.php?page_id=1000', ''); startMenu('mInvestors', true, 'page.elmPos("mainInvestors").x', 'page.elmPos("mainInvestors").y + ', 194, subM); addItem('SWAP:Investor Relations^Investor Relations', 'page.php?page_id=1013', ''); addItem('SWAP:News Releases^News Releases', 'page.php?page_id=62', ''); addItem('SWAP:Stock Information^Stock Information', 'page.php?page_id=63', ''); addItem('SWAP:SEC Filings^SEC Filings', 'page.php?page_id=1014', ''); addItem('SWAP:Events & Presentations^Events & Presentations', 'page.php?page_id=1015', ''); addItem('SWAP:Corporate Governance^Corporate Governance', 'page.php?page_id=1016', ''); addItem('SWAP:Join E-mail Alerts^Join E-mail Alerts', 'page.php?page_id=1017', ''); startMenu('mPress', true, 'page.elmPos("mainPress").x', 'page.elmPos("mainPress").y + ', 194, subM); addItem('SWAP:News Releases^News Releases', 'page.php?page_id=33', ''); addItem('SWAP:Join E-mail Alerts^Join E-mail Alerts', 'page.php?page_id=54', ''); } addMenuBorder(pMenu, window.subBlank, null, '#666666', 1, '#CCCCDD', 2); addDropShadow(pMenu, window.subM, [40,"#333333",6,6,-4,-4], [40,"#666666",4,4,0,0]); addDropShadow(pMenu, window.subBlank, [40,"#333333",6,6,-4,-4], [40,"#666666",4,4,0,0]); if ((navigator.userAgent.indexOf('rv:0.')==-1) && !(isOp&&!document.documentElement) && !(isIE4&&!window.external)) { pMenu.showMenu = new Function('mN','menuAnim(this, mN, 90)'); pMenu.hideMenu = new Function('mN','menuAnim(this, mN, 90)'); } page.elmPos=function(e,p) { var x=0,y=0,w=p?p:this.win; e=e?(e.substr?(isNS4?w.document.anchors[e]:getRef(e,w)):e):p; if(isNS4){if(e&&(e!=p)){x=e.x;y=e.y};if(p){x+=p.pageX;y+=p.pageY}} if (e && this.MS && navigator.platform.indexOf('Mac')>-1 && e.tagName=='A') { e.onfocus = new Function('with(event){self.tmpX=clientX-offsetX;' + 'self.tmpY=clientY-offsetY}'); e.focus();x=tmpX;y=tmpY;e.blur() } else while(e){x+=e.offsetLeft;y+=e.offsetTop;e=e.offsetParent} return{x:x,y:y}; }; function menuAnim(menuObj, menuName, dir) { // The array index of the named menu (e.g. 'm10000rv') in the menu object (e.g. 'pMenu'). var mD = menuObj.menu[menuName][0]; // Add timer and counter variables to the menu data structure, we'll need them. if (!mD.timer) mD.timer = 0; if (!mD.counter) mD.counter = 0; with (mD) { clearTimeout(timer); if (!lyr || !lyr.ref) return; if (!visNow && dir>0) dir = 0-dir; if (dir>0) lyr.vis('visible'); lyr.sty.zIndex = dir>0 ? mD.zIndex + 1 : 1001; lyr.clip(0, 0, menuW+2, (menuH+2)*Math.pow(Math.sin(Math.PI*counter/200),0.75) ); counter += dir; if (counter>100) { counter = 100; lyr.sty.zIndex = mD.zIndex } else if (counter<0) { counter = 0; lyr.vis('hidden') } else timer = setTimeout('menuAnim('+menuObj.myName+',"'+menuName+'",'+dir+')', 40); } }; function addMenuBorder(mObj, iS, alpha, bordCol, bordW, backCol, backW) { // Loop through the menu array of that object, finding matching ItemStyles. for (var mN in mObj.menu) { var mR=mObj.menu[mN], dS='
'; else mR[0].extraHTML += dS+bordCol+'; left:0px; top:0px; width:'+mW+'px; height:'+mH+ 'px; z-index:980; '+ (alpha!=null?'filter:alpha(opacity='+alpha+'); -moz-opacity:'+alpha+'%; opacity:'+(alpha/100):'')+ '">'+dS+backCol+'; left:'+bordW+'px; top:'+bordW+'px; width:'+(mW-2*bordW)+'px; height:'+ (mH-2*bordW)+'px; z-index:990">
'; } }; function addDropShadow(mObj, iS) { // Pretty similar to the one above, just loops through list of extra parameters making // dropshadow layers (from arrays) and extending the menu dimensions to suit. for (var mN in mObj.menu) { var a=arguments, mD=mObj.menu[mN][0], addW=addH=0; if (mD.itemSty != iS) continue; for (var shad=2; shad'; else mD.extraHTML += '
'; addW=Math.max(addW, s[2]+s[4]); addH=Math.max(addH, s[3]+s[5]); } mD.menuW+=addW; mD.menuH+=addH; } };