var iForm = -1;
function FindForm()
{
	var iCount = document.forms.length;
	for (var iIndex =0; iIndex < iCount; iIndex ++)
		if (document.forms[iIndex].Treecontrol1_State != "undefined")
			return iIndex;
}
function GetChildElem(eSrc,sTagName)
{
	if (navigator.userAgent.toLowerCase(me).indexOf('msie') == -1){
		//Not IE
		var cKids = eSrc.childNodes;
		for (var i=0;i<cKids.length;i++)
		{
			if (sTagName == cKids[i].tagName) return cKids[i];
		}
		return false;
	}
	else{
	
		var cKids = eSrc.children;
		for (var i=0;i<cKids.length;i++)
		{
			if (sTagName == cKids[i].tagName) return cKids[i];
		}
		return false;
	}
}
function CheckChildren(bChecked, eParentSrc)
{
   var eChild;
   var eGrandChild;
   
   if (navigator.userAgent.toLowerCase(me).indexOf('msie') == -1){
		//Not IE   
		if (eParentSrc.childNodes != null)
		{
			for (var j=0; j<eParentSrc.childNodes.length; j++)
			{
				if ("UL" == eParentSrc.childNodes[j].tagName)
				{
					eChild = eParentSrc.childNodes[j];
					if (eChild.childNodes != null)
					{
						for (var jj=0; jj<eChild.childNodes.length; jj++)
						{
							if ("LI" == eChild.childNodes[jj].tagName)
							{
								eGrandChild = eChild.childNodes[jj];
								if (eGrandChild.childNodes != null)
								{
									for (var jjj=0; jjj<eGrandChild.childNodes.length; jjj++)
									{
										if ("INPUT" == eGrandChild.childNodes[jjj].tagName)
											eGrandChild.childNodes[jjj].checked = bChecked;
									}
								}
								CheckChildren(bChecked, eGrandChild);
							}
						}
					}
				}
			}
		}
   }
   else{
   
   
		if (eParentSrc.children != null)
		{
			for (var j=0; j<eParentSrc.children.length; j++)
			{
				if ("UL" == eParentSrc.children[j].tagName)
				{
					eChild = eParentSrc.children[j];
					if (eChild.children != null)
					{
						for (var jj=0; jj<eChild.children.length; jj++)
						{
							if ("LI" == eChild.children[jj].tagName)
							{
								eGrandChild = eChild.children[jj];
								if (eGrandChild.children != null)
								{
									for (var jjj=0; jjj<eGrandChild.children.length; jjj++)
									{
										if ("INPUT" == eGrandChild.children[jjj].tagName)
											eGrandChild.children[jjj].checked = bChecked;
									}
								}
								CheckChildren(bChecked, eGrandChild);
							}
						}
					}
				}
			}
		}
   }
   
}

function UnCheckParent(eSrc)
{
     var eParent;
     var eGrandParent;
     eParent = eSrc.parentElement;
     if("UL" == eParent.tagName)
     {
         eGrandParent = eParent.parentElement;
         if ("LI" == eGrandParent.tagName)
         {
             for (var i =0; i < eGrandParent.children.length; i++)
             {
                 eParent = eGrandParent.children[i];
                 if ("INPUT" == eParent.tagName)
                     eParent.checked = false;
             }
         }
     }
}
//function document.onclick()
function capture(me)
{

	var s; 
	if (navigator.userAgent.toLowerCase(me).indexOf('msie') == -1){
		//Not IE.  Do something different for these users. 
		s = me;
		
		var eSrc = s;
		var cKids = eSrc.childNodes;
		var eParentSrc;
		var eChild;
		   
		if (("IMG" == eSrc.tagName) && (eSrc.parentNode.tagName == "LI"))
		{
			eSrc = eSrc.parentNode; 
			cKids = eSrc.childNodes;
		}
		if (("INPUT" == eSrc.tagName) && (eSrc.parentNode.tagName == "LI"))
		{
			bChecked = eSrc.checked;
				// check all children
	   			eParentSrc = eSrc.parentNode;
				if (bChecked == false)
					//UnCheckParent(eParentSrc);
			document.forms[iForm].Treecontrol1_State.value=getMenuState();
				CheckChildren(bChecked, eParentSrc);
		}
		
		}
	else{	
		s = window.event.srcElement;

		if (iForm == -1)
			iForm = FindForm();
		//var eSrc = window.event.srcElement;
		var eSrc = s;
		var cKids = eSrc.children;
		var eParentSrc;
		var eChild;
		   
		if (("IMG" == eSrc.tagName) && (eSrc.parentElement.tagName == "LI"))
		{
			eSrc = eSrc.parentElement; 
			cKids = eSrc.children;
		}
		if (("INPUT" == eSrc.tagName) && (eSrc.parentElement.tagName == "LI"))
		{
			bChecked = eSrc.checked;
				// check all children
	   			eParentSrc = eSrc.parentElement;
				if (bChecked == false)
					//UnCheckParent(eParentSrc);
			document.forms[iForm].Treecontrol1_State.value=getMenuState();
				CheckChildren(bChecked, eParentSrc);
		}
	}	
	//alert(eSrc.className);
	if ("clsHasKids" == eSrc.className)
	{
		var sChildStyle="none";
		for (var i=0; i<cKids.length; i++)
		{
			if ("IMG" == cKids[i].tagName)
			{    
				if (cKids[i].src.lastIndexOf("plus-cart.gif") != -1)
					{
						cKids[i].src = cKids[i].src.substring(0, cKids[i].src.lastIndexOf("plus-cart.gif")) + "minus-cart.gif";
						sChildStyle = "block";
					}
				else
					if (cKids[i].src.lastIndexOf("minus-cart.gif") != -1)
					{
						cKids[i].src = cKids[i].src.substring(0, cKids[i].src.lastIndexOf("minus-cart.gif")) + "plus-cart.gif";
						sChildStyle = "none";
					}
			}
		}
		for (var i=0; i<cKids.length; i++)
		{
			if ("UL" == cKids[i].tagName)
			{
				eChild = cKids[i];
				eChild.style.display = sChildStyle; //("block" == eChild.style.display ? "none" : "block");
			}
		}
	}
   
}
function getMenuState()
{
   var strRet="";
   var cElems = document.all.tags("INPUT");
   var iNumElems = cElems.length;
   for (var i=0;i<iNumElems;i++)
   {
       if (cElems[i].checked)  
       {      
           strRet=strRet + cElems[i].value;    
       }
   }
   return strRet;
}

