/*
***************************************************************************

  Biomolecular Interaction Network Database (BIND)

  The Blueprint Initiative
  522 University Avenue, 9th Floor, Suite 900
  Toronto, Ontario, Canada, M5G 1W7

  Hogue Lab - University of Toronto Biochemistry Department
  Samuel Lunenfeld Research Institute, Mount Sinai Hospital

  Publication to cite:
  Bader GD, Betel D, Hogue CW. (2003) BIND: the Biomolecular
  Interaction Network Database. Nucleic Acids Res. 31(1): 248-50
  PMID: 12519993

  Copyright Notice:

  Copyright 2003, 2004 Mount Sinai Hospital (MSH)

  This program is free software; you can redistribute it and/or 
  modify it under the terms of the GNU General Public License as 
  published by the Free Software Foundation; either version 2 of 
  the License, or any later version.

  This program is distributed in the hope that it will be useful, 
  but WITHOUT ANY WARRANTY; without even the implied warranty of 
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

  See the GNU General Public License for more details.

  You should have received a copy of the GNU General Public License 
  along with this program; if not, write to the
         Free Software Foundation, Inc., 
         59 Temple Place, Suite 330, Boston, MA  
         02111-1307  USA 
  or visit http://www.gnu.org/copyleft/gpl.html

***************************************************************************/

//Modified for use with BIND.  Original code taken from http://www.ncbi.nlm.nih.gov/coreweb/javascript/popupmenu2/

// version 2.5 (3/1/2004) -->

//var PopUpMenu2_title4layer
var PopUpMenu2_inheight;         // menu Height , will be calculated dep. on links count for older browsers
var PopUpMenu2_inwidth;          // menu width , will be calculated dep. on longer link lenth for older browsers
var PopUpMenu2_offsetx   = 2;	// show menu offset X
var PopUpMenu2_offsety   = 2;	// show menu offset Y

// DEFAULT VARIABLES 

var Table_Cell_MouseOut_color_self_style ="";

var Table_Cell_MouseOver_color= { 
	def:'#F2F5F7', 
	entrez_table:'#F2F5F7'
};  

var Table_Cell_MouseOut_color= { 
	def:'#E1E6EB', 
    entrez_top_table:'#E1E6EB'
};  

var PopUpMenu2_name_bind_table='"bind_table"';
var PopUpMenu2_name_bind_top_table='"bind_top_table"';
var PopUpMenu2_pageX;
var PopUpMenu2_pageY;
var PopUpMenu2_milliseconds=0;
var PopUpMenu2_doNOThide = false;

var PopUpMenu2_DelayTime = 300;
var PopUpMenu2_HideTime = 300;
	
var PopUpMenu2_linkArray_sum;
var PopUpMenu2_thename;
var PopUpMenu2_theobj;
var PopUpMenu2_thetext;
var PopUpMenu2_winHeight;
var PopUpMenu2_winWidth;
var PopUpMenu2_tableColor;
var PopUpMenu2_timerID;
var PopUpMenu2_first_time=false;
var PopUpMenu2_ShowTitle=false;
var PopUpMenu2_scrollbaroff = 0;
var PopUpMenu2_center_offset=true;

// Browser Check 
var PopUpMenu2_opera=PopUpMenu2_opera_6=PopUpMenu2_opera_7=false;
var PopUpMenu2_menu_possible=false;

PopUpMenu2_ns4=(document.layers)?true:false;
PopUpMenu2_mac45=(navigator.appVersion.indexOf("MSIE 4.5")!=-1)?true:false;
PopUpMenu2_safari=(navigator.userAgent.indexOf("Safari")!=-1)?true:false;
PopUpMenu2_ns6up=(navigator.userAgent.indexOf("Gecko")!=-1)?true:false;
PopUpMenu2_ns6x=(navigator.userAgent.indexOf("Netscape6")!=-1)?true:false;

if(PopUpMenu2_ns6up||PopUpMenu2_ns4) {
	mac=false;
}

PopUpMenu2_icab=(navigator.userAgent.indexOf("iCab")!=-1)?true:false;
PopUpMenu2_ie55=((navigator.appVersion.indexOf("MSIE 6.0")!=-1||navigator.appVersion.indexOf("MSIE 5.5")!=-1))?true:false;
PopUpMenu2_ie5mac=((navigator.appVersion.indexOf("MSIE 5")!=-1&&navigator.appVersion.indexOf("Mac")!=-1))?true:false;

// Check if browser Opera and version (Menu not possible in 6.x)
if (navigator.userAgent.indexOf("Opera")!=-1) {
	PopUpMenu2_opera_6=(navigator.userAgent.indexOf("6.")!=-1)?true:false;
	PopUpMenu2_opera_7=(navigator.userAgent.indexOf("7.")!=-1)?true:false;
	PopUpMenu2_opera=true;
}

// Check if browser Icab or Opera 6.x for Mac (Menu not possible)
if ((PopUpMenu2_ie5mac&&PopUpMenu2_icab) || (PopUpMenu2_ie5mac&&PopUpMenu2_opera_6)) {
	PopUpMenu2_ie5mac=false;
}

PopUpMenu2_iens6 = PopUpMenu2_ns6up || PopUpMenu2_ie55 || PopUpMenu2_opera_7;

if ( PopUpMenu2_iens6 || PopUpMenu2_ns4 || PopUpMenu2_ie55 || PopUpMenu2_ie5mac || PopUpMenu2_opera_7) { 
	PopUpMenu2_menu_possible=true;
}

if (PopUpMenu2_ns4) {
    document.captureEvents(Event.MOUSEMOVE);
}

document.onmousemove=getMouseXY;

function getMouseXY(e)
{
    e = e || window.Event || window.event;
    window.pageX = e.pageX || e.clientX;
    window.pageY = e.pageY || e.clientY;

    if ((PopUpMenu2_ie55 || PopUpMenu2_ie5mac ) && (!PopUpMenu2_opera_7)) {
        window.pageX += document.body.scrollLeft;
        window.pageY += document.body.scrollTop;
    }
    return true;
}

function BuildLinks(PopUpMenu2_links)
{
    PopUpMenu2_linkArraytmp = new Array;
    PopUpMenu2_linkArraytmp = PopUpMenu2_links;
	PopUpMenu2_linkArray_sum =" ";
    PopUpMenu2_TotalLinksCount=0;
    var PopUpMenu2_linkArrayMaxlength = 0;
	var PopUpMenu2_TotalSeparatorsCount=0;
	var PopUpMenu2_linkArray_starts = 0;
	
	PopUpMenuHelpLink = "none";
	
	for (var i = PopUpMenu2_linkArray_starts; i < PopUpMenu2_linkArraytmp.length; i++) {
        PopUpMenu2_linkArrayConstr  = PopUpMenu2_OnMouseOut_link = PopUpMenu2_OnMouseOver_link =  "";
		PopUpMenu2_linkArrayKey = PopUpMenu2_linkArraytmp[i][0];
		PopUpMenu2_linkArrayKey_length = PopUpMenu2_linkArraytmp[i][0].length;
		PopUpMenu2_linkArrayValue = PopUpMenu2_linkArraytmp[i][1];
		PopUpMenu2_linkArrayMOver = PopUpMenu2_linkArraytmp[i][2];
		PopUpMenu2_linkArrayMOut = PopUpMenu2_linkArraytmp[i][3];
	
        if (PopUpMenu2_linkArraytmp[i]) {
            if (PopUpMenu2_linkArrayMOver) {    
                PopUpMenu2_OnMouseOver_link='onMouseOver="javascript:'+PopUpMenu2_linkArrayMOver+' "';
            }
        	if (PopUpMenu2_linkArrayMOut) { 
            	PopUpMenu2_OnMouseOut_link='onMouseOut="javascript:'+PopUpMenu2_linkArrayMOut+' "';
            }
		    if (PopUpMenu2_linkArrayMaxlength < PopUpMenu2_linkArrayKey_length) {
        	    PopUpMenu2_linkArrayMaxlength = PopUpMenu2_linkArrayKey_length;
            }
			if (PopUpMenu2_linkArrayKey=="Help") { 
				PopUpMenuHelpLink = PopUpMenu2_linkArrayValue;
			} else {

				if (PopUpMenu2_linkArrayValue!="-" && PopUpMenu2_linkArrayValue!="none") { 
                    if (PopUpMenu2_linkArrayValue.indexOf("aname#") != -1) {
                        PopUpMenu2_linkArrayConstr = '<a href="'+PopUpMenu2_linkArrayValue.substring(5,PopUpMenu2_linkArrayValue.length)+'"  class="popmenu"  onClick="javascript:PopUpMenu2_Stop(true);"  '+PopUpMenu2_OnMouseOver_link+' '+PopUpMenu2_OnMouseOut_link+'> '+PopUpMenu2_linkArrayKey+'</a>';
					} else {
						PopUpMenu2_linkArrayConstr = '<a href="'+PopUpMenu2_linkArrayValue+'"  class="popmenu"'+PopUpMenu2_OnMouseOver_link+' '+PopUpMenu2_OnMouseOut_link+'>'+PopUpMenu2_linkArrayKey+'</a>';
                    }
    	           	
    	           	PopUpMenu2_linkArray_sum+="<tr onClick=\"PopUpMenu2_Stop(true);\"><td class='menuItem' width='10' ><img src='common/popupmenu/images/bullet.gif' width='10' height='15' border='0' align='middle'></td><td class='menuItem' width='100%'>"+PopUpMenu2_linkArrayConstr+"</td><td width='1'><img src='images/common/spacer.gif' width='1' height='5' border='0'></td></tr>";
        	        PopUpMenu2_TotalLinksCount++;
	            } else { 
					// separator cell	

					if (PopUpMenu2_linkArray_sum!==" ")  {
						PopUpMenu2_linkArray_sum+='<tr><td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0" align="left"><tr><td height="10"><hr></td></tr></table></td></tr>';
						PopUpMenu2_TotalSeparatorsCount++;
					}
					
					// name of new groups after separator
					if (PopUpMenu2_linkArrayKey!=="-") {
						PopUpMenu2_linkArray_sum+="<tr><td colspan='3' class='spacerMenuItem'><img src='images/common/spacer.gif' width='10' height='1' border='0'>"+PopUpMenu2_linkArrayKey+"<img src='images/common/spacer.gif' width='10' height='1' border='0'></td></tr>";
						PopUpMenu2_TotalLinksCount++;
	        		}
			  	}
			}
	  	}
    }

	if (!PopUpMenu2_ShowTitle && PopUpMenuHelpLink != "none") {
    	PopUpMenu2_linkArray_sum+="<tr onMouseOver=\"style.backgroundColor='#FFFFFF'\" onMouseOut=\"style.backgroundColor='#E9E5E6'\" valign='middle' class='menuItem'><td valign='middle' align='right'width='10' ><img src='common/popupmenu/images/bullet.gif' width='10' height='15' border='0' align='middle'></td><td width='100%' class='helpMenuItem'><a href='javascript:PopUpMenu2_showpopuphelp();' class='popmenu'>Help</a></td><td width='1'><img src='images/common/spacer.gif' width='1' height='5' border='0'></td></tr>";
        PopUpMenu2_TotalLinksCount++;
	}

    // menu Height and Width calc.
	PopUpMenu2_inheight = 18 + 17 * PopUpMenu2_TotalLinksCount;
	if (PopUpMenu2_TotalSeparatorsCount > 0) {
		PopUpMenu2_inheight += 4 * PopUpMenu2_TotalSeparatorsCount;
	}
    if (PopUpMenu2_linkArrayMaxlength < 15 ) {
        PopUpMenu2_inwidth = 120; 
    } else {
        PopUpMenu2_inwidth = 120 + (PopUpMenu2_linkArrayMaxlength - 14) * 7;
    }
}


function buildText(PopUpMenu2_title) {

// !!! SINGLE QUOTES INSIDE DOUBLE QUOTES. 
	PopUpMenu2_text="<table width='100%' cellspacing='0' cellpadding='1'><tr><td>";
	
	if (PopUpMenu2_ShowTitle) {
		PopUpMenu2_text="<table width='100%' cellspacing='0' cellpadding='1'>";
		PopUpMenu2_text+="<tr><td class='popup_menutitle' width='1%'>";

		if (PopUpMenuHelpLink != "none") {
			PopUpMenu2_text+="<a href='javascript:PopUpMenu2_showpopuphelp();' class='popmenuHelp'><img src='common/popupmenu/images/help.gif' width='12' height='11' alt='Help' title='Help' border='0'></a>";
		} 

		PopUpMenu2_text+="</td><td class='popup_menutitle'>&nbsp;"+PopUpMenu2_title+"&nbsp;</td>";
	    PopUpMenu2_text+="</tr></table>";
	}
    
    PopUpMenu2_text+="</td></tr><tr><td>";
    
    PopUpMenu2_text+="<table width='100%' border='0' cellspacing='0' cellpadding='1' class='popupmain'>";
    PopUpMenu2_text+="<tr><td>";
    PopUpMenu2_text+="<table border='0' cellspacing='0' cellpadding='0' width='100%'>";
    PopUpMenu2_text+="<tr><td class='popupmain'>";
    PopUpMenu2_text+="<table width='100%' border='0' cellspacing='0' cellpadding='1' class='popupmain'>";
    PopUpMenu2_text+=PopUpMenu2_linkArray_sum;
    PopUpMenu2_text+="</table></td></tr></table></td></tr></table>";
    
    PopUpMenu2_text+="</td></tr></table>";
    return PopUpMenu2_text;
	
}


function PopUpMenu2_doNOThideFunc() {
    PopUpMenu2_doNOThide = true;
}


function PopUpMenu2_Hide_Layer() {
    PopUpMenu2_Hide_It(PopUpMenu2_HideTime);
}


function PopUpMenu2_Hide(ms) {
    if (!ms) { ms=PopUpMenu2_HideTime; }
    PopUpMenu2_Hide_It(ms);
}


function PopUpMenu2_Hide_It(ms) {
    PopUpMenu2_milliseconds=parseInt(ms);
    if (PopUpMenu2_milliseconds > 0) {
        PopUpMenu2_milliseconds -= PopUpMenu2_DelayTime;
        PopUpMenu2_timerID=setTimeout("PopUpMenu2_Hide_It(PopUpMenu2_milliseconds)",PopUpMenu2_DelayTime);
    } else {
        PopUpMenu2_Stop(false);
    }
}


function PopUpMenu2_showpopuphelp() {
	if (PopUpMenuHelpLink.indexOf("window.open(") != -1) {
		eval (PopUpMenuHelpLink);
	} else {
		eval ('window.top.location="'+PopUpMenuHelpLink + '"');
		PopUpMenu2_Stop(true);
	}

}


function PopUp2WindowOpen(url,name,attributes) {
    var PopUpWindowHandle;
    PopUpWindowHandle = window.open(url,name,attributes);
}


function PopUpMenu2_KeepShowNS4Obj(){
    clearTimeout(PopUpMenu2_timerID);
}

if (PopUpMenu2_menu_possible) {
	

	if (PopUpMenu2_iens6) {
    	document.write("<script language=JavaScript1.2 src='common/popupmenu/popupmenu2_5iens6.js' type=text/javascript></script><div id='PopUpMenu2viewer' style='background-color:transparent;width:0;height:0;marginleft:0;visibility:hidden;position:absolute;z-index:1;overflow:hidden' onmouseover='clearTimeout(PopUpMenu2_timerID)'  onmouseout='PopUpMenu2_Hide_Layer()'></div>");
	} else if (PopUpMenu2_ie5mac) {
	    document.write("<script language=JavaScript1.2 src='common/popupmenu/popupmenu2_5iemac.js' type=text/javascript></script><div id='PopUpMenu2viewer' style='background-color:transparent;width:0;height:0;marginleft:0;visibility:hidden;position:absolute;z-index:1;overflow:hidden' onmouseover='clearTimeout(PopUpMenu2_timerID)'  onmouseout='PopUpMenu2_Hide_Layer()'></div>");
	} else if (PopUpMenu2_ns4){
		document.write("<script language=JavaScript1.2 src='common/popupmenu/popupmenu2_5ns4.js' type=text/javascript></script>");
	    document.write("<layer z-index=27 visibility=hidden id=nsviewer bgcolor=#cccccc width=0 height=0 onmouseout='PopUpMenu2_Hide_Layer()'></layer>");
    	hideobj = eval("document.nsviewer");
	    hideobj.visibility="hidden";
	}
}
