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)
{
   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 (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 document.onsubmit()
//{
   //alert("submit");
//}
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 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.gif") != -1)
                   {
                       cKids[i].src = cKids[i].src.substring(0, cKids[i].src.lastIndexOf("plus.gif")) + "minus.gif";
                       sChildStyle = "block";

                   }
               else
                   if (cKids[i].src.lastIndexOf("minus.gif") != -1)
                   {
                       cKids[i].src = cKids[i].src.substring(0, cKids[i].src.lastIndexOf("minus.gif")) + "plus.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;
}

