/////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2007, 2008, Oracle. All rights reserved.
// Function : TS_GE_HNAV
// Comments : 
/////////////////////////////////////////////////////////////////////////////


function TS_Menu(){

	this.m_NavPath    = g_navNode_Path;
	
	TS_Menu.prototype.Display = TS_Menu_Display;
	TS_Menu.prototype.DisplaySubLevel = TS_Menu_DisplaySubLevel;
	
}

function TS_Menu_Display (node){

	document.write('<ul id="tsNavList">');
	this.DisplaySubLevel(node);
	document.write('</ul');
}

function TS_Menu_DisplaySubLevel(node){
	
	//alert("Start...(" + node.m_label + ", " + this.m_NavPath[1].m_label + ")");
	var current = null;
	if(this.m_NavPath.length == 1){
		current = findParent(node,this.m_NavPath[0]);
	}else{
		current = findParent(node,this.m_NavPath[1]);
	}
	//alert("current: " + current.m_label);
	//alert("subNodes.length: " + node.m_subNodes.length);
	
	for (var i = 0; i < node.m_subNodes.length; i++){
		if(node.m_subNodes[i].m_level == 1) {
			//alert("node: " + node.m_subNodes[i].m_label);
			if(node.m_subNodes[i].m_id == current.m_id){
				document.write('<li class="tsMenuItemSelected">');
			}else{
				document.write('<li>');
			}
			//alert("...write link");
			document.write('<a href="#">');
			document.write('<span class="tsMenuItemRight"><span class="tsMenuItemLeft">' + node.m_subNodes[i].m_label + '</span></span></a>');
			//alert("...subnodes?");
			if(node.m_subNodes[i].m_subNodes.length > 0){
				//alert("...yes (" + node.m_subNodes[i].m_subNodes.length + ")");
				document.write('<div class="sub transparent90">');
					document.write('<div class="sub-inner">');
						document.write('<ul>');
						//alert("...loop over");
						for (var j = 0; j < node.m_subNodes[i].m_subNodes.length; j++){
							//alert("...subnode " + j + ": " + node.m_subNodes[i].m_subNodes[j].m_label);
							document.write('<li>');
							document.write('<a href="'+node.m_subNodes[i].m_subNodes[j].m_href+'">');
							document.write(node.m_subNodes[i].m_subNodes[j].m_label+'</a>');
							document.write('</li>');
						}
						//alert("...done");
						document.write('</ul>');
					document.write('</div>');
				document.write('</div>');
			}
			document.write("</li>");
		}
	}
	//alert("...End");
	
}

function checkAccess(node) 
{
	//alert(node.cp_Products + " "+uProducts+ " "+node.cp_Roles +" "+uRoles);
	
	
	//alert("NavNode= "+SSNavigationNode);
	
	return true;//((node.cp_Products == uProducts) && (node.cp_Roles == uRoles) )
}

function checkRigths(cp_Roles)
{
	var strArray = new Array();
	var bReturn = false;
	
	if (cp_Roles.length > uRoles.length)
	{	
		strArray = splitStrings(cp_Roles);
		 
		for (var i = 0; i < strArray.length ; i++)
		{
			//alert("cp_Role: "+strArray[i]);
			if (uRoles.match(strArray[i]))
			{
				bReturn = true;
				break;
			}
		}
	}
	else
	{
		strArray = splitStrings(uRoles);
		for (var i = 0; i < strArray.length ; i++)
		{
			//alert("uRoles: "+strArray[i]);
			if (cp_Roles.match(strArray[i]))
			{
				bReturn = true;
				break;
			}
		}
	}
	
	return bReturn;
	//return (cp_Roles.match(uRoles))// == uRoles)
}

function splitStrings(strString2Split)
{
	var strArray = new Array();
	strArray = strString2Split.split("|");
	return strArray;
}

function findParent(node, ParentID) {

	var value = null; 
	if (node.m_id == ParentID) {
		value = node; 
	} else {
		
		for (var i = 0; i < node.m_subNodes.length; i++)
		{
			value = findParent(node.m_subNodes[i], ParentID);
			if (value != null) {
				break;
			}
		}
	}
	return value; 
}

