﻿var collapseClass = "AspNet-TreeView-Collapse";
var expandClass = "AspNet-TreeView-Expand";
var showClass = "AspNet-TreeView-Show";
var hideClass = "AspNet-TreeView-Hide";
var lntopOnClass = "lntopon";
var lntopClass = "lntop";
var lnmidClass = "lnmid";
var lnonClass = "lnon";

function IsExpanded__AspNetTreeView(element)
{
    return (HasClass__CssFriendlyAdapters(element, collapseClass));
}

function TogglePlusMinus__AspNetTreeView(element, showPlus)
{
    if (HasAnyClass__CssFriendlyAdapters(element))
    {
        var showPlusLocal = IsExpanded__AspNetTreeView(element);
        if ((typeof(showPlus) != "undefined") && (showPlus != null))
        {
            showPlusLocal = showPlus;
        }    
        var oldClass = showPlusLocal ? collapseClass : expandClass;
        var newClass = showPlusLocal ? expandClass : collapseClass;
        SwapClass__CssFriendlyAdapters(element, oldClass, newClass);
    }
}

function ToggleChildrenDisplay__AspNetTreeView(element, collapse)
{
    if ((element != null) && (element.parentNode != null) && (element.parentNode.getElementsByTagName != null))
    {    
    
        var firstC = element.parentNode.parentNode.getElementsByTagName("div");
        var selectDiv = element.parentNode.parentNode;
       
        var idOfElem = element.id;
        
        var idOfDivToShowHide = document.getElementById(idOfElem+"lnlist");
        var childrenToHide = idOfDivToShowHide;
        var oldClass = collapse ? showClass : hideClass;
        var newClass = collapse ? hideClass : showClass;
        
    	var totalTree = document.getElementById("SimpleEntertainmentTreeView");
    	
    	if(totalTree != null)
    	{
    	    var totalDivUnderParent = totalTree.getElementsByTagName("div");
    	    var spanElemToHide = totalTree.getElementsByTagName("div");
    	    var childItemsToHide;
    	    for(i=0;i<totalDivUnderParent.length;i++)
    	    {
    	        //if(totalDivUnderParent[i].className == lnonClass)
    	            //totalDivUnderParent[i].className = lnmidClass;
    	        
    	        if(totalDivUnderParent[i] != null && totalDivUnderParent[i] != childrenToHide)
    	        {
    	            if(totalDivUnderParent[i].className == "lnlist")
    	            {
    	                if(totalDivUnderParent[i].style.display == "")
    	                {
    	                    totalDivUnderParent[i].style.display = "none";
    	                }
    	            }
    	        }
    	        if(spanElemToHide != null)
                {
                    for (var k=0;k<spanElemToHide.length;k++)
                    {
                        if(spanElemToHide[i] != null)
                        {
                            if(spanElemToHide[i].id != null)
                            {
                                if(spanElemToHide[i].id != idOfElem)
                                {
                                    var expanded = IsExpanded__AspNetTreeView(spanElemToHide[i]);
                                    if(expanded)
                                        TogglePlusMinus__AspNetTreeView(spanElemToHide[i],expanded);
                                }
                            }
                        }
                    }
                }
    	    }
    	}
    	
	    if ((childrenToHide!= null))
	    {
    	    if(childrenToHide.style.display == "none")
    	        childrenToHide.style.display = "";
    	    else
    	         childrenToHide.style.display = "none";
    	         
    	    if(selectDiv != null)
            {
                //if(selectDiv.className == lnmidClass)
                  //  selectDiv.className = lnonClass;
                //else 
                //if(selectDiv.className == lnonClass)
                    //selectDiv.className = lnmidClass;
            }
    	}
	}
}

function ExpandCollapse__AspNetTreeView(sourceElement)
{ 
    if (HasAnyClass__CssFriendlyAdapters(sourceElement))
    {
        var expanded = IsExpanded__AspNetTreeView(sourceElement);
        TogglePlusMinus__AspNetTreeView(sourceElement, expanded);
        ToggleChildrenDisplay__AspNetTreeView(sourceElement, expanded);
    }
}
