var tree;

tree = new YAHOO.widget.TreeView('menuDiv');
tree.setExpandAnim(YAHOO.widget.TVAnim.FADE_IN);
tree.setCollapseAnim(YAHOO.widget.TVAnim.FADE_OUT);

YAHOO.widget.MenuNewNode = function(oData, oParent, expanded)
{
	if (oParent)
	{
		this.init(oData, oParent, expanded);
		this.setUpLabel(oData);
		this.statusText = oData.status;
	}

    /**
     * Menus usually allow only one branch to be open at a time.
     * @type boolean
     */
	this.multiExpand = true;
};

YAHOO.widget.MenuNewNode.prototype = new YAHOO.widget.MenuNode();

// overrides YAHOO.widget.Node
YAHOO.widget.MenuNewNode.prototype.getNodeHtml = function()
{ 
	var sb = [];

	sb[sb.length] = '<table border="0" cellpadding="0" cellspacing="0" class="'+this.labelStyle+'" onmouseover="className=\''+this.labelStyle+'_hover\'" onmouseout="className=\''+this.labelStyle+'\'">';
	sb[sb.length] = '<tr>';
	
	for (i=0;i<this.depth;++i) {
		sb[sb.length] = '<td class="' + this.getDepthStyle(i) + '">&nbsp;</td>';
	}

	var getNode = 'YAHOO.widget.TreeView.getNode(\'' +
					this.tree.id + '\',' + this.index + ')';

	sb[sb.length] = '<td';
	sb[sb.length] = ' id="' + this.getToggleElId() + '"';
	sb[sb.length] = ' class="' + this.getStyle() + '"';
	sb[sb.length] = ' onmouseover="self.defaultStatus = \''+this.statusText+
		'\'; return true;"';
	if (this.hasChildren(true)) {
		sb[sb.length] = ' onmouseover="this.className=';
		sb[sb.length] = getNode + '.getHoverStyle()"';
		sb[sb.length] = ' onmouseout="this.className=';
		sb[sb.length] = getNode + '.getStyle()"';
	}
	sb[sb.length] = ' onclick="javascript:' + this.getToggleLink() + ';">';

	sb[sb.length] = '&nbsp;';

	sb[sb.length] = '</td>';
	sb[sb.length] = '<td>';
	sb[sb.length] = '<a';
	sb[sb.length] = ' id="' + this.labelElId + '"';
	//sb[sb.length] = ' class="' + this.labelStyle + '"';
	sb[sb.length] = ' href="' + this.href + '"';
	sb[sb.length] = ' target="' + this.target + '"';
	sb[sb.length] = ' onclick="';
	if (this.statusText) sb[sb.length] = ' self.defaultStatus = \''+
		this.statusText+'\';';
	sb[sb.length] = ' return ' + getNode + '.onLabelClick(' + getNode +')"';
	if (this.hasChildren(true)) {
		sb[sb.length] = ' onmouseover="document.getElementById(\'';
		sb[sb.length] = this.getToggleElId() + '\').className=';
		sb[sb.length] = getNode + '.getHoverStyle()';
		if (this.statusText) sb[sb.length] = ';self.defaultStatus = \''+
			this.statusText+'\';return true;';
		sb[sb.length] = '"';
		sb[sb.length] = ' onmouseout="document.getElementById(\'';
		sb[sb.length] = this.getToggleElId() + '\').className=';
		sb[sb.length] = getNode + '.getStyle()"';
	}
	sb[sb.length] = ' >';
	sb[sb.length] = this.label;
	sb[sb.length] = '</a>';
	sb[sb.length] = '</td>';
	sb[sb.length] = '</tr>';
	sb[sb.length] = '</table>';

	return sb.join("");
};

tree.onCollapse = function(node)
{
	if (node.children.length > 0)
	{
		for (ix = 0; ix < node.children.length; ix++) node.children[ix].collapse();
	}
}

miProduct = new YAHOO.widget.MenuNewNode({label: "Product Information",        status: 'Product Information',                                                    style: 'menuRoot'}, tree.getRoot(), !/admin.aspx\?path=General(%20| |\+)Information/.test(window.location.href));
	miCaseTray = new YAHOO.widget.MenuNewNode({label: "Case / Tray Packers",   status: 'Case / Tray Packers',                                                    style: 'menuChild'}, miProduct, /admin.aspx\?path=Case(%20| |\+)Tray(%20| |\+)Packers/.test(window.location.href));
		new YAHOO.widget.MenuNewNode({label: 'Axiom DL or BCL Continuous',    href: 'admin.aspx?path=Case%20Tray%20Packers/Axiom%20DL%20or%20BCL%20Continuous',   style: 'menuEnd'},  miCaseTray, false);
		new YAHOO.widget.MenuNewNode({label: 'Axiom IM Intermittent',  href: 'admin.aspx?path=Case%20Tray%20Packers/Axiom%20IM%20Intermittent', style: 'menuEnd'},  miCaseTray, false);
		new YAHOO.widget.MenuNewNode({label: 'Contour Tray Packers',           href: 'admin.aspx?path=Case%20Tray%20Packers/Contour%20Tray%20Packers',           style: 'menuEnd'},  miCaseTray, false);
		new YAHOO.widget.MenuNewNode({label: 'Invex',                     href: 'admin.aspx?path=Case%20Tray%20Packers/Invex',                        style: 'menuEnd'},  miCaseTray, false);
		new YAHOO.widget.MenuNewNode({label: 'Mechanical Continuous Motion',   href: 'admin.aspx?path=Case%20Tray%20Packers/Mechanical%20Continuous%20Motion',   style: 'menuEnd'},  miCaseTray, false);
		new YAHOO.widget.MenuNewNode({label: 'Mechanical Intermittent Motion', href: 'admin.aspx?path=Case%20Tray%20Packers/Mechanical%20Intermittent%20Motion', style: 'menuEnd'},  miCaseTray, false);

	miContour = new YAHOO.widget.MenuNewNode({label: "Contour Shrink-Wrap Systems",   status: 'Contour Shrink-Wrap Systems',                                     style: 'menuChild'}, miProduct, /admin.aspx\?path=Contour(%20| |\+)Shrink-Wrap(%20| |\+)Systems/.test(window.location.href));
		new YAHOO.widget.MenuNewNode({label: '30 or 50 Series',                    href: 'admin.aspx?path=Contour%20Shrink-Wrap%20Systems/30%20or%2050%20Series',            style: 'menuEnd'},  miContour, false);
		new YAHOO.widget.MenuNewNode({label: '75 or 105 Series',                   href: 'admin.aspx?path=Contour%20Shrink-Wrap%20Systems/75%20or%20105%20Series',           style: 'menuEnd'},  miContour, false);

	miMulti = new YAHOO.widget.MenuNewNode({label: "Multipackers",             status: 'Multipackers',                                                           style: 'menuChild'}, miProduct, /admin.aspx\?path=Multipackers/.test(window.location.href));
		new YAHOO.widget.MenuNewNode({label: 'Spectrum Servo',                 href: 'admin.aspx?path=Multipackers/Spectrum%20Servo',                            style: 'menuEnd'},  miMulti, false);

	miSleevers = new YAHOO.widget.MenuNewNode({label: "Sleevers",              status: 'Sleevers',                                                               style: 'menuChild'}, miProduct, /admin.aspx\?path=Sleevers/.test(window.location.href));
		new YAHOO.widget.MenuNewNode({label: 'Apex Servo',                     href: 'admin.aspx?path=Sleevers/Apex%20Servo',                                    style: 'menuEnd'},  miSleevers, false);

	new YAHOO.widget.MenuNewNode({label: "Cartoners", status: 'Cartoners', style: 'menuChild', href: 'admin.aspx?path=Cartoners'}, miProduct, false);
	
miGeneral = new YAHOO.widget.MenuNewNode({label: "General Information",        status: 'General Information',                                                    style: 'menuRoot'}, tree.getRoot(), /admin.aspx\?path=General(%20| |\+)Information/.test(window.location.href));
	miSub = new YAHOO.widget.MenuNewNode({label: "View General Information",   href: 'admin.aspx', href: 'admin.aspx?path=General%20Information',                              style: 'menuChild'}, miGeneral, false);

var url = document.location.href;
for (ix = 1; ix < tree._nodes.length; ix++)
{
	var href = tree._nodes[ix].href;
	var cmp1 = href.substring(href.length-url.length);
	var cmp2 = url.substring(url.length-href.length);
	if (cmp1 == cmp2) RecurseExpand(tree._nodes[ix]);
}

function RecurseExpand(obj)
{
	if (obj) obj.expand();
	if (obj.parent) RecurseExpand(obj.parent);
}

tree.draw();