blob: fc62ee84d26156d328dc4d70c718c4768848c82d [file] [log] [blame]
var tocRoot, tocBranch, tocSel, tocLoading, tocLastID, tableSel = null, tabHead, data, tocTab, tocInitRoot, tocMemToc,
rFStatus, oldData, tableSelTable;
var prevPage = "";
var initI;
var icon = new Array();
var preloadIcons =
new Array(1, 10, 101, 102, 103, 104, 106, 107, 108, 11, 113, 116, 118, 16, 175, 176, 177, 178, 179, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 19, 20, 21, 24, 25, 26, 28, 29, 31, 34, 4, 5, 52, 53, 56, 57, 6, 60, 68, 69,
7, 8, 82, 9, 99);
var browser = browserCheck();
var content = 0;
var Linkguid = "";
function browserCheck()
{
browser = navigator.userAgent.toLowerCase();
if (browser.indexOf('msie') != -1)
{
if (browser.substring(browser.indexOf('msie') + 5, browser.indexOf('.', browser.indexOf('msie'))) > 6)
return ("ie7");
if (browser.substring(browser.indexOf('msie') + 5, browser.indexOf('.', browser.indexOf('msie'))) > 5)
return ("ie6");
else
return ("ie_old");
}
else if (browser.indexOf('firefox') != -1)
return ("ff");
else if (browser.indexOf('opera') != -1)
return ("op");
else if (browser.indexOf('gecko') != -1)
return ("ff");
}
function changeCSS(theClass, element, value, target)
{
var cssRules;
target = eval(target + '.document.styleSheets');
if (browser == 'ie6' || browser == 'ie7')
{
cssRules = 'rules';
} else
{
cssRules = 'cssRules';
}
for (var S = 0; S < target.length; S++)
{
for (var R = 0; R < target[S][cssRules].length; R++)
{
if (target[S][cssRules][R].selectorText == theClass)
{
try
{
target[S][cssRules][R].style[element] = value;
}
catch (e)
{
}
}
}
}
}
function initItem(item)
{
if (prevPage != cont.document.location.href)
tableSel = null;
if (tableSel == null)
{
if (cont.document.getElementById('TableGroup') != null)
{
toggleItem(cont.document.getElementById('TableGroup').getElementsByTagName('li')[0].id.replace("Title",
""));
}
prevPage = cont.document.location.href;
}
}
function initLoad(src, toc, home)
{
var qs = document.location.search.substring(1);
if (qs.substring(0, qs.indexOf('=')) == 'goto')
{
var gotoPage = qs.substring(qs.indexOf('=') + 1).split(':');
var fExt = home.substring(home.lastIndexOf('.'));
var home = "./EARoot/";
for (var i = 0; i < gotoPage.length; i++)
{
home += "EA" + gotoPage[i];
if (i != gotoPage.length - 1)
home += "/";
else
home += fExt;
}
}
content = document.createElement('div');
content.className = "IndexBody";
content.innerHTML = " <iframe src='" + toc + "' name='toc' id='tocIFrame' frameborder='0'></iframe>\n";
if (qs.substring(0, qs.indexOf('=')) == 'guid')
{
Linkguid = qs.substring(qs.indexOf('=') + 1).split('?guid=');
var sGuid = new String(Linkguid);
if (sGuid.substring(0, 1) == "{" && sGuid.substring(sGuid.length, sGuid.length - 1) == "}")
sGuid = sGuid.substring(1, sGuid.length - 1);
Linkguid = sGuid;
LoadGuidMap(OnReadyLoadGuidMap);
} else
{
// We don't have a guid in the address bar, so set the default homepage and continue
content.innerHTML += " <iframe src='" + home + "' name='cont' id='contentIFrame' frameborder='0'></iframe>";
content.innerHTML += " <div id=\"resizeFrames\"></div>";
// Pass in the guid of the home page or class.
initPreLoad(content);
}
}
function LoadGuidMap(ResponseFunc)
{
// Get the correct file
var FirstTwoHexDigits = new String(Linkguid);
FirstTwoHexDigits = FirstTwoHexDigits.slice(0, 2).toLowerCase();
var src = "js/data/guidmaps/" + "GuidMap" + FirstTwoHexDigits + ".xml";
RequestPage(src, ResponseFunc); // Request the page passing in the filelocation and the response function.
}
function OnReadyLoadGuidMap()
{
if (data.readyState == 4)
{
try
{
var Home = GetPageAddressFromMapString(data.responseText);
//Set the home page.
content.innerHTML += " <iframe src='" + Home + "' name='cont' id='contentIFrame' frameborder='0'></iframe>";
content.innerHTML += " <div id=\"resizeFrames\"></div>";
//Make sure memory for the string is cleared. The browser should do this anyway but just in case.
Home = null;
// Continue loading the rest of the page.
initPreLoad(content);
}
catch (e)
{
return;
}
}
}
function GetPageAddressFromMapString(MapString)
{
var LG = new String(Linkguid);
var Page = new String(MapString);
LG = LG.toLowerCase(); //Make searching case insensitive.
Page = Page.toLowerCase();
var Pos1 = Page.search(LG); // Search the the guid in the string and return the position.
Page = Page.slice(Pos1); // Remove the top half of the string.
var Pos2 = Page.search("/"); //Search for the start of the web address.
var Pos3 = Page.search(";"); //Search for the end of the web address.
Page = Page.slice(Pos2 + 1, Pos3); // extract the web address.
// Leave the page address in the original case as Linux is case sensitive.
var sExt = ".html";
Pos1 = Page.search(sExt);
if (Pos1 == -1)
{
sExt = ".htm";
Pos1 = Page.search(sExt);
}
Page = Page.slice(0, Pos1);
Page = Page.toUpperCase();
Page = "EARoot/" + Page + sExt; // At the root back onto the page.
return Page;
}
function guidLink(guid, qs)
{
guid = guid.substring(1, guid.length - 1); //Remove the brakets
Linkguid = guid;
LoadGuidMap(OnReadyGuidLink);
}
function OnReadyGuidLink()
{
if (data.readyState == 4)
{
try
{
// Get the page location from the guid map.
var Page = GetPageAddressFromMapString(data.responseText);
cont.location = Page;
//Make sure memory for the string is cleared. The browser should do this anyway but just in case.
Page = null;
Linkguid = null;
}
catch (e)
{
return;
}
}
}
function RequestPage(Page, ResponseFunc)
{
try
{
data = new XMLHttpRequest();
data.onreadystatechange = ResponseFunc;
data.open("GET", Page, true);
data.send(null);
}
catch (e)
{
if (browser == "ie6" || browser == "ie7" || browser == "ie8")
{
data = new ActiveXObject("Microsoft.XMLHTTP");
if (data)
{
data.onreadystatechange = ResponseFunc;
data.open("GET", Page, true);
data.send();
}
} else
{
alert(e);
}
}
}
function initPage(src)
{
if (browser == "ie_old")
return;
if (toc.document == null)
toc = top.frames[0];
if (cont.document == null)
cont = top.frames[1];
if (cont.document == null)
{
setTimeout("initPage('" + src + "')", "1000");
return;
}
var curPage = cont.document.location + "";
if (curPage.indexOf('EARoot') != -1)
curPage = curPage.substring(curPage.indexOf('EARoot'));
else
curPage = curPage.substring(curPage.lastIndexOf('/') + 1);
for (var j = 0; j < cont.document.getElementsByTagName('div').length; j++)
{
if (cont.document.getElementsByTagName('div')[j].className == "ObjectDetailsNotes")
{
var tmpStr = cont.document.getElementsByTagName('div')[j].innerHTML;
//tmpStr=tmpStr.replace(/&nbsp;<WBR>/g," "); //GAS 810 - removed as it adversely affect PreserveWS
tmpStr = tmpStr.replace(/&gt;/g, ">");
tmpStr = tmpStr.replace(/&lt;/g, "<");
cont.document.getElementsByTagName('div')[j].innerHTML = tmpStr;
}
}
if (src != null)
initItem();
if (curPage.substr(0, curPage.indexOf('.')) == "blank")
return;
//Check ToC is loaded
if (toc.document.body == null)
{
setTimeout("initPage('" + src + "')", "1");
return;
} else if (toc.document.body.childNodes && toc.document.body.childNodes.length == 1)
{
setTimeout("initPage('" + src + "')", "1");
return;
} else if (toc.document.body.lastChild && toc.document.body.lastChild.childNodes
&& toc.document.body.lastChild.childNodes.length == 0)
{
setTimeout("initPage('" + src + "')", "1");
return;
} else if (!toc.document.body.childNodes || !toc.document.body.lastChild || !toc.document.body.lastChild.childNodes)
{
setTimeout("initPage('" + src + "')", "1");
return;
}
else
{
if (toc.document.getElementById(curPage) == null)
{
return;
}
if (toc.document.getElementById(curPage).parentNode.parentNode.parentNode.parentNode
&& toc.document.getElementById(curPage).parentNode.parentNode.parentNode.parentNode.childNodes.length > 3)
{
if (toc.document.getElementById(
curPage).parentNode.parentNode.parentNode.parentNode.childNodes[toc.document.getElementById(
curPage).parentNode.parentNode.parentNode.parentNode.childNodes.length - 4].src.indexOf('plus') != -1)
{
toc.tocClick(toc.document.getElementById(
curPage).parentNode.parentNode.parentNode.parentNode.childNodes[toc.document.getElementById(
curPage).parentNode.parentNode.parentNode.parentNode.childNodes.length - 4]);
}
}
if (toc.document.getElementById(curPage).parentNode.parentNode.childNodes[toc.document.getElementById(
curPage).parentNode.parentNode.childNodes.length - 4].src.indexOf('plus') != -1)
{
toc.tocClick(
toc.document.getElementById(curPage).parentNode.parentNode.childNodes[toc.document.getElementById(
curPage).parentNode.parentNode.childNodes.length - 4]);
}
if (tocSel)
tocSel.parentNode.childNodes[tocSel.parentNode.childNodes.length - 2].style.backgroundColor = "";
//Highlight selected ToC item and store in memory
if (toc.document.getElementById(curPage))
{
tocSel = toc.document.getElementById(curPage).parentNode;
tocSel.parentNode.childNodes[tocSel.parentNode.childNodes.length - 2].style.backgroundColor = "#B2B4BF";
if (tocSel.offsetTop < toc.document.body.scrollTop || tocSel.offsetTop > toc.document.body.offsetHeight
+ toc.document.body.scrollTop)
{
toc.scrollTo(0, tocSel.offsetTop - 20);
}
}
}
}
function initPreLoad(content)
{
var preload = document.getElementById('IndexHeader').parentNode.insertBefore(document.createElement('div'),
document.getElementById('IndexHeader').nextSibling);
preload.id = "Preload";
preload.appendChild(document.createElement('p'));
preload.firstChild.appendChild(document.createTextNode("Loading..."));
if (browser == "ie_old")
return;
if (browser == "ie6" || browser == "ie7")
changeCSS('#Preload', 'height', top.document.body.clientHeight - 67 + 'px', 'this');
else
changeCSS('#Preload', 'height', top.innerHeight - 67 + 'px', 'this');
for (var i = 0; i < preloadIcons.length; i++)
{
icon[preloadIcons[i]] = new Image();
icon[preloadIcons[i]].src = "images/" + preloadIcons[i] + ".png";
}
var preloader = document.body.appendChild(document.createElement('div'));
preloader.style.display = "none";
preloader.id = "preloader";
preloader.appendChild(content);
resizeFrames('init');
}
function initPreLoaded()
{
if (browser == "op")
setCSS();
var preloader = document.getElementById('preloader');
document.getElementById('Preload').parentNode.replaceChild(preloader.firstChild,
document.getElementById('Preload'));
preloader.parentNode.removeChild(preloader);
if (browser != "op")
setTimeout('setCSS();', '1000');
}
function resizeFrames(str)
{
var resizeFrames = document.getElementById('resizeFrames');
if (str == "init")
{
resizeFrames.onmousedown = resizeFramesOn;
resizeFrames.onmouseup = resizeFramesOff;
resizeFrames.onmouseout = resizeFramesOff;
resizeFrames.onmousemove = resizeFramesMove;
}
}
function resizeFramesOn(e)
{
rFStatus = 1;
var resizeFrames = document.getElementById('resizeFrames');
tmpRF = resizeFrames.parentNode.appendChild(document.createElement('div'));
tmpRF.style.left = (document.getElementById('tocIFrame').clientWidth + 1) + "px";
tmpRF.id = "tmpRF";
resizeFrames.style.width = "100%"
resizeFrames.style.left = "0px";
}
function resizeFramesOff(e)
{
rFStatus = 0;
var resizeFrames = document.getElementById('resizeFrames');
if (document.getElementById('tmpRF') != null)
document.getElementById('tmpRF').parentNode.removeChild(document.getElementById('tmpRF'));
resizeFrames.style.width = "5px";
resizeFrames.style.left = (document.getElementById('tocIFrame').clientWidth + 1) + "px";
}
function resizeFramesMove(e)
{
if (rFStatus != 0)
{
if (rFStatus == 2)
var posX = e + 2;
else if (browser == "ff")
var posX = e.pageX;
else
var posX = event.x;
if (posX <= 150)
posX = 150;
else if (posX >= top.document.body.clientWidth / 2)
posX = top.document.body.clientWidth / 2;
document.getElementById('contentIFrame').style.left = (posX + 3) + "px";
document.getElementById('contentIFrame').style.width = (top.document.body.clientWidth - posX - 4) + "px";
if (document.getElementById('tmpRF') != null)
document.getElementById('tmpRF').style.left = (posX - 2) + "px";
if (browser == "ie6")
document.getElementById('tocIFrame').style.width = (posX - 4) + "px";
else
document.getElementById('tocIFrame').style.width = (posX - 3) + "px";
if (tableSelTable != null)
{
if (tableSelTable.childNodes.length > 1 && document.getElementById('tmpRF') != null)
{
tableSelTable.style.width = (document.body.clientWidth
- (document.getElementById('tmpRF').offsetLeft + 6) - 20) + "px";
if (tableSelTable.childNodes[0].style)
tableSelTable.childNodes[0].style.width = (tableSelTable.offsetWidth - 19) + "px";
if (tableSelTable.childNodes[1].style)
tableSelTable.childNodes[1].style.width = (tableSelTable.offsetWidth - 19) + "px";
}
}
}
}
function resizePage()
{
if (rFStatus == 1)
return;
rFStatus = 2;
if (document.getElementById('resizeFrames') == null)
return;
if (browser == "ie6")
{
pHeight = top.document.body.clientHeight;
} else
{
pHeight = top.document.documentElement.clientHeight;
}
resizeFramesMove(document.getElementById('resizeFrames').offsetLeft);
document.getElementById('contentIFrame').style.height = pHeight - 74 + 'px';
if (browser == "ie7")
{
document.getElementById('resizeFrames').style.height = pHeight - 72 + 'px';
changeCSS('#tmpRF', 'height', pHeight - 72 + 'px', 'this');
} else
{
document.getElementById('resizeFrames').style.height = pHeight - 70 + 'px';
changeCSS('#tmpRF', 'height', pHeight - 70 + 'px', 'this');
}
document.getElementById('tocIFrame').style.height = pHeight - 74 + 'px';
rFStatus = 0;
}
function setCSS()
{
if (browser == "ie6")
{
pHeight = top.document.body.clientHeight;
} else
{
pHeight = top.document.documentElement.clientHeight;
}
if (browser == "ie6" || browser == "ie7")
{
changeCSS('.IndexBody', 'width', '', 'this');
changeCSS('.IndexBody', 'top', '0px', 'this');
changeCSS('.IndexBody', 'position', 'relative', 'this');
changeCSS('#contentIFrame', 'height', pHeight - 74 + 'px', 'this');
changeCSS('#contentIFrame', 'left', '257px', 'this');
changeCSS('#resizeFrames', 'background', '#000000', 'this');
changeCSS('#resizeFrames', 'filter', 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)', 'this');
changeCSS('#resizeFrames', 'height', pHeight - 72 + 'px', 'this');
changeCSS('#tmpRF', 'border', '0px', 'this');
changeCSS('#tmpRF', 'height', pHeight - 70 + 'px', 'this');
changeCSS('#tocIFrame', 'height', pHeight - 74 + 'px', 'this');
}
changeCSS('#contentIFrame', 'width', top.document.body.clientWidth - 258 + 'px', 'this');
}
function tocBuild(data)
{
var tocType = new Array();
var tocTypes = new Array();
var tocErrs = new Array();
for (var i = 0; i < tocTab.length; i++)
{
if (!tocTab[i][8])
tocTab[i][8] = 'misc';
if (tocTab[i][8].toLowerCase().indexOf('diagram') != -1 && (tocTab[i][6] == "" || tocTab[i][6] == "0"))
tocTab[i][8] = "0Diagram";
if (tocTab[i][8].toLowerCase().indexOf('package') != -1)
tocTab[i][8] = "1Package";
if (!tocType[tocTab[i][8]])
{
tocType[tocTab[i][8]] = new Array();
tocTypes[tocTypes.length] = tocTab[i][8];
}
tocType[tocTab[i][8]][tocType[tocTab[i][8]].length] = i;
}
tocTypes.sort();
for (var i = 0; i < tocTypes.length; i++)
{
for (var j = 0; j < tocType[tocTypes[i]].length; j++)
{
var build = tocBuildItem(tocType[tocTypes[i]][j]);
if (build != true)
{
build = build.substring(1);
tocErrs[tocErrs.length] = build;
}
}
}
var errRuns = 0;
var errTotal = tocErrs.length;
while (tocErrs.length != 0)
{
if (errNums == tocErrs.length)
{
errRuns++;
if (errRuns > errTotal)
{
break;
}
}
var errNums = tocErrs.length;
var tmp = tocBuildItem(tocErrs.shift());
if (tmp != true)
{
tocErrs[tocErrs.length] = tmp.substring(1);
}
}
while (tocErrs.length != 0)
{
tocTab[tocErrs[0]][6] = "0";
tocBuildItem(tocErrs.shift());
}
if (tocLastID != 0)
{
var tocLastSrc = document.getElementById("toc"
+ tocLastID).parentNode.childNodes[document.getElementById("toc" + tocLastID).parentNode.childNodes.length
- 4];
tocLastSrc.src = tocLastSrc.src.substring(tocLastSrc.src.lastIndexOf('images')).replace("01", "02");
}
}
function tocBuildItem(i)
{
var childItem = false;
if (tocTab[i][0].indexOf(':') != -1)
tocBranch = document.getElementById("toc" + tocTab[i][0].substring(0, tocTab[i][0].lastIndexOf(':')));
else if (tocTab[i][0].indexOf('.') != -1)
tocBranch = document.getElementById("toc" + tocTab[i][0].substring(0, tocTab[i][0].lastIndexOf('.')));
else if (tocTab[i][0] != "0")
tocBranch = document.getElementById("toc0");
else if (tocTab[i][1] == 3)
tocBranch = document.getElementById("System").parentNode.lastChild;
else
tocBranch = tocRoot;
//Check if item is child
if (tocTab[i][5] && tocTab[i][6] && tocTab[i][6] != "0")
{
if (document.getElementById(tocTab[i][6]) == null)
return 'i' + i;
tocBranch = document.getElementById(tocTab[i][6]).parentNode.lastChild;
childItem = true;
}
tocBranch = tocBranch.appendChild(document.createElement('li'));
if (tocTab[i][0] != 0 || tocTab[i][1] == 3)
{
tocImage = tocBranch.appendChild(document.createElement('img'));
if (tocTab[i][0].indexOf('.') == -1 && (tocTab[i][0].indexOf(':') == -1 || tocTab[i][0].indexOf('0') == 0))
tocImage.src = "images/join01.gif";
else if (tocTab[i][0].indexOf('.') != -1 || tocTab[i][0].indexOf(':') != -1)
{
var tocTmp = tocTab[i][0].replace(':', '.');
for (var m = 0; tocTmp.split('.').length > m + 1; m++)
{
if (document.getElementById("toc" + tocTmp.substring(0,
tocTmp.lastIndexOf('.'))).parentNode.childNodes[m].src.substring(document.getElementById("toc"
+ tocTmp.substring(0,
tocTmp.lastIndexOf('.'))).parentNode.childNodes[m].src.lastIndexOf('images')).indexOf('02')
!= -1 || document.getElementById("toc"
+ tocTmp.substring(0,
tocTmp.lastIndexOf('.'))).parentNode.childNodes[m].src.substring(document.getElementById("toc"
+ tocTmp.substring(0,
tocTmp.lastIndexOf('.'))).parentNode.childNodes[m].src.lastIndexOf('images')).indexOf('04')
!= -1)
tocImage.src = "images/join04.gif";
else
tocImage.src = "images/join03.gif";
tocImage = tocBranch.appendChild(document.createElement('img'));
}
tocImage.src = "images/join01.gif";
}
tocImage.onclick = function()
{
tocClick(this);
}
if (tocTab[i][1] == 3)
{
tocImage.src = tocImage.src.substring(tocImage.src.lastIndexOf('images')).replace("01", "02");
if (tocImage.parentNode.parentNode.childNodes.length > 1)
{
tocTmp = tocImage.parentNode.previousSibling.childNodes[
tocImage.parentNode.previousSibling.childNodes.length - 4];
tocTmp.src = tocTmp.src.substring(tocTmp.src.lastIndexOf('images')).replace("02", "01");
}
}
//Check if item has children data
if (tocTab[i][1] && tocTab[i][1] != 3)
{
tocImage.id = tocTab[i][7];
tocImage.alt = tocTab[i][7];
} else if (childItem == true)
{
while (tocImage.parentNode.childNodes.length
< document.getElementById(tocTab[i][6]).parentNode.childNodes.length - 2)
{
tocImage.parentNode.insertBefore(document.createElement('img'), tocImage).src = "images/join03.gif";
}
tocImage.src = tocImage.src.substring(tocImage.src.lastIndexOf("images")).replace('01', '02');
if (document.getElementById(tocTab[i][6]).parentNode.lastChild.childNodes.length > 1)
{
tocTmpSrc = document.getElementById(
tocTab[i][6]).parentNode.lastChild.lastChild.previousSibling.childNodes[document.getElementById(
tocTab[i][6]).parentNode.lastChild.lastChild.previousSibling.childNodes.length - 4];
tocTmpSrc.src = tocTmpSrc.src.substring(tocTmpSrc.src.lastIndexOf('images')).replace('02', '01');
}
tocImage = document.getElementById(
tocTab[i][6]).parentNode.childNodes[document.getElementById(tocTab[i][6]).parentNode.childNodes.length
- 4];
tocImage.parentNode.lastChild.style.display = "none";
}
if ((tocTab[i][1] && tocTab[i][1] != 3) || childItem == true)
{
tocImage.id = tocImage.id.substr(1, tocImage.id.length - 2);
tocImage.src = tocImage.src.substring(tocImage.src.lastIndexOf('images')).replace('join', 'plus');
}
}
//Set Icon
if (tocTab[i][3])
{
tocImg = tocBranch.appendChild(document.createElement('a'));
tocImg.href = tocTab[i][3];
tocImg.target = top.frames[1].name;
} else
tocImg = tocBranch;
tocTab[i][4] = tocTab[i][4].substring(0, tocTab[i][4].indexOf('.'))
tocImg = tocImg.appendChild(document.createElement('img'));
if (top.icon[tocTab[i][4]])
tocImg.src = top.icon[tocTab[i][4]].src;
else
tocImg.src = "images/" + tocTab[i][4] + ".png";
if (tocTab[i][3])
tocImg.id = tocTab[i][3];
//Set Text/Link
if (tocTab[i][5] && tocTab[i][8] != "0Diagram")
tocBranch.lastChild.id = tocTab[i][5];
else
tocBranch.lastChild.id = "0";
tocBranch.lastChild.style.marginRight = "4px";
if (tocTab[i][3])
{
tocText = tocBranch.appendChild(document.createElement('a'));
tocText.href = tocTab[i][3];
tocText.target = top.frames[1].name;
if (tocTab[i][9])
tocText.id = tocTab[i][9];
else if (tocTab[i][7])
tocText.id = tocTab[i][7];
} else
tocText = tocBranch;
var j = 0;
var nodeText;
//Replace values
while (tocTab[i][2].indexOf('&quot;') != -1)
tocTab[i][2] = tocTab[i][2].replace('&quot;', '\"');
while (tocTab[i][2].indexOf('<br />') != -1)
tocTab[i][2] = tocTab[i][2].replace('<br />', '\n');
while (tocTab[i][2].indexOf('&#39;') != -1)
tocTab[i][2] = tocTab[i][2].replace('&#39;', '\'');
if (tocTab[i][2] == "")
tocTab[i][2] = " ";
nodeText = tocText.appendChild(document.createTextNode(tocTab[i][2]));
while (nodeText.nodeValue.indexOf('&lt;') != -1)
nodeText.nodeValue = nodeText.nodeValue.replace('&lt;', '<');
while (nodeText.nodeValue.indexOf('&gt;') != -1)
nodeText.nodeValue = nodeText.nodeValue.replace('&gt;', '>');
tocBranch.appendChild(document.createElement('ul')).id = "toc" + tocTab[i][0];
tocLastID = tocTab[i][0];
return true;
}
function tocClick(tocSrc)
{
if (tocSrc.src.substring(tocSrc.src.lastIndexOf('images')).indexOf('minus') != -1)
{
tocSrc.parentNode.childNodes[tocSrc.parentNode.childNodes.length - 1].style.display = "none";
tocSrc.src = tocSrc.src.substring(tocSrc.src.lastIndexOf('images')).replace('minus', 'plus');
}
else if (tocSrc.src.substring(tocSrc.src.lastIndexOf('images')).indexOf('plus') != -1)
{
tocSrc.parentNode.childNodes[tocSrc.parentNode.childNodes.length - 1].style.display = "block";
tocSrc.src = tocSrc.src.substring(tocSrc.src.lastIndexOf('images')).replace('plus', 'minus');
//Check if children data built
if (tocSrc.parentNode.childNodes[tocSrc.parentNode.childNodes.length - 1].childNodes.length == 0)
{
tocLoadData(tocSrc.id + ".xml");
}
}
}
function tocInit()
{
if (browser == "ie_old")
{
top.document.getElementById(
'Preload').childNodes[0].innerHTML
= "<strong>It appears you are using an outdated version of Internet Explorer, please download a later version from <a href=\"http://www.microsoft.com/windows/ie/default.mspx\">Microsoft</a></strong>";
return;
}
tocLoading = document.body.appendChild(document.createElement('div'));
tocRoot = document.body.appendChild(document.createElement('ul'));
tocRoot.id = "tocRoot";
tocInitRoot = 1;
tocLoadData('root.xml');
}
function tocLoadData(src)
{
var tmp = document.location + "";
tmp = tmp.substring(0, tmp.indexOf('toc.'));
src = tmp + "js/data/" + src;
tocTab = new Array();
RequestPage(src, tocLoadDataProcess);
}
function tocLoadDataProcess()
{
if (data.readyState == 4)
{
if (oldData == data)
return;
oldData = data;
try
{
eval(data.responseText);
tocBuild();
tocInitRoot++;
if (tocInitRoot == 2)
{
tocLoadData(tocTab[0][7].substring(1, tocTab[0][7].length - 1) + ".xml");
} else if (tocInitRoot == 3 && top.document.getElementById('Preload') != null)
{
tocInitRoot = 0;
top.initPreLoaded();
}
}
catch (e)
{
if (top.document.getElementById('Preload') != null)
{
var msg =
"<strong>An error occured while loading data files, please confirm that all files have been generated and are intact.</strong>";
if (browser == "op")
{
msg +=
"<br\/><br\/><br\/>A possible cause for this error is <strong>'Allow File XMLHttpRequest'</strong> is disabled. This option can be changed via <a href=\"about:config#UserPrefs|AllowFileXMLHttpRequest\">Preferences Editor</a>.<br\/><br\/><i>Note: Ensure you scroll down and click 'save' at the bottom of the page.<\i>";
}
top.document.getElementById('Preload').childNodes[0].innerHTML = msg;
}
return;
}
}
}
function toggleDiv(idDiv, idImage)
{
var ele = cont.document.getElementById(idDiv);
if (ele && ele.style.display == "none")
{
ele.style.display = "block";
cont.document.getElementById(idImage).src = cont.document.getElementById(idImage).src.substring(0,
cont.document.getElementById(idImage).src.lastIndexOf('images'))
+ cont.document.getElementById(idImage).src.substring(
cont.document.getElementById(idImage).src.lastIndexOf('images')).replace('plus', 'minus');
} else if (ele)
{
ele.style.display = "none";
cont.document.getElementById(idImage).src = cont.document.getElementById(idImage).src.substring(0,
cont.document.getElementById(idImage).src.lastIndexOf('images'))
+ cont.document.getElementById(idImage).src.substring(
cont.document.getElementById(idImage).src.lastIndexOf('images')).replace('minus', 'plus');
}
}
function toggleData(src)
{
var dataRoot = cont.document.getElementById(src).parentNode.parentNode.parentNode;
if (cont.document.getElementById(src).src.substring(
cont.document.getElementById(src).src.lastIndexOf('images')).indexOf('plus') != -1)
cont.document.getElementById(src).src = cont.document.getElementById(src).src.substring(0,
cont.document.getElementById(src).src.lastIndexOf('images'))
+ cont.document.getElementById(src).src.substring(
cont.document.getElementById(src).src.lastIndexOf('images')).replace('plus', 'minus');
else
cont.document.getElementById(src).src = cont.document.getElementById(src).src.substring(0,
cont.document.getElementById(src).src.lastIndexOf('images'))
+ cont.document.getElementById(src).src.substring(
cont.document.getElementById(src).src.lastIndexOf('images')).replace('minus', 'plus');
for (var i = 0; i < dataRoot.getElementsByTagName('tr').length; i++)
{
if (dataRoot.getElementsByTagName('tr')[i].id.indexOf(src)
!= -1 && cont.document.getElementById(src).src.substring(
cont.document.getElementById(src).src.lastIndexOf('images')).indexOf('minus')
!= -1 && dataRoot.getElementsByTagName('tr')[i].getElementsByTagName('td')[1].firstChild != null)
dataRoot.getElementsByTagName('tr')[i].style.display = "";
else if (dataRoot.getElementsByTagName('tr')[i].id.indexOf(src) != -1)
dataRoot.getElementsByTagName('tr')[i].style.display = "none";
}
if (cont.document.getElementById('TableGroup') != null)
{
toggleItem(tableSel, 2);
}
}
function toggleItem(item, type)
{
if (tableSel != null)
{
var obj = cont.document.getElementById(tableSel + "Table");
if (obj != null)
{
cont.document.getElementById(tableSel + "Title").style.background = "#FFFFFF";
cont.document.getElementById(tableSel + "Title").style.color = "#000000";
obj.style.display = "none";
}
}
tableSel = item;
tableSelTable = cont.document.getElementById(item + "Table");
tableSelTitle = cont.document.getElementById(item + "Title");
tableSelTitle.style.background = "#DDDDDD";
tableSelTitle.style.color = "#666666";
tableSelTable.style.display = "block";
if (browser == "ff" || browser == "op" || browser == "ie7")
{
var contWHeight = document.documentElement.clientHeight - 78;
var contWWidth = cont.document.documentElement.clientWidth;
} else
{
var contWHeight = document.body.clientHeight - 74;
var contWWidth = document.body.clientWidth - (top.document.getElementById('resizeFrames').offsetLeft + 6);
}
if (tableSelTable.id == "LinkedDocumentTable")
tableSelTable.style.overflow = "scroll";
if (cont.document.body.offsetHeight - contWHeight > 0)
{
if (tableSelTable.id != "LinkedDocumentTable")
tableSelTable.style.overflow = "scroll";
if (browser == "ff" || browser == "op")
{
tableSelTable.style.height = tableSelTable.offsetHeight
- (cont.document.body.offsetHeight - cont.innerHeight) - 12 + "px";
} else
{
tableSelTable.style.height = tableSelTable.offsetHeight - (cont.document.body.offsetHeight - contWHeight)
- 3 + "px";
if (cont.document.body.offsetWidth > contWWidth || type == null)
{
tableSelTable.style.width = contWWidth - 20 + "px";
if (tableSelTable.getElementsByTagName('table').length != 0)
tableSelTable.getElementsByTagName(
'table')[0].style.width = tableSelTable.getElementsByTagName('table')[0].offsetWidth - 18
+ "px";
}
}
if (tableSelTable.getElementsByTagName('table').length != 0)
{
tabHead = tableSelTable.appendChild(tableSelTable.getElementsByTagName('table')[0].cloneNode(true));
tabHead.style.position = "absolute";
if (browser == "ff" || browser == "op")
tabHead.style.width = tableSelTable.offsetWidth + "px";
tabHead.style.top = tableSelTable.offsetTop + 1 + "px";
for (var i = 0; i < tabHead.getElementsByTagName('tr').length; i++)
{
if (i != 0)
tabHead.getElementsByTagName('tr')[i].style.display = "none";
}
}
} else if (cont.document.getElementById('TableGroup').offsetHeight
+ cont.document.getElementById('TableGroup').offsetTop < (contWHeight - 6)
&& tableSelTable.style.overflow == "scroll")
{
if (browser == "ff" || browser == "op")
{
tableSelTable.style.height = tableSelTable.offsetHeight
- (cont.document.body.offsetHeight - cont.innerHeight) - 12 + "px";
} else
{
tableSelTable.style.height = tableSelTable.offsetHeight
+ ((contWHeight - 8) - (cont.document.getElementById('TableGroup').offsetHeight
+ cont.document.getElementById('TableGroup').offsetTop)) + "px";
}
}
if (tableSelTable.childNodes.length > 1)
{
tableSelTable.style.width = (document.body.clientWidth
- (top.document.getElementById('resizeFrames').offsetLeft + 6) - 20) + "px";
if (tableSelTable.childNodes[0].style)
tableSelTable.childNodes[0].style.width = (tableSelTable.offsetWidth - 19) + "px";
if (tableSelTable.childNodes[1].style)
tableSelTable.childNodes[1].style.width = (tableSelTable.offsetWidth - 19) + "px";
}
}