
		function NodeClicked(intID, chkObj, strIDs, parentIDs, TreeID)
		{
			var arrIDS
			
			if(strIDs != "")
			{
				if(strIDs.lastIndexOf(",") == strIDs.length-1)
					strIDs = strIDs.slice(0,strIDs.lastIndexOf(","))
				arrIDS = strIDs.split(",");
				for(i=0;i<arrIDS.length;i++)
				{
					document.getElementById(TreeID + "_" + arrIDS[i]).checked = chkObj.checked;
				}
			}
			
			if(parentIDs != "")
			{
				if(parentIDs.lastIndexOf(",") == parentIDs.length-1)
					parentIDs = parentIDs.slice(0,parentIDs.lastIndexOf(","))
					
				arrIDS = parentIDs.split(",");
				for(i=0;i<arrIDS.length;i++)
				{					
					if(chkObj.checked == false)
						document.getElementById(TreeID + "_" + arrIDS[i]).checked = chkObj.checked;
				}				
			}
		}
		
		function ExpandCollapse(intID, TreeID)
		{
			var myObj = document.getElementById(TreeID + "_tree_" + intID)
			var myImg = document.getElementById("img_" + intID)
			if(myObj != null)
			{
				if(myObj.className=="indent")
				{
					myObj.className = "indentExpanded";
					myImg.src = "/images/bullet_toggle_minus.png";
				}
				else
				{
					myObj.className = "indent";					
					myImg.src = "/images/bullet_toggle_plus.png";
				}
			}
			
			
		}
		
		function ExpandCollapseFilter(intID, TreeID, objLink)
		{
			var myObj = document.getElementById(TreeID + "_tree_" + intID)
			var myImg = document.getElementById("img_" + intID)			
			if(myObj != null)
			{
				if(myObj.className=="indent")
				{
					myObj.className = "indentExpanded";
					myImg.src = "/images/iconexparrow.png";
				}
				else
				{
					myObj.className = "indent";
					myImg.src = "/images/iconcolarrow.png";
				}
			}		
		}
		
		function CheckSelectedValues(TreeID)
		{
			var strSelected = "";
			var arrCB = document.getElementsByTagName("input");
			for(i=0; i<arrCB.length; i++)
			{
				if(arrCB[i].className == "TreeCheckBoxItem" && arrCB[i].type == "checkbox" && CheckItemID(TreeID,arrCB[i].id))
				{
					if(arrCB[i].checked)
						strSelected += arrCB[i].value + ",";
				}
			}
			if(strSelected.lastIndexOf(",") == strSelected.length-1)
				strSelected = strSelected.slice(0,strSelected.lastIndexOf(","))
					
			document.getElementById(TreeID + "_selectedItems").value = strSelected;
		}
		
		function CheckItemID(strTreeID,strItemID)
		{			
			var tmpStr = strItemID.substring(0,strTreeID.length);
			if(tmpStr == strTreeID)
				return(true);
			else
				return(false);
		}
		
		
		function SetupTree(TreeID)
		{
			var selItems = document.getElementById(TreeID + "_selectedItems").value
			if(selItems != "")
			{
				if(selItems.lastIndexOf(",") == selItems.length-1)
					selItems = selItems.slice(0,selItems.lastIndexOf(","))
					
				var arrIDS = selItems.split(",");
				for(i=0;i<arrIDS.length;i++)
				{
					document.getElementById(TreeID + "_" + arrIDS[i]).checked = true;
				}
			}
		}
		
		function ExpandCollapseAllTrees(objLink, objType)
		{
			var classLink = "indent"
			var newImgSrc = "/images/iconexparrow.png"
			var newImgSrc2 = "/images/bullet_toggle_minus.png"
			if(objLink.innerHTML == "Expand All")
			{
				classLink = "indentExpanded"
				objLink.innerHTML = "Collapse All"
				newImgSrc = "/images/iconexparrow.png"
				newImgSrc2 = "/images/bullet_toggle_minus.png"
			}
			else
			{
				classLink = "indent"
				objLink.innerHTML = "Expand All"
				newImgSrc = "/images/iconcolarrow.png"
				newImgSrc2 = "/images/bullet_toggle_plus.png"
			}
			var arrExp = document.getElementsByTagName(objType);
			for(i=0; i<arrExp.length; i++)
			{
				if(arrExp[i].className == "indent" || arrExp[i].className == "indentExpanded")
				{				
					arrExp[i].className = classLink					
				}
			}
			var arrExpImg = document.getElementsByTagName("img");
			for(i=0; i<arrExpImg.length; i++)
			{
				if(arrExpImg[i].src.indexOf("/images/iconexparrow.png") > 0 || arrExpImg[i].src.indexOf("/images/iconcolarrow.png") > 0)
				{				
					arrExpImg[i].src = newImgSrc;					
				}
				if(arrExpImg[i].src.indexOf("/images/bullet_toggle_minus.png") > 0 || arrExpImg[i].src.indexOf("/images/bullet_toggle_plus.png") > 0)
				{				
					arrExpImg[i].src = newImgSrc2;					
				}
			}
		}
		
		function ShowHideContent(strContentID, strImgID)
		{
			if(document.getElementById(strContentID).className == "contentouter")
			{
				document.getElementById(strContentID).className = "contentouterhidden"
				document.getElementById("img_"+strImgID).src = "/images/iconhelpcolarrow.gif"
			}
			else
			{
				document.getElementById(strContentID).className = "contentouter"
				document.getElementById("img_"+strImgID).src = "/images/iconhelpexparrow.gif"
			}
		}
		
		
	function Browser()
	{
	 
	var ua, s, i;

	this.isIE    = false;
	this.isNS    = false;
	this.version = null;

	ua = navigator.userAgent;

	s = "MSIE";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isIE = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}

	s = "Netscape6/";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = parseFloat(ua.substr(i + s.length));
		return;
	}

	// Treat any other "Gecko" browser as NS 6.1.

	s = "Gecko";
	if ((i = ua.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = 6.1;
		return;
	}
	}

	var browser = new Browser();

	// Global object to hold drag information.

	var dragObj = new Object();
	dragObj.zIndex = 0;

	function dragStart(event, id) {

	var el;
	var x, y;

	// If an element id was given, find it. Otherwise use the element being
	// clicked on.

	if (id)
		dragObj.elNode = document.getElementById(id);
	else {
		if (browser.isIE)
		dragObj.elNode = window.event.srcElement;
		if (browser.isNS)
		dragObj.elNode = event.target;

		// If this is a text node, use its parent element.

		if (dragObj.elNode.nodeType == 3)
		dragObj.elNode = dragObj.elNode.parentNode;
	}

	// Get cursor position with respect to the page.

	if (browser.isIE) {
		x = window.event.clientX + document.documentElement.scrollLeft
		+ document.body.scrollLeft;
		y = window.event.clientY + document.documentElement.scrollTop
		+ document.body.scrollTop;
	}
	if (browser.isNS) {
		x = event.clientX + window.scrollX;
		y = event.clientY + window.scrollY;
	}

	// Save starting positions of cursor and element.

	dragObj.cursorStartX = x;
	dragObj.cursorStartY = y;
	dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
	dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

	if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
	if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;

	// Update element's z-index.

	dragObj.elNode.style.zIndex = ++dragObj.zIndex;

	// Capture mousemove and mouseup events on the page.

	if (browser.isIE) {
		document.attachEvent("onmousemove", dragGo);
		document.attachEvent("onmouseup",   dragStop);
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
	if (browser.isNS) {
		document.addEventListener("mousemove", dragGo,   true);
		document.addEventListener("mouseup",   dragStop, true);
		event.preventDefault();
	}
	}

	function dragGo(event) {

	var x, y;

	// Get cursor position with respect to the page.

	if (browser.isIE) {
		x = window.event.clientX + document.documentElement.scrollLeft
		+ document.body.scrollLeft;
		y = window.event.clientY + document.documentElement.scrollTop
		+ document.body.scrollTop;
	}
	if (browser.isNS) {
		x = event.clientX + window.scrollX;
		y = event.clientY + window.scrollY;
	}

	// Move drag element by the same amount the cursor has moved.

	dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
	dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";

	if (browser.isIE) {
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
	if (browser.isNS)
		event.preventDefault();
	}

	function dragStop(event) {

	// Stop capturing mousemove and mouseup events.

	if (browser.isIE) {
		document.detachEvent("onmousemove", dragGo);
		document.detachEvent("onmouseup",   dragStop);
	}
	if (browser.isNS) {
		document.removeEventListener("mousemove", dragGo,   true);
		document.removeEventListener("mouseup",   dragStop, true);
	}
	}