//ejc    last critical modifications made on aug 30/2001

//Mouseover images topnav with drop down menu

//this version has been modified to accomodate the use of mouseovers in the top nav and not css properties

//for ns6.x and ie4+ while using layers for ns4.x

//this version uses mouseover images for the topnav for ns4.x, ie4+ and ns6.x while integrating the topnav

//with the drop down menu. 



//revisions

//revised dropdown border format for ie, ns4.x and ns6   						        05/10/01

//got rid of the top and bottom spacer for functionality in ie     			  	05/10/01

//using css properties for top nav color change and not div's anymore   		05/10/01

//meshed topnav css properties with dropdown menu for ie4+				 		      05/10/01 n/a

//meshed topnav css properties with dropdown menu for ns6						        05/16/01  n/a

//revised the code that generates the border around that drop down layer 

//that is looks the same in all 3 browsers										              05/23/01

//edited the topnav characteristics to allow for the use of mouseovers in the topnav  08/02/01

//ns6.x lower spacer fix so the spacer is the with of the document window.            08/29/01



function openflashWindow(url, name){popupWin = window.open(url, name, 'width=620,height=400,left=20,top=20');}

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

/*

var expDays = 365; // number of days the cookie should last



var page = "http://www.matisse.com/demo/flash_matisse.html";

var windowprops = "width=620,height=400,left=20,top=20";



function GetCookie (name) {  

var arg = name + "=";  

var alen = arg.length;  

var clen = document.cookie.length;  

var i = 0;  

while (i < clen) {    

var j = i + alen;    

if (document.cookie.substring(i, j) == arg)      

return getCookieVal (j);    

i = document.cookie.indexOf(" ", i) + 1;    

if (i == 0) break;   

}  

return null;

}



function SetCookie (name, value) {  

var argv = SetCookie.arguments;  

var argc = SetCookie.arguments.length;  

var expires = (argc > 2) ? argv[2] : null;  

var path = (argc > 3) ? argv[3] : null;  

var domain = (argc > 4) ? argv[4] : null;  

var secure = (argc > 5) ? argv[5] : false;  

document.cookie = name + "=" + escape (value) + 

((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 

((path == null) ? "" : ("; path=" + path)) +  

((domain == null) ? "" : ("; domain=" + domain)) +    

((secure == true) ? "; secure" : "");

}

function DeleteCookie (name) {  

var exp = new Date();  

exp.setTime (exp.getTime() - 1);  

var cval = GetCookie (name);  

document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}

var exp = new Date(); 

exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function amt(){

var count = GetCookie('count')

if(count == null) {

SetCookie('count','1')

return 1

}

else {

var newcount = parseInt(count) + 1;

DeleteCookie('count')

SetCookie('count',newcount,exp)

return count

   }

}

function getCookieVal(offset) {

var endstr = document.cookie.indexOf (";", offset);

if (endstr == -1)

endstr = document.cookie.length;

return unescape(document.cookie.substring(offset, endstr));

}



function checkCount() {

var flash = GetCookie('flash');

if (flash == null) {

flash=1;

SetCookie('flash', flash, exp);



window.open(page, "", windowprops);



}

else {

flash++;

SetCookie('flash', flash, exp);

   }

}

*/



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





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

//the url to redirect to if the cookie has been found with the specific value

//enter the destination url within the quotes.

var myWinNt = siteurl + "forms/product_information/matisse.html";

var mySolaris = siteurl + "forms/product_information/matisse.html";







// Retrieve a named cookie value

function getCookie2(name) {

	var dc = document.cookie;

	

	// find beginning of cookie value in document.cookie

	var prefix = name + "=";

	var begin = dc.indexOf("; " + prefix);

	if (begin == -1) {

		begin = dc.indexOf(prefix);

		if (begin != 0) return null;

	}

	else begin += 2;

	

	// find end of cookie value

	var end = document.cookie.indexOf(";", begin);

	if (end == -1) end = dc.length;

	// return cookie value

	return unescape(dc.substring(begin + prefix.length, end));

}



function prepGetCookie()

{

  if(location.href.indexOf("") != -1)

  {

    existence = getCookie2('matisse_form_os');    //look for a cookie with a specified name

    if(existence == null) {

      location.href = siteurl + "forms/developers/downloads/matisse.html";

	}

	else {

		location.href = siteurl + "developers/downloads/additional_language.html";

	}



/*  //uncomment these lines if you require different urls depending on the cookie value.

    else if(existence == "")

      location.href = myWinNt;

    else if(existence == "")

      location.href = mySolaris;

*/      

  }

}

if((document.location.href.indexOf("forms/product_information/matisse.html") != -1) && getCookie2("matisse_form_os") != null)

  location.href = siteurl + "developers/downloads/"; 

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





function lnOverCol()

{ var inc, endInc=arguments.length;

  for (inc=0; inc<endInc; inc++) 

  {var id = arguments[inc];if(document.all)document.all(id).style.background = '#777759';

    else if(document.getElementById)document.getElementById(id).style.background = '#777759';

  }

}



function lnOutCol()

{ var inc, endInc=arguments.length;

  for (inc=0; inc<endInc; inc++) 

  {var id = arguments[inc];if(document.all)document.all(id).style.background = '#52523D';

    else if(document.getElementById)document.getElementById(id).style.background = '#52523D';

  }

}



var showurl="";

var loaded=false;

var domOver = null;

var activeImg = 'about';



//this function will clear the timeout then set the <td> color for ie and ns6 to the off state and it'll hide the dropdown's too

function timedHideDropDown(whichTd)

{

  topImg = whichTd;

  clearTimeout(domOver);

  domOver = setTimeout("hidePopupsNow(topImg)",300);

}



//used for ns4.x and making the moused over divs disappear promptly.

function hidePopupsNow(actvImg)

{ 

  //name for the image and the active image for use and hiding it is the actvImg variable

  if(currSec != actvImg)

    changeImages(actvImg+'img',siteurl+'/images/main_nav/'+ actvImg +'.gif');

  if(!document.all && document.getElementById)

//    window.ActiveMenu.style.visibility = 'hidden';

    window.hideMenu(window.ActiveMenu);

  else if(document.layers)

    hideMenu(window.ActiveMenu);

  else if(document.all)

    window.hideMenu(window.ActiveMenu);

  keepTop();

}



//set the variable currSec which is set the location.href

var currSec='';

if (document.location.href.indexOf('/about/') != -1) currSec="about";

else if (document.location.href.indexOf('/product_information/') != -1) currSec="product_information";

else if (document.location.href.indexOf('/services/') != -1) currSec="services";

else if (document.location.href.indexOf('/customers/') != -1) currSec="customers";

else if (document.location.href.indexOf('/partners/') != -1) currSec="partners";

else if (document.location.href.indexOf('/developers/') != -1) currSec="developers";

else currSec="";



function keepTop()

{ 

  if(currSec != "")

    changeImages(currSec+'img',siteurl + 'images/main_nav/' + currSec+'_sect.gif'); 

}



function activePic(img)

{

  //mouseover the top and hide other active img/lyr if on, if not already set then company is set as the default

  hidePopupsNow(activeImg);

  keepTop();

  //clear all timeouts

  clearTimeout(domOver);

  //the new active image is the incomming image

  activeImg = img;

//  toggleVisibility('lowerspacer','visible'); 

}





var matisseNav = ''+

'<td id="abouttd" height="39" width="88"><a href="'+siteurl+'about/" onmouseout="timedHideDropDown(activeImg);" onmouseover="activePic(\'about\');changeImages(\'aboutimg\',\''+siteurl+'/images/main_nav/about_on.gif\');setTimeout(\'window.showMenu(window.about, 299, 31)\',100);"><img src="'+siteurl+'images/main_nav/about.gif" width="88" height="39" alt="About Matisse"  border="0" name="aboutimg"/></a></td>'+

'<td id="product_informationtd" height="39" width="56"><a href="'+siteurl+'product_information/" onmouseout="timedHideDropDown(activeImg);" onmouseover="activePic(\'product_information\');changeImages(\'product_informationimg\',\''+siteurl+'/images/main_nav/product_information_on.gif\');window.showMenu(window.products, 385, 31);"><img src="'+siteurl+'images/main_nav/product_information.gif" width="56" height="39" alt="Product Information" border="0" name="product_informationimg"/></a></td>'+

'<td id="servicestd" height="39" width="60"><a href="'+siteurl+'services/" onmouseout="timedHideDropDown(activeImg);" onmouseover="activePic(\'services\');changeImages(\'servicesimg\',\''+siteurl+'/images/main_nav/services_on.gif\');window.showMenu(window.services, 441, 31);"><img src="'+siteurl+'images/main_nav/services.gif" width="60" height="39" alt="Services" border="0"  name="servicesimg"/></a></td>'+

'<td id="customerstd" height="39" width="71"><a href="'+siteurl+'customers/" onmouseout="timedHideDropDown(activeImg);" onmouseover="activePic(\'customers\');changeImages(\'customersimg\',\''+siteurl+'/images/main_nav/customers_on.gif\');window.showMenu(window.customers,501, 31);"><img src="'+siteurl+'images/main_nav/customers.gif" width="71" height="39" alt="Customers" border="0"  name="customersimg"/></a></td>'+

'<td id="partnerstd" height="39" width="59"><a href="'+siteurl+'partners/" onmouseout="timedHideDropDown(activeImg);" onmouseover="activePic(\'partners\');changeImages(\'partnersimg\',\''+siteurl+'/images/main_nav/partners_on.gif\');window.showMenu(window.partners,572, 31);"><img src="'+siteurl+'images/main_nav/partners.gif" width="59" height="39" alt="Partners" border="0"  name="partnersimg"/></a></td>'+

'<td id="developerstd" height="39" width="72"><a href="'+siteurl+'developers/" onmouseout="timedHideDropDown(activeImg);" onmouseover="activePic(\'developers\');changeImages(\'developersimg\',\''+siteurl+'/images/main_nav/developers_on.gif\');window.showMenu(window.developers,631, 31);"><img src="'+siteurl+'images/main_nav/developers.gif" width="72" height="39" alt="Developers" border="0" name="developersimg"/></a></td>'+

'<td background="'+siteurl+'images/main_nav/background.gif" width="99%"><img src="'+siteurl+'images/common/spacer.gif" width="30" height="1" alt="" border="0" /></td>';





if(!document.all && document.getElementById)

  var spacerWidth = window.innerWidth;

else

  var spacerWidth = 600;



var popupDivs = ''; //+

//'<div id="lowerspacer" style="visibility:hidden; position:absolute; left:0; top:120; z-index:1;"><a href="#" onMouseover="toggleVisibility(\'lowerspacer\',\'hidden\');timedHideDropDown(activeImg);"><img src="'+siteurl+'images/common/spacer.gif" width="'+spacerWidth+'" height="320" alt="" border="0"></a></div>';

 

function changeImages() {

  for (var i=0; i<changeImages.arguments.length; i+=2) {

    document[changeImages.arguments[i]].src = changeImages.arguments[i+1];

  }

}



function changeImages2() {

  for (var i=0; i<changeImages2.arguments.length; i+=3) {

    if (document.all || document.getElementById) {

      document[changeImages2.arguments[i]].src = changeImages2.arguments[i+1];

	}

	

    if (document.layers && changeImages2.arguments[i+2] != "") {

	  document[changeImages2.arguments[i+2]].document[changeImages2.arguments[i]].src = changeImages2.arguments[i+1];

    } else if (document.layers && changeImages2.arguments[i+2] == "") {

      document[changeImages2.arguments[i]].src = changeImages2.arguments[i+1];

	  }

  }

}





function newImage(arg){if (document.images){rslt = new Image();rslt.src = arg;return rslt;}}

function preloadImages(){if(document.images){var imgFiles = preloadImages.arguments;for (var i=0; i<imgFiles.length; i+=2){eval(arguments[i]+' = new Image()');eval(arguments[i]+'.src = "'+arguments[i+1]+'"');}}}

preloadImages('aboutimg','/images/main_nav/about_on.gif','product_informationimg','/images/main_nav/product_information_on.gif','servicesimg','/images/main_nav/services_on.gif','customersimg','/images/main_nav/customers_on.gif','partnersimg','/images/main_nav/partners_on.gif','developersimg','/images/main_nav/developers_on.gif');

preloadImages('aboutimg','/images/main_nav/about_sect.gif','product_informationimg','/images/main_nav/product_information_sect.gif','servicesimg','/images/main_nav/services_sect.gif','customersimg','/images/main_nav/customers_sect.gif','partnersimg','/images/main_nav/partners_sect.gif','developersimg','/images/main_nav/developers_sect.gif');



var param = "";

function toggleVisibility() 

{

  var inc, endInc=arguments.length;

  for (inc=0; inc<endInc; inc+=2) 

  {

    var id = arguments[inc];

    if (arguments[inc+1] == 'hidden')param="hidden";

    else if(arguments[inc+1]=='visible')param="visible";

    if (document.getElementById) 

	  eval("document.getElementById(id).style.visibility = \"" + param + "\"");

    else

	{

      if (document.layers) 

        document.layers[id].visibility = param;

      else if (document.all) 

        eval("document.all." + id + ".style.visibility = \"" + param + "\"");

      }

   }

}



function is_nav5_or_up(){

if((navigator.appName=="Netscape") && (parseInt(navigator.appVersion) >= 5))

 var navNet=navigator.appName=="Netscape";

 var navInt=parseInt(navigator.appVersion) >= 5;

 var is_nav5up=(navInt&&navNet);

  return is_nav5up;

}



 

///////////////////////////////////////////////////////////////////////////////////////////////

/**

 * by gary smith, July 1997

 * Copyright (c) 1997-1999 Netscape Communications Corp.

 * Netscape grants you a royalty free license to use or modify this

 * software provided that this copyright notice appears on all copies.

 * This software is provided "AS IS," without a warranty of any kind.

 * ------------------------------------------------------------------

 * DOM functionality by Eric Chaudry (ericc@atre.net), Atre Net Inc. August 2001

 */

function Menu(label) { 



//  keepTop();

  this.version = "1.41 [menu.js; Menu; 010802]";

  this.type = "Menu";

  this.fontSize = 10 +'px';

  this.fontWeight = "normal";

  this.fontWeightOver = "bold";

  this.fontFamily = "Verdana,Helvetica,Arial,sans-serif";

  

  this.fontSpacingOver = 0 + 'px';

  this.fontSpacingOff = 0 + 'px';

  

  this.fontIndentOver = 4 + 'px';

  this.fontIndentOff = 4 + 'px';  

  

  this.wordSpacingOver = 0 + 'px';

  this.wordSpacingOff = 0 + 'px';

  

  this.fontColor = "#ffffff";

  this.fontColorHilite = "#ffffff";

  this.bgColor = "#cc3333";						        //ns4 bottom and right container border color

  this.menuBorder = 0;

  this.menuItemWidth = 120;

  this.menuItemBorder = 1;

  this.menuItemBgColor = "#cc3333";				    //item color before mouseing over it for the first time

  this.menuLiteBgColor = "#cc3333";				    //ns4 top and left container border color

  this.menuItemMouseOutColor = "#cc3333";

  this.menuItemMouseOverColor = "#cc3333";

  this.menuBorderBgColor = "#cc3333";			    //for ns4 item over highlight

  this.menuHiliteBgColor = this.menuBorderBgColor;				//item m/o color ns4

  this.containerBorderColor = "#cc3333";			//ns4 no effect

  this.menuContainerBgColor =  this.containerBorderColor;   //"#0000FF";			//ns4 perimeter color for whole container

  this.menuPanelBgColor = "#cc3333";          //bgcolor for the bg panel for which all items are placed on top of; this has the lowest z index -->>> 1



  // set the border variables for netscape 4.x set the type of border (solid) and the width of the border

	//without setting the specific variables for ns4.x, the drop down border will appear different --> not the wanted effect

	this.ns4PanelBorderTop = 'solid '+this.containerBorderColor+';'

	this.ns4PanelBorderTopWidth = 0 +'px';

	this.ns4PanelBorderBottom = 'solid '+this.containerBorderColor+';'

	this.ns4PanelBorderBottomWidth = 5 +'px';

	this.ns4PanelBorderLeft = 'solid '+this.containerBorderColor+';'

	this.ns4PanelBorderLeftWidth = 0 +'px';

	this.ns4PanelBorderRight = 'solid '+this.containerBorderColor+';'

	this.ns4PanelBorderRightWidth = 5 +'px';	

	

    // set the border variables for ie and ns6, set the type of border (solid) and the width of the border	

	this.panelBorderTop = 'solid '+this.containerBorderColor+';'

	this.panelBorderTopWidth = 0 +'px';

	this.panelBorderBottom = 'solid '+this.containerBorderColor+';'

	this.panelBorderBottomWidth = 0 +'px';

	this.panelBorderLeft = 'solid '+this.containerBorderColor+';'

	this.panelBorderLeftWidth = 0 +'px';

	this.panelBorderRight = 'solid '+this.containerBorderColor+';'

	this.panelBorderRightWidth = 0 +'px';	



	

	this.domCellWidth = 142 +'px';						              	//used for ie4+ and for ns6, this must be less that the overall div width so the border around the div is visible on all sides.

	this.domCellHeight = 19 +'px';						              	//used for ie4+ and for ns6

	this.itemBoxHeight = 19;								              		//used in ns4.x only for the box height of each cell for the drop down.

	this.indentTextFromLeft = this.fontIndentOff;							//used in ns4.x only for the text placement from left 

	this.paddingInItemFromTop = 4 +'px';			              	//used in ns4.x only for text positioning within the drop down nav

	

  this.childMenuIcon = "images/arrows.gif";

  this.childMenuIconHilite = "images/arrows2.gif";

  this.items = new Array();

  this.actions = new Array();

  this.colors = new Array();

  this.mouseovers = new Array();

  this.mouseouts = new Array();

  this.childMenus = new Array();

  this.addMenuItem = addMenuItem;

  this.addMenuSeparator = addMenuSeparator;

  this.writeMenus = writeMenus;

  this.showMenu = showMenu;

  this.onMenuItemOver = onMenuItemOver;

  this.onMenuItemOut = onMenuItemOut;

  this.onMenuItemDown = onMenuItemDown;

  this.onMenuItemAction = onMenuItemAction;

  this.hideMenu = hideMenu;

  this.hideChildMenu = hideChildMenu;

  this.mouseTracker = mouseTracker;

  this.setMouseTracker = setMouseTracker;

  if (!window.menus){

    window.menus = new Array();

	}

  this.label = label || "menuLabel" + window.menus.length;

  window.menus[this.label] = this;

  window.menus[window.menus.length] = this;

  if (!window.activeMenus) window.activeMenus = new Array();

  if (!window.menuContainers) window.menuContainers = new Array();

  if (!window.mDrag) {

    window.mDrag    = new Object();

    mDrag.startMenuDrag = startMenuDrag;

    mDrag.doMenuDrag    = doMenuDrag;

    this.setMouseTracker();

  }

  if (window.MenuAPI) MenuAPI(this);

}



function addMenuItem(label, action, color, mouseover, mouseout) {

    this.items[this.items.length] = label;

    this.actions[this.actions.length] = action;

    this.colors[this.colors.length] = color;

    this.mouseovers[this.mouseovers.length] = mouseover;

    this.mouseouts[this.mouseouts.length] = mouseout;

}



function addMenuSeparator() {

    this.items[this.items.length] = "separator";

    this.actions[this.actions.length] = "";

    this.menuItemBorder = 0;

}



var rootUrl = '';

function statusLocation(zx9)

{ 

  if((navigator.appName.indexOf("crosoft") != -1) && (navigator.appVersion.indexOf("4.01") != -1)) {rootUrl="";}

  else

  {

    this.zx9 = zx9

    totalUrl = document.location.href;

    if(totalUrl.indexOf('/devsite/') != -1)

    {

     tmpUrl = totalUrl.search('/devsite/') + 9;

     rootUrl = totalUrl.slice(0,tmpUrl);

     rootUrl =  zx9;

    }

    else

    {

     tmpUrl = totalUrl.search('.com/') + 5;

     rootUrl = totalUrl.slice(0,tmpUrl);

    }

   }

  return rootUrl;

} 



function writeMenus(container) {									

    if (!container && document.layers) {					

        if (eval("document.width")) { 						

            container = new Layer(1000);					

        }

    } else if (!container && document.all) {			

        if (!document.all["menuContainer"]) {

            document.writeln('<SPAN ID="menuContainer"></SPAN>');   

		}

        container = document.all["menuContainer"];

    } else if (!container && document.getElementById) {				

        if(!document.getElementById("menuContainer")){

		    document.writeln('<div id="menuContainer" style="cursor:pointer; z-index:6" onClick="onMenuItemAction(null,this);"></div>');

		}

		isit = document.getElementById('menuContainer');			

	    container = document.getElementById("menuContainer")

		 mytext='';

    }

    if (!container && !window.delayWriteMenus) {

        window.delayWriteMenus = this.writeMenus;

        window.menuContainerBgColor = this.menuContainerBgColor;

        setTimeout('delayWriteMenus()', 3000);

        return;

    }

    container.isContainer = "menuContainer" + menuContainers.length;

    menuContainers[menuContainers.length] = container;

    container.menus = new Array();

    for (var i=0; i<window.menus.length; i++)

        container.menus[i] = window.menus[i];

    window.menus.length = 0;

    var countMenus = 0;

    var countItems = 0;

    var top = 0;

    var content = '';

    var proto;

	document.exportContainer = container;

	if(document.all || document.getElementById)

	{

      for (var i=0; i < container.menus.length; i++, countMenus++) {

        var menu = container.menus[i];

        proto = menu.prototypeStyles || this.prototypeStyles || menu;

        content += '<DIV ID="menuLayer'+ countMenus +'" STYLE="width:144; background-color:'+this.menuPanelBgColor+'; border-top:' +this.panelBorderTop+ '; border-top-width:' +this.panelBorderTopWidth+ '; border-right:' +this.panelBorderRight+ '; border-right-width:' +this.panelBorderRightWidth+ '; border-bottom:' +this.panelBorderBottom+ '; border-bottom-width:' +this.panelBorderBottomWidth+ '; border-left:' +this.panelBorderLeft+ '; border-left-width:' +this.panelBorderLeftWidth+ '; cursor:hand; position:absolute; left:10; top:'+ (i * 100) +';visibility:hidden; z-index:3;">\n'

        		   + '<table cellspacing="1" cellpadding="1" border="0" width="144px">\n';

  		var x=i;

      for (var i=0,y=0; i<menu.items.length, y<menu.actions.length; i++, y++) {

      var item = menu.items[i];

		  var myaction = menu.actions[y];                                                                                                                                                                                                                                                                                                                          //style.color=\'' + this.fontColorHilite + '\'; style.font-weight=\'' + this.fontWeightOver + '\';

                                                                                                                                                                                                                                                                                                                                                               //this.style.fontWeight = '600'; this.style.fontSize='15px'; this.style.letterSpacing='-1';                                                                                                                                               

		  content += '<tr><td bgcolor="'+this.menuItemBgColor+'" height="'+this.domCellHeight+'" width="'+this.domCellWidth+'" nowrap id="menuTD' + countItems + '" onclick="(' + myaction + ');" style="text-indent:'+this.fontIndentOff+'; color:'+this.fontColor+'; font-family:'+this.fontFamily+';font-weight:'+this.fontWeight+';font-size:'+this.fontSize+';" onmouseover="clearTimeout(domOver); this.style.fontFamily=\'' + this.fontFamily + '\'; this.style.fontWeight=\'' + this.fontWeightOver + '\'; this.style.wordSpacing=\'' + this.wordSpacingOver + '\'; this.style.letterSpacing=\'' + this.fontSpacingOver + '\'; this.style.fontSize=\'' +this.fontSize + '\'; this.style.textIndent=\'' + this.fontIndentOver + '\'; this.style.color=\'' + this.fontColorHilite + '\';  bgColor=\''+this.menuItemMouseOverColor+'\'; window.status=\'' + statusLocation(item) + '\';" onmouseout="timedHideDropDown(activeImg); this.style.fontFamily=\'' + this.fontFamily + '\'; this.style.fontWeight=\'' + this.fontWeight + '\'; this.style.wordSpacing=\'' + this.wordSpacingOff + '\'; this.style.letterSpacing=\'' + this.fontSpacingOff + '\'; this.style.fontSize=\'' +this.fontSize + '\'; this.style.textIndent=\'' + this.fontIndentOff + '\'; this.style.color=\'' + this.fontColor + '\'; bgColor=\''+this.menuItemMouseOutColor+'\';">'+item+'</td></tr>\n';

          proto.menuItemHeight = defaultHeight;

          proto.menuItemIndent = defaultIndent;

          countItems++;

        }

        content += '</table></div>\n';

        var i=x;

      }

	}

	else if(document.layers)

	{

      for (var i=0; i<container.menus.length; i++, countMenus++) {

        var menu = container.menus[i];

        proto = menu.prototypeStyles || this.prototypeStyles || menu;

        content += ''+

        '<DIV ID="menuLayer'+ countMenus +'" STYLE="cursor:hand;position:absolute;left:10;top:'+ (i * 100) +';visibility:hidden;z-index:3;">\n';

		if(document.layers)

		content += ''+

        '    <DIV ID="menuLite'+ countMenus +'" STYLE="cursor:hand;position:absolute;left:0;top:0; visibility:hide;z-index:3;" onMouseOut="hideMenu(this);">\n'+

        '    <DIV ID="menuFg'  + countMenus +'" STYLE="cursor:hand;position:absolute;left:' +this.ns4PanelBorderLeftWidth+ ';top:' +this.ns4PanelBorderTopWidth+ '; visibility:hide; z-index:3;">\n'+

        '';

        var x=i;

        for (var i=0; i<menu.items.length; i++) {

            var item = menu.items[i];						

            var childMenu = false;

            var defaultHeight = this.itemBoxHeight;

            var defaultIndent = this.indentTextFromLeft;

            if (item.label) {

                item = item.label;

                childMenu = true;

            } else if (item.indexOf(".gif") != -1 && item.indexOf("<IMG") == -1) {

                item = '<IMG SRC="' + item + '" NAME="menuItem'+ countItems +'Img">';

                defaultIndent = 0;

                if (document.layers) {

                    defaultHeight = null;

                }

            }

            proto.menuItemHeight = proto.menuItemHeight || defaultHeight;

            proto.menuItemIndent = proto.menuItemIndent || defaultIndent;

            var itemProps = 'visibility:hide;font-Family:' + proto.fontFamily +';font-Weight:' + proto.fontWeight + ';fontSize:' + proto.fontSize + ';';

            var dTag    = '<DIV ID="menuItem'+ countItems +'" STYLE="cursor:hand;position:absolute;left:0;top:'+ (i * proto.menuItemHeight) +';'+ itemProps +'">';

            var dText   = '<DIV ID="menuItemText'+ countItems +'" STYLE="font-weight:'+this.fontWeight+';padding-top:'+this.paddingInItemFromTop+';cursor:hand;position:absolute;left:' + proto.menuItemIndent + ';top:0;color:'+ proto.fontColor +';">'+ item +'</DIV>\n'+

            

            //this.style.fontFamily=\'' + this.fontFamily + '\'; this.style.fontWeight=\'' + this.fontWeightOver + '\'; this.style.wordSpacing=\'' + this.wordSpacingOver + '\'; this.style.letterSpacing=\'' + this.fontSpacingOver + '\'; this.style.fontSize=\'' +this.fontSize + '\'; this.style.textIndent=\'' + this.fontIndentOver + '\';

            

			              '<DIV ID="menuItemHilite'+ countItems +'" STYLE="letter-spacing:'+this.fontSpacingOver+';font-weight:'+this.fontWeightOver+';padding-top:'+this.paddingInItemFromTop+';background-color:'+this.menuItemMouseOverColor+';cursor:hand;position:absolute; left:'+proto.menuItemIndent+'; top:0; color:'+ proto.fontColorHilite +';visibility:hidden;">'+ item +'</DIV>';

            if (item == "separator") {

                content += ( dTag + '<DIV ID="menuSeparator'+ countItems +'" STYLE="cursor:hand;position:absolute;left:1;top:2;"></DIV>\n<DIV ID="menuSeparatorLite'+ countItems +'" STYLE="cursor:hand;position:absolute;left:1;top:2;"></DIV>\n</DIV>');

            } else if (childMenu) {

                content += ( dTag + dText + '<DIV ID="childMenu'+ countItems +'" STYLE="cursor:hand;position:absolute;left:0;top:3;'+ itemProps +'"><IMG SRC="'+ proto.childMenuIcon +'"></DIV>\n</DIV>');

            } else {

                content += ( dTag + dText + '</DIV>');

            }

            countItems++;

        }

        content += '      <DIV ID="focusItem'+ countMenus +'" STYLE="cursor:hand;position:absolute;left:0;top:0;visibility:hide;" onClick="onMenuItemAction(null,this);">&nbsp;</DIV>\n';

        content += '   </DIV>\n  </DIV>\n</DIV>\n';

        i=x;

      }

	}	

    if (!container) return;

    if (container.innerHTML) {

        container.innerHTML=content;

    }

	else if((document.layers || document.all) && !is_nav5_or_up() ){

        container.document.open("text/html");

        container.document.writeln(content);

        container.document.close();

    }

  else if(is_nav5_or_up())

	{

		while (container.hasChildNodes())

		  container.removeChild(container.firstChild);

		var r=container.ownerDocument.createRange();

		r.selectNodeContents(container);

		r.collapse(true);

		var df=r.createContextualFragment(content);

		container.appendChild(df);

	}

    if (document.all) {

      var menuCount = 0;

      for (var x=0; x<container.menus.length; x++) {

          var menu = container.document.all("menuLayer" + x);

          container.menus[x].menuLayer = menu;

          container.menus[x].menuLayer.Menu = container.menus[x];

          container.menus[x].menuLayer.Menu.container = menu;

	  }

	}	

    else if (document.getElementById) {

	  var menuCount = 0;

	  for (var j=0; j<container.menus.length; j++) {

	    var menu = document.getElementById("menuLayer" + j);

        container.menus[j].menuLayer = menu;

        container.menus[j].menuLayer.Menu = container.menus[j];

        container.menus[j].menuLayer.Menu.container = container;	

      }

	}	

   else if(document.layers) {

    if (container.document.layers) {

        container.clip.width = window.innerWidth;

        container.clip.height = window.innerHeight;

//        container.onmouseout = this.hideMenu;

//instead of hiding the drop down in ns4.x as soon as it is moused off of, send the action listener to a function that does the job.

        container.onmouseout = timedHideDropDown(activeImg);

        container.menuContainerBgColor = this.menuContainerBgColor;

        for (var i=0; i<container.document.layers.length; i++) {

            proto = container.menus[i].prototypeStyles || this.prototypeStyles || container.menus[i];

            var menu = container.document.layers[i];

            container.menus[i].menuLayer = menu;

            container.menus[i].menuLayer.Menu = container.menus[i];

            container.menus[i].menuLayer.Menu.container = container;

            var body = menu.document.layers[0].document.layers[0];

            body.clip.width = proto.menuWidth || body.clip.width;

            body.clip.height = proto.menuHeight || body.clip.height;

            for (var n=0; n<body.document.layers.length-1; n++) {

                var l = body.document.layers[n];

                l.Menu = container.menus[i];

                l.menuHiliteBgColor = proto.menuHiliteBgColor;

                l.document.bgColor = proto.menuItemBgColor;

                l.saveColor = proto.menuItemBgColor;

                l.mouseout  = l.Menu.mouseouts[n];

                l.mouseover = l.Menu.mouseovers[n];

                l.onmouseover = proto.onMenuItemOver;

                l.onclick = proto.onMenuItemAction;

                l.action = container.menus[i].actions[n];

                l.focusItem = body.document.layers[body.document.layers.length-1];

                l.clip.width = proto.menuItemWidth || body.clip.width + proto.menuItemIndent;

                l.clip.height = proto.menuItemHeight || l.clip.height;

                if (n>0) l.top = body.document.layers[n-1].top + body.document.layers[n-1].clip.height + proto.menuItemBorder;

                l.hilite = l.document.layers[1];

                l.document.layers[1].isHilite = true;

                if (l.document.layers[0].id.indexOf("menuSeparator") != -1) {

                    l.hilite = null;

                    l.clip.height -= l.clip.height / 2;

                    l.document.layers[0].document.bgColor = proto.bgColor;

                    l.document.layers[0].clip.width = l.clip.width -2;

                    l.document.layers[0].clip.height = 1;

                    l.document.layers[1].document.bgColor = proto.menuLiteBgColor;

                    l.document.layers[1].clip.width = l.clip.width -2;

                    l.document.layers[1].clip.height = 1;

                    l.document.layers[1].top = l.document.layers[0].top + 1;

                } else if (l.document.layers.length > 2) {

                    l.childMenu = container.menus[i].items[n].menuLayer;

                    l.icon = proto.childMenuIcon;

                    l.iconHilite = proto.childMenuIconHilite;

                    l.document.layers[2].left = l.clip.width -13;

                    l.document.layers[2].top = (l.clip.height / 2) -4;

                    l.document.layers[2].clip.left += 3;

                    l.Menu.childMenus[l.Menu.childMenus.length] = l.childMenu;

                }

            }

            body.document.bgColor = proto.bgColor;

            body.clip.width  = l.clip.width +1;

            body.clip.height = l.top + l.clip.height +1;

            body.document.layers[n].clip.width = body.clip.width;

            body.document.layers[n].captureEvents(Event.MOUSEDOWN);

            body.document.layers[n].onmousedown = proto.onMenuItemDown;

            //body.document.layers[n].onfocus = proto.onMenuItemDown;

            body.document.layers[n].onmouseout = proto.onMenuItemOut;

            body.document.layers[n].Menu = l.Menu;

            body.document.layers[n].top = -30;

            menu.document.bgColor = proto.menuBorderBgColor;

            menu.document.layers[0].document.bgColor = proto.menuLiteBgColor;

            menu.document.layers[0].clip.width = body.clip.width +1;

            menu.document.layers[0].clip.height = body.clip.height +1;

            menu.clip.width = body.clip.width + (proto.menuBorder * 2) -1;

            menu.clip.height = body.clip.height + (proto.menuBorder * 2) -1;

            if (menu.Menu.enableTracker) {

                menu.Menu.disableHide = true;

                setMenuTracker(menu.Menu);

            }

        }

    }

  }

  window.wroteMenu = true;

}



function onMenuItemOver(e, l, a) {

    clearTimeout(domOver);

    l = l || this;

    a = a || window.ActiveMenuItem;

    window.status = ''; 

    if (document.layers) {

        if (a) {

            a.document.bgColor = a.saveColor;

            if (a.hilite) a.hilite.visibility = "hidden";

            if (a.childMenu) a.document.layers[1].document.images[0].src = a.icon;

        } else {

            a = new Object();

        }

        if (this.mouseover && this.id != a.id) {

            if (this.mouseover.length > 4) {

                var ext = this.mouseover.substring(this.mouseover.length-4);

                if (ext == ".gif" || ext == ".jpg") {

                    this.document.layers[1].document.images[0].src = this.mouseover;

                } else {

                    eval("" + this.mouseover);

                }

            }

        }

        if (l.hilite) {

            l.document.bgColor = l.menuHiliteBgColor;

            l.zIndex = 1;

            l.hilite.visibility = "inherit";

            l.hilite.zIndex = 2;

            l.document.layers[1].zIndex = 1;

            l.focusItem.zIndex = this.zIndex +2;

        }

        l.focusItem.top = this.top;

        l.Menu.hideChildMenu(l);

    }

    window.ActiveMenuItem = l;

}

function onMenuItemOut(e, l, a) {

  timedHideDropDown(activeImg);

  l = l || this;

  a = a || window.ActiveMenuItem;

  if (l.id.indexOf("focusItem")) {

    if (a && l.top) {

      l.top = -30;

 	  if (a.mouseout && a.id != l.id) {

		if (a.mouseout.length > 4) {

		  var ext = a.mouseout.substring(a.mouseout.length-4);

		  if (ext == ".gif" || ext == ".jpg") {

			a.document.layers[1].document.images[0].src = a.mouseout;

  		  } else

			 eval("" + a.mouseout);

  		  }

		}

      } else if (a && l.style) {

          document.onmousedown=null;

            window.event.cancelBubble=true;

	        if (l.mouseout) {

				if (l.mouseout.length > 4) {

					var ext = l.mouseout.substring(l.mouseout.length-4);

					if (ext == ".gif" || ext == ".jpg") {

						l.document.images[l.id + "Img"].src = l.mouseout;

					} else {

						eval("" + l.mouseout);

					}

				}

			}

		}

    }

}



function onMenuItemAction(e, l) {

    l = window.ActiveMenuItem;

    if (!l) return;

    if (!ActiveMenu.Menu.disableHide) 

      hideActiveMenus(ActiveMenu.menuLayer);

    if (l.action) {

        eval("" + l.action);

    }

}



function showMenu(menu, x, y, child) {

  document.showMenuMenu = menu;

	document.showMenuX = x;

	document.showMenuY = y;

	document.showMenuChild = child;

  if (!window.wroteMenu) 

	{

	  return;

    }

    if (document.layers) {

        if (menu) {

            var l = menu.menuLayer || menu;

            if (typeof(menu) == "string") {

                for (var n=0; n < menuContainers.length; n++) {

                    l = menuContainers[n].menus[menu];

                    for (var i=0; i<menuContainers[n].menus.length; i++) {

                        if (menu == menuContainers[n].menus[i].label) l = menuContainers[n].menus[i].menuLayer;

                        if (l) break;

                    }

                }

				if (!l) return;

            }

            l.Menu.container.document.bgColor = null;

            l.left = 1;

            l.top = 1;

            hideActiveMenus(l);

            if (this.visibility) l = this;

            window.ActiveMenu = l;

            window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);

            setTimeout('if(window.ActiveMenu)window.ActiveMenu.Menu.setMouseTracker();', 300);

        } else {

            var l = child;

        }

        if (!l) return;

        for (var i=0; i<l.layers.length; i++) {                

            if (!l.layers[i].isHilite) 

                l.layers[i].visibility = "inherit";

            if (l.layers[i].document.layers.length > 0) 

                showMenu(null, "relative", "relative", l.layers[i]);

        }

        if (l.parentLayer) {

            if (x != "relative") 

                l.parentLayer.left = x || window.pageX || 0;

            if (l.parentLayer.left + l.clip.width > window.innerWidth) 

                l.parentLayer.left -= (l.parentLayer.left + l.clip.width - window.innerWidth);

            if (y != "relative") 

                l.parentLayer.top = y || window.pageY || 0;

            if (l.parentLayer.isContainer) {

                l.Menu.xOffset = window.pageXOffset;

                l.Menu.yOffset = window.pageYOffset;

                l.parentLayer.clip.width = window.ActiveMenu.clip.width +2;

                l.parentLayer.clip.height = window.ActiveMenu.clip.height +2;

                if (l.parentLayer.menuContainerBgColor) l.parentLayer.document.bgColor = l.parentLayer.menuContainerBgColor;

            }

        }

        l.visibility = "inherit";

        if (l.Menu) l.Menu.container.visibility = "inherit";

    } 

	else if (document.all) {					//detection of ie

        var l = menu.menuLayer || menu;

        hideActiveMenus(l);

        if (typeof(menu) == "string") {								// ??

            l = document.all[menu];

            for (var n=0; n < menuContainers.length; n++) {

                l = menuContainers[n].menus[menu];

                for (var i=0; i<menuContainers[n].menus.length; i++) {

                    if (menu == menuContainers[n].menus[i].label) l = menuContainers[n].menus[i].menuLayer;

                    if (l) break;

                }

            }

        }

        window.ActiveMenu = l;								//menuLayer[i] is active

        l.style.visibility = "inherit";

        if (x != "relative") 

            l.style.pixelLeft = x || (window.pageX + document.body.scrollLeft) || 0;

        if (y != "relative") 

            l.style.pixelTop = y || (window.pageY + document.body.scrollTop) || 0;

        l.Menu.xOffset = document.body.scrollLeft;

        l.Menu.yOffset = document.body.scrollTop;

    }

	else if (document.getElementById) 

	{

        var l = menu.menuLayer || menu;

	    hideActiveMenus(l);												//hide any currently active menus

        if (typeof(menu) == "string") {								// ??

            l = document.getElementById(menu);

            for (var n=0; n < menuContainers.length; n++) {

                l = menuContainers[n].menus[menu];

                for (var i=0; i<menuContainers[n].menus.length; i++) {

                    if (menu == menuContainers[n].menus[i].label) l = menuContainers[n].menus[i].menuLayer;

                    if (l) break;

                }

            }

         }	

        window.ActiveMenu = l;										//menuLayer[i] is active

        l.style.visibility = "inherit";

        if (x != "relative") 

            l.style.left = x || 0;

        if (y != "relative") 

            l.style.top = y || 0;

        l.Menu.xOffset = document.body.scrollLeft;

        l.Menu.yOffset = document.body.scrollTop;

    }

    if (menu) {

        window.activeMenus[window.activeMenus.length] = l;

    }

}



function hideMenu(e) {

    window.status="";  // path code

    var l = e || window.ActiveMenu;

    if (!l) return true;

    if (l.menuLayer) {

        l = l.menuLayer;

    } else if (this.visibility) {

        l = this;

    }

    if (l.menuLayer) {

        l = l.menuLayer;

    }

    var a = window.ActiveMenuItem;													//a is set to the array menu item

    document.saveMousemove = document.onmousemove;

    document.onmousemove = mouseTracker;

	if (a && document.layers) {

        a.document.bgColor = a.saveColor;

        a.focusItem.top = -30;

        if (a.hilite) a.hilite.visibility = "hidden";

        if (a.childMenu) a.document.layers[1].document.images[0].src = a.icon;

        if (mDrag.oldX <= e.pageX+3 && mDrag.oldX >= e.pageX-3 && mDrag.oldY <= e.pageY+3 && mDrag.oldY >= e.pageY-3) 

//	    if(e.onclick==true)

  		  {

          if (a.action && window.ActiveMenu) 

  		      setTimeout('window.ActiveMenu.Menu.onMenuItemAction();', 2);

        } 





		else if (document.saveMousemove == mDrag.doMenuDrag) 

		{

      if (window.ActiveMenu) return true;

    }

    } else if (window.ActiveMenu && document.all) {

        document.onmousedown=null;										//executes when moving from one link to another w/in same container

        if (a) {

            a.style.backgroundColor = a.saveColor;

            if (a.hilite) a.hilite.style.visibility = "hidden";

        }

	    if (document.saveMousemove == mDrag.doMenuDrag) {

            return true;

        }

	} else if(a && document.getElementById) {

	    document.onmousedown=null;

        if (a) { 															//allows moused over color to change back when menu disappears.

            a.style.backgroundColor = a.saveColor;

            if (a.hilite) a.hilite.style.visibility = "hidden";

        }

		if (document.saveMousemove == mDrag.doMenuDrag) return true;

	}

    if (window.ActiveMenu) {												//ns6 enters this

        if (window.ActiveMenu.Menu) 										//ns6 enters this too

		{

            if (window.ActiveMenu.Menu.disableHide && !(is_nav5_or_up()))

			  return true;

			else if (is_nav5_or_up()) 

 			  if(a) 

				return true;

            e = window.event || e;

        }

    }

    hideActiveMenus(l);

    return true;

}



function hideChildMenu(menuLayer) {

    var l = menuLayer || this;

    for (var i=0; i < l.Menu.childMenus.length; i++) {

        if (document.layers) {

            l.Menu.childMenus[i].visibility = "hidden";

        } else if (document.all) {

            l.Menu.childMenus[i].style.visibility = "hidden";

        } else if (is_nav5_or_up()) {

		    l.Menu.childMenus[i].style.visibility = "hidden";

		}

        l.Menu.childMenus[i].Menu.hideChildMenu(l.Menu.childMenus[i]);

    }

    if (l.childMenu) {

        if (document.layers) {

            l.Menu.container.document.bgColor = null;

            l.Menu.showMenu(null,null,null,l.childMenu.layers[0]);

            l.childMenu.zIndex = l.parentLayer.zIndex +1;

            l.childMenu.top = l.top + l.parentLayer.top + l.Menu.menuLayer.top;

            if (l.childMenu.left + l.childMenu.clip.width > window.innerWidth) {

                l.childMenu.left = l.parentLayer.left - l.childMenu.clip.width + l.Menu.menuLayer.top + 15;

                l.Menu.container.clip.left -= l.childMenu.clip.width;

            } else if (l.Menu.childMenuDirection == "left") {

                l.childMenu.left = l.parentLayer.left - l.parentLayer.clip.width;

                l.Menu.container.clip.left -= l.childMenu.clip.width;

            } else {

                l.childMenu.left = l.parentLayer.left + l.parentLayer.clip.width  + l.Menu.menuLayer.left -5;

            }

            l.Menu.container.clip.width += l.childMenu.clip.width +100;

            l.Menu.container.clip.height += l.childMenu.clip.height;

            l.document.layers[1].zIndex = 0;

            l.document.layers[1].document.images[0].src = l.iconHilite;

            l.childMenu.visibility = "inherit";

        } else if (document.all) {

            l.childMenu.style.zIndex = l.Menu.menuLayer.style.zIndex +1;

            l.childMenu.style.pixelTop = l.style.pixelTop + l.Menu.menuLayer.style.pixelTop;

            if (l.childMenu.style.pixelLeft + l.childMenu.style.pixelWidth > document.width) {

                l.childMenu.style.pixelLeft = l.childMenu.style.pixelWidth + l.Menu.menuLayer.style.pixelTop + 15;

            } else if (l.Menu.childMenuDirection == "left") {

            } else {

                l.childMenu.style.pixelLeft = l.Menu.menuLayer.style.pixelWidth + l.Menu.menuLayer.style.pixelLeft -5;

            }

            l.childMenu.style.visibility = "inherit";

        } else if (document.getElementById) {

            l.childMenu.style.zIndex = l.Menu.menuLayer.style.zIndex +3;

            l.childMenu.style.top = l.style.top + l.Menu.menuLayer.style.top;

            if (l.childMenu.style.left + l.childMenu.style.width > document.width) {

                l.childMenu.style.left = l.childMenu.style.width + l.Menu.menuLayer.style.top + 15;

            } else if (l.Menu.childMenuDirection == "left") {

            } else {

                l.childMenu.style.left = l.Menu.menuLayer.style.width + l.Menu.menuLayer.style.left -5;

            }

            l.childMenu.style.visibility = "inherit";

        }

		

        if (!l.childMenu.disableHide) 

            window.activeMenus[window.activeMenus.length] = l.childMenu;

    }

}



function hideActiveMenus(l) {

    if (!window.activeMenus) return;

    for (var i=0; i < window.activeMenus.length; i++) {

        if (!activeMenus[i]) return;

        if (activeMenus[i].visibility && activeMenus[i].Menu) {

            activeMenus[i].visibility = "hidden";

            activeMenus[i].Menu.container.visibility = "hidden";

            activeMenus[i].Menu.container.clip.left = 0;

        } else if (activeMenus[i].style && document.all) {

            activeMenus[i].style.visibility = "hidden";

        } else if (activeMenus[i].style || document.getElementById){

		    activeMenus[i].style.visibility = "hidden";

		}

    }

    document.onmousemove = mouseTracker;

    window.activeMenus.length = 0;

}



function mouseTracker(e) {

    e = e || window.Event || window.event;

    window.pageX = e.pageX || e.clientX || e.X;

    window.pageY = e.pageY || e.clientY || e.Y;

}



function setMouseTracker() {

    if (document.captureEvents) {

        document.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);

    }

    document.onmousemove = this.mouseTracker;

    document.onmouseup = this.hideMenu;

}



function setMenuTracker(menu) {

    if (!window.menuTrackers) window.menuTrackers = new Array();

    menuTrackers[menuTrackers.length] = menu;

    window.menuTrackerID = setInterval('menuTracker()',10);

}



function menuTracker() {

    for (var i=0; i < menuTrackers.length; i++) {

        if (!isNaN(menuTrackers[i].xOffset) && document.layers) {

            var off = parseInt((menuTrackers[i].xOffset - window.pageXOffset) / 10);

            if (isNaN(off)) off = 0;

            if (off < 0) {

                menuTrackers[i].container.left += -off;

                menuTrackers[i].xOffset += -off;

            } else if (off > 0) {

                menuTrackers[i].container.left += -off;

                menuTrackers[i].xOffset += -off;

            }

        }

        if (!isNaN(menuTrackers[i].yOffset) && document.layers) {

            var off = parseInt((menuTrackers[i].yOffset - window.pageYOffset) / 10);

            if (isNaN(off)) off = 0;

            if (off < 0) {

                menuTrackers[i].container.top += -off;

                menuTrackers[i].yOffset += -off;

            } else if (off > 0) {

                menuTrackers[i].container.top += -off;

                menuTrackers[i].yOffset += -off;

            }

        }

        if (!isNaN(menuTrackers[i].xOffset) && document.all) {

            var off = parseInt((menuTrackers[i].xOffset - document.all.scrollLeft) / 10);

            if (isNaN(off)) off = 0;

            if (off < 0) {

                menuTrackers[i].menuLayer.style.pixelLeft += -off;

                menuTrackers[i].xOffset += -off;

            } else if (off > 0) {

                menuTrackers[i].menuLayer.style.pixelLeft += -off;

                menuTrackers[i].xOffset += -off;

            }

        }

        if (!isNaN(menuTrackers[i].yOffset) && document.all) {

            var off = parseInt((menuTrackers[i].yOffset - document.all.scrollTop) / 10);

            if (isNaN(off)) off = 0;

            if (off < 0) {

                menuTrackers[i].menuLayer.style.pixelTop += -off;

                menuTrackers[i].yOffset += -off;

            } else if (off > 0) {

                menuTrackers[i].menuLayer.style.pixelTop += -off;

                menuTrackers[i].yOffset += -off;

            }

        }

        if (!isNaN(menuTrackers[i].xOffset) && document.getElementById) {

            var off = parseInt((menuTrackers[i].xOffset - document.getElementById.scrollLeft) / 10);

            if (isNaN(off)) off = 0;

            if (off < 0) {

                menuTrackers[i].menuLayer.style.left += -off;

                menuTrackers[i].xOffset += -off;

            } else if (off > 0) {

                menuTrackers[i].menuLayer.style.left += -off;

                menuTrackers[i].xOffset += -off;

            }

        }

        if (!isNaN(menuTrackers[i].yOffset) && document.getElementById) {

            var off = parseInt((menuTrackers[i].yOffset - document.getElementById.scrollTop) / 10);

            if (isNaN(off)) off = 0;

            if (off < 0) {

                menuTrackers[i].menuLayer.style.top += -off;

                menuTrackers[i].yOffset += -off;

            } else if (off > 0) {

                menuTrackers[i].menuLayer.style.top += -off;

                menuTrackers[i].yOffset += -off;

            }

        }		

    }

}



function onMenuItemDown(e, l) {

    l = l || window.ActiveMenuItem || this;

    if (!l.Menu) {

    } else {

        if (document.layers) {

            mDrag.dragLayer = l.Menu.container;

            mDrag.startMenuDrag(e);

        } else if (document.all){

            mDrag.dragLayer = l.Menu.container.style;

            mDrag.startMenuDrag(e);

            window.event.cancelBubble=true;

        } else if (document.getElementById) {

		    return null;

		}

    }

}



function startMenuDrag(e) {

    if (document.layers) {

        if (e.which > 1) {

            if (window.ActiveMenu) ActiveMenu.Menu.container.visibility = "hidden";

            window.ActiveMenu = null;

            return true;

        }

        document.captureEvents(Event.MOUSEMOVE);

        var x = e.pageX;

        var y = e.pageY;

    } else if(document.all) {

        var x = window.event.clientX;

        var y = window.event.clientY;

    } else if(document.getElementById) {

	    return null;

	}

    mDrag.offX = x;

    mDrag.offY = y;

    mDrag.oldX = x;

    mDrag.oldY = y;

    if (!ActiveMenu.Menu.disableDrag) document.onmousemove = mDrag.doMenuDrag;

    return false;

}



function doMenuDrag(e) {

    if (document.layers) {

        mDrag.dragLayer.moveBy(e.pageX-mDrag.offX,e.pageY-mDrag.offY);

        mDrag.offX = e.pageX;

        mDrag.offY = e.pageY;

    } else if(document.all){

        mDrag.dragLayer.pixelLeft = window.event.offsetX;

        mDrag.dragLayer.pixelTop  = window.event.offsetY;

        return false; //for IE

    } else if(document.getElementById) {

	    return null;

	}

}

  

function loadMenus() {

  window.about = new Menu("About Matisse");

	about.addMenuItem("Overview&#160;","location=siteurl+'about/'");

	about.addMenuItem("News &amp; Events&#160;","location=siteurl+'about/press_events/'");

	about.addMenuItem("Careers&#160;","location=siteurl+'about/careers/'");

	about.disableDrag = true;



  window.products = new Menu("Product Info");

    products.addMenuItem("Overview&#160;","location=siteurl+'product_information/'");

	products.addMenuItem("Architecture&#160;","location=siteurl+'product_information/architecture/'");

	products.addMenuItem("Features&#160;","location=siteurl+'product_information/features/'");

	products.addMenuItem("Solutions&#160;","location=siteurl+'product_information/solutions/'");

    products.addMenuItem("Sales&#160;","location=siteurl+'product_information/sales/'");

    products.disableDrag = true;

	

  window.services = new Menu("Services");

	services.addMenuItem("Overview&#160;","location=siteurl+'services/'");

	services.addMenuItem("Consulting&#160;","location=siteurl+'services/consulting/'");

	services.addMenuItem("Training&#160;","location=siteurl+'services/training/'");

   	services.addMenuItem("Technical Support&#160;","location=siteurl+'services/technical_support/'");

	services.disableDrag = true;



  window.customers = new Menu("Customers");

	customers.addMenuItem("U.S.&#160;","location=siteurl+'customers/us/'");

	customers.addMenuItem("International&#160;","location=siteurl+'customers/international/'");

	customers.addMenuItem("Case Studies&#160;","location=siteurl+'customers/case_studies/'");

	customers.disableDrag = true;	

	

	window.partners = new Menu("Partners");

	partners.addMenuItem("Our Partners&#160;","location=siteurl+'partners/'");

	partners.addMenuItem("Become a Partner&#160;","location=siteurl+'partners/become_a_partner/'");

	partners.disableDrag = true;

	

	window.developers = new Menu("Developers");

	developers.addMenuItem("Downloads&#160;","location=siteurl+'developers/downloads/'");

	developers.addMenuItem("Documentation&#160;","location=siteurl+'developers/documentation/'");

	developers.addMenuItem("FAQs&#160;","location=siteurl+'developers/faqs/'");	

	developers.addMenuItem("Resources&#160;","location=siteurl+'developers/resources/'");

	developers.disableDrag = true;	



  window.devsite = new Menu();

	devsite.writeMenus();

  keepTop();

}



function onLoad() {

		loadMenus();

}

