// added following array by Mark Filanowicz on 2-22-2002 
var xbcl_MenuList = new Array();		// array of Menu List strs

function colorize(id) 
{
	var i;
	
	if (this.visible) 
	{
		if (this.bgColor != "#FFFFFF") 
		{
			this.bgColor = "#FFFFFF";
			this.needsUpdate = true;
		}

		for (i = 0; i < document.lists.length; i++) 
		{
			document.lists[i].touch = true;
			if (i != id) 
			{
				if (document.lists[i].bgColor != "#FFFFFF") 
				{
					document.lists[i].bgColor = "#FFFFFF";
					document.lists[i].needsUpdate = true;
				}
			}
		}
	}
	
	var p = this;
	while (p != null) 
	{
		p.touch = false;
		p = p.parentList; 
	}
	
	for (i = 0; i < document.lists.length; i++)
		if (document.lists[i].touch && document.lists[i].visible)
      xbcl_expand(document.lists[i].id);
}

// function added by Mark Filanowicz 02-22-2002
function ExpandMenu(str) 
{
// finds the list index pointer based on the menu text

  var i;
  var parents = new Array();		//  list of parents, to be built when we want to expand a submenu

  for ( i = 0; i < xbcl_MenuList.length; i++ )
  {
		if ( xbcl_MenuList[i] == str )
		{
			while (i > 0)
			{
				parents[parents.length] = i;	// push parent onto stack
				i = document.lists[i].parentList.id;			// get next higher parent
			}
			// expand the highest parent menu first, then the requested submenu
			while (parents.length > 0)
			{
				i = parents[parents.length-1];
				if (!document.lists[i].visible)
				{
					xbcl_expand(i);			// expand the highest parent menu left in stack
				}
				parents.length--;		// remove this parent from stack
			}
			return;
		}
  }
}


// added str argument by Mark Filanowicz 02-22-2002
function init(str) 
{
	var width = 477;
	var height = 14;
	var bgColor = "#FFFFFF";

	var l = new List(true, width, height, bgColor);
	xbcl_MenuList[xbcl_MenuList.length]="Main Menu";	// placeholder, not used
	
	l.setFont("<FONT STYLE='FONT-SIZE: 8pt;COLOR: #000000;FONT-FAMILY: Verdana, Geneva, Arial, Helvetica'>","</FONT>");
	
	var item1 = new List(false, width, 180, bgColor);
	xbcl_MenuList[xbcl_MenuList.length]="Bind/Use";		// must be in same order as new Lists defined
	
	item1.setFont("<FONT STYLE='FONT-SIZE: 8pt;COLOR: #000000;FONT-FAMILY: Verdana, Geneva, Arial, Helvetica'>","<\/FONT>");
	item1.onexpand = colorize;
	item1.addItem("Nobilis provides an intuitive solution for business users to bind Web Services<br>and use them in their daily business activities. The Nobilis platform includes<br>a set of components, or \"process rules\", that enable users to search a UDDI<br>directory, select a service and bind that service to a Nobilis-automated<br>process with conditional process logic for the terms and conditions of its use.<br>As services often are simply used as a step in a larger business activity (such<br>as a credit check during a loan application process), having an easy way to<br>bind their usage to a process makes the application of Web Services practical<br>for both the business and the business user.  Because Nobilis Ci makes the<br>automation of business activities intuitive for business users, Nobilis'<br>capabilities in binding and using Web Services are made available to business<br>users without the need to rely on programmers.");
	l.addList(item1, "Bind/Use");

	var item2 = new List(false, width, 240, bgColor);
	xbcl_MenuList[xbcl_MenuList.length]="Provision";		// must be in same order as new Lists defined
	
	item2.setFont("<FONT STYLE='FONT-SIZE: 8pt;COLOR: #000000;FONT-FAMILY: Verdana, Geneva, Arial, Helvetica'>","<\/FONT>");
	item2.onexpand = colorize;
	item2.addItem("Nobilis provides an open, scalable platform to support the coordinated<br>activities of an interconnected process ecosystem.  Because 3G BPM will<br>thrive on process professionalization and syndication, it will be able to<br>fully leverage the potential of the Web as an interconnected business<br>platform.  As component business rules and process activities are<br>developed and improved by business users who have expertise in<br>specific domains, they should be made available for reuse in processes<br>across, and even beyond, the enterprise.  Nobilis Ci is designed from the<br>ground up to support this required architecture.  Nobilis enables users to<br>register a service on a public directory and push the service to fulfill a<br>request based on that registration.  As business users develop expert rules<br>and objects that are refined with their own domain expertise, they may<br>offer those objects as available services, dictating their own professionalism<br>and turning activities which were previously cost centers into services which<br>can be operated as profit centers.");
	l.addList(item2, "Provision");
	
	var item3 = new List(false, width, 140, bgColor);
	xbcl_MenuList[xbcl_MenuList.length]="Monitoring";		// must be in same order as new Lists defined
	
	item3.setFont("<FONT STYLE='FONT-SIZE: 8pt;COLOR: #000000;FONT-FAMILY: Verdana, Geneva, Arial, Helvetica'>","<\/FONT>");
	item3.onexpand = colorize;
	item3.addItem("As businesses deploy Web Services to satisfy steps within business activities,<br>there will be a need for monitoring and reporting on their usage, both to<br>account for their costs as well as to analyze their effectiveness.  By wrapping<br>Web Services within the steps of a Nobilis process, the enterprise will be<br>provided with all the controls and accountability for their usage that they<br>require.  The <a href=\"processAgent.html\">Nobilis Process Agent</a> will track and log every interaction with a<br>given Web Service and ensure that the enterprise has the visibility required<br>into those transactions.");
	l.addList(item3, "Monitoring");
		
	var x=0;
	var y=300;
	var NS4=(document.layers) ? true : false;
	var NS6=(document.getElementById)?true:false;
	var IE4=(document.all)?true:false;
	var ver4 = (NS4 || IE4 || NS6) ? true : false;
	
	if(NS4) {
//	  alert("NS4");
	  x = document.anchors.leftmenu.x;
	  y = document.anchors.leftmenu.y;
	} else if (IE4) {
//	  alert("IE4");
	  var myEl = document.getElementById('leftmenu');
	  var oBndRct=myEl.getBoundingClientRect();
    // modification from Mark 3/11/02 to add Scroll positions
    x = oBndRct.left + xbGetPageScrollX(); // leave room if we've scrolled right
    y = oBndRct.top  + xbGetPageScrollY(); // leave room if we've scrolled down
	  if (x>10) x=x-2;	  // a little extra room if we can
	} else if (NS6) {
//	  alert("NS6");
	  var myEl = document.getElementById('leftmenu');
	  x = myEl.offsetLeft;
	  y = myEl.offsetTop;
	  if (x>15) x=x-8;	  // a little extra room if we can
	}
	
	l.build(x, y);
	if (str) {
	ExpandMenu(str);		
	}
	
	
}

function redo()
{	
  document.location.reload();
}