var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
var vmenu = new Array();
var hmenu = new Array();
function getRef(id)
{
	if (isDOM) return document.getElementById(id);
	if (isIE4) return document.all[id];
	if (isNS4) return document.layers[id];
}

function getSty(id)
{
	return (isNS4 ? getRef(id) : getRef(id).style);
}

// Hide timeout.
var popTimer = 0;

// Array showing highlighted menu items.
var hlitNow = new Array();

var vlitNow = new Array();

function HpopOver(menuNum, itemNum)
{
	clearTimeout(popTimer);
	hhideAllBut(menuNum);
	hlitNow = HgetTree(menuNum, itemNum);
	hchangeCol(hlitNow, true);
	targetNum = hmenu[menuNum][itemNum].target;
	if (targetNum > 0)
	{
		thisX = parseInt(hmenu[menuNum][0].ref.left) + parseInt(hmenu[menuNum][itemNum].ref.left);
		thisY = parseInt(hmenu[menuNum][0].ref.top) + parseInt(hmenu[menuNum][itemNum].ref.top);
		with (hmenu[targetNum][0].ref)
		{
			left = parseInt(thisX + hmenu[targetNum][0].x);
			top = parseInt(thisY + hmenu[targetNum][0].y);
			visibility = 'visible';
      	}
   	}
}

function VpopOver(menuNum, itemNum)
{
	clearTimeout(popTimer);
	vhideAllBut(menuNum);
	vlitNow = VgetTree(menuNum, itemNum);
	vchangeCol(vlitNow, true);
	targetNum = vmenu[menuNum][itemNum].target;
	if (targetNum > 0)
	{
		thisX = parseInt(vmenu[menuNum][0].ref.left) + parseInt(vmenu[menuNum][itemNum].ref.left);
		thisY = parseInt(vmenu[menuNum][0].ref.top) + parseInt(vmenu[menuNum][itemNum].ref.top);
		with (vmenu[targetNum][0].ref)
		{
			left = parseInt(thisX + vmenu[targetNum][0].x);
			top = parseInt(thisY + vmenu[targetNum][0].y);
			visibility = 'visible';
      	}
   	}
}

function HpopOut(menuNum, itemNum)
{
	if ((menuNum == 0) && !hmenu[menuNum][itemNum].target)
		hhideAllBut(0)
	else
		popTimer = setTimeout('hhideAllBut(0)', 10);


}

function VpopOut(menuNum, itemNum)
{
	if ((menuNum == 0) && !vmenu[menuNum][itemNum].target)
		vhideAllBut(0)
	else
		popTimer = setTimeout('vhideAllBut(0)', 10);

}

function HgetTree(menuNum, itemNum)
{
// Array index is the menu number. The contents are null (if that menu is not a parent)
// or the item number in that menu that is an ancestor (to light it up).
	hitemArray = new Array(hmenu.length);
	while(1)
	{
		hitemArray[menuNum] = itemNum;
		// If we've reached the top of the hierarchy, return.
		if (menuNum == 0) return hitemArray;
		itemNum = hmenu[menuNum][0].parentItem;
		menuNum = hmenu[menuNum][0].parentMenu;
   	}
}

function VgetTree(menuNum, itemNum)
{
// Array index is the menu number. The contents are null (if that menu is not a parent)
// or the item number in that menu that is an ancestor (to light it up).
	vitemArray = new Array(vmenu.length);
	while(1)
	{
		vitemArray[menuNum] = itemNum;
		// If we've reached the top of the hierarchy, return.
		if (menuNum == 0) return vitemArray;
		itemNum = vmenu[menuNum][0].parentItem;
		menuNum = vmenu[menuNum][0].parentMenu;
   	}
}


// Pass an array and a boolean to specify colour change, true = over colour.
function hchangeCol(changeArray, isOver)
{
	for (menuCount = 0; menuCount < changeArray.length; menuCount++)
	{
		if (changeArray[menuCount])
		{
			newCol = isOver ? hmenu[menuCount][0].overCol : hmenu[menuCount][0].backCol;
			// Change the colours of the div/layer background.
			with (hmenu[menuCount][changeArray[menuCount]].ref)
			{
				if (isNS4) bgColor = newCol;
				else backgroundColor = newCol;
        	}
     	}
   	}
}

function vchangeCol(changeArray, isOver)
{
	for (menuCount = 0; menuCount < changeArray.length; menuCount++)
	{
		if (menuCount == 0 || menuCount == 6 || menuCount == 7)
		{
			if (changeArray[menuCount])
			{
				newCol = isOver ? vmenu[menuCount][0].overCol : vmenu[menuCount][0].backCol;
				// Change the colours of the div/layer background.
				with (vmenu[menuCount][changeArray[menuCount]].ref)
				{
					if (isNS4) bgColor = newCol;
					else backgroundColor = newCol;
				}
     		}
		}
		else
		{
			if (changeArray[menuCount])
			{
				newCol = isOver ? vmenu[menuCount][0].overCol : vmenu[menuCount][0].backCol;
				// Change the colours of the div/layer background.
				with (vmenu[menuCount][changeArray[menuCount]].ref)
				{
					if(changeArray[menuCount] !== 1)
					{
						if (isNS4) bgColor = newCol;
						else backgroundColor = newCol;
					}
					else
					{
						if (isNS4) bgColor = defCaption;
						else backgroundColor = defCaption;
					}
        		}
     		}
   		}
	}
}
function hhideAllBut(menuNum)
{
	var keepMenus = HgetTree(menuNum, 1);
	for (count = 0; count < hmenu.length; count++)
		if (!keepMenus[count])
			hmenu[count][0].ref.visibility = 'hidden';
		hchangeCol(hlitNow, false);
}

function vhideAllBut(menuNum)
{
	var keepMenus = VgetTree(menuNum, 1);
	for (count = 0; count < vmenu.length; count++)
		if (!keepMenus[count])
			vmenu[count][0].ref.visibility = 'hidden';
	vchangeCol(vlitNow, false);
}

// *** MENU CONSTRUCTION FUNCTIONS ***

function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass)
{
	// True or false - a vertical menu?
	this.isVert = isVert;
	// The popout indicator used (if any) for this menu.
	this.popInd = popInd
	// Position and size settings.
	this.x = x;
	this.y = y;
	this.width = width;
	// Colours of menu and items.
	this.overCol = overCol;
	this.backCol = backCol;
	// The stylesheet class used for item borders and the text within items.
	this.borderClass = borderClass;
	this.textClass = textClass;
	// Parent menu and item numbers, indexed later.
	this.parentMenu = null;
	this.parentItem = null;
	// Reference to the object's style properties (set later).
	this.ref = null;
}

function Item(text, href, frame, length, spacing, target)
{
	this.text = text;
	this.href = href;
	this.frame = frame;
	this.length = length;
	this.spacing = spacing;
	this.target = target;
	// Reference to the object's style properties (set later).
	this.ref = null;
}

function HwriteMenus()
{
	if(!isDOM && !isIE4 && !isNS4) return;
	if (!isDOM && !isIE4 && !isNS4) return;
		for (currMenu = 0; currMenu < hmenu.length; currMenu++)
		with (hmenu[currMenu][0]) {
		// Variable for holding HTML for items and positions of next item.
		var str = '', itemX = 0, itemY = 0;

		// Remember, items start from 1 in the array (0 is menu object itself, above).
		// Also use properties of each item nested in the other with() for construction.
		for (currItem = 1; currItem < hmenu[currMenu].length; currItem++)
			with (hmenu[currMenu][currItem])
			{
				var itemID = 'hmenu' + currMenu + 'item' + currItem;
				// The width and height of the menu item - dependent on orientation!
				var w = (isVert ? width : length);
				var h = (isVert ? length : width);

				// Create a div or layer text string with appropriate styles/properties.
				if (isDOM || isIE4)
				{
					str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
					if (backCol) str += 'background: ' + backCol + '; ';
						str += '" ';
				}

				if (isNS4)
				{
					str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' +  w + '" height="' + h + '" visibility="inherit" ';
					if (backCol) str += 'bgcolor="' + backCol + '" ';
				}

				if (borderClass)
					str += 'class="' + borderClass + '" ';

				// Add mouseover handlers and finish div/layer.
				str += 'onMouseOver="HpopOver(' + currMenu + ',' + currItem + ')" onMouseOut="HpopOut(' + currMenu + ',' + currItem + ')">';

				// Add contents of item (default: table with link inside).
				// In IE/NS6+, add padding if there's a border to emulate NS4's layer padding.
				// If a target frame is specified, also add that to the <a> tag.

				str += '<table width="' + (w - 8) + '" border="0" cellspacing="0" cellpadding="' + (!isNS4 && borderClass ? 3 : 0) + '"><tr><td align="left" height="' + (h - 7) + '">' + '<a class="' + textClass + '" href="' + href + '"' + (frame ? ' target="' + frame + '">' : '>') + text + '</a></td>';
				if (target > 0)
				{

					// Set target's parents to this menu item.
					hmenu[target][0].parentMenu = currMenu;
					hmenu[target][0].parentItem = currItem;

					// Add a popout indicator.
					if (popInd)
						str += '<td class="' + textClass + '" align="right">' + popInd + '</td>';
				}
				str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');
				if (isVert)
					itemY += length + spacing;
				else
					itemX += length + spacing;
			}

			if (isDOM)
			{
				var newDiv = document.createElement('div');
				document.getElementsByTagName('body').item(0).appendChild(newDiv);
				newDiv.innerHTML = str;
				ref = newDiv.style;
				ref.position = 'absolute';
				ref.visibility = 'hidden';
			}

			// Insert a div tag to the end of the BODY with menu HTML in place for IE4.
			if (isIE4)
			{
				document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' + 'style="position: absolute; visibility: hidden">' + str + '</div>');
				ref = getSty('hmenu' + currMenu + 'div');
			}

			// In NS4, create a reference to a new layer and write the items to it.
			if (isNS4)
			{
				ref = new Layer(0);
				ref.document.write(str);
				ref.document.close();
			}

			for (currItem = 1; currItem < hmenu[currMenu].length; currItem++)
			{
				itemName = 'hmenu' + currMenu + 'item' + currItem;
				if (isDOM || isIE4)
					hmenu[currMenu][currItem].ref = getSty(itemName);
				if (isNS4)
					hmenu[currMenu][currItem].ref = ref.document[itemName];
			}
		}
		with(hmenu[0][0])
		{
			ref.left = x;
			ref.top = y;
			ref.visibility = 'visible';
   	}
}
function VwriteMenus()
{
	if (!isDOM && !isIE4 && !isNS4) return;

   	for (currMenu = 0; currMenu < vmenu.length; currMenu++)
		with (vmenu[currMenu][0])
		{
			// Variable for holding HTML for items and positions of next item.
			var str = '', itemX = 0, itemY = 0;

			// Remember, items start from 1 in the array (0 is menu object itself, above).
			// Also use properties of each item nested in the other with() for construction.
			for (currItem = 1; currItem < vmenu[currMenu].length; currItem++)
				with (vmenu[currMenu][currItem])
				{
					var itemID = 'vmenu' + currMenu + 'item' + currItem;
				// The width and height of the menu item - dependent on orientation!
					var w = (isVert ? width : length);
					var h = (isVert ? length : width);

				// Create a div or layer text string with appropriate styles/properties.
					if (isDOM || isIE4)
					{

							if(currItem == 1  && (currMenu !== 0 && currMenu !== 6 && currMenu !== 7) )
							{
								str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
								if (backCol) str += 'background: ' + defCaption + '; ';
									str += '" ';
							}
							else
							{
								str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
								if (backCol) str += 'background: ' + backCol + '; ';
									str += '" ';
							}

					}

					if (isNS4)
					{
						str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' +  w + '" height="' + h + '" visibility="inherit" ';
						if (backCol) str += 'bgcolor="' + backCol + '" ';
					}

					if (borderClass)
						str += 'class="' + borderClass + '" ';

				// Add mouseover handlers and finish div/layer.
					str += 'onMouseOver="VpopOver(' + currMenu + ',' + currItem + ')" onMouseOut="VpopOut(' + currMenu + ',' + currItem + ')">';

				// Add contents of item (default: table with link inside).
				// In IE/NS6+, add padding if there's a border to emulate NS4's layer padding.
				// If a target frame is specified, also add that to the <a> tag.

					str += '<table width="' + (w - 8) + '" border="0" cellspacing="0" cellpadding="' + (!isNS4 && borderClass ? 3 : 0) + '"><tr><td align="left" height="' + (h - 7) + '">' + '<a class="' + textClass + '" href="' + href + '"' + (frame ? ' target="' + frame + '">' : '>') + text + '</a></td>';
					if (target > 0)
					{

					// Set target's parents to this menu item.
						vmenu[target][0].parentMenu = currMenu;
						vmenu[target][0].parentItem = currItem;

						// Add a popout indicator.
						if (popInd)
							str += '<td class="' + textClass + '" align="right">' + popInd + '</td>';
					}
					str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');
					if (isVert)
						itemY += length + spacing;
					else
						itemX += length + spacing;
				}

				if (isDOM)
				{
					var newDiv = document.createElement('div');
					document.getElementsByTagName('body').item(0).appendChild(newDiv);
					newDiv.innerHTML = str;
					ref = newDiv.style;
					ref.position = 'absolute';
					ref.visibility = 'hidden';
				}

				// Insert a div tag to the end of the BODY with menu HTML in place for IE4.
				if (isIE4)
				{
					document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' + 'style="position: absolute; visibility: hidden">' + str + '</div>');
					ref = getSty('vmenu' + currMenu + 'div');
				}

				// In NS4, create a reference to a new layer and write the items to it.
				if (isNS4)
				{
					ref = new Layer(0);
					ref.document.write(str);
					ref.document.close();
				}

				for (currItem = 1; currItem < vmenu[currMenu].length; currItem++)
				{
					itemName = 'vmenu' + currMenu + 'item' + currItem;
					if (isDOM || isIE4)
						vmenu[currMenu][currItem].ref = getSty(itemName);
					if (isNS4)
						vmenu[currMenu][currItem].ref = ref.document[itemName];
				}
		}
		with(vmenu[0][0])
		{
			ref.left = x;
			ref.top = y;
			ref.visibility = 'visible';
   		}
}


// Syntaxes: *** START EDITING HERE, READ THIS SECTION CAREFULLY! ***
//
// menu[menuNumber][0] = new Menu(Vertical menu? (true/false), 'popout indicator', left, top,
// width, 'mouseover colour', 'background colour', 'border stylesheet', 'text stylesheet');
//
// Left and Top are measured on-the-fly relative to the top-left corner of its trigger, or
// for the root menu, the top-left corner of the page.
//
// menu[menuNumber][itemNumber] = new Item('Text', 'URL', 'target frame', length of menu item,
//  additional spacing to next menu item, number of target menu to popout);
//
// If no target menu (popout) is desired, set it to 0. Likewise, if your site does not use
// frames, pass an empty string as a frame target.
//
// Something that needs explaining - the Vertical Menu setup. You can see most menus below
// are 'true', that is they are vertical, except for the first root menu. The 'length' and
// 'width' of an item depends on its orientation -- length is how long the item runs for in
// the direction of the menu, and width is the lateral dimension of the menu. Just look at
// the examples and tweak the numbers, they'll make sense eventually :).

//var hmenu = new Array();
//var vmenu = new Array();

// Default colours passed to most menu constructors (just passed to functions, not
// a global variable - makes things easier to change later in bulk).
//var defOver = '#000000', defBack = '#0080FF';
var defOver = '#FFFF00', defBack = '#CBE5F6', defBack2 = '#006291';
var defCaption = '#0080FF', defOver2 = '#0080FF';
// Default 'length' of menu items - item height if menu is vertical, width if horizontal.
var defLength = 16;

// Menu 0 is the special, 'root' menu from which everything else arises.
hmenu[0] = new Array();
vmenu[0] = new Array();

// A non-vertical menu with a few different colours and no popout indicator, as an example.
// *** MOVE ROOT MENU AROUND HERE ***  it's positioned at (5, 0) and is 17px high now.
hmenu[0][0] = new Menu(false, '', 10, 80, 18, defOver2, defBack2, '', 'itemText');
// Notice how the targets are all set to nonzero values...
// The 'length' of each of these items is 40, and there is spacing of 10 to the next item.
// Most of the links are set to '#' hashes, make sure you change them to actual files.
hmenu[0][1] = new Item('CEIBO Home', '/eng/home.shtml', '', 140, 10, 0);
hmenu[0][2] = new Item('News', '/eng/general/newsltr.shtml', '', 60, 0, 0);
hmenu[0][3] = new Item('Products', '/eng/general/products.shtml','', 80, 0, 0);
hmenu[0][4] = new Item('Price List', '/eng/general/prices.shtml','', 90, 0, 0);
hmenu[0][5] = new Item('Downloads', '/eng/general/swupdate.shtml','',90, 0, 0);
hmenu[0][6] = new Item('Contact', 'mailto:info@ceibo.com','', 70, 0, 0);
hmenu[0][7] = new Item('Search','/eng/general/search.shtml','',70,0,0);
hmenu[0][8] = new Item('Language','#','', 80, 0, 1);
hmenu[0][9] = new Item('About Us','/eng/general/profile.shtml','', 80, 0, 0);

vmenu[0][0] = new Menu(true, '>', 10, 105, 140, defOver2, defBack2, '', 'itemText');
// Notice how the targets are all set to nonzero values...
// The 'length' of each of these items is 40, and there is spacing of 10 to the next item.
// Most of the links are set to '#' hashes, make sure you change them to actual files.
vmenu[0][1] = new Item('Product Selection', '/eng/general/products.shtml','', 18, 2, 1);
vmenu[0][2] = new Item('Linecards', '/eng/general/linecards.shtml','', 18, 2, 2);
vmenu[0][3] = new Item('Catalog PDF	', '/eng/general/catalog.shtml','', 18, 2, 3);
vmenu[0][4] = new Item('Price List', '/eng/general/prices.shtml','', 18, 2, 4);
vmenu[0][5] = new Item('Downloads','/eng/general/swupdate.shtml','', 18, 2, 5);
vmenu[0][6] = new Item('Support','#','', 18, 2, 6);
vmenu[0][7] = new Item('Contact', '/eng/general/profile.shtml', '', 18, 2, 7);
vmenu[0][8] = new Item('Search', '/eng/general/search.shtml', '', 18, 2, 0);


/////////////////////////////////////////////////////////////////////////////////////////////
// SUB MENUS
/////////////////////////////////////////////////////////////////////////////////////////////
// Horizontal Language sub menu
hmenu[1] = new Array();
hmenu[1][0] = new Menu(true, '', 0, 19, 60, defOver, defBack, 'subBorder', 'subText');
hmenu[1][1] = new Item('English', '/eng/home.shtml', '', defLength, 0, 0);
hmenu[1][2] = new Item('Deutsch', '/ger/home.shtml', '', defLength, 0, 0);

/////////////////////////////////////////////////////////////////////////////////////////////
// Vertical sub menus 1st level
/////////////////////////////////////////////////////////////////////////////////////////////

//Product Selection
vmenu[1] = new Array();
vmenu[1][0] = new Menu(true, '>>', 140, 0, 180, defOver, defBack, 'subBorder', 'subText');
vmenu[1][1] = new Item('All Products', '/eng/general/products.shtml', '', defLength, 0, 0);
vmenu[1][2] = new Item('Emulators and Dev.Kits', '/eng/general/products.shtml#inc', '', defLength, 0, 8);
vmenu[1][3] = new Item('Development Boards', '/eng/general/products.shtml#dev', '', defLength, 0, 9);
vmenu[1][4] = new Item('Programmers', '/eng/general/products.shtml#prl', '', defLength, 0, 10);
vmenu[1][5] = new Item('PSD Tools', '/eng/general/products.shtml#prl', '', defLength, 0, 11);
vmenu[1][6] = new Item('Rom Emulators', '/eng/general/products.shtml#prl', '', defLength, 0, 12);
vmenu[1][7] = new Item('Logic Analyzer', '/eng/general/products.shtml#prl', '', defLength, 0, 13);
vmenu[1][8] = new Item('Compilers and Assemblers', '/eng/general/products.shtml#cai', '', defLength, 0, 14);
vmenu[1][9] = new Item('Internet solutions', '/eng/general/products.shtml#cai', '', defLength, 0, 15);
vmenu[1][10] = new Item('CAN Products', '/eng/can/canproducts.shtml', '', defLength, 0, 16);
vmenu[1][11] = new Item('Adapters', '/eng/general/products.shtml#adp', '', defLength, 0, 17);

//Linecards
vmenu[2] = new Array();
vmenu[2][0] = new Menu(true, '', 140, 0, 100, defOver, defBack, 'subBorder', 'subText');
vmenu[2][1] = new Item('All Linecards', '/eng/general/linecards.shtml', '', defLength, 0, 0);
vmenu[2][2] = new Item('AMD', '/eng/linecard/amd.shtml', '', defLength, 0, 0);
vmenu[2][3] = new Item('ARM', '/eng/linecard/arm.shtml', '', defLength, 0, 0);
vmenu[2][4] = new Item('Atmel', '/eng/linecard/atmel.shtml', '', defLength, 0, 0);
vmenu[2][5] = new Item('Dallas', '/eng/linecard/dallas.shtml', '', defLength, 0, 0);
//vmenu[2][6] = new Item('Cybratech', '/eng/linecard/cybra.shtml', '', defLength, 0, 0);
vmenu[2][6] = new Item('Infineon', '/eng/linecard/infineon.shtml', '', defLength, 0, 0);
vmenu[2][7] = new Item('Intel', '/eng/linecard/intel.shtml', '', defLength, 0, 0);
vmenu[2][8] = new Item('Microchip', '/eng/linecard/microchp.shtml', '', defLength, 0, 0);
vmenu[2][9] = new Item('Motorola', '/eng/linecard/motorola.shtml', '', defLength, 0, 0);
vmenu[2][10] = new Item('NEC', '/eng/linecard/nec.shtml', '', defLength, 0, 0);
vmenu[2][11] = new Item('Philips', '/eng/linecard/philips.shtml', '', defLength, 0, 0);
vmenu[2][12] = new Item('ST', '/eng/linecard/st.shtml', '', defLength, 0, 0);
vmenu[2][13] = new Item('TI', '/eng/linecard/ti.shtml', '', defLength, 0, 0);
//vmenu[2][15] = new Item('Ubicom', '/eng/linecard/ubicom.shtml', '', defLength, 0, 0);
vmenu[2][14] = new Item('Winbond', '/eng/linecard/winbond.shtml', '', defLength, 0, 0);
vmenu[2][15] = new Item('WSI', '/eng/linecard/wsi.shtml', '', defLength, 0, 0);

//Catalog PDF
vmenu[3] = new Array();
vmenu[3][0] = new Menu(true, '', 140, 0, 130, defOver, defBack, 'subBorder', 'subText');
vmenu[3][1] = new Item('All Catalog', '/eng/general/catalog.shtml', '', defLength, 0, 0);
vmenu[3][2] = new Item('Introduction', '/eng/general/catalog.shtml#intro', '', defLength, 0, 0);
vmenu[3][3] = new Item('Technologies', '/eng/general/catalog.shtml#tech', '', defLength, 0, 0);
vmenu[3][4] = new Item('In-Circuit Emulators', '/eng/general/catalog.shtml#ice', '', defLength, 0, 0);
vmenu[3][5] = new Item('Low Cost Emulators', '/eng/general/catalog.shtml#lce','', defLength, 0, 0);
vmenu[3][6] = new Item('Development Boards', '/eng/general/catalog.shtml#db','', defLength, 0, 0);
vmenu[3][7] = new Item('Programmers', '/eng/general/catalog.shtml#prog','', defLength, 0, 0);
vmenu[3][8] = new Item('ROM Emulators', '/eng/general/catalog.shtml#prog','', defLength, 0, 0);
vmenu[3][9] = new Item('Logic Analyzers', '/eng/general/catalog.shtml#prog','', defLength, 0, 0);
vmenu[3][10] = new Item('PSD Tools', '/eng/general/catalog.shtml#prog','', defLength, 0, 0);
vmenu[3][11] = new Item('ST5/7 Kits', '/eng/general/catalog.shtml#stx','', defLength, 0, 0);
vmenu[3][12] = new Item('HC08 Kits', '/eng/general/catalog.shtml#hc','', defLength, 0, 0);
vmenu[3][13] = new Item('HC12 Kits', '/eng/general/catalog.shtml#hc','', defLength, 0, 0);
//vmenu[3][14] = new Item('IP2000 Kits', '/eng/general/catalog.shtml#ip','', defLength, 0, 0);
vmenu[3][14] = new Item('CAN Products', '/eng/can/cancatalog.shtml','', defLength, 0, 0);
vmenu[3][15] = new Item('Compilers', '/eng/general/catalog.shtml#comp','', defLength, 0, 0);
vmenu[3][16] = new Item('TCP/IP', '/eng/general/catalog.shtml#comp','', defLength, 0, 0);
vmenu[3][17] = new Item('Adapters', '/eng/general/catalog.shtml#adp','', defLength, 0, 0);
vmenu[3][18] = new Item('Technical Support', '/eng/general/catalog.shtml#sup','', defLength, 0, 0);


// Price List menu.
vmenu[4] = new Array();
vmenu[4][0] = new Menu(true, '', 140, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[4][1] = new Item('All Price Lists', '/eng/general/prices.shtml', '', defLength, 0, 0);
vmenu[4][2] = new Item('Price List - USD', '/eng/pdf/priceusd.pdf', '', defLength, 0, 0);
vmenu[4][3] = new Item('Price List - EUR', '/eng/pdf/priceeur.pdf', '', defLength, 0, 0);


// Downloads menu
vmenu[5] = new Array();
vmenu[5][0] = new Menu(true, '', 140, 0, 100, defOver, defBack, 'subBorder', 'subText');
vmenu[5][1] = new Item('All Downloads', '/eng/general/swupdate.shtml', '', defLength, 0, 0);
vmenu[5][2] = new Item('Demo Software', '/eng/general/demosw.shtml', '', defLength, 0, 0);
vmenu[5][3] = new Item('Debuggers', '/eng/general/swupdate.shtml#dbg', '', defLength, 0, 0);
vmenu[5][4] = new Item('Programmers', '/eng/general/swupdate.shtml#prg', '', defLength, 0, 0);
vmenu[5][5] = new Item('Compilers', '/eng/general/swupdate.shtml#comp','', defLength, 0, 0);
vmenu[5][6] = new Item('Utilities', '/eng/general/swupdate.shtml#other','', defLength, 0, 0);


// Support menu.
vmenu[6] = new Array();
vmenu[6][0] = new Menu(true, '', 140, 0, 160, defOver, defBack, 'subBorder', 'subText');
vmenu[6][1] = new Item('Technologies', '/eng/pdf/technologies.pdf', '', defLength, 0, 0);
vmenu[6][2] = new Item('Comparison', '/eng/support/faq.shtml', '', defLength, 0, 0);
vmenu[6][3] = new Item('Frequently asked questions', '/eng/support/faq.shtml', '', defLength, 0, 0);
vmenu[6][4] = new Item('Send a question', 'mailto:support@ceibo.com', '', defLength, 0, 0);


// Contact menu.
vmenu[7] = new Array();
vmenu[7][0] = new Menu(true, '', 140, 0, 140, defOver, defBack, 'subBorder', 'subText');
vmenu[7][1] = new Item('Order Information', '/eng/general/orderhow.shtml', '', defLength, 0, 0);
vmenu[7][2] = new Item('Distributors', '/eng/general/reps.shtml', '', defLength, 0, 0);
vmenu[7][3] = new Item('Ceibo Addresses', '/eng/general/profile.shtml', '', defLength, 0, 0);
vmenu[7][4] = new Item('Send a question', 'mailto:info@ceibo.com', '', defLength, 0, 0);
vmenu[7][5] = new Item('Newsletter Subscription', '/eng/general/subscribe.shtml', '', defLength, 0, 0);


////////////////////////////////////////////////////////////////////////////////////////////
// SUB MENUS 2nd Level
////////////////////////////////////////////////////////////////////////////////////////////

// Emulators and Dev. Kits sub menu.
vmenu[8] = new Array();
vmenu[8][0] = new Menu(true, '>>>', 180, 0, 150, defOver, defBack, 'subBorder', 'subText');
vmenu[8][1] = new Item('All Architectures', '/eng/general/products.shtml', '', defLength, 0, 0);
vmenu[8][2] = new Item('8051 Emulators ', '/eng/general/products.shtml#inc', '', defLength, 0, 18);
vmenu[8][3] = new Item('251 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 19);
vmenu[8][4] = new Item('XA Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 20);
vmenu[8][5] = new Item('8048 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 21);
vmenu[8][6] = new Item('PIC Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 22);
vmenu[8][7] = new Item('x86 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 23);
vmenu[8][8] = new Item('8085 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 24);
vmenu[8][9] = new Item('ST6 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 25);
//vmenu[8][10] = new Item('IP2000 Kits', '/eng/general/products.shtml#ip', '', defLength, 0, 26);
vmenu[8][10] = new Item('ST5 Kits', '/eng/general/products.shtml#stx', '', defLength, 0, 26);
vmenu[8][11] = new Item('ST7 Kits', '/eng/general/products.shtml#stx', '', defLength, 0, 27);
vmenu[8][12] = new Item('HC08 Kits', '/eng/general/products.shtml#hc', '', defLength, 0, 28);
vmenu[8][13] = new Item('HC12 Kits', '/eng/general/products.shtml#hc', '', defLength, 0, 29);


// Dev boards sub menu.
vmenu[9] = new Array();
vmenu[9][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[9][1] = new Item('All Development Boards', '/eng/general/products.shtml#dev', '', defLength, 0, 0);
vmenu[9][2] = new Item('DS-750 - Philips 87C750/1/2', '/eng/products/ds750.shtml', '', defLength, 0, 0);
vmenu[9][3] = new Item('DB-51 - All 8051s', '/eng/products/db-51.shtml', '', defLength, 0, 0);


// Programmers sub menu.
vmenu[10] = new Array();
vmenu[10][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[10][1] = new Item('All Programmers', '/eng/general/products.shtml#prl', '', defLength, 0, 0);
vmenu[10][2] = new Item('MP-51 - Microcontrollers, etc.', '/eng/products/mp51.shtml', '', defLength, 0, 0);
vmenu[10][3] = new Item('MP-UNIV - Universal', '/eng/products/mpuniv.shtml', '', defLength, 0, 0);
vmenu[10][4] = new Item('MP-JTAG - Philips JTAG', '/eng/products/mpjtag.shtml', '', defLength, 0, 0);

//PSD Tools sub menu
vmenu[11] = new Array();
vmenu[11][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[11][1] = new Item('All PSD Tools', '/eng/general/products.shtml#prl', '', defLength, 0, 0);
vmenu[11][2] = new Item('DS-300 - PSD-3XX Devices', '/eng/products/ds300.shtml', '', defLength, 0, 0);

//Rom emu sub menu
vmenu[12] = new Array();
vmenu[12][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[12][1] = new Item('All ROM Emulators', '/eng/general/products.shtml#prl', '', defLength, 0, 0);
vmenu[12][2] = new Item('multiROM', '/eng/products/multirom.shtml', '', defLength, 0, 0);

//Logic Analyzer sub menu
vmenu[13] = new Array();
vmenu[13][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[13][1] = new Item('All Logic Analyzers', '/eng/general/products.shtml#prl', '', defLength, 0, 0);
vmenu[13][2] = new Item('PA4032A - Logic Analyzer', '/eng/products/analyzer.shtml', '', defLength, 0, 0);

// Compilers sub menu.
vmenu[14] = new Array();
vmenu[14][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[14][1] = new Item('All Compilers', '/eng/general/products.shtml#cai', '', defLength, 0, 0);
vmenu[14][2] = new Item('C/C++ XA - Philips XA', '/eng/products/xa.shtml', '', defLength, 0, 0);
vmenu[14][3] = new Item('C/C++ 8051 - All 8051s', '/eng/products/cpp.shtml', '', defLength, 0, 0);
vmenu[14][4] = new Item('RKIT-ST6 - ST62 Compiler', '/eng/products/st62.shtml', '', defLength, 0, 0);


//Internet solution sub menu
vmenu[15] = new Array();
vmenu[15][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[15][1] = new Item('All Internet Solution', '/eng/general/products.shtml#cai', '', defLength, 0, 0);
vmenu[15][2] = new Item('TCP/IP-51 - Internet Sw/Hw', '/eng/products/tcpip.shtml', '', defLength, 0, 0);


//Can products sub menu
vmenu[16] = new Array();
vmenu[16][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[16][1] = new Item('All CAN Products', '/eng/can/canproducts.shtml', '', defLength, 0, 0);
vmenu[16][2] = new Item('CANsense I/O', '/eng/can/cansense.shtml', '', defLength, 0, 0);
vmenu[16][3] = new Item('CANview', '/eng/can/canview.shtml', '', defLength, 0, 0);
vmenu[16][4] = new Item('CANview Display', '/eng/can/candview.shtml', '', defLength, 0, 0);
vmenu[16][5] = new Item('Display 1102', '/eng/can/cand1102.shtml', '', defLength, 0, 0);
vmenu[16][6] = new Item('CANview Bluetooth', '/eng/can/canbluetooth.shtml', '', defLength, 0, 0);
vmenu[16][7] = new Item('CANview USB', '/eng/can/canusb.shtml', '', defLength, 0, 0);
vmenu[16][8] = new Item('CANlogger', '/eng/can/canlogger.shtml', '', defLength, 0, 0);

// Adapters staff sub menu.
vmenu[17] = new Array();
vmenu[17][0] = new Menu(true, '', 180, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[17][1] = new Item('All Adapters', '/eng/general/products.shtml#adp', '', defLength, 0, 0);
vmenu[17][2] = new Item('Emulator Adapters', '/eng/products/adapter.shtml#1', '', defLength, 0, 0);
vmenu[17][3] = new Item('Socket Converters', '/eng/products/adapter.shtml#2', '', defLength, 0, 0);
vmenu[17][4] = new Item('Programming Sockets', '/eng/products/adapter.shtml#3', '', defLength, 0, 0);
vmenu[17][5] = new Item('Programming Adapter', '/eng/products/adapter.shtml#4', '', defLength, 0, 0);
vmenu[17][6] = new Item('QFP Clip-On', '/eng/products/adapter.shtml#5', '', defLength, 0, 0);
vmenu[17][7] = new Item('Tools', '/eng/products/adapter.shtml#6', '', defLength, 0, 0);

/////////////////////////////////////////////////////////////////////////////////////////////
// SUB MENUS 3rd Level
/////////////////////////////////////////////////////////////////////////////////////////////

// 8051 Emulators sub menu.
vmenu[18] = new Array();
vmenu[18][0] = new Menu(true, '', 150, 0, 250, defOver, defBack, 'subBorder', 'subText');
vmenu[18][1] = new Item('All 8051 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[18][2] = new Item('DS-51 - All 8051s', '/eng/products/ds51.shtml', '', defLength, 0, 0);
vmenu[18][3] = new Item('EB-51 - Low Cost', '/eng/products/eb51.shtml', '', defLength, 0, 0);
vmenu[18][4] = new Item('EB-51X2 - 8xC51RD2/66x,etc.', '/eng/products/eb51x2.shtml', '', defLength, 0, 0);
vmenu[18][5] = new Item('FE-51CC01 - Atmel AT89C51CC01/2/3/AC2/5115', '/eng/products/fe51cc01.shtml', '', defLength, 0, 0);
vmenu[18][6] = new Item('FE-51RD2 - Atmel AT89C51RD2/iD2/ED2', '/eng/products/fe51rd2.shtml', '', defLength, 0, 0);
vmenu[18][7] = new Item('80C51XA Microcontrollers', '/eng/products/ebxa.shtml', '', defLength, 0, 0);
vmenu[18][8] = new Item('FE-51RD2/68P - Atmel AT89C51RD2/68PLCC', '/eng/products/fe51rd268p.shtml', '', defLength, 0, 0);
vmenu[18][9] = new Item('FE-5111 - Atmel LPCs', '/eng/products/fe5111.shtml', '', defLength, 0, 0);
vmenu[18][10] = new Item('FE-5121 - Atmel AT89C5121', '/eng/products/fe5121.shtml', '', defLength, 0, 0);
vmenu[18][11] = new Item('FE-5122 - Atmel AT8xC5122', '/eng/products/fe5122.shtml', '', defLength, 0, 0);
vmenu[18][12] = new Item('FE-5131 - Atmel AT89C5131/AT89C5131A', '/eng/products/fe5131.shtml', '', defLength, 0, 0);
vmenu[18][13] = new Item('FE-SND1 - Atmel AT8xC51SND1', '/eng/products/fesnd1.shtml', '', defLength, 0, 0);
vmenu[18][14] = new Item('FE-SND2 - Atmel AT8xC51SND2', '/eng/products/fesnd2.shtml', '', defLength, 0, 0);
vmenu[18][15] = new Item('FE-C420 - Dallas DS89C420', '/eng/products/fec420.shtml', '', defLength, 0, 0);
vmenu[18][16] = new Item('FE-C450 - Dallas DS89C450', '/eng/products/fec450.shtml', '', defLength, 0, 0);
vmenu[18][17] = new Item('EB-76X - Philips P87LPC76x', '/eng/products/eb76x.shtml', '', defLength, 0, 0);
vmenu[18][18] = new Item('FE-900 - Philips P89LPC9xx', '/eng/products/fe900.shtml', '', defLength, 0, 0);
vmenu[18][19] = new Item('FE-51MX - Philips P8xC51Mx', '/eng/products/fe51mx.shtml', '', defLength, 0, 0);
vmenu[18][20] = new Item('FE-W7 - Winbond W7xxxx', '/eng/products/few7.shtml', '', defLength, 0, 0);
vmenu[18][21] = new Item('FE-WRD2 - Winbond W7xxxx', '/eng/products/fewrd2.shtml', '', defLength, 0, 0);
vmenu[18][22] = new Item('FE-RE2 - Atmel AT89C51IE2/RE2', '/eng/products/fere2.shtml', '', defLength, 0, 0);

// 251 Emulators sub menu.
vmenu[19] = new Array();
vmenu[19][0] = new Menu(true, '', 150, 0, 250, defOver, defBack, 'subBorder', 'subText');
vmenu[19][1] = new Item('All 251 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[19][2] = new Item('DS-251 - Intel/Atmel MCS251/C251s', '/eng/products/ds251.shtml', '', defLength, 0, 0);
vmenu[19][3] = new Item('EB-C251 - Low Cost Intel/Atmel 251s','/eng/products/ebc251.shtml', '', defLength, 0, 0);

// XA Emulators sub menu.
vmenu[20] = new Array();
vmenu[20][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[20][1] = new Item('All XA Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[20][2] = new Item('DS-XA - All Philips XAs', '/eng/products/dsxa.shtml', '', defLength, 0, 0);
vmenu[20][3] = new Item('EB-XAG3 - Low Cost P51XG1/2/3x','/eng/products/ebxag3.shtml', '', defLength, 0, 0);
vmenu[20][4] = new Item('EB-XAG49 - Low Cost P51XG39/49','/eng/products/ebxag49.shtml', '', defLength, 0, 0);
vmenu[20][5] = new Item('EB-XAS3 - Low Cost P51XA/S3','/eng/products/ebxas3.shtml', '', defLength, 0, 0);


// 8048 Emulators sub menu.
vmenu[21] = new Array();
vmenu[21][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[21][1] = new Item('All 8048 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[21][2] = new Item('DS-48 - Philips Telecom', '/eng/products/ds48.shtml', '', defLength, 0, 0);

// PIC Emulators sub menu.
vmenu[22] = new Array();
vmenu[22][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[22][1] = new Item('All PIC Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[22][2] = new Item('DS-M8 - Microchip PICs', '/eng/products/dsm8.shtml', '', defLength, 0, 0);

// x86 Emulators sub menu.
vmenu[23] = new Array();
vmenu[23][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[23][1] = new Item('All x86 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[23][2] = new Item('DS-186 - 8086/8,80C186/8,etc.', '/eng/products/ds186.shtml', '', defLength, 0, 0);

// 8085 Emulators sub menu.
vmenu[24] = new Array();
vmenu[24][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[24][1] = new Item('All 8085 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[24][2] = new Item('DS-85 - 8085', '/eng/products/ds85.shtml', '', defLength, 0, 0);

// ST6 Emulators sub menu.
vmenu[25] = new Array();
vmenu[25][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[25][1] = new Item('All ST6 Emulators', '/eng/general/products.shtml#inc', '', defLength, 0, 0);
vmenu[25][2] = new Item('EB-ST62 - ST62s', '/eng/products/ebst62.shtml', '', defLength, 0, 0);


//IP2000 products sub menu
//vmenu[26] = new Array();
//vmenu[26][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
//vmenu[26][1] = new Item('All IP2000 Kits', '/eng/general/products.shtml#ip', '', defLength, 0, 0);
//vmenu[26][2] = new Item('UDNK - Networking', '/eng/products/udnk.shtml', '', defLength, 0, 0);
//vmenu[26][3] = new Item('AWK - Wireless', '/eng/products/awk.shtml', '', defLength, 0, 0);
//vmenu[26][4] = new Item('PHSRVRSS - Server', '/eng/products/phsrvrss.shtml', '', defLength, 0, 0);
//vmenu[26][5] = new Item('BTETLAP3 - Bluetooth', '/eng/products/btetlap3.shtml', '', defLength, 0, 0);
//vmenu[26][6] = new Item('11BPCM - 802.11 PCMCIA', '/eng/products/11bpcm.shtml', '', defLength, 0, 0);
//vmenu[26][7] = new Item('11BCF - 802.11 Flash', '/eng/products/11bcf.shtml', '', defLength, 0, 0);


// ST5 Emulators sub menu.
vmenu[26] = new Array();
vmenu[26][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[26][1] = new Item('All ST5 Kits', '/eng/general/products.shtml#stx', '', defLength, 0, 0);
vmenu[26][2] = new Item('STX/D - Debugger', '/eng/products/stxd.shtml', '', defLength, 0, 0);
vmenu[26][3] = new Item('STX/500 - Kit', '/eng/products/stx500.shtml', '', defLength, 0, 0);

// ST7 Emulators sub menu.
vmenu[27] = new Array();
vmenu[27][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[27][1] = new Item('All ST7 Kits', '/eng/general/products.shtml#stx', '', defLength, 0, 0);
vmenu[27][2] = new Item('STX/D - Debugger', '/eng/products/stxd.shtml', '', defLength, 0, 0);
vmenu[27][3] = new Item('ST72C/SK - ST72C', '/eng/products/st72csk.shtml', '', defLength, 0, 0);
vmenu[27][4] = new Item('ST72C254 - ST72C254', '/eng/products/st72c254.shtml', '', defLength, 0, 0);
vmenu[27][5] = new Item('ST72C334 - ST72C334', '/eng/products/st72c334.shtml', '', defLength, 0, 0);
vmenu[27][6] = new Item('ST72F264 - ST72F264', '/eng/products/st72f264.shtml', '', defLength, 0, 0);
vmenu[27][7] = new Item('STX/264 - ST72F264', '/eng/products/stx264.shtml', '', defLength, 0, 0);
vmenu[27][8] = new Item('STX/521 - ST7F321\521', '/eng/products/stx521.shtml', '', defLength, 0, 0);
vmenu[27][9] = new Item('STX/LITE0 - ST7FLITE0', '/eng/products/stxlite0.shtml', '', defLength, 0, 0);
vmenu[27][10] = new Item('STX/LITE2 - ST7FLITE2', '/eng/products/stxlite2.shtml', '', defLength, 0, 0);


// HC08 Emulators sub menu.
vmenu[28] = new Array();
vmenu[28][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[28][1] = new Item('All HC08 Kits', '/eng/general/products.shtml#hc', '', defLength, 0, 0);
vmenu[28][2] = new Item('HC08/D - Debugger', '/eng/products/hc08d.shtml', '', defLength, 0, 0);
vmenu[28][3] = new Item('HC08/GP - MC68HC908GP\GT', '/eng/products/hc08gp.shtml', '', defLength, 0, 0);
vmenu[28][4] = new Item('HC08/GZ - MC68HC908GZ\GR', '/eng/products/hc08gz.shtml', '', defLength, 0, 0);
vmenu[28][5] = new Item('HC08/JK - MC68HC908GK', '/eng/products/hc08jk.shtml', '', defLength, 0, 0);
vmenu[28][6] = new Item('HC08/JL - MC68HC908GL', '/eng/products/hc08gl.shtml', '', defLength, 0, 0);
vmenu[28][7] = new Item('HC08/QY - MC68HC908QY', '/eng/products/hc08qy.shtml', '', defLength, 0, 0);
vmenu[28][8] = new Item('HCS08/D - Debugger', '/eng/products/hcs08d.shtml', '', defLength, 0, 0);
vmenu[28][9] = new Item('HCS08/GB60 - MC9S08GB', '/eng/products/hcs08gb.shtml', '', defLength, 0, 0);


// HC12 Emulators sub menu.
vmenu[29] = new Array();
vmenu[29][0] = new Menu(true, '', 150, 0, 200, defOver, defBack, 'subBorder', 'subText');
vmenu[29][1] = new Item('All HC12 Kits', '/eng/general/products.shtml#hc', '', defLength, 0, 0);
vmenu[29][2] = new Item('HCS12/D - Debugger', '/eng/products/hcs12d.shtml', '', defLength, 0, 0);
vmenu[29][3] = new Item('HCS12/C32 - MC9S12C', '/eng/products/hcs12c.shtml', '', defLength, 0, 0);
vmenu[29][4] = new Item('HCS12/DP256 - MC9S12DP', '/eng/products/hcs12dp.shtml', '', defLength, 0, 0);

//////////////////////////////////////////////////////////////////////////////////////////
// *** OPTIONAL CODE FROM HERE DOWN ***

// These two lines handle the window resize bug in NS4. See <body onResize="...">.
// I recommend you leave this here as otherwise when you resize NS4's width menus are hidden.

var popOldWidth = window.innerWidth;
nsResizeHandler = new Function('if (popOldWidth != window.innerWidth) location.reload()');


// This is a quick snippet that captures all clicks on the document and hides the menus
// every time you click. Use if you want.

if (isNS4) document.captureEvents(Event.CLICK);
document.onclick = clickHandle;

function clickHandle(evt)
{
 if (isNS4) document.routeEvent(evt);
 hhideAllBut(0);
 vhideAllBut(0);
}


// This is just the moving command for the example.

function moveRoot()
{
 with(hmenu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
}
