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='