/* 	
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 check(){
try{
	with(document.F_GPCat){
		for(var i=0;i<selCat.length;i++){
			if(parent.mainnav.cat[selCat[i].value]){selCat[i].checked = true}
			else selCat[i].checked = false;
		}
	}
	}
	catch(e){};// the form element L_mpID is not existing when the query returns no records.
}
*/

function refreshMenu(targ,allExpanded){
	theContent ='<html><Head><title></title><link rel="stylesheet" href="/main.css" type="text/css"></HEAD><body>';
	theContent += "<table  border='0' cellspacing='0' cellpadding='0' width='150'>";
	selectedID = Menu[targ].catId;
	Menu[targ].expand ? Menu[targ].expand = 0 : Menu[targ].expand = 1;
	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 = "navMenu" : style = "navMenu";
				theContent += '<tr><td nowrap style="height:25px;"><span class="'+style+'">'+'<a href="javascript:parent.refreshMenu('+i+','+allExpanded+','+displayedItems+');void(0)">'+sign+ '' + Menu[i].label  + '</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.cfm?scat="+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);
				//else Menu[a].expand ? sign = shSign : sign = expSign;
			}
			
			Menu[a].catId == selectedID ? style = "selectedCat" : style = "selectedCat";
			thespace = ((cLvl-2)*15) - 5;
			if(cLvl > 1){var spacer = "<img src='/images/empty.gif' hspace='2' border='0' height='5' width='"+ thespace +"'>"}
			else var spacer = "";
				
					theContent +='<tr><td nowrap style="height:25px; padding-left:20px;">' + spacer + '<a href="javascript:parent.refreshMenu('+a+','+allExpanded+','+displayedItems+');void(0)">'+ childSign + sign  + '' + Menu[a].label  + '</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--; 
}
