var csLang;
var scrollPos = 0;

var inheritedMembers = "off";
var protectedMembers = "on";
var netcfMembersOnly = "off";

var sectionStates = new Array();

var allCollapsed = false;
var allExpanded = true;

function GetDefaultState()
{
    if (allExpanded) return "e";
    if (allCollapsed) return "c";
    
    return "e";
}

function ShouldExpand(elem)
{
    return (allExpanded || sectionStates[elem.id] == "e");
}


function LoadPage()
{
	EnsureImagesInited();
}

var imagesInited = false;

var collapseImage;
var expandImage;
var collapseAllImage;
var expandAllImage;
var copyImage;

function EnsureImagesInited()
{
    if (!imagesInited) InitImages();
}

function InitImages()
{
    collapseImage = document.getElementById("collapseImage");
    expandImage = document.getElementById("expandImage");
    collapseAllImage = document.getElementById("collapseAllImage");
    expandAllImage = document.getElementById("expandAllImage");

    imagesInited = collapseImage != null;
}

function ExpandCollapse(imageID, sectionID)
{
    var imageItem = document.getElementById(imageID);
    if (imageItem == null) return;
    
    var sectionItem = document.getElementById(sectionID);
    
    EnsureImagesInited();
    
    if (!imagesInited) return;
    
	if (ItemCollapsed(imageItem.id) == true)
	{
		imageItem.src = collapseImage.src;
		imageItem.alt = collapseImage.alt;
		imageItem.title = collapseImage.title;
		
		if (sectionItem != null)
		    ExpandSection(imageItem, sectionItem);
	}
	else
	{
		imageItem.src = expandImage.src;
		imageItem.alt = expandImage.alt;
		imageItem.title = expandImage.title;
	
        if (sectionItem != null)
		    CollapseSection(imageItem, sectionItem);
	}
	
	allCollapsed = false;
	allExpanded = false;
}

function GetSection(imgElement)
{
    var imageID = imgElement.id;
    
    var _from = imageID.lastIndexOf("_") + 1;
    var to = imageID.indexOf("Toggle");
    
    var sectionID = imageID.substring(_from, to) + "Section";
    
    var result = document.getElementById(sectionID);
    
    return result;
}

function ExpandCollapseAll(imageID, section1, section2, section3, section4, section5, section6, section7, section8, section9, section10)
{
	var imageItem = document.getElementById(imageID);
	
	if (imageItem == null) return;
	
	EnsureImagesInited();
	
	if (!imagesInited) return;
	
	var imgElements = new Array();
	
	if (typeof(section1) == "string") imgElements[imgElements.length] = document.getElementById(section1);
	if (typeof(section2) == "string") imgElements[imgElements.length] = document.getElementById(section2);
	if (typeof(section3) == "string") imgElements[imgElements.length] = document.getElementById(section3);
	if (typeof(section4) == "string") imgElements[imgElements.length] = document.getElementById(section4);
	if (typeof(section5) == "string") imgElements[imgElements.length] = document.getElementById(section5);
	if (typeof(section6) == "string") imgElements[imgElements.length] = document.getElementById(section6);
	if (typeof(section7) == "string") imgElements[imgElements.length] = document.getElementById(section7);
	if (typeof(section8) == "string") imgElements[imgElements.length] = document.getElementById(section8);
	if (typeof(section9) == "string") imgElements[imgElements.length] = document.getElementById(section9);
	if (typeof(section10) == "string") imgElements[imgElements.length] = document.getElementById(section10);
	
	var i;
	var imgElement;
	
	if (imageItem.src == expandAllImage.src)
	{
		imageItem.src = collapseAllImage.src;
		imageItem.alt = collapseAllImage.alt;
		imageItem.title = collapseAllImage.title;

		for (i = 0; i < imgElements.length; ++i)
		{
		    imgElement = imgElements[i];
		    
			imgElements[i].src = collapseImage.src;
			imgElements[i].alt = collapseImage.alt;
			imgElements[i].title = collapseImage.title;
			
			ExpandSection(imgElements[i], GetSection(imgElement));
		}
		
		SetToggleAllLabel(false);
		
		allExpanded = true;
		allCollapsed = false;
	}
	else
	{
		imageItem.src = expandAllImage.src;
		imageItem.alt = expandAllImage.alt;
		imageItem.title = expandAllImage.title;

		for (i = 0; i < imgElements.length; ++i)
		{
		    imgElement = imgElements[i];
		    
			imgElements[i].src = expandImage.src;
			imgElements[i].alt = expandImage.alt;
			imgElements[i].title = expandImage.title;
			
			CollapseSection(imgElements[i], GetSection(imgElement));
		}
		
		SetToggleAllLabel(true);
		
		allExpanded = false;
		allCollapsed = true;
	}
}

function ExpandSection(imageItem, sectionItem)
{
    try
    {
        if (sectionItem != null) sectionItem.style.display	= "block";
	    if (imageItem != null) sectionStates[imageItem.id] = "e";
	}
	catch (e)
	{
	}
}

function CollapseSection(imageItem, sectionItem)
{
    try
    {
	    if (sectionItem != null) sectionItem.style.display = "none";
	    if (imageItem != null) sectionStates[imageItem.id] = "c";
	}
	catch (e)
	{
	}
}

function SetCollapseAll()
{
	var imageElement = document.getElementById("toggleAllImage");
	
	if (imageElement == null) return;
	
	if (allCollapsed)
	{
		imageElement.src = expandAllImage.src;
		imageElement.alt = expandAllImage.alt;
		imageElement.title = expandAllImage.title;
	}
	else
	{
		imageElement.src = collapseAllImage.src;
		imageElement.alt = collapseAllImage.alt;
		imageElement.title = collapseAllImage.title;
	}
	
	SetToggleAllLabel(allCollapsed);
}

function SetToggleAllLabel(collapseAll)
{
	var labelElement = document.getElementById("collapseAllLabel");
	
	if (labelElement == null) return;
		
	labelElement.style.display = "none";
	
	labelElement = document.getElementById("expandAllLabel");
	labelElement.style.display = "none";
	
	if (collapseAll)
	{
		labelElement = document.getElementById("expandAllLabel");
		labelElement.style.display = "inline";
	}
	else
	{
		labelElement = document.getElementById("collapseAllLabel");
		labelElement.style.display = "inline";
	}
}

function ItemCollapsed(imageId)
{
	return sectionStates[imageId] == "c";
}

function OpenSection(imageID, sectionID)
{
	if (sectionStates[imageID] == "c") ExpandCollapse(imageID, sectionID);
}

function formatMailToLink(anchor)
{
	var release = "Release: " + anchor.doc_Release;
	var topicId = "Topic ID: " + anchor.doc_TopicID;
	var topicTitle = "Topic Title: " + anchor.doc_TopicTitle;
	var url = "URL: " + document.URL;
	var browser = "Browser: " + window.navigator.userAgent;

	var crlf = "%0d%0a"; 
	var body = release + crlf + topicId + crlf + topicTitle + crlf + url + crlf + browser + crlf + crlf + "Comments:" + crlf + crlf;
	
	anchor.href = anchor.href + "&body=" + body;
}
