0)
{
fix(e, "cb");
}
}
// if this element is an inline cdata, and contains more than a single
// line, turn it into a block cdata.
if (e.className == "di")
{
if (e.children(0).innerText.indexOf("\n") > 0)
{
fix(e, "db");
}
}
// remove the id since we only used it for cleanup
e.id = "";
}
// Fix up the element as a "block" display and enable expand/collapse on it
function fix(e, cl)
{
var j;
var k;
// change the class name and display value
e.className = cl;
e.style.display = "block";
// mark the comment or cdata display as a expandable container
j = e.parentElement.children(0);
j.className = "c";
// find the +/- symbol and make it visible - the dummy link enables tabbing
k = j.children(0);
k.style.visibility = "visible";
k.href = "#";
}
// Change the +/- symbol and hide the children. This function works on "element"
// displays
function ch(e)
{
var i;
// find the +/- symbol
var mark = e.children(0).children(0);
// if it is already collapsed, expand it by showing the children
if (mark.innerText == "+")
{
mark.innerText = "-";
for (i = 1; i < e.children.length; i++)
{
e.children(i).style.display = "block";
}
}
// if it is expanded, collapse it by hiding the children
else if (mark.innerText == "-")
{
mark.innerText = "+";
for (i = 1; i < e.children.length; i++)
{
e.children(i).style.display="none";
}
}
}
// Change the +/- symbol and hide the children. This function work on "comment"
// and "cdata" displays
function ch2(e)
{
var contents;
// find the +/- symbol, and the "PRE" element that contains the content
var mark = e.children(0).children(0);
contents = e.children(1);
// if it is already collapsed, expand it by showing the children
if (mark.innerText == "+")
{
mark.innerText = "-";
// restore the correct "block"/"inline" display type to the PRE
if (contents.className == "db" || contents.className == "cb")
{
contents.style.display = "block";
}
else
{
contents.style.display = "inline";
}
}
// if it is expanded, collapse it by hiding the children
else
{
if (mark.innerText == "-")
{
mark.innerText = "+";
contents.style.display = "none";
}
}
}
// Handle a mouse click
function cl()
{
var e = window.event.srcElement;
// make sure we are handling clicks upon expandable container elements
if (e.className != "c")
{
e = e.parentElement;
if (e.className != "c")
{
return;
}
}
e = e.parentElement;
// call the correct funtion to change the collapse/expand state and display
if (e.className == "e")
{
ch(e);
}
if (e.className == "k")
{
ch2(e);
}
}
// Dummy function for expand/collapse link navigation - trap onclick events instead
function ex()
{
}
// Erase bogus link info from the status window
function h()
{
window.status=" ";
}
/* End XML Expand / Collapse */
function bodyLoad()
{
bodyLoadCommonBefore();
bodyLoadCommonAfter();
if(parent)
parent.loaded = true;
}
function loadSettings()
{
loadSettingsCommon();
// load the community feature states
try
{
ic_loadCommunityFeatureStates();
}
catch(ex) {}
}
function saveSettings()
{
saveSettingsCommon();
// Community
try {ic_saveCommunityFeatureStates();} catch(ex) {}
}
/* Glossary boxes */
function hsShowGlossaryItemBox(term,definition,e){
if (window.event)
e = window.event;
hideBoxes(e);
var button = sourceElement(e);
var documentWidth;
var documentHeight;
var boxWidth;
var pixelLeft;
var pixelTop;
var boxHeigt;
var boxWidth;
cancelEvent(e);
var div = documentElement("hsglossaryitembox")
if (div && button) {
// Have the browser size the box
div.style.height = "";
div.style.width = "";
// Clear the tooltip so it doesn't appear above the popup
button.title = "";
div.innerHTML = "" + term + "
" + definition + "
";
pixelTop = getElementPosition(button).top + 14;
// Check if the box would go off the bottom of the visible area
documentHeight = document.body.clientHeight;
boxHeight = div.clientHeight;
if (pixelTop + boxHeight > documentHeight)
{
// If the box won't fit both above and below the link
// using the default width then make the box wider
if (boxHeight >= pixelTop)
div.style.width = "80%";
else
pixelTop = pixelTop - 14 - boxHeight;
}
div.style.top = pixelTop + "px";
documentWidth = document.body.clientWidth;
boxWidth = div.clientWidth;
pixelLeft = button.offsetLeft;
// Check if the box would go off the edge of the visible area
if (pixelLeft + boxWidth > documentWidth)
{
pixelLeft = documentWidth - boxWidth - 5;
}
div.style.left = pixelLeft + "px";
// Show the box
div.style.visibility = "visible";
}
}
/* End Glossary boxes */
/* .NET Framework Help Topic Resolution */
// This function is Copyright 2006 Innovasys Limited. No reproduction or usage
// allowed other than in documentation generated by Innovasys Document! X v5
function resolveHelp2Keyword(Keyword,OnlineKeyword)
{
var URL="";
try
{
// Try the current namespace
URL = findHelp2Keyword(getCurrentHelp2Namespace(),Keyword);
if (URL == "")
{
// Try the likely namespaces first, most recent first
URL = findHelp2Keyword("MS.VSCC.v80",Keyword);
if (URL == "")
{
URL = findHelp2Keyword("MS.VSCC.2003",Keyword);
if (URL == "")
{
URL = findHelp2Keyword("MS.VSCC",Keyword);
}
}
}
// URL found in one of the known VSCC namespaces
if (URL != "")
{
return URL;
}
// For future proofing, try other VSCC namespaces
else
{
var RegistryWalker = new ActiveXObject("HxDs.HxRegistryWalker");
var Namespaces = RegistryWalker.RegisteredNamespaceList("MS.VSCC");
var Namespace,NamespaceName,Session,Topics,Topic;
if (Namespaces.Count > 0)
{
for (n=1;n<=Namespaces.Count;n++)
{
Namespace = Namespaces.Item(n);
NamespaceName = Namespace.Name;
if (NamespaceName.substring(0,7) == "MS.VSCC")
{
switch(NamespaceName)
{
case "MS.VSCC.v80":
break;
case "MS.VSCC.2003":
break;
case "MS.VSCC":
break;
default:
URL = findHelp2Keyword(NamespaceName);
if (URL != "")
{
return Topics(1).URL;
}
}
}
}
}
}
}
catch(e) {}
// No match found in any applicable namespace
return "http://msdn2.microsoft.com/en-us/library(d=ide)/" + OnlineKeyword + ".aspx"
}
function findHelp2Keyword(NamespaceName,Keyword)
{
var Session,Topics;
if (NamespaceName.length > 0)
{
try
{
Session = new ActiveXObject("HxDs.HxSession");
Session.Initialize("ms-help://" + NamespaceName, 0);
Topics = Session.Query(Keyword, "!DefaultAssociativeIndex", 0, "");
if (Topics.Count > 0)
{
return Topics(1).URL;
}
}
catch(e) {}
}
return "";
}
function navigateToHelp2Keyword(Keyword,OnlineKeyword,ReplacePage)
{
window.status = "Resolving link. Please wait a moment...";
var URL = resolveHelp2Keyword(Keyword,OnlineKeyword);
window.status="";
if (ReplacePage == true)
{
location.replace(URL);
}
else
{
location.href = URL;
}
}
function getCurrentHelp2Namespace()
{
var namespace = "";
var location = window.location;
if (location.protocol == "ms-help:")
{
namespace = location.hostname;
if (namespace.substring(0, 2) == "//")
namespace = namespace.substring(2);
}
return namespace;
}
/* End .NET Framework Help Topic Resolution */