//Detect Netscape 7 or Explorer
 function isGoodBrowser(){
     // alert(   "This is " + " " + navigator.userAgent);
     var good = false;
     var i = -1;
     var str = navigator.userAgent;
    if ( (i = str.indexOf("Netscape")) >= 0 ){
        var version = parseFloat(str.substring (i+9, str.length));
        if (version >= 7 ) good = true;
    } 
    else if (document.all || document.getElementById) good = true;  
    //alert (good);
    return good;
  }
  
var JBC_Menus = new Array();
var JBC_CloseCurrentMenu = false;
var JBC_CloseMenuRequestID = 0;
var JBC_DeferMilliSeconds = 750;
var JBC_InnerHTML = "";
var JBC_MenuName = "";
var JBC_BackgroundColor = "";//"#A0A0A0";
var JBC_HoverColor ="";// "#C0C0C0";
var JBC_Vertical = false;
var JBC_DefaultBorder = "";//"border-left: 1px solid #F0F0FF;border-top: 1px solid #F0F0FF;border-right: 1px solid #404080;border-bottom: 1px solid #404080;"
var JBC_Border = JBC_DefaultBorder;
var JBC_SubMenuIcon = "&nbsp;<Span Style='font-family:Webdings'>4</Span>";
var JBC_BlendTransition = true;

//New 
var menuVerticalDistanceFromParent = 0;
var distanceBetweenMenus = 0;
var SubMenuStyleClass = "";
var TopMenuStyleClass = "";


function TR_SetDistanceBetweenMenus(i){ distanceBetweenMenus = i; }
function TR_SetVerticalDistanceFromParent(i){ menuVerticalDistanceFromParent = i; }
function TR_SetTopMenuStyleClass(cl){   TopMenuStyleClass = cl; }
function TR_SetSubMenuStyleClass(cl) {SubMenuStyleClass = cl; }

function JBC_OpenSubMenu(tagOwner,parentId,menuId)
{
 var menu = JBC_GetObjectFromId(menuId);
 if (menu != null)
    {
     JBC_CloseCurrentMenu = false;
     var parent = JBC_GetObjectFromId(parentId);
     while (JBC_Menus.length > 0)
         {
          if (JBC_Menus[JBC_Menus.length-1] == menu || JBC_Menus[JBC_Menus.length-1] == parent)
              break;
          JBC_Menus[JBC_Menus.length-1].style.visibility = 'hidden'
          JBC_Menus.length--;
         }
     var owner = JBC_GetObjectFromId(parentId);
     var max = document.body.offsetWidth - 30;
     var overload = 3;
     if (document.all)
         overload = 6;
     var transition;
     
     if ((parseInt(owner.style.left) + owner.offsetWidth + menu.offsetWidth) > max)
        {
         menu.style.left = parseInt(owner.style.left) - menu.offsetWidth + overload;
         transition = 7;
        }
     else
        {
         menu.style.left = parseInt(owner.style.left) + owner.offsetWidth - overload;
         transition = 6;
        }
     menu.style.top = owner.offsetTop + tagOwner.offsetTop - 2;
     menu.style.zIndex = JBC_Menus.length+20480;
     JBC_DoTransition(menu,transition);
     JBC_Menus[JBC_Menus.length++] = menu;
    }
}

function JBC_OpenMenu(tagOwner,menuId,vertical)
{
 if (!isGoodBrowser()) return;//!!!
 var pictureID = JBC_GetObjectFromId('menuup'+menuId);
 
 var menu = JBC_GetObjectFromId(menuId);
 if (menu != null)
    {
     JBC_CloseSubMenu(menu);
     if (JBC_Menus.length > 0 && JBC_Menus[JBC_Menus.length-1] != menu)
         JBC_CloseAllMenus();
     var max = document.body.offsetWidth - 30;
     var x = tagOwner.offsetLeft;
     var y = tagOwner.offsetTop;
     var transition;
     if (vertical != null && vertical == true)
        {
         transition = 6;
         x += tagOwner.offsetWidth;
         if ((x + menu.offsetWidth) > max)
             x = tagOwner.offsetLeft - menu.offsetWidth;
        }
     else
        {
         transition = 5;
         y += tagOwner.offsetHeight;
         if ((x + menu.offsetWidth) > max){
             x = tagOwner.offsetLeft + tagOwner.offsetWidth - menu.offsetWidth;
             if (pictureID) { pictureID.parentNode.style.textAlign = "right"; }
         }
         else if (pictureID) { pictureID.parentNode.style.textAlign = "left"; }
     }
     menu.style.left = x;
     menu.style.top = y - parseInt(tagOwner.style.paddingBottom)+ menuVerticalDistanceFromParent;
     menu.style.zIndex = JBC_Menus.length+20480;
     JBC_DoTransition(menu,transition);
     JBC_Menus[JBC_Menus.length++] = menu;
    }
}

function JBC_OpenPopupMenu(e,menuId)
{
 if (JBC_IsValidBrowser())
    {
     JBC_CloseAllMenus();
     var transition = 19;
     var menu = JBC_GetObjectFromId(menuId);
     var x = 0;
     var y = 0;
     if (menu != null)
        {
         if (e.pageX)
            {
             x = e.pageX;
             y = e.pageY;
            }
         else if (e.clientX)
            {
             x = e.clientX + document.body.scrollLeft;
             y = e.clientY + document.body.scrollTop;
            }
         var max = document.body.offsetWidth;
         if ((x + menu.offsetWidth) > max)
              x = x - menu.offsetWidth;
         menu.style.left = x;
         menu.style.top = y;
         menu.style.zIndex = JBC_Menus.length+20480;
         JBC_DoTransition(menu,transition);
         JBC_Menus[JBC_Menus.length++] = menu;
         JBC_CloseCurrentMenu = true;
         JBC_CloseMenu(JBC_DeferMilliSeconds*2);
        }
    }
}

function JBC_IsValidBrowser()
{
 if (document.all || document.getElementById)
     return true;
 return false;
}

function JBC_GetObjectFromId(id)
{
 var menu = null;
 if (document.getElementById)
     menu = document.getElementById(id);
 else if (document.all)
     menu = document.all[id];
 else if (document.layers)
     menu = document.layers[id];
 return menu;
}

function JBC_CloseSubMenu(menu)
{
 if (JBC_CloseCurrentMenu)
   {
    JBC_CloseCurrentMenu = false;
    while (JBC_Menus.length > 0)
      {
       if (JBC_Menus[JBC_Menus.length-1] == menu)
           break;
       JBC_Menus[JBC_Menus.length-1].style.visibility = 'hidden'
       JBC_Menus.length--;
      }
   }
}

function JBC_CloseMenu(deferMilliSeconds)
{
 var milliSeconds = JBC_DeferMilliSeconds;
 if (deferMilliSeconds != null)
     milliSeconds = deferMilliSeconds;
 JBC_CloseCurrentMenu = true;
 JBC_CloseMenuRequestID++;
 setTimeout("JBC_ExecuteCloseMenu(" + JBC_CloseMenuRequestID + ")",milliSeconds);
}

function JBC_ExecuteCloseMenu(reqID)
{
 if (JBC_CloseCurrentMenu && JBC_CloseMenuRequestID == reqID)
     JBC_CloseAllMenus();
}

function JBC_CloseAllMenus()
{
 JBC_CloseCurrentMenu = false;
 while (JBC_Menus.length > 0)
   {
    JBC_Menus[JBC_Menus.length-1].style.visibility = 'hidden'
    JBC_Menus.length--;
   }
}

function JBC_GotoURL(url,targetFrame)
{
 JBC_CloseAllMenus();
 if (targetFrame == null || targetFrame == "" || targetFrame == "null")
     document.location = url;
 else if (targetFrame == "_top")
     parent.top.location = url;
 else if (targetFrame == "_parent")
     parent.location = url;
 else if (targetFrame == "_blank"){
     var newwin = window.open( url, '','menubar=1,scrollbars=yes,status=yes,width=770,height=550,resizable=1, location=1,toolbar=1, directories=1,status=1');
     if (newwin) newwin.focus();
 }
 else if (eval("parent." + targetFrame))
     eval("parent." + targetFrame + ".location.replace('" + url + "')");
}

function JBC_DoTransition(menu,transition)
{
 if (document.all && menu.filters)
    {
     var item = 0;
     if (!JBC_GetBlendTransition())
        {
         item = 1;
         menu.filters[item].transition = transition;
        }
     var Transition_is_playing = 2;
     if (menu.filters[item] && menu.filters[item].status != Transition_is_playing)
        {
         menu.filters[item].apply();
         menu.style.visibility = 'visible';
         menu.filters[item].play();
        }
     else
        {
         menu.style.visibility = 'visible';
        }
    }
 else
    {
     menu.style.visibility = 'visible';
    }
}

function JBC_SetBlendTransition(option)
{
 if (document.all && document.getElementById)
     JBC_BlendTransition = option;
 else
     JBC_BlendTransition = false;
}

function JBC_GetBlendTransition()
{
 if (document.all && document.getElementById)
     return JBC_BlendTransition;
 return false;
}

function JBC_BuilderSetColors(backgroundColor,hoverColor)
{
 JBC_BackgroundColor = backgroundColor;
 JBC_HoverColor = hoverColor;
}

function JBC_BuilderSetBorder(border)
{
 if (border != null)
     JBC_Border = border;
 else
     JBC_Border = JBC_DefaultBorder;
}

function JBC_BuilderStartMenu(name)
{
 JBC_MenuName = name;
 JBC_InnerHTML += "<Table Cellpadding=0 Cellspacing=0 Id='" + name + "'"
 JBC_InnerHTML += " onMouseOver='JBC_CloseSubMenu(this)' onMouseOut='JBC_CloseMenu()' ";
 JBC_InnerHTML += "style='";
 JBC_InnerHTML += "  position: absolute; top: 0px; left: 0px; z-index: 1;"
 JBC_InnerHTML += "  visibility: hidden;"
 JBC_InnerHTML += "  padding: 0 0 0 0; "
 JBC_InnerHTML += "  filter: BlendTrans(duration=0.5) revealTrans(Duration=0.3,Transition=1)"
 JBC_InnerHTML += "  progid:DXImageTransform.Microsoft.Shadow(color=#666666, Direction=135, Strength=4);"
 JBC_InnerHTML += "  " + JBC_Border;
 JBC_InnerHTML += "'>";
 JBC_InnerHTML += "<Tr><td><div id='pictureStyle'><img name='menuup"+name+"' src='menuup.gif'></div></td></tr><tr><Td><Table Border=0 Cellpadding=0 Cellspacing=0 Style='";
	JBC_InnerHTML += " '>";
}

function JBC_BuilderEndMenu()
{
 JBC_InnerHTML += "</Table></Td></Tr></Table>"
}

function JBC_BuilderApplyMenu()
{
 if (document.getElementById)
     document.body.innerHTML = document.body.innerHTML + JBC_InnerHTML;
 else if (document.body && document.body.insertAdjacentHTML)
     document.body.insertAdjacentHTML('afterBegin',JBC_InnerHTML);
 JBC_InnerHTML = "";
}

function JBC_BuilderLinkToSubMenu(string,subMenu,header)
{
 JBC_InnerHTML += "<Tr onMouseOver='" + 'this.bgColor="' + JBC_HoverColor + '";';
 JBC_InnerHTML += 'JBC_OpenSubMenu(this,"' +JBC_MenuName + '","' + subMenu + '");';
 JBC_InnerHTML += "' onMouseOut='this.bgColor=" + '"' + JBC_BackgroundColor + '";' + "'>";
 if (header == null)
     JBC_InnerHTML += "<Td Nowrap Style='padding: 0 0 0 10'>&nbsp;</Td>";
 else
     JBC_InnerHTML += "<Td Nowrap Style='padding: 0 0 0 10'>" + header + "</Td>";
 JBC_InnerHTML += "<Td Nowrap Style='padding: 0 0 0 0'>" + string + "</Td>";
 JBC_InnerHTML += "<Td Nowrap Style='padding: 0 10 0 0;'>" + JBC_SubMenuIcon + "</Td>";
 JBC_InnerHTML += "</Tr>";
}

function JBC_BuilderLinkToUrl(string,href,targetFrame,header)
{
 var aTargetFrame = null;
 if (targetFrame != null)
     aTargetFrame = targetFrame;
 JBC_InnerHTML += "</Tr><Tr onMouseUp='JBC_CloseAllMenus();'";
 JBC_InnerHTML += ">"
 JBC_InnerHTML += "<Td background='menu.gif' class='"+SubMenuStyleClass+"' style='padding: 0px 10px 0px 10px; cursor: hand' gcolor='#55698D'  ";
 JBC_InnerHTML += " onClick='JBC_GotoURL(" + '"' + href + '","' + aTargetFrame + '"' + ");'";
 JBC_InnerHTML += " Nowrap >"  + string + "</a></Td>";
}

function JBC_BuilderOnClick(string,handler,header,closeAllMenus)
{
 JBC_InnerHTML += "<Tr";
 if (closeAllMenus == null || closeAllMenus == true)
     JBC_InnerHTML += " onMouseUp='JBC_CloseAllMenus();'";
 JBC_InnerHTML += " onClick=" + '"' + handler + ';"';
 JBC_InnerHTML += ">"
 if (header == null)
     JBC_InnerHTML += "<Td Nowrap Style='padding: 0 0 0 10'>&nbsp;</Td>";
 else
     JBC_InnerHTML += "<Td Nowrap Style='padding: 0 0 0 10'>" + header + "</Td>";
 JBC_InnerHTML += "<Td Nowrap Style='padding: 0 0 0 0'>" + string + "</Td>";
 JBC_InnerHTML += "<Td Nowrap Style='padding: 0 10 0 0;'>&nbsp;</Td>";
 JBC_InnerHTML += "</Tr>"
}

function JBC_BuilderSeparator(size)
{
 JBC_InnerHTML += "<tr><Td><img src=spacer.gif height=1>"; JBC_InnerHTML += "</Td></tr>";
}

function JBC_BuilderStartMenuBar(name,vertical)
{
 JBC_MenuName = name;
 JBC_Vertical = false;
 JBC_InnerHTML += "<Table Border=0 Cellpadding=0 Cellspacing=0>"
}


function JBC_BuilderEndAndApplyMenuBar()
{
 JBC_InnerHTML +="<tr style='height: 40px;'>"+emptyRow+"</tr>";
 JBC_InnerHTML += "<Tr Style='height: 32px;background-color: " + JBC_BackgroundColor  + ";'"
 JBC_InnerHTML += " onMouseOut='JBC_CloseMenu();'>";
 
 JBC_InnerHTML += ""+fullRow + "</Tr>";
 JBC_InnerHTML +="<tr style='height: 8px;font-size: 4pt;'>"+emptyRow+"</tr></Table>";
 var stringID = JBC_GetObjectFromId(JBC_MenuName);
 if (stringID != null)
    {
     if (document.getElementById)
         stringID.innerHTML = stringID.innerHTML + JBC_InnerHTML;
     else if (stringID && stringID.insertAdjacentHTML)
         stringID.insertAdjacentHTML('afterBegin',JBC_InnerHTML);
    }
 JBC_InnerHTML = "";
}

var emptyRow="";
var fullRow="";

function JBC_BuilderItemMenuBar(string,subMenu, url, target){

 var urlstr='#';
 if (url != null) urlstr = url;

 var targetstr="";
 if (target!=null) targetstr = " target='"+target+"' ";

 fullRow += "<Td Nowrap Valign='middle' Height='20px' Align='left' ";
 fullRow += " Style='position: relative; ";//border-left: 1px solid #909090; 
 	
 fullRow += "  cursor: default;"
 fullRow += "  padding: 0 0 3 0;"
 fullRow += "  " + JBC_Border + "'";
 fullRow += " onMouseOver='this.bgColor=" + '"' + JBC_HoverColor + '";' 
 fullRow += " JBC_OpenMenu(this," + '"' + subMenu + '"'
 fullRow += ");'"
 fullRow += " onMouseOut='this.bgColor=" + '"' + JBC_BackgroundColor + '"' + ";'>"
  fullRow += "<img src='menuLeft.gif' align=absmiddle border='0'> ";
 fullRow += "<span style='position: relative; left: -3px; padding-right:"+distanceBetweenMenus+"px'";
 fullRow += " class='"+ TopMenuStyleClass +"'><a href='"+urlstr+"' "+targetstr+">" + string + "</a></span>&nbsp;</Td>";
 
 emptyRow +="<td style='border-left: 1px solid #909090'>&nbsp;</td>";
}

function JBC_BuilderNote(string,all)
{
 if (all != null && all == true)
    {
     JBC_InnerHTML += "<Td Colspan=3 Style='padding: 0 0 0 0;'>" + string + "</Td>";
    }
 else
    {
     JBC_InnerHTML += "<Td>&nbsp;<Td>";
     JBC_InnerHTML += "<Td Style='padding: 0 0 0 0;'>" + string + "</Td>";
     JBC_InnerHTML += "<Td>&nbsp;<Td>";
    }
}

