// JavaScript for channel list boxes.

// Expand subarea. Changes div display and icon.
function chlist_expand_click (typeStr)
{
	// extra prefix from ASP.NET.
	var subareadiv_id = "ChannelListBox_ChList_" + typeStr + "SubItemDiv";
	// could use 'this' for image, but don't want to tie it to that.
	var iconimg_id = "ChList_" + typeStr + "TitleDiscloseImg";
	// hidden field is to store expand-collapse state.
	var hiddenfield_id = "ChannelListBox_ChList_" + typeStr + "DiscloseCntl";
	
	var subareadiv = document.getElementById (subareadiv_id);
	var iconimg = document.getElementById (iconimg_id);
	var hiddenfield = document.getElementById (hiddenfield_id);
	
	if (subareadiv && hiddenfield)
	{
		if (hiddenfield.value == "1")
		{
			// Hide
			if (iconimg)
			{
				iconimg.src = "img/disclose-collapse.png";
			}
			hiddenfield.value = "0";
			subareadiv.style.display = "none";
		}
		else
		{
			// Show
			if (iconimg)
			{
				iconimg.src = "img/disclose-expand.png";
			}
			hiddenfield.value = "1";
			subareadiv.style.display = "block";
		}
	}	
}

// Expands/Collapses menus based on initial values in hidden field.
// Different from click-func in that click-func toggles field, this just reads.
function chlist_initdisclose (typeStr)
{
	// extra prefix from ASP.NET.
	var subareadiv_id = "ChannelListBox_ChList_" + typeStr + "SubItemDiv";
	// could use 'this' for image, but don't want to tie it to that.
	var iconimg_id = "ChList_" + typeStr + "TitleDiscloseImg";
	// hidden field is to store expand-collapse state.
	var hiddenfield_id = "ChannelListBox_ChList_" + typeStr + "DiscloseCntl";
	
	var subareadiv = document.getElementById (subareadiv_id);
	var iconimg = document.getElementById (iconimg_id);
	var hiddenfield = document.getElementById (hiddenfield_id);
	
	if (subareadiv && hiddenfield)
	{
		if (hiddenfield.value == "1")
		{
			// Show
			if (iconimg)
			{
				iconimg.src = "img/disclose-expand.png";
			}
			subareadiv.style.display = "block";
		}
		else
		{
			// Hide
			if (iconimg)
			{
				iconimg.src = "img/disclose-collapse.png";
			}
			subareadiv.style.display = "none";
		}
	}	
}

// Click in outer title checkbox. Select or deselect all subelements.
function chlist_areachkbox_click (typeStr)
{
	var chkbox_id = "ChList_" + typeStr + "TitleCheckBox";
	var subareadiv_id = "ChannelListBox_ChList_" + typeStr + "SubItemDiv";
	
	var chkbox = document.getElementById (chkbox_id);
	var subareadiv = document.getElementById (subareadiv_id);
	
	if (chkbox && subareadiv)
	{
		var checkval = chkbox.checked;
		var allChkBoxes = subareadiv.getElementsByTagName ("INPUT");
		
		for (var i = 0; i < allChkBoxes.length; i++)
		{
			allChkBoxes[i].checked = checkval;
		}
	}
}

// Click in inner line checkbox. See if it should select or deselect outer checkbox.
function chlist_linechkbox_click (typeStr)
{
	var chkbox_id = "ChList_" + typeStr + "TitleCheckBox";
	var subareadiv_id = "ChannelListBox_ChList_" + typeStr + "SubItemDiv";
	
	var chkbox = document.getElementById (chkbox_id);
	var subareadiv = document.getElementById (subareadiv_id);
	
	if (chkbox && subareadiv)
	{
		var checkval = false;
		var allChkBoxes = subareadiv.getElementsByTagName ("INPUT");
		
		for (var i = 0; i < allChkBoxes.length; i++)
		{
			if (allChkBoxes[i].checked == true)
			{
				checkval = true;
				break;
			}
		}
		chkbox.checked = checkval;
	}
}

// Notify ScriptManager that this is the end of the script.
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
