/* 	
Hierarchical tree by Patrick TAI 03/04/2002 
modified 09/10/2002
*/
function MenuItem(id,pId,pCatID,isP,lab,lchild,lnk){
		this.catId = id;
		this.parentId = pId;
		this.parentCatId = pCatID;
		this.isParent = isP;
		this.label = lab;
		this.link = lnk;
		this.childrenNodes = lchild;
		this.expand = 0;
}

var Menu = new Array(), 
currentSelection = -1,
displayedItems = 0,
MenuMargin = 20,
MenuItemHeigth = 20;
Menu[0] =  new MenuItem(0,-1,-1,1,"ALL","0","");

//creates the menu data

var selectedID, displayed = false;
var theContent;


function refreshMenu(targ,allExpanded,itemLevel){
	theContent ='<html><Head><title></title><link rel="stylesheet" href="/customsite.css" type="text/css"></HEAD><body>';
	theContent += theCatImg;
	theContent += "<table border='0' cellspacing='0' cellpadding='0' width='215' align='left'>";
	theContent += "<tr><td><img src='/images/spacer/spacer.gif' width='0' height='5' border='0'></td></tr>";
	selectedID = Menu[targ].catId;
	Menu[targ].expand ? Menu[targ].expand = 0 : Menu[targ].expand = 1;// switch between expand and contracted
	for(var i = 1; i < Menu.length; i++){
		if(Menu[i].parentId == -1 || (Menu[i].catId == topNode && showTop) || (Menu[i].parentCatId == topNode && !showTop)){
			//if(Menu[i].expand && targ != i && Menu[targ].parentId == 0){Menu[i].expand = 0}
			sign = noSign;
			
			if(Menu[i].isParent){
				if(allExpanded)(sign = shSign);
				else Menu[i].expand ? sign= shSign :sign = expSign;
			}
			Menu[i].catId == selectedID ? style = "selectedCat" : style = "navMenu";
				displayedItems++;
				theContent += '<tr><td nowrap><span class="'+style+'">'+'<a href="javascript:parent.refreshMenu('+i+','+allExpanded+','+displayedItems+');void(0)">'+sign+ '<span>' + Menu[i].label  + '</span></a></span></td></tr>'
			
			if(Menu[i].isParent){
					if(allExpanded){displaySub(Menu[i].catId,allExpanded);}
					else if(Menu[i].expand){
						displaySub(Menu[i].catId, allExpanded);
						}
			}
		}
	}
	theContent +="</table></body></html>";
	nav.document.open();
	nav.document.write(theContent);
	nav.document.close();
	
	if(targ!=currentSelection && !first)	{
		products.location = "search_L2.cfm?cat="+Menu[targ].childrenNodes;
		currentSelection = targ;
		}
	first = false;
	nav.window.scroll(0,(targ * MenuItemHeigth)+ MenuMargin);
	
}

function displaySub(id,allExpanded){
	cLvl++; 
	for(var a = 1; a < Menu.length; a++){
		if(Menu[a].parentCatId == id){
			
			sign = "";
			if(Menu[a].isParent){
				if(allExpanded)(sign = shSign);
			}
			
			Menu[a].catId == selectedID ? style = "selectedCat" : style = "subcat";
			thespace = ((cLvl-2)*12)+10;
			if(cLvl > 1){var spacer = "<img src='/images/spacer/spacer.gif' hspace='2' border='0' height='5' width='"+ thespace +"'>"}
			else var spacer = "";
				displayedItems++;
				theContent += '<tr><td nowrap>' + spacer  + '<span class="'+style+'">'+ '<a href="javascript:parent.refreshMenu('+a+','+allExpanded+','+displayedItems+');void(0)">'+ childSign + sign + '<span>' + Menu[a].label  + '</span></a></span></td></tr>';
				Rowspan = "";

				if(Menu[a].isParent){ 
					if(allExpanded){displaySub(Menu[a].catId,allExpanded)} 
					else if(Menu[a].expand){
						displaySub(Menu[a].catId,allExpanded);
						};
				}
			}
		}
	cLvl--; 
}
