You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1940 lines
72 KiB
1940 lines
72 KiB
// Filename: shared.js
|
|
// Version shared.js for windows server 2003
|
|
// version for 2.2.3
|
|
|
|
//************************************************ Shared components path setting *****************************************
|
|
//*******************************************************************************************************************
|
|
// Date 11/07/01
|
|
//
|
|
|
|
set_path = "" + document.URL
|
|
ntshared = set_path.indexOf("::/")
|
|
|
|
if (ntshared == -1) {
|
|
var moniker= "ms-its:";
|
|
var sSharedCHM = moniker+"uddi.mmc.chm::/";
|
|
}
|
|
else
|
|
{
|
|
path = set_path.substring(0,ntshared)
|
|
path = path.toLowerCase()
|
|
ntshared = path.lastIndexOf("\\")
|
|
var moniker = path.substring(0,ntshared)+ "\\";
|
|
//var ntshared = moniker.lastIndexOf("\\")
|
|
//var moniker = moniker.substring(0,ntshared) + "\\";
|
|
var sSharedCHM= moniker+"uddi.mmc.chm::/";
|
|
}
|
|
|
|
|
|
|
|
|
|
//************************************************ EVENT HANDLING ********************************************
|
|
//*******************************************************************************************************************
|
|
// re-directs to the proper event-driven functions.
|
|
|
|
// window.onload = load_object;
|
|
window.onload = loadPage;
|
|
document.onclick= onclickTriage;
|
|
document.onmouseover= gettingHot;
|
|
document.onmouseout= gettingCold;
|
|
window.onunload=saveChecklistState;
|
|
window.onresize= resizeDiv;
|
|
|
|
window.onbeforeprint = set_to_print;
|
|
window.onafterprint = reset_form;
|
|
|
|
//******************************************** USER-DEFINED GLOBAL VARIABLES ************************************
|
|
//********************************************************************************************************************
|
|
// The images listed below can all be changed by the user.
|
|
var isIE5 = (navigator.appVersion.indexOf("MSIE 5")>0) || (navigator.appVersion.indexOf("MSIE")>0 && parseInt(navigator.appVersion)> 4);
|
|
var isIE55 = (navigator.appVersion.indexOf("MSIE 5.5")>0);
|
|
if (isIE5 && isIE55) isIE5 = false;
|
|
var isIE6 = (navigator.appVersion.indexOf("MSIE 6")>0);
|
|
var isIE4 = (navigator.appVersion.indexOf("MSIE 4")>0);
|
|
|
|
if (isIE4){
|
|
var moniker= "ms-its:"; // moniker= ""; for flat files
|
|
var sSharedCHM= moniker+"ntshared.chm::/";
|
|
}
|
|
|
|
|
|
if (!isIE5 && !isIE55 && !isIE4 && !isIE6) {
|
|
isIE6 = true;
|
|
}
|
|
|
|
|
|
var sShortcutTip= "";
|
|
|
|
var gifwithin = false;
|
|
|
|
|
|
|
|
if(!isIE4){
|
|
xmldoc = new ActiveXObject("microsoft.XMLDOM");
|
|
xmldoc.async = false;
|
|
xmldoc.load(sSharedCHM + "alttext.xml");
|
|
|
|
var Alt_sPreviousTip= xmldoc.getElementsByTagName("sPreviousTip")
|
|
var Alt_sNextTip= xmldoc.getElementsByTagName("sNextTip")
|
|
var Alt_sExpandTip= xmldoc.getElementsByTagName("sExpandTip")
|
|
var Alt_sPopupTip= xmldoc.getElementsByTagName("sPopupTip")
|
|
var hld_path2reuse= xmldoc.getElementsByTagName("path2reuse")
|
|
var hld_path2glossary= xmldoc.getElementsByTagName("path2glossary")
|
|
var hld_rel_gif = xmldoc.getElementsByTagName("reltopgif")
|
|
var hld_chmName = xmldoc.getElementsByTagName("chmName")
|
|
var hld_emailer = xmldoc.getElementsByTagName("emailer")
|
|
var hld_sendtext = xmldoc.getElementsByTagName("sendtext")
|
|
var hld_sendto = xmldoc.getElementsByTagName("sendto")
|
|
|
|
//<SMARTHELP>
|
|
|
|
var defaultStartMode;
|
|
var defaultCPanelMode;
|
|
var smartErrorTextNode;
|
|
var smartErrorText;
|
|
var xmldocSKUSettings;
|
|
|
|
// Grab the ALTTEXT.XML enteries for smart span classes.
|
|
// Get SKU specific defaults.
|
|
var defaultSKUSettingsURL = xmldoc.documentElement.selectSingleNode("smartreusabletext");
|
|
if (defaultSKUSettingsURL != null) {
|
|
if (defaultSKUSettingsURL.text == sSharedCHM + "alttext.xml") {
|
|
xmldocSKUSettings = xmldoc;
|
|
} else {
|
|
xmldocSKUSettings = new ActiveXObject("microsoft.XMLDOM");
|
|
xmldocSKUSettings.async = false;
|
|
xmldocSKUSettings.load(moniker + defaultSKUSettingsURL.text);
|
|
}
|
|
if (xmldocSKUSettings.documentElement != null) {
|
|
defaultStartMode = xmldocSKUSettings.documentElement.selectSingleNode("smartstartdefault");
|
|
defaultCPanelMode = xmldocSKUSettings.documentElement.selectSingleNode("smartcpaneldefault");
|
|
smartErrorTextNode = xmldocSKUSettings.documentElement.selectSingleNode("smarterrortext");
|
|
smartErrorText = smartErrorTextNode ? smartErrorTextNode.text : "XOXOX";
|
|
}
|
|
} // (defaultSKUSettingsURL != NULL)
|
|
|
|
//</SMARTHELP>
|
|
|
|
|
|
var sPreviousTip="" + Alt_sPreviousTip.item(0).nodeTypedValue
|
|
var sNextTip="" + Alt_sNextTip.item(0).nodeTypedValue
|
|
var sExpandTip="" + Alt_sExpandTip.item(0).nodeTypedValue
|
|
var sPopupTip="" + Alt_sPopupTip.item(0).nodeTypedValue
|
|
var path2reuse="" + hld_path2reuse.item(0).nodeTypedValue
|
|
var path2glossary="" + hld_path2glossary.item(0).nodeTypedValue
|
|
var rel_gif="" + hld_rel_gif.item(0).nodeTypedValue
|
|
var chmName="" + hld_chmName.item(0).nodeTypedValue+"::/"
|
|
var emailer="" + hld_emailer.item(0).nodeTypedValue
|
|
var sendtext="" + hld_sendtext.item(0).nodeTypedValue
|
|
var sendto="" + hld_sendto.item(0).nodeTypedValue
|
|
|
|
var xmldom = new ActiveXObject("microsoft.XMLDOM");
|
|
xmldom.async = false;
|
|
|
|
//if (!xmlLoaded) {
|
|
|
|
xmldoc = new ActiveXObject("microsoft.XMLDOM");
|
|
|
|
// Init Properties
|
|
xmldoc.async = false;
|
|
xmldoc.validateOnParse = false; // improve perf
|
|
xmldoc.resolveExternals = false;
|
|
xmldoc.preserveWhiteSpace = false;
|
|
|
|
// Load Document
|
|
xmldoc.load(moniker + path2reuse + "reusable.xml");
|
|
// if (xmldoc == null || xmldoc.documentElement == null) return; // couldn't open reusable.xml
|
|
xmlLoaded = true;
|
|
// }
|
|
|
|
} // skip all this because ie4 doesn't support xml.
|
|
else
|
|
{
|
|
var sPreviousTip=""
|
|
var sNextTip=""
|
|
var sExpandTip=""
|
|
var sPopupTip=""
|
|
var rel_gif="no"
|
|
}
|
|
|
|
var closed = sSharedCHM + "plusCold.gif"; //image used for collapsed item in callExpand()
|
|
var closedHot = sSharedCHM + "plusHot.gif"; //hot image used for collapsed item in callExpand()
|
|
var expand = sSharedCHM + "minusCold.gif"; //image used for expanded item in callExpand()
|
|
var expandHot = sSharedCHM + "minusHot.gif"; //hot image used for expanded item in callExpand()
|
|
|
|
var previousCold= sSharedCHM + "previousCold.gif";
|
|
var previousHot= sSharedCHM + "previousHot.gif";
|
|
var nextCold= sSharedCHM + "nextCold.gif";
|
|
var nextHot= sSharedCHM + "nextHot.gif";
|
|
|
|
var shortcutCold= sSharedCHM + "shortcutCold.gif";
|
|
var shortcutHot= sSharedCHM + "shortcutHot.gif";
|
|
|
|
var popupCold= sSharedCHM + "popupCold.gif";
|
|
var popupHot= sSharedCHM + "popupHot.gif";
|
|
|
|
var emptyImg= sSharedCHM + "empty.gif"; //image used for empty expand
|
|
var noteImg= sSharedCHM + "note.gif"; //image used for notes
|
|
var tipImg= sSharedCHM + "tip.gif"; //image used for tips
|
|
var warningImg= sSharedCHM + "warning.gif"; //image used for warnings
|
|
var cautionImg= sSharedCHM + "caution.gif"; //image used for cautions
|
|
var importantImg= sSharedCHM + "important.gif"; //image used for important notice
|
|
var relTopicsImg= sSharedCHM + "rel_top.gif"; //image used for important notice
|
|
|
|
var branchImg= sSharedCHM + "elle.gif";
|
|
var branchImg_RTL= sSharedCHM + "elle_rtl.gif";
|
|
|
|
|
|
//******************************************** GLOBAL VARIABLES ******************************************
|
|
//********************************************************************************************************
|
|
|
|
var joejoe = false;
|
|
var printing = false;
|
|
var single = "FALSE";
|
|
var scroller = "FALSE";
|
|
var valet = "FALSE";
|
|
var isRTL= (document.dir=="rtl");
|
|
var imgStyleRTL= "";
|
|
if (isRTL) imgStyleRTL=" style='filter:flipH' ";
|
|
|
|
var sActX_TDC= "CLASSID='CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83'"; //Tabular Data Control for reusable text data
|
|
var sSharedReusableTextFile= sSharedCHM + "reusable.xml"; // common reusable text file
|
|
var sSharedReusableTextFileRecord= "para"; //reusable text record
|
|
|
|
var numbers= /\d/g; //javascript regular expression
|
|
var spaces= /\s/g; //javascript regular expression
|
|
var semicolon= /;/g; //javascript regular expression
|
|
|
|
var isPersistent= false;
|
|
|
|
|
|
|
|
|
|
//******************************************** INITIALIZATION *************************************************
|
|
//******************************************************************************************************************
|
|
function list_them(){
|
|
|
|
var envelope = sSharedCHM +'envelope.gif';
|
|
var server = "<DIV Class='FeedbackBar'><SPAN Class='webOnly'><IMG SRC=" + envelope + " ALT='' BORDER='0'></SPAN><SPAN Class='webOnly' Style='position:relative; top:-1; left:1; color:#333333;'> " + sendtext + " ";
|
|
server += "<a href='mailto:" + sendto + "?subject=HELP: ";
|
|
server += document.title + "'";
|
|
server += ">" + sendto + "</a></SPAN></DIV>";
|
|
|
|
var i;
|
|
|
|
for (i=0; i < document.all.length; i++){
|
|
if ((document.all[i].tagName == "P") ||
|
|
(document.all[i].tagName == "H1")||
|
|
(document.all[i].tagName == "H6")){
|
|
document.all[i].outerHTML = server + document.all[i].outerHTML;
|
|
i = document.all.length;
|
|
}
|
|
}
|
|
}
|
|
//*** loadPage **********************************************************************************************
|
|
// Adds the default image tags and re-usable text to the HTML page.
|
|
|
|
function loadPage(){
|
|
if (printing == true) return;
|
|
|
|
if (emailer == "yes" ) list_them();
|
|
|
|
isPersistent= (document.all.item("checklist")!=null) && ((isIE5) || (isIE55) ||(isIE6));
|
|
|
|
setPreviousNext();
|
|
|
|
resizeDiv();
|
|
if (isPersistent) getChecklistState();
|
|
|
|
load_object();
|
|
addReusableText();
|
|
|
|
insertImages();
|
|
}
|
|
|
|
//****** setPreviousNext ************************************************************************ *********************************************************************************************
|
|
// insert previous/next navbar
|
|
// called by: <div id="nav">@@HTMLsequenceFile.txt or .lst@@</div>
|
|
|
|
function setPreviousNext(){
|
|
|
|
var oNav = document.all.item("nav");
|
|
if (oNav == null ) return;
|
|
|
|
var sPreviousALT= sPreviousTip;
|
|
var sNextALT= sNextTip;
|
|
var sHTMLfile= oNav.innerHTML;
|
|
|
|
var imgPrev= "<IMG SRC='"+previousCold+"' BORDER=0 ALT='"+ sPreviousALT +"' ALIGN='top' "+ imgStyleRTL +">";
|
|
var imgNext= "<IMG SRC='"+nextCold+"' BORDER=0 ALT='"+ sNextALT + "' ALIGN='top' "+ imgStyleRTL +">";
|
|
|
|
var previousNextObject= "<OBJECT ID='HTMlist' WIDTH=100 HEIGHT=51 " + sActX_TDC +"><param name='DataURL' value='"
|
|
+sHTMLfile +"'><param name='UseHeader' value=True></OBJECT>";
|
|
|
|
oNav.innerHTML= "<TABLE WIDTH='100%' STYLE='margin-top:0;' cellspacing=0>"
|
|
+ "<TR><TD style='text-align=left; background-color:transparent'><A ID='previousLink' HREF='#' REL='previous' CLASS='navbar'>"
|
|
+imgPrev + "</A></TD><TD width='100%' align='center'></td><TD style='text-align=right; background-color:transparent'><A ID='nextLink' HREF='#' REL='next' CLASS='navbar'>"
|
|
+imgNext+ "</A></TD></TR></TABLE>";
|
|
|
|
document.body.innerHTML= document.body.innerHTML + previousNextObject;
|
|
findPageSeq();
|
|
if (printing == true) return;
|
|
var thisLoc= document.location.href +"#";
|
|
|
|
if (previousLink.href== thisLoc) previousLink.style.display="none";
|
|
else previousLink.style.display="block";
|
|
|
|
if (nextLink.href== thisLoc) nextLink.style.display="none";
|
|
else nextLink.style.display="block";
|
|
|
|
}
|
|
|
|
function findPageSeq() {
|
|
|
|
var rs= HTMlist.recordset;
|
|
var thisLoc= document.location.href;
|
|
var iLoc= thisLoc.lastIndexOf("/");
|
|
|
|
if (iLoc > 0) thisLoc= thisLoc.substring(iLoc+1, thisLoc.length);
|
|
|
|
|
|
if (nav.style == "[object]") {
|
|
nav.style.visibility="hidden";
|
|
printing = false;
|
|
}
|
|
else
|
|
{
|
|
printing = true;
|
|
return;
|
|
}
|
|
|
|
|
|
rs.moveFirst();
|
|
|
|
while (!rs.EOF) {
|
|
if (thisLoc == rs.fields("HTMfiles").value){
|
|
nav.style.visibility="visible";
|
|
rs.MoveNext();
|
|
break;
|
|
}
|
|
previousLink.href=rs.fields("HTMfiles").value;
|
|
rs.moveNext();
|
|
}
|
|
|
|
if (!rs.EOF) nextLink.href=rs.fields("HTMfiles").value;
|
|
}
|
|
|
|
//******Re-usable text *********************************************************************************************
|
|
// Inserts the Tabular Data Control (TDC) object at the end of the page
|
|
// Inserts "re-usable text" from the txt file at: <span id="@@CHM_name@@@@index#@@" class="reuse"></span>
|
|
// e.g.<span id="printing4" class="reuse"></span> for record#4 in the printing.txt in printing.chm.
|
|
|
|
// <SMARTREUSABLETEXT>
|
|
|
|
// addReusableText() - called during document load to find all references
|
|
// render time bound <SPAN> contents. Extracts content resources from reusable.xml.
|
|
//
|
|
// "class" names bound (reuse, smart)
|
|
// "reuse" static lookup of commonly referred to text.
|
|
// "smart" dynamic lookup of navigation text relevent
|
|
// to the shell presentation of the start menu
|
|
// and the control panel, (simple and classic), for the logged on user.
|
|
// Requires inserting custom <OBJECT> supported by Help and Support Services viewer.
|
|
// Currently not available from HTML Help control. 2000/01/12.
|
|
//
|
|
function smarthelperror(){
|
|
// alert("error - error")
|
|
addReusableText();
|
|
|
|
insertImages();
|
|
return true;
|
|
// alert("error - error")
|
|
}
|
|
|
|
//var obj = window.document.createElement("OBJECT");
|
|
|
|
function load_object(){
|
|
if(!isIE6) return;
|
|
|
|
//window.onerror = smarthelperror;
|
|
try{
|
|
var obj = window.document.createElement("OBJECT");
|
|
var sActX_PCHealth = "CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7";
|
|
objLoaded = true;
|
|
obj.width = 1;
|
|
obj.height = 1;
|
|
|
|
obj = document.body.insertAdjacentElement("beforeEnd", obj)
|
|
obj.id = "pchealth";
|
|
obj.classid = sActX_PCHealth;
|
|
// alert("success")
|
|
}
|
|
catch(e){}
|
|
}
|
|
|
|
function addReusableText(){
|
|
if (isIE4) return; // no reusable text for IE4
|
|
var coll = document.all.tags("SPAN");
|
|
var xmlLoaded = false;
|
|
var control = null;
|
|
var thisID;
|
|
var strKey;
|
|
var text;
|
|
|
|
// original error text
|
|
text = "OXO";
|
|
|
|
//<SMARTREUSABLETEXT>
|
|
//queried state of shell presentation for start menu and control panel.
|
|
var menuSimple = false;
|
|
var controlSimple = false;
|
|
|
|
// holds calculated lookup suffixes for smart class items.
|
|
var strSuffixStartMenuOnly = "";
|
|
var strSuffixStartMenuAndControlPanel = "";
|
|
|
|
// smart class UserSettings Interface classid
|
|
var sActX_PCHealth = "CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7";
|
|
|
|
// smart class lookup suffixes per shell presentation mode.
|
|
// TODO: Findout where these constants are best documented.
|
|
var strMenuClassic = "_smclassic";
|
|
var strMenuSimple = "_smsimple";
|
|
var strCPanelClassic = "_cpclassic";
|
|
var strCPanelSimple = "_cpsimple";
|
|
|
|
// only attempt to query once per rendering
|
|
var bPresentationModeQueried = false;
|
|
//</SMARTREUSABLETEXT>
|
|
span_count = coll.length;
|
|
// Check every span in the document.
|
|
for (var i=0; i< span_count; i++) {
|
|
|
|
var thisSpan = coll[i];
|
|
var spanClass = thisSpan.className.toLowerCase();
|
|
if (spanClass == "reuse" || spanClass == "smart") {
|
|
if (isRTL) thisSpan.dir = "rtl";
|
|
if (thisSpan.id == null) break;
|
|
|
|
// strKey is the key we'll use to look up the replaceable text in the XML file
|
|
strKey = thisSpan.id.toLowerCase();
|
|
|
|
|
|
|
|
// skip smart tags when defaults are not present
|
|
if ((defaultSKUSettingsURL != null) && (xmldocSKUSettings.documentElement != null)) {
|
|
if (spanClass == "smart") {
|
|
|
|
// Query Presentation Mode once per rendering.
|
|
if (!bPresentationModeQueried) {
|
|
|
|
bPresentationModeQueried=true;
|
|
|
|
// Set To Defaults
|
|
if (defaultStartMode != null) {
|
|
menuSimple = (defaultStartMode.text == strMenuSimple);
|
|
} else {
|
|
menuSimple = true;
|
|
}
|
|
|
|
if (defaultCPanelMode != null) {
|
|
controlSimple = (defaultCPanelMode.text == strCPanelSimple);
|
|
} else {
|
|
controlSimple = true;
|
|
}
|
|
|
|
|
|
|
|
// alert("inside of reuse")
|
|
|
|
// Get the current user's presentation settings
|
|
// Attempt to read smart help values from system
|
|
var test = window.document.all("pchealth");
|
|
|
|
if (test != null) {
|
|
|
|
if (test.UserSettings != null) {
|
|
|
|
|
|
menuSimple = test.UserSettings.IsStartPanelOn;
|
|
|
|
controlSimple = test.UserSettings.IsWebViewBarricadeOn;
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
menuSimple = (defaultStartMode.text == strMenuSimple)
|
|
controlSimple = (defaultCPanelMode.text == strCPanelSimple);
|
|
}
|
|
|
|
|
|
|
|
|
|
}// (test != null)
|
|
|
|
}// (!bPresentationModeQueried)
|
|
|
|
// get the error text to display
|
|
text = smartErrorText;
|
|
|
|
// Build key suffixes. One for start menu only and one for start menu and control panel.
|
|
strSuffixStartMenuOnly = (menuSimple ? strMenuSimple : strMenuClassic);
|
|
strSuffixStartMenuAndControlPanel = strSuffixStartMenuOnly + (controlSimple ? strCPanelSimple : strCPanelClassic);
|
|
|
|
// The actual key could have either strSuffixStartMenuOnly or strSuffixStartMenuAndControlPanel suffixes.
|
|
// strSuffixStartMenuAndControlPanel has precedence over strSuffixStartMenuOnly
|
|
strKey = strKey + strSuffixStartMenuAndControlPanel;
|
|
//alert(strKey)
|
|
}//if (spanClass == "smart")
|
|
|
|
}// ((defaultSKUSettingsURL != null) && (xmldocSKUSettings.documentElement != null))
|
|
|
|
// Lookup XML node containing reference
|
|
|
|
var strNodeSelector = "glossSection/entry[@entryID='" + strKey + "']/scopeDef/def";
|
|
var node = xmldoc.documentElement.selectSingleNode(strNodeSelector);
|
|
|
|
// if we haven't found the node yet, try the other suffix if this is a smart span
|
|
if (node == null && spanClass == "smart" && (defaultSKUSettingsURL != null) && (xmldocSKUSettings.documentElement != null)) {
|
|
// one more try--use the other suffix
|
|
strKey = thisSpan.id.toLowerCase() + strSuffixStartMenuOnly;
|
|
strNodeSelector = "glossSection/entry[@entryID='" + strKey + "']/scopeDef/def";
|
|
node = xmldoc.documentElement.selectSingleNode(strNodeSelector);
|
|
}
|
|
|
|
// okay, we found the node, get the text
|
|
// alert(coll.length)
|
|
if (node != null) {
|
|
// replace the span's contents with the reusable text
|
|
thisSpan.insertAdjacentHTML("BeforeBegin",node.text);
|
|
// var coll = document.all.tags("SPAN");
|
|
thisSpan.className = "anything"
|
|
thisSpan.innerHTML = "";
|
|
//alert(node.text)
|
|
//thisSpan.innerHTML = node.text;
|
|
} else {
|
|
// error shown by this OXO
|
|
thisSpan.innerHTML = text;
|
|
}
|
|
|
|
} // if (spanClass == "reuse" || spanClass == "smart")
|
|
}// for
|
|
|
|
}// addReusableText()
|
|
// <SMARTREUSABLETEXT>
|
|
|
|
|
|
//****** insertImages *********************************************************************************************
|
|
// Inserts shared images in User-Defined Variables section and thumbnails.
|
|
var booking = false;
|
|
function insertImages(){
|
|
|
|
if (printing == false) booking = true;
|
|
if (printing == true && booking == true ) {
|
|
booking = false;
|
|
return;
|
|
}
|
|
// insert alert icons
|
|
var collP = document.all.tags("P");
|
|
|
|
for (var i=0; i<collP.length; i++) {
|
|
if (collP[i].className.toLowerCase()=="note") collP[i].innerHTML ="<img class='alert' src='"+noteImg+"' "+ imgStyleRTL +"> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="warning") collP[i].innerHTML ="<img class='alert' src='"+warningImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="caution") collP[i].innerHTML ="<img class='alert' src='"+cautionImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="tip") collP[i].innerHTML ="<img class='alert' src='"+tipImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="important") collP[i].innerHTML ="<img class='alert' src='"+importantImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="empty") collP[i].innerHTML ="<img class='alert' src='"+emptyImg+"'> " + collP[i].innerHTML;
|
|
if (collP[i].className.toLowerCase()=="reltopics" && rel_gif == "yes") {
|
|
collP[i].outerHTML ="<img class='relTopics' src='"+relTopicsImg+"'> " + collP[i].outerHTML;
|
|
}
|
|
}
|
|
|
|
//alert(printing)
|
|
//alert(isIE55)
|
|
//indents for Navigation Tree
|
|
var collUL = document.all.tags("UL");
|
|
if (!printing) {
|
|
for (var i=0; i<collUL.length; i++) {
|
|
var indent= 0;
|
|
if (collUL[i].className.toLowerCase()=="navtree"){
|
|
if (isRTL) collUL[i].style.listStyleImage= "url('" + branchImg_RTL + "')";
|
|
else collUL[i].style.listStyleImage= "url('" + branchImg + "')";
|
|
for (var j = 0; j < collUL[i].children.length; j++)
|
|
if (collUL[i].children[j].className.toLowerCase()=="branch"){
|
|
if (isRTL) collUL[i].children[j].style.marginRight= (indent +'em');
|
|
else collUL[i].children[j].style.marginLeft= (indent +'em');
|
|
indent= indent + 0.75;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var i=0; i < document.anchors.length; i++){
|
|
var imgInsert="";
|
|
var imgStyle= "";
|
|
var imgSpace= "<span class='space'></span>";
|
|
var oBefore=document.anchors[i].parentElement.tagName;
|
|
var oAnchor= document.anchors[i].id.toLowerCase();
|
|
|
|
// insert RELTOPICS icons
|
|
if (rel_gif == "yes"){
|
|
if (oAnchor=="reltopics")
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "reltopics")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else imgInsert= "<img class='relTopics' src='"+relTopicsImg+"'>" + imgSpace;
|
|
}
|
|
|
|
// insert SHORTCUT icons
|
|
if (oAnchor=="shortcut") {
|
|
document.anchors[i].title= sShortcutTip;
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "shortcut")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else imgInsert= "<img class='shortcut' src='"+shortcutCold+"' "+ imgStyleRTL+ ">" + imgSpace;
|
|
}
|
|
|
|
// insert POPUP icons
|
|
else if (oAnchor=="wpopup" || oAnchor=="wpopupweb") document.anchors[i].title= sPopupTip;
|
|
else if (document.anchors[i].className.toLowerCase()=="popupicon")
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "popup")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else imgInsert= "<img class='popup' src='"+popupCold+"'>" + imgSpace;
|
|
|
|
// insert EXPAND icons
|
|
else if (oAnchor=="expand") {
|
|
document.anchors[i].title= sExpandTip;
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "expand")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else{
|
|
if (document.anchors[i].parentElement.offsetLeft == document.anchors[i].offsetLeft) {
|
|
imgSpace= "<span class='space' style='width:0'></span>";
|
|
if (isRTL){ document.anchors[i].parentElement.style.marginRight= "1.5em"; imgStyle=" style=margin-right:'-1.5em'";}
|
|
else { document.anchors[i].parentElement.style.marginLeft= "1.5em"; imgStyle=" style=margin-left:'-1.5em'";}
|
|
}
|
|
imgInsert= "<img class='expand' src='"+ closed +"' "+imgStyle+">" +imgSpace;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// insert thumbnail images
|
|
else if (oAnchor=="thumbnail" || oAnchor=="thumbnailweb"){
|
|
var sAltText = document.anchors[i].innerHTML;
|
|
gifwithin = true;
|
|
var sThumbnailText = document.anchors[i].title;
|
|
var oImg = document.anchors[i].href.toLowerCase();
|
|
if (oAnchor=="thumbnail")
|
|
var sThumbnailImg= moniker + getURL(oImg);
|
|
else var sThumbnailImg = document.anchors[i].href.toLowerCase();
|
|
|
|
found = sAltText.indexOf("BACKGROUND-COLOR:")
|
|
if (found != -1) {
|
|
stop_p = sAltText.indexOf(">");
|
|
sAltText = sAltText.substring(stop_p + 1, sAltText.length);
|
|
stop_p = sAltText.indexOf("</FONT>");
|
|
Highlighted = sAltText.substring(0,stop_p)
|
|
sAltText = Highlighted + sAltText.substring(stop_p + 7, sAltText.length);
|
|
}
|
|
|
|
|
|
document.anchors[i].outerHTML = "<DIV id='thumbDiv' class='thumbnail'>"+document.anchors[i].outerHTML+"</div>";
|
|
document.anchors[i].innerHTML = "<img class='thumbnail' src='" + sThumbnailImg + "' alt= ' " + sAltText + "'><p>" +sThumbnailText+"</p>";
|
|
|
|
if (isRTL) thumbDiv.style.styleFloat= "right";
|
|
}
|
|
|
|
|
|
|
|
document.anchors[i].innerHTML = imgInsert + document.anchors[i].innerHTML;
|
|
if (isRTL) document.anchors[i].dir="rtl";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//***** onclickTriage ****************************************************************************************
|
|
// redirects to the appropriate function based on the ID of the clicked <A> tag.
|
|
|
|
function onclickTriage(){
|
|
var e= window.event.srcElement;
|
|
|
|
// if the innerHTML in the <a> tag is encapsulated by a style tag or hightlighted in the word seach,
|
|
// the parentElement is called.
|
|
|
|
if ((isIE55 || isIE6) && printing == true) {
|
|
printing = false;
|
|
reset_form();
|
|
}
|
|
|
|
for (var i=0; i < 5; i++)
|
|
if (e.tagName!="A" && e.parentElement!=null) e= e.parentElement;
|
|
eID= e.id.toLowerCase();
|
|
|
|
if (popupOpen) closePopup();
|
|
|
|
// expand image in a new window
|
|
if (eID=="thumbnail" || eID=="pophtm") popNewWindow(e);
|
|
else if (eID=="thumbnailweb") callThumbnailWeb(e);
|
|
else if (eID=="wpopup") callPopup(e);
|
|
else if (eID=="wpopupweb") callPopupWeb(e);
|
|
else if (eID=="shortcut") callShortcut(e);
|
|
else if (eID=="reltopics") callRelatedTopics(e);
|
|
else if (eID=="altloc") callAltLocation(e);
|
|
else if (eID=="expand") callExpand(e);
|
|
// added to support Randy's Quad method code
|
|
else QuadDocumentClick()
|
|
// ******************************
|
|
}
|
|
|
|
|
|
//*** gettingHot ****************************************************************************************
|
|
// Makes all the required changes for mouseover.
|
|
|
|
function gettingHot() {
|
|
var e = window.event.srcElement;
|
|
|
|
|
|
|
|
if (e.id.toLowerCase()=="cold") e.id ="hot";
|
|
else if (e.src== previousCold) e.src = previousHot;
|
|
else if (e.className.toLowerCase()=="navbar" && e.children.tags("IMG")(0).src== previousCold) e.children.tags("IMG")(0).src= previousHot;
|
|
else if (e.src== nextCold) e.src = nextHot;
|
|
else if (e.className.toLowerCase()=="navbar" && e.children.tags("IMG")(0).src== nextCold) e.children.tags("IMG")(0).src= nextHot;
|
|
|
|
else if (e.className.toLowerCase()=="shortcut" && e.tagName=="IMG") e.src = shortcutHot; //<img> tags have a class
|
|
else if (e.id.toLowerCase()=="shortcut") e.children.tags("IMG")(0).src = shortcutHot; //<a> tags have an ID
|
|
|
|
else if (e.className.toLowerCase()=="popup" && e.tagName=="IMG") e.src = popupHot; //<img> tags have a class
|
|
else if (e.className.toLowerCase()=="popupicon") e.children.tags("IMG")(0).src = popupHot; //<a> tags have an ID
|
|
|
|
else if ((e.className.toLowerCase()=="expand" && e.tagName=="IMG") ||( e.id.toLowerCase()=="expand")) expandGoesHot(e);
|
|
|
|
// Added to support Quad Method **************************
|
|
if (e != null && e.firstChild != null &&
|
|
e.firstChild.tagName != null &&
|
|
e.firstChild.tagName.toLowerCase() == "input" &&
|
|
e.firstChild.type.toLowerCase() == "radio" &&
|
|
e.parentElement.className != "indentGray"){
|
|
QuadDocumentMouseOver()
|
|
}
|
|
|
|
// *****************************
|
|
}
|
|
|
|
//*** gettingCold **************************************************************************************
|
|
// Initial state for mouseout.
|
|
|
|
function gettingCold() {
|
|
var e = window.event.srcElement;
|
|
|
|
|
|
|
|
if (e.id.toLowerCase()=="hot") e.id ="cold";
|
|
else if (e.src== previousHot) e.src = previousCold;
|
|
else if (e.className.toLowerCase()=="navbar" && e.children.tags("IMG")(0).src== previousHot) e.children.tags("IMG")(0).src= previousCold;
|
|
else if (e.src== nextHot) e.src = nextCold;
|
|
else if (e.className.toLowerCase()=="navbar" && e.children.tags("IMG")(0).src== nextHot) e.children.tags("IMG")(0).src= nextCold;
|
|
|
|
else if (e.className.toLowerCase()=="shortcut" && e.tagName=="IMG") e.src = shortcutCold; //<img> tags have a class
|
|
else if (e.id.toLowerCase()=="shortcut") e.children.tags("IMG")(0).src= shortcutCold; //<a> tags have an ID
|
|
|
|
else if (e.className.toLowerCase()=="popup" && e.tagName=="IMG") e.src = popupCold; //<img> tags have a class
|
|
else if (e.className.toLowerCase()=="popupicon") e.children.tags("IMG")(0).src= popupCold; //<a> tags have an ID
|
|
|
|
else if ((e.className.toLowerCase()=="expand" && e.tagName=="IMG") ||( e.id.toLowerCase()=="expand")) expandGoesCold(e);
|
|
|
|
// Added to support Quad Method **************************
|
|
if (e != null && e.firstChild != null &&
|
|
e.firstChild.tagName != null &&
|
|
e.firstChild.tagName.toLowerCase() == "input" &&
|
|
e.firstChild.type.toLowerCase() == "radio" &&
|
|
e.parentElement.className != "indentGray"){
|
|
QuadDocumentMouseOver()
|
|
}
|
|
|
|
// *****************************
|
|
}
|
|
|
|
//****************************************** OBJECT CONSTRUCTION **************************************
|
|
//*****************************************************************************************************
|
|
// Uses an A tag to pass parameters between an HTML page and this script.
|
|
// Creates an ActiveX Object from these parameters, appends the Object to the end of the page,
|
|
// and clicks it. These objects relate to HTMLHelp environment and information about them can be found on the http://HTMLHelp site.
|
|
|
|
// Object construction variables *********************************************************************
|
|
|
|
var sParamCHM,sParamFILE, sParamEXEC, sParamMETA,iEND;
|
|
var sActX_HH= " type='application/x-oleobject' classid='clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11' ";
|
|
|
|
|
|
//*** callPopup ***************************************************************************************
|
|
// creates an object from an <A> tag HREF, the object inserts a winhelp popup
|
|
// called by: <A ID="wPopup" HREF="HELP=@@file_name.hlp@@ TOPIC=@@topic#@@">@@Popup text@@</A>
|
|
|
|
var joker = false;
|
|
var blague = true;
|
|
|
|
function callPopup(eventSrc) {
|
|
if (popupOpen) closePopup();
|
|
var ntsharedAdded= false; // make sure the object is only added once
|
|
var CHMspecificAdded= false; // make sure the object is only added once
|
|
var coll = document.all.tags("SPAN");
|
|
var sIndex,sText=" ",sFile,sFileID,dataBindingObject;
|
|
|
|
var e= eventSrc;
|
|
var eH= unescape(e);
|
|
eH = eH.toLowerCase();
|
|
var eH_= eH.toLowerCase();
|
|
|
|
if(event){
|
|
event.returnValue = false;
|
|
}
|
|
found = false;
|
|
|
|
var iTOPIC = eH.lastIndexOf("topic=");
|
|
if (iTOPIC==-1) return;
|
|
sParamTOPIC = eH.substring((iTOPIC+6),eH.length);
|
|
if (!isIE4){
|
|
if (!joejoe){
|
|
xmldom.load(moniker + path2glossary + "glossary.xml");
|
|
joejoe = true;
|
|
}
|
|
|
|
var o=0;
|
|
var node = "";
|
|
node = xmldom.selectSingleNode("glossary/glossSection/entry[@entryID='" + sParamTOPIC + "']");
|
|
|
|
if(node!=null)
|
|
{
|
|
|
|
found = true;
|
|
var ralf = "";
|
|
ralf = node.getElementsByTagName("term")
|
|
sText = "<DIV CLASS='PopTerm'>" + ralf.item(0).nodeTypedValue + "</DIV>";
|
|
ralf = node.getElementsByTagName("para")
|
|
|
|
if (ralf.length != 0){
|
|
sText = sText + "<DIV CLASS='PopDef'>" + ralf.item(0).nodeTypedValue;
|
|
sText = sText + "</DIV>";
|
|
}
|
|
seealsos = node.getElementsByTagName("seeAlso");
|
|
var o=0;
|
|
|
|
look_at = xmldom.getElementsByTagName("glossary/locSection/locItem[@locItemID = 'SeeAlso']");
|
|
|
|
while (o < seealsos.length){
|
|
sIndex = seealsos.item(o).getAttribute("seeAlsoTermID");
|
|
node = xmldom.selectSingleNode("glossary/glossSection/entry[@entryID='" + sIndex + "']");
|
|
ralf = node.getElementsByTagName("term");
|
|
sTerm = ralf.item(0).nodeTypedValue;
|
|
if (o == 0) {
|
|
sText = sText + "<DIV CLASS='PopSeeAlso'>" + look_at.item(0).nodeTypedValue + " "
|
|
// sIndex = "<Input type=submit tabindex=1 value=hhhh onclick='jscript:alert(oPopup.sIndex.innerHTML)'>"
|
|
sIndex = "<A ID='wPopup' HREF='HELP=glossary.hlp TOPIC=" + sIndex + "' bite_me='1'>" + sTerm + "</a>"
|
|
}
|
|
else
|
|
{
|
|
sIndex = ", <A ID='wPopup' HREF='HELP=glossary.hlp TOPIC=" + sIndex + "' bite_me='1'>" + sTerm + "</a>"
|
|
}
|
|
o++;
|
|
sText = sText + sIndex
|
|
}
|
|
|
|
definition = xmldom.getElementsByTagName("glossary/locSection/locItem[@locItemID = 'See']");
|
|
|
|
seeentrys = node.getElementsByTagName("seeEntry");
|
|
|
|
while (o < seeentrys.length){
|
|
sIndex = seeentrys.item(o).getAttribute("seeTermID");
|
|
node = xmldom.selectSingleNode("glossary/glossSection/entry[@entryID='" + sIndex + "']");
|
|
ralf = node.getElementsByTagName("term");
|
|
sTerm = ralf.item(0).nodeTypedValue;
|
|
if (o == 0) {
|
|
sText = sText + "<DIV CLASS='PopSeeAlso'>" + definition.item(0).nodeTypedValue + " "
|
|
// sIndex = "<Input type=submit tabindex=1 value=hhhh onclick='jscript:alert(oPopup.sIndex.innerHTML)'>"
|
|
sIndex = "<A ID='wPopup' HREF='HELP=glossary.hlp TOPIC=" + sIndex + "' bite_me='1'>" + sTerm + "</a>"
|
|
}
|
|
else
|
|
{
|
|
sIndex = ", <A ID='wPopup' HREF='HELP=glossary.hlp TOPIC=" + sIndex + "' bite_me='1'>" + sTerm + "</a>"
|
|
}
|
|
o++;
|
|
sText = sText + sIndex
|
|
}
|
|
}
|
|
|
|
if (o != 0) sText = sText + "</DIV>"
|
|
|
|
if ((isIE55 || isIE6) && found){
|
|
var oPopup = false
|
|
var oPopup = window.createPopup();
|
|
var strScript = "<script language='JScript'> function clickPopup(){if (event.srcElement.tagName.toLowerCase() == 'a') parent.callPopup(event.srcElement.href); window.PopObject.hide(); return false;}</script>";
|
|
var strDoc = oPopup.document.body.outerHTML.toLowerCase()
|
|
|
|
oPopup.document.write(strDoc.replace("></body>", " onclick=\"clickPopup()\">" + strScript + "</body>"));
|
|
//oPopup.document.write(strDoc.replace("></body>", " onclick=\"clickPopup()\, onkeypress=\"process_closePopup()\">" + strScript + "</body>"));
|
|
oPopup.document.createStyleSheet(sSharedCHM + "coUA.css"); // Apply the stylesheet.
|
|
var oPopBody = oPopup.document.body;
|
|
|
|
//oPopBody.style.backgroundColor = '#FFFFCC';
|
|
|
|
// oPopBody.style.border = "solid black 1px";
|
|
oPopBody.style.margin = "0 0 0 0";
|
|
if (isRTL) oPopBody.innerHTML = "<SPAN DIR='RTL' class='XMLPopup'>" + sText + "</SPAN>" // need to add the style class here.
|
|
else oPopBody.innerHTML = "<SPAN class='XMLPopup'>" + sText + "</SPAN>"
|
|
// alert(oPopBody.innerHTML)
|
|
if (window.event){
|
|
joker = window.event.srcElement;
|
|
}
|
|
oPopup.show(0, 0, 400, 8, joker); // Show the popup at an arbitrary size.
|
|
var textSize = oPopBody.createTextRange();
|
|
var wPop = textSize.boundingWidth + oPopBody.offsetWidth - oPopBody.clientWidth; // Get the size of the text.
|
|
var hPop = oPopBody.scrollHeight;
|
|
oPopup.hide();
|
|
oPopup.document.parentWindow.PopParent = window;
|
|
oPopup.document.parentWindow.PopObject = oPopup;
|
|
|
|
oPopup.show(0, 1, wPop , hPop, joker);
|
|
//oPopup.document.focus(oPopup.document.body.JOKER);
|
|
return;
|
|
}
|
|
|
|
if (found){
|
|
if (blague){
|
|
document.body.insertAdjacentHTML("beforeEnd", "<DIV id='wPopupWeb' CLASS='popup'>" + sText + "</DIV>");
|
|
blague = false;
|
|
}
|
|
window.wPopupWeb.innerHTML = sText;
|
|
callPopupWeb(e);
|
|
return;
|
|
}
|
|
} // for support of IE4 disable xml popups
|
|
|
|
var iTOPIC = eH_.lastIndexOf("topic=");
|
|
if (iTOPIC==-1) return;
|
|
sParamTOPIC = eH.substring((iTOPIC+6),eH.length); // extracts the topic for item2
|
|
|
|
var iHELP = eH_.lastIndexOf("help=");
|
|
if (iHELP==-1) return;
|
|
sParamHELP = eH.substring(iHELP+5,iTOPIC); // extracts the help file for item1
|
|
|
|
if (document.hhPopup) document.hhPopup.outerHTML = ""; // if hhPopup object exists, clears it
|
|
|
|
|
|
var h= "<object id='hhPopup'"+ sActX_HH + "STYLE='display:none'><param name='Command' value='WinHelp, Popup'>";
|
|
h= h + "<param name='Item1' value='" + sParamHELP + "'><param name='Item2' value='" + sParamTOPIC + "'></object>";
|
|
|
|
document.body.insertAdjacentHTML("beforeEnd", h);
|
|
document.hhPopup.hhclick();
|
|
}
|
|
|
|
|
|
//*** callAltLocation******************************************************************************
|
|
// creates an object from an <A> tag HREF, the object will navigate to the alternate location if the first location is not found.
|
|
// called from: <A ID="altLoc" HREF="CHM=@@1st_chm_name.chm;Alt_chm_name.chm@@ FILE=@@1st_file_name.htm;Alt_file_name.htm@@">@@Link text here@@</A>
|
|
|
|
|
|
function callAltLocation(eventSrc) {
|
|
var e= eventSrc;
|
|
var eH= unescape(e.href);
|
|
var eH_= eH.toLowerCase();
|
|
var sFILEarray,sCHMarray;
|
|
event.returnValue = false;
|
|
|
|
// var sParamTXT= e.innerHTML;
|
|
// sParamTXT= sParamTXT.replace(semicolon,"");
|
|
|
|
var sParamTXT= "";
|
|
|
|
var iFILE = eH_.lastIndexOf("file=");
|
|
if (iFILE==-1) return;
|
|
sParamFILE= eH.substring((iFILE+5),eH.length); // extracts the 2 HTM files
|
|
sParamFILE= sParamFILE.replace(spaces,"");
|
|
iSPLIT= sParamFILE.match(semicolon);
|
|
if (iSPLIT)
|
|
sFILEarray = sParamFILE.split(";"); // separates the 2 HTM files
|
|
else return;
|
|
|
|
var iCHM = eH_.lastIndexOf("chm=");
|
|
if(iCHM==-1) return;
|
|
else sParamCHM = eH.substring(iCHM+4,iFILE); // extracts the 2 CHM's
|
|
sParamCHM= sParamCHM.replace(spaces,"");
|
|
iSPLIT= sParamCHM.match(semicolon);
|
|
if (iSPLIT)
|
|
sCHMarray= sParamCHM.split(";"); // separates the 2 CHM's
|
|
else return;
|
|
|
|
sParamFILE= moniker + sCHMarray[0]+ "::/" + sFILEarray[0] + ";" + moniker + sCHMarray[1]+ "::/" + sFILEarray[1];
|
|
|
|
if (document.hhAlt) document.hhAlt.outerHTML = ""; // if hhAlt object exists, clears it
|
|
|
|
|
|
var h= "<object id='hhAlt'"+ sActX_HH + "STYLE='display:none'><PARAM NAME='Command' VALUE='Related Topics'>";
|
|
h= h + "<param name='Item1' value='" + sParamTXT +";" + sParamFILE + "'></object>";
|
|
|
|
document.body.insertAdjacentHTML("beforeEnd", h);
|
|
document.hhAlt.hhclick();
|
|
}
|
|
|
|
|
|
//*** callRelatedTopics******************************************************************************
|
|
// creates an object from an <A> tag HREF, the object inserts a popup of the related topics to select
|
|
// called from: <A ID="relTopics" HREF="CHM=@@chm_name1.chm;chm_name2.chm@@ META=@@a_filename1;a_filename2@@">Related Topics</A>
|
|
|
|
|
|
function callRelatedTopics(eventSrc) {
|
|
var e= eventSrc;
|
|
var eH= unescape(e.href);
|
|
var eH_= eH.toLowerCase();
|
|
event.returnValue = false;
|
|
|
|
var iMETA = eH_.lastIndexOf("meta=");
|
|
if (iMETA==-1) return;
|
|
sParamMETA = eH.substring((iMETA+5),eH.length); // extracts the META keywords for item2
|
|
|
|
var iCHM = eH_.lastIndexOf("chm=");
|
|
if(iCHM==-1) sParamCHM = "";
|
|
else sParamCHM = eH.substring(iCHM+4,iMETA); // extracts the CHM files for item1
|
|
|
|
if (document.hhRel) document.hhRel.outerHTML = ""; // if hhRel object exists, clears it
|
|
|
|
|
|
var h= "<object id='hhRel'"+ sActX_HH + "STYLE='display:none'><param name='Command' value='ALink,MENU'>";
|
|
h= h + "<param name='Item1' value='" + sParamCHM + "'><param name='Item2' value='" + sParamMETA + "'></object>";
|
|
|
|
document.body.insertAdjacentHTML("beforeEnd", h);
|
|
document.hhRel.hhclick();
|
|
}
|
|
|
|
//*** popNewWindow***************************************************************************************
|
|
// creates an object from an <A> tag HREF, the object then opens a new window from the image URL found in the HREF
|
|
// called from: <a id="thumbnail" title="Enlarge figure" href="CHM=NTArt.chm FILE=@@image_name.gif@@">@@alt text here@@</A>
|
|
// the thumbnail image is loaded by loadPage();
|
|
|
|
|
|
function popNewWindow(eventSrc) {
|
|
var eH= eventSrc.href;
|
|
event.returnValue = false;
|
|
|
|
// extracts the thumbnail image URL from the <a> tag HREF
|
|
sParamFILE = getURL(eH);
|
|
if (sParamFILE=="") return;
|
|
|
|
// sParamFILE = moniker + sParamFILE;
|
|
// sParamFILE = moniker + sParamFILE;
|
|
//alert(sParamFILE)
|
|
// callThumbnailWeb(sParamFFILE)
|
|
|
|
|
|
// if the hhWindow object exists, clears it
|
|
if (document.hhWindow) document.hhWindow.outerHTML = "";
|
|
|
|
var h = "<object id='hhWindow'"+ sActX_HH +" STYLE='display:none'><param name='Command' value='Related Topics'>";
|
|
h = h + "<param name='Window' value='$global_largeart'><param name='Item1' value='$global_largeart;" + moniker + sParamFILE+ "'> </object>";
|
|
|
|
document.body.insertAdjacentHTML("beforeEnd", h);
|
|
document.hhWindow.hhclick();
|
|
}
|
|
|
|
//*** callShortcut ***************************************************************************************
|
|
// creates an object from an <A> tag, the object then calls the executable code
|
|
// called from: <A ID="shortcut" HREF="EXEC=@@executable_name.exe@@ CHM=ntshared.chm FILE=@@error_file_name.htm@@">@@Shortcut text@@</A>
|
|
// the shortcut image is loaded by loadInitialImg();
|
|
|
|
function callShortcut(eventSrc) {
|
|
var e= eventSrc;
|
|
var eH= unescape(e.href);
|
|
var eH_= eH.toLowerCase();
|
|
|
|
event.returnValue = false;
|
|
|
|
// extracts the error file URL from the <a> tag HREF
|
|
iEND= eH.length;
|
|
sParamFILE = getURL(eH);
|
|
|
|
var iEXEC = eH_.lastIndexOf("exec=");
|
|
var endstr = eH.lastIndexOf(",");
|
|
var sstr = eH.substring(endstr + 1, iEND);
|
|
var matchstr = "";
|
|
for(i=endstr + 1;i< iEND; i++) //added 3/25/2002 by marissam to compensate for extra comma in shortcut calls in snippet
|
|
matchstr = matchstr + " ";
|
|
if(sstr == matchstr)
|
|
{
|
|
iEND = iEND - (iEND-endstr);
|
|
}
|
|
|
|
if (iEXEC==-1) return;
|
|
else sParamEXEC = eH.substring(iEXEC+5,iEND);
|
|
|
|
// alert("this is it-" + sParamEXEC + "-sParamExec"); // extracts the executable for item1
|
|
if (document.hhShortcut) document.hhShortcut.outerHTML = ""; // if the hhShortcut object exists, clears it
|
|
|
|
var h = "<object id='hhShortcut'"+ sActX_HH +" STYLE='display:none'> <param name='Command' value='ShortCut'>";
|
|
if(sParamFILE != "") h = h + "<param name='Window' value='" + moniker + sParamFILE+ "'>";
|
|
h = h + "<param name='Item1' value='" + sParamEXEC + "'><param name='Item2' value='msg,1,1'></object>";
|
|
|
|
document.body.insertAdjacentHTML("beforeEnd", h);
|
|
document.hhShortcut.hhclick();
|
|
}
|
|
|
|
|
|
//**************************************** EXPAND FUNCTIONS *********************************************************
|
|
//********************************************************************************************************************
|
|
|
|
//** callExpand **************************************************************************************************
|
|
// This expands & collapses (based on current state) "expandable" nodes as they are clicked.
|
|
// Called by: <A ID="expand" href="#">@@Hot text@@</A>
|
|
// Followed by: <div class="expand">
|
|
|
|
function callExpand(eventSrc) {
|
|
|
|
var e= eventSrc;
|
|
event.returnValue = false; // prevents navigating for <A> tag
|
|
|
|
var oExpandable = getExpandable(e);
|
|
var oImg = getImage(e);
|
|
|
|
if (oExpandable.style.display == "block")
|
|
doCollapse(oExpandable, oImg);
|
|
else doExpand(oExpandable, oImg);
|
|
}
|
|
|
|
//** expandGoesHot *********************************************************************************************
|
|
// Returns expand image to hot.
|
|
|
|
function expandGoesHot(eventSrc){
|
|
var e= eventSrc;
|
|
//alert(e.outerHTML);
|
|
var oExpandable = getExpandable(e);
|
|
|
|
var oImg = getImage(e);
|
|
//alert (oImg.src)
|
|
if (oExpandable == false){
|
|
plus_or_minus = oImg.src.indexOf("minus")
|
|
if (plus_or_minus == -1){
|
|
//alert(plus_or_minus)
|
|
oImg.src = closedHot
|
|
}
|
|
else
|
|
{
|
|
oImg.src = expandHot;
|
|
//alert(plus_or_minus)
|
|
}
|
|
return;
|
|
}
|
|
|
|
if (!isIE4){
|
|
if (oExpandable.style.display == "block"){
|
|
oImg.src = expandHot;
|
|
//alert(oImg.src)
|
|
}
|
|
else oImg.src = closedHot;
|
|
}
|
|
}
|
|
|
|
|
|
//** expandGoesCold *********************************************************************************************
|
|
// Returns expand image to cold.
|
|
|
|
function expandGoesCold(eventSrc){
|
|
var e= eventSrc;
|
|
|
|
var oExpandable = getExpandable(e);
|
|
var oImg = getImage(e);
|
|
// alert (oImg.src)
|
|
|
|
if (oExpandable == false){
|
|
plus_or_minus = oImg.src.indexOf("minus")
|
|
|
|
if (plus_or_minus == -1){
|
|
//alert(plus_or_minus)
|
|
oImg.src = closed
|
|
}
|
|
else
|
|
{
|
|
oImg.src = expand;
|
|
//alert(plus_or_minus)
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
if (!isIE4){
|
|
if (oExpandable.style.display == "block") oImg.src = expand;
|
|
else oImg.src = closed;
|
|
}
|
|
}
|
|
|
|
|
|
//** getExpandable *****************************[used by callExpand, expandGoesHot, expandGoesCold]*******
|
|
// Determine if the element is an expandable node or a child of one.
|
|
|
|
function getExpandable(eventSrc){
|
|
var e = eventSrc;
|
|
var iNextTag, oExpandable;
|
|
|
|
for (var i=1;i<4; i++){
|
|
iNextTag= e.sourceIndex+e.children.length+i;
|
|
oExpandable= document.all(iNextTag);
|
|
if (oExpandable.className.toLowerCase()=="expand" || iNextTag == document.all.length)
|
|
return oExpandable
|
|
break;
|
|
}
|
|
return false;
|
|
|
|
}
|
|
|
|
//** getImage ***********************************[used by callExpand, expandGoesHot, expandGoesCold]*******
|
|
// Find the first image in the children of the current srcElement.
|
|
// (allows the image to be placed anywhere inside the <A HREF> tag)
|
|
|
|
function getImage(header) {
|
|
var oImg = header;
|
|
|
|
if(oImg.tagName != "IMG") oImg=oImg.children.tags("IMG")(0);
|
|
return oImg;
|
|
}
|
|
|
|
|
|
//**** expandAll *******************************************************************************************************
|
|
// Will expand or collapse all "expandable" nodes when clicked. [calls closeAll()]
|
|
// called by: <A HREF="#" onclick="expandAll();">expand all</A>
|
|
|
|
var stateExpand = false; //applies to the page
|
|
|
|
//**** ****************************************************************************************************************
|
|
|
|
function expandAll() {
|
|
var oExpandToggle, oImg;
|
|
var expandAllMsg = "expand all"; //message returned when CloseAll() is invoked
|
|
var closeAllMsg = "close all"; //message returned when ExpandAll() is invoked
|
|
var e= window.event.srcElement;
|
|
event.returnValue = false;
|
|
|
|
for (var i=0; i< document.anchors.length; i++){
|
|
oExpandToggle = document.anchors[i];
|
|
|
|
if (oExpandToggle.id.toLowerCase() == "expand"){
|
|
oExpandable = getExpandable(oExpandToggle);
|
|
oImg = getImage(oExpandToggle);
|
|
|
|
if (stateExpand == true) doCollapse(oExpandable, oImg);
|
|
else doExpand(oExpandable, oImg);
|
|
}
|
|
}
|
|
if (stateExpand == true) {
|
|
stateExpand = false;
|
|
e.innerText= expandAllMsg;
|
|
}
|
|
else {
|
|
stateExpand = true;
|
|
e.innerText= closeAllMsg;
|
|
}
|
|
}
|
|
|
|
|
|
//**** doExpand *******************************************************************************************************
|
|
// Expands expandable block & changes image
|
|
|
|
var redo = false;
|
|
function doExpand(oToExpand, oToChange) {
|
|
var oExpandable= oToExpand;
|
|
var oImg= oToChange;
|
|
|
|
// if (printing == "TRUE") return;
|
|
|
|
oImg.src = expand;
|
|
oExpandable.style.display = "block";
|
|
|
|
if (!redo && isIE4) {
|
|
// alert("what")
|
|
redo = true;
|
|
// focus(oToExpand);
|
|
doExpand(oToExpand, oToChange);
|
|
}
|
|
}
|
|
|
|
|
|
//**** doCollapse *****************************************************************************************************
|
|
// Collapses expandable block & changes image
|
|
|
|
function doCollapse(oToCollapse, oToChange) {
|
|
// if (printing == "TRUE") return;
|
|
var oExpandable= oToCollapse;
|
|
var oImg= oToChange;
|
|
|
|
oExpandable.style.display = "none";
|
|
oImg.src = closed;
|
|
}
|
|
|
|
//*******************************************************************************************************
|
|
//******* WEB FUNCTIONS **************************************************************************
|
|
//*******************************************************************************************************
|
|
|
|
//**** callThumbnailWeb **************************************************************************************
|
|
|
|
function callThumbnailWeb(eventSrc) {
|
|
var e= eventSrc;
|
|
event.returnValue = false;
|
|
|
|
var thumbnailWin= window.open (e.href, "height=450, width=600, left=10, top=10, dependent=yes, resizable=yes, status=no, directories=no, titlebar=no, toolbar=yes, menubar=no, location=no","true");
|
|
|
|
thumbnailWin.document.write ("<html><head><title>Windows 2000</title></head><body><img src='"+e.href+"'></body></html>");
|
|
|
|
return;
|
|
}
|
|
|
|
//*********************************************************************************************************
|
|
//*********************************************************************************************************
|
|
|
|
var popupOpen= false; //state of popups
|
|
var posX, posY; //coordinates of popups
|
|
var oPopup; //object to be used as popup content
|
|
|
|
//**** callPopupWeb **************************************************************************************
|
|
// the web popups have been converted from the object winHelp popup for the web.
|
|
// called by: <A ID="wPopupWeb" HREF="#">@@Popup text@@</A>
|
|
// followed by: <div class="popup">Popup content</div>
|
|
|
|
|
|
function callPopupWeb(eventSrc) {
|
|
var e= eventSrc;
|
|
|
|
// find the popup <div> that follows <a id="wPopupWeb"></a>
|
|
findPopup(e);
|
|
if (!e.bite_me) positionPopup(e)
|
|
|
|
oPopup.style.visibility = "visible";
|
|
// document.focus(e)
|
|
popupOpen = true;
|
|
|
|
return;
|
|
}
|
|
|
|
//**** findPopup ****************************************************************************************
|
|
|
|
function findPopup(oX){
|
|
var e= oX;
|
|
var iNextTag;
|
|
|
|
for (var i=1;i<document.all.length; i++){
|
|
iNextTag= e.sourceIndex + i;
|
|
oPopup= document.all(iNextTag);
|
|
if (oPopup.className.toLowerCase()=="popup" || iNextTag == document.all.length)
|
|
break;
|
|
}
|
|
|
|
if (iNextTag != document.all.length) {
|
|
posX = window.event.clientX;
|
|
posY = window.event.clientY + document.body.scrollTop+10;
|
|
}
|
|
if (popupOpen) closePopup();
|
|
}
|
|
|
|
|
|
//**** positionPopup ************************************************************************************
|
|
// Set size and position of popup.
|
|
// If it is off the page, move up, but not past the very top of the page.
|
|
|
|
function positionPopup(oX){
|
|
var e= oX;
|
|
var popupOffsetWidth = oPopup.offsetWidth;
|
|
|
|
//determine if popup will be offscreen to right
|
|
var rightlimit = posX + popupOffsetWidth;
|
|
|
|
if (rightlimit >= document.body.clientWidth)
|
|
posX -= (rightlimit - document.body.clientWidth);
|
|
if (posX < 0) posX = 0;
|
|
|
|
//position popup
|
|
oPopup.style.top = posY;
|
|
oPopup.style.left = posX;
|
|
|
|
var pageBottom = document.body.scrollTop + document.body.clientHeight;
|
|
var popupHeight = oPopup.offsetHeight;
|
|
|
|
if (popupHeight + posY >= pageBottom) {
|
|
if (popupHeight <= document.body.clientHeight)
|
|
oPopup.style.top = pageBottom - popupHeight;
|
|
else
|
|
oPopup.style.top = document.body.scrollTop;
|
|
}
|
|
}
|
|
|
|
//**** closePopup ****************************************************************************************
|
|
// Close Popup
|
|
function closePopup() {
|
|
|
|
oPopup.style.visibility = "hidden";
|
|
popupOpen = false;
|
|
return;
|
|
}
|
|
|
|
|
|
//********************************************* GENERAL FUNCTIONS ************************************************
|
|
//**************************************************************************************************************************
|
|
|
|
//***ajustImg *************************************************************************************************************
|
|
// expands an image to the with of the window or shrinks it to 90px
|
|
|
|
function ajustImg(eventSrc) {
|
|
var e= eventSrc;
|
|
var fullWidth= document.body.offsetWidth;
|
|
|
|
fullWidth = fullWidth - 50;
|
|
if (e.style.pixelWidth==90)
|
|
e.style.pixelWidth=fullWidth;
|
|
else e.style.pixelWidth=90;
|
|
}
|
|
|
|
|
|
//** getURL **************************************[used in callShortcut, popNewWindow& loadPage]********
|
|
// extracts the file location (CHM::/HTM) URL
|
|
|
|
function getURL(sHREF) {
|
|
var spaces= /\s/g
|
|
var eH = unescape(sHREF);
|
|
eH = eH.replace(spaces,"");
|
|
|
|
var eH_= eH.toLowerCase();
|
|
var sParamFILE= "";
|
|
var sParamCHM= "";
|
|
|
|
var iFILE= eH_.lastIndexOf("file=");
|
|
if (iFILE!=-1){
|
|
iEND= iFILE +1;
|
|
sParamFILE = eH.substring(iFILE+5,eH.length);
|
|
}
|
|
|
|
var iCHM = eH_.lastIndexOf("chm=");
|
|
|
|
gifwithin = false;
|
|
if (gifwithin){
|
|
gifwithin = false;
|
|
var con_mmc;
|
|
var doc_mmc;
|
|
doc_mmc = " " + document.location;
|
|
doc_mmc = doc_mmc.toLowerCase();
|
|
if (iCHM!=-1){
|
|
iEND = iCHM +1; // iEND used by callShortcut
|
|
sParamCHM = eH.substring(iCHM+4, iFILE);
|
|
con_mmc = doc_mmc.indexOf(sParamCHM);
|
|
if (con_mmc != -1){
|
|
sParamCHM = "";
|
|
iCHM = -1;
|
|
sParamFILE= sParamCHM+sParamFILE;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (iCHM!=-1){
|
|
iEND = iCHM +1; // iEND used by callShortcut
|
|
sParamCHM = eH.substring(iCHM+4, iFILE);
|
|
sParamFILE= sParamCHM+"::/"+sParamFILE;
|
|
}
|
|
return sParamFILE;
|
|
}
|
|
//****************************************************************************************************************************
|
|
//******************************************** IE5 PERSISTENCE *************************************************************
|
|
//****************************************************************************************************************************
|
|
|
|
var oTD,iTD; // persistence
|
|
|
|
//****** Persistence for userData *********************************************************************************************
|
|
|
|
function getChecklistState(){
|
|
|
|
var pageID= addID();
|
|
|
|
if (checklist.all== "[object]") {
|
|
oTD=checklist.all.tags("INPUT");
|
|
iTD= oTD.length;
|
|
}
|
|
else
|
|
{
|
|
printing = true;
|
|
isPersistent = false;
|
|
return;
|
|
}
|
|
|
|
if (iTD == 0){
|
|
printing = true;
|
|
isPersistent = false;
|
|
return;
|
|
}
|
|
|
|
// routine added to fix a bug in the ocx 06/14/99
|
|
lct = document.location + ".";
|
|
xax = 10;
|
|
xax = lct.indexOf("mk:@MSITStore");
|
|
if (xax != -1) {
|
|
lct = "ms-its:" + lct.substring(14,lct.length-1);
|
|
// alert("before reload : " + document.location);
|
|
// alert("replace with : " + lct);
|
|
isPersistent = false;
|
|
document.location.replace(lct);
|
|
isPersistent = true;
|
|
// alert("after reload : " + document.location);
|
|
}
|
|
else
|
|
{
|
|
checklist.load("oXMLStore");
|
|
}
|
|
// routine added to fix a bug in the ocx 06/14/99
|
|
if (checklist.getAttribute("sPersist"+pageID+"0"))
|
|
for (i=0; i<iTD; i++){
|
|
|
|
if (oTD[i].type =="checkbox" || oTD[i].type =="radio"){
|
|
checkboxValue= checklist.getAttribute("sPersist"+pageID+i);
|
|
|
|
if (checkboxValue=="yes") oTD[i].checked=true;
|
|
else oTD[i].checked=false;
|
|
}// if
|
|
if (oTD[i].type =="text")
|
|
oTD[i].value= checklist.getAttribute("sPersist"+pageID+i);
|
|
}// for
|
|
} // end persistence
|
|
|
|
//** saveChecklistState *************************************************************************************************************
|
|
function saveChecklistState(){
|
|
var pageID= addID();
|
|
|
|
if (!isPersistent) return;
|
|
// you will need this document.location
|
|
for (i=0; i<iTD; i++){
|
|
|
|
if (oTD[i].type =="checkbox" || oTD[i].type =="radio"){
|
|
if (oTD[i].checked) checkboxValue="yes";
|
|
else checkboxValue="no";
|
|
|
|
checklist.setAttribute("sPersist"+pageID+i, checkboxValue);
|
|
}// if
|
|
|
|
if (oTD[i].type =="text")
|
|
checklist.setAttribute("sPersist"+pageID+i, oTD[i].value);
|
|
} // for
|
|
|
|
// routine added to fix a bug in the ocx 06/14/99
|
|
lct = document.location + ".";
|
|
xax = 10;
|
|
xax = lct.indexOf("mk:@MSITStore");
|
|
if (xax != -1) {
|
|
lct = "ms-its:" + lct.substring(14,lct.length-1);
|
|
// alert("before reload : " + document.location);
|
|
// alert("replace with : " + lct);
|
|
isPersistent = false;
|
|
document.location.replace(lct);
|
|
isPersistent = true;
|
|
// alert("after reload : " + document.location);
|
|
}
|
|
else
|
|
{
|
|
checklist.save("oXMLStore");
|
|
}
|
|
// routine added to fix a bug in the ocx 06/14/99
|
|
|
|
}//end function
|
|
|
|
//** resizeDiv *******************************[used with callPopupWeb, setPreviousNext}****************************************************
|
|
// resize the page when the <div class=nav></div> && <div class=text></div> are found
|
|
function resizeDiv(){
|
|
if (printing == true) return;
|
|
var oNav = document.all.item("nav");
|
|
var oText= document.all.item("text");
|
|
|
|
if (popupOpen) closePopup();
|
|
if (oText == null) return;
|
|
if (oNav != null){
|
|
document.all.nav.style.width= document.body.offsetWidth;
|
|
document.all.text.style.width= document.body.offsetWidth-4;
|
|
document.all.text.style.top= document.all.nav.offsetHeight;
|
|
if (document.body.offsetHeight > document.all.nav.offsetHeight)
|
|
document.all.text.style.height= document.body.offsetHeight - document.all.nav.offsetHeight;
|
|
else document.all.text.style.height=0;
|
|
}
|
|
}
|
|
//** addID *************************************************************************************************************
|
|
function addID(){
|
|
|
|
var locID = document.location.href;
|
|
var iHTM = locID.lastIndexOf(".htm");
|
|
var iName=locID.lastIndexOf("/");
|
|
locID = locID.substring(iName+1,iHTM);
|
|
|
|
return locID;
|
|
}
|
|
//** set_to_print ***************
|
|
function set_to_print(){
|
|
// alert(printing)
|
|
if (printing == true) return
|
|
var i;
|
|
|
|
|
|
var isIE5 = (navigator.appVersion.indexOf("MSIE 5")>0) || (navigator.appVersion.indexOf("MSIE")>0 && parseInt(navigator.appVersion)> 4);
|
|
var isIE55 = (navigator.appVersion.indexOf("MSIE 5.5")>0);
|
|
if (isIE5 && isIE55) isIE5 = false;
|
|
var isIE6 = (navigator.appVersion.indexOf("MSIE 6")>0);
|
|
var isIE4 = (navigator.appVersion.indexOf("MSIE 4")>0);
|
|
|
|
if (!isIE5 && !isIE55 && !isIE4 && !isIE6) {
|
|
isIE6 = true;
|
|
}
|
|
|
|
|
|
// trying
|
|
|
|
printing = true;
|
|
|
|
if (isIE55){
|
|
addReusableText();
|
|
insertImages_4_print();
|
|
}
|
|
if (isIE6){
|
|
addReusableText();
|
|
insertImages_4_print();
|
|
}
|
|
|
|
// to fix printing
|
|
|
|
|
|
|
|
isPersistent= (document.all.item("checklist")!=null) && ((isIE5) || (isIE6) || (isIE55));
|
|
setPreviousNext();
|
|
resizeDiv();
|
|
// if (isPersistent) getChecklistState();
|
|
|
|
|
|
if (window.text) {
|
|
if (!window.text.style){
|
|
scroller = "FALSE";
|
|
}
|
|
else
|
|
{
|
|
document.all.text.style.height = "auto";
|
|
scroller = "TRUE";
|
|
}
|
|
}
|
|
|
|
var thisLoc= document.location.href;
|
|
thisLoc = thisLoc.indexOf("glossary.htm")
|
|
if (thisLoc != -1){
|
|
return;
|
|
}
|
|
// alert("in print")
|
|
|
|
// alert(isIE6)
|
|
for (i=0; i < document.all.length; i++){
|
|
if (document.all[i].id == "expand") {
|
|
// callExpand(document.all[i]); // no longer needed since the coua_print.css does this now.
|
|
single = "TRUE";
|
|
}
|
|
if (document.all[i].tagName == "BODY") {
|
|
document.all[i].scroll = "auto";
|
|
}
|
|
if (document.all[i].tagName == "A" && scroller != "TRUE") {
|
|
joe = " " + document.all[i].outerHTML
|
|
joe = joe.toLowerCase();
|
|
joe = joe.indexOf("href=")
|
|
if(joe == -1){
|
|
document.all[i].outerHTML = "<A NAME=''>" + document.all[i].innerHTML + "</a>";
|
|
}
|
|
else
|
|
{
|
|
document.all[i].outerHTML = "<A HREF=''>" + document.all[i].innerHTML + "</a>";
|
|
}
|
|
}
|
|
}
|
|
|
|
// reset_form();
|
|
|
|
}
|
|
//** used to reset a page if needed ********************
|
|
function reset_form(){
|
|
printing = false;
|
|
document.location.reload();
|
|
}
|
|
|
|
|
|
//** on error routine *********************************
|
|
function errorHandler() {
|
|
// alert("Error Handled");
|
|
return true;
|
|
}
|
|
|
|
// ******************************* this function is to help ie55 and ie6 to print these images ******
|
|
booking = false;
|
|
function insertImages_4_print(){
|
|
|
|
window.onerror = errorHandler
|
|
// if (isIE6) return
|
|
// if (isIE55) return
|
|
if (!printing) booking = true;
|
|
if (printing == true && booking == true ) {
|
|
booking = false;
|
|
return;
|
|
}
|
|
|
|
|
|
var collP = document.all.tags("P");
|
|
|
|
for (var i=0; i<collP.length; i++) {
|
|
if (collP[i].className.toLowerCase()=="note") collP[i].innerHTML ="<img class='alert' src='"+noteImg+"' "+ imgStyleRTL +"> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="warning") collP[i].innerHTML ="<img class='alert' src='"+warningImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="caution") collP[i].innerHTML ="<img class='alert' src='"+cautionImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="tip") collP[i].innerHTML ="<img class='alert' src='"+tipImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="important") collP[i].innerHTML ="<img class='alert' src='"+importantImg+"'> " + collP[i].innerHTML;
|
|
else if (collP[i].className.toLowerCase()=="empty") collP[i].innerHTML ="<img class='alert' src='"+emptyImg+"'> " + collP[i].innerHTML;
|
|
if (collP[i].className.toLowerCase()=="reltopics" && rel_gif == "yes") {
|
|
collP[i].outerHTML ="<img class='relTopics' src='"+relTopicsImg+"'> " + collP[i].outerHTML;
|
|
}
|
|
}
|
|
|
|
//alert(printing)
|
|
//alert(isIE55)
|
|
//indents for Navigation Tree
|
|
var collUL = document.all.tags("UL");
|
|
if (!printing) {
|
|
for (var i=0; i<collUL.length; i++) {
|
|
var indent= 0;
|
|
if (collUL[i].className.toLowerCase()=="navtree"){
|
|
if (isRTL) collUL[i].style.listStyleImage= "url('" + branchImg_RTL + "')";
|
|
else collUL[i].style.listStyleImage= "url('" + branchImg + "')";
|
|
for (var j = 0; j < collUL[i].children.length; j++)
|
|
if (collUL[i].children[j].className.toLowerCase()=="branch"){
|
|
if (isRTL) collUL[i].children[j].style.marginRight= (indent +'em');
|
|
else collUL[i].children[j].style.marginLeft= (indent +'em');
|
|
indent= indent + 0.75;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var i=0; i < document.anchors.length; i++){
|
|
var imgInsert="";
|
|
var imgStyle= "";
|
|
var imgSpace= "<span class='space'></span>";
|
|
var oBefore=document.anchors[i].parentElement.tagName;
|
|
var oAnchor= document.anchors[i].id.toLowerCase();
|
|
|
|
// insert RELTOPICS icons
|
|
if (rel_gif == "yes"){
|
|
if (oAnchor=="reltopics")
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "reltopics")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else imgInsert= "<img class='relTopics' src='"+relTopicsImg+"'>" + imgSpace;
|
|
}
|
|
|
|
// insert SHORTCUT icons
|
|
if (oAnchor=="shortcut") {
|
|
document.anchors[i].title= sShortcutTip;
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "shortcut")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else imgInsert= "<img class='shortcut' src='"+shortcutCold+"' "+ imgStyleRTL+ ">" + imgSpace;
|
|
}
|
|
|
|
// insert POPUP icons
|
|
else if (oAnchor=="wpopup" || oAnchor=="wpopupweb") document.anchors[i].title= sPopupTip;
|
|
else if (document.anchors[i].className.toLowerCase()=="popupicon")
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "popup")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else imgInsert= "<img class='popup' src='"+popupCold+"'>" + imgSpace;
|
|
|
|
// insert EXPAND icons
|
|
else if (oAnchor=="expand") {
|
|
document.anchors[i].title= sExpandTip;
|
|
if (document.anchors[i].children.tags("IMG")(0) && document.anchors[i].children.tags("IMG")(0).className.toLowerCase() == "expand")
|
|
imgInsert= ""; // not to re-insert when persistent
|
|
else{
|
|
if (document.anchors[i].parentElement.offsetLeft == document.anchors[i].offsetLeft) {
|
|
imgSpace= "<span class='space' style='width:0'></span>";
|
|
if (isRTL){ document.anchors[i].parentElement.style.marginRight= "1.5em"; imgStyle=" style=margin-right:'-1.5em'";}
|
|
else { document.anchors[i].parentElement.style.marginLeft= "1.5em"; imgStyle=" style=margin-left:'-1.5em'";}
|
|
}
|
|
imgInsert= "<img class='expand' src='"+ closed +"' "+imgStyle+">" +imgSpace;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// insert thumbnail images
|
|
else if (oAnchor=="thumbnail" || oAnchor=="thumbnailweb"){
|
|
var sAltText = document.anchors[i].innerHTML;
|
|
gifwithin = true;
|
|
var sThumbnailText = document.anchors[i].title;
|
|
var oImg = document.anchors[i].href.toLowerCase();
|
|
if (oAnchor=="thumbnail")
|
|
var sThumbnailImg= moniker + getURL(oImg);
|
|
else var sThumbnailImg = document.anchors[i].href.toLowerCase();
|
|
|
|
found = sAltText.indexOf("BACKGROUND-COLOR:")
|
|
if (found != -1) {
|
|
stop_p = sAltText.indexOf(">");
|
|
sAltText = sAltText.substring(stop_p + 1, sAltText.length);
|
|
stop_p = sAltText.indexOf("</FONT>");
|
|
Highlighted = sAltText.substring(0,stop_p)
|
|
sAltText = Highlighted + sAltText.substring(stop_p + 7, sAltText.length);
|
|
}
|
|
|
|
|
|
document.anchors[i].outerHTML = "<DIV id='thumbDiv' class='thumbnail'>"+document.anchors[i].outerHTML+"</div>";
|
|
document.anchors[i].innerHTML = "<img class='thumbnail' src='" + sThumbnailImg + "' alt= ' " + sAltText + "'><p>" +sThumbnailText+"</p>";
|
|
|
|
if (isRTL) thumbDiv.style.styleFloat= "right";
|
|
}
|
|
|
|
|
|
|
|
document.anchors[i].innerHTML = imgInsert + document.anchors[i].innerHTML;
|
|
if (isRTL) document.anchors[i].dir="rtl";
|
|
}
|
|
}
|
|
|
|
//** quad method code -- Witten by Randy Feinger, morphed to work inside of shared.js
|
|
function QuadDocumentMouseOver()
|
|
{
|
|
var elem = event.srcElement;
|
|
|
|
// If the first childe of the source element is a radio button and
|
|
// the parent element isn't grayed, change the cursor to a hand
|
|
// or back to the original as appropriate.
|
|
if (elem != null && elem.firstChild != null &&
|
|
elem.firstChild.tagName != null &&
|
|
elem.firstChild.tagName.toLowerCase() == "input" &&
|
|
elem.firstChild.type.toLowerCase() == "radio" &&
|
|
elem.parentElement.className != "indentGray")
|
|
{
|
|
if (elem.style.cursor == "hand")
|
|
elem.style.cursor = "auto";
|
|
else
|
|
elem.style.cursor = "hand";
|
|
}
|
|
}
|
|
|
|
function QuadDocumentClick()
|
|
{
|
|
// Don't process clicks on grayed text.
|
|
if (event.srcElement.parentElement.className == "indentGray")
|
|
return;
|
|
|
|
// INPUT elements should be wrapped by another element such as a SPAN, DIV, or P.
|
|
var elem = event.srcElement.firstChild;
|
|
|
|
// If this is a radio button...
|
|
if (elem != null && elem.tagName != null && elem.tagName.toLowerCase() == "input" && elem.type == "radio")
|
|
{
|
|
// check it.
|
|
elem.checked = true;
|
|
}
|
|
else
|
|
{
|
|
// Otherwise, set elem to the event's source element.
|
|
elem = event.srcElement;
|
|
}
|
|
|
|
// Call OnElementClick() and pass in the source element, and the name token
|
|
// used to mark a top-level clickable element such as a radio button.
|
|
OnElementClick(elem, "row1");
|
|
}
|
|
|
|
|
|
|
|
function OnElementClick(srcElem, token)
|
|
{
|
|
var elemTagName = srcElem.tagName; // Tag name of the source element.
|
|
var collElements1 = document.all.item(srcElem.name); // Collection of elements with the same name property as the source element.
|
|
var n = srcElem.sourceIndex; // The source index of the source element.
|
|
var elemGroup = srcElem.group; // The (dynamic) group property for the source element.
|
|
var elemID = srcElem.id; // The source element's ID.
|
|
var i, j, k; // Loop variables.
|
|
|
|
// If there are no elements with the same name as the source element, or
|
|
// if the source element isn't part of a group, exit the function.
|
|
if (collElements1 == null || elemGroup == null || collElements1.length == null)
|
|
return;
|
|
|
|
// Make sure the source element's name contains the designated token
|
|
// so we know it's top-level element that should be processed.
|
|
if (srcElem.name.toLowerCase().indexOf(token) != -1)
|
|
{
|
|
// Loop through the collection of
|
|
for (i = 0; i < collElements1.length; i++)
|
|
{
|
|
// Go up one level and then down a level in the element hierarchy to find
|
|
// the container (parent) element for the clickable sub-elements (radio buttons).
|
|
var oNextElement = collElements1(i).parentElement.nextSibling;
|
|
|
|
// If there is no such element, get the next element in the collection.
|
|
if (oNextElement == null || oNextElement.tagName == null)
|
|
continue;
|
|
|
|
// Get the collection of all the elements within the container element that
|
|
// have the same tag name as the source element.
|
|
var collElements2 = oNextElement.all.tags(elemTagName);
|
|
|
|
// Make sure the collection is valid.
|
|
if (collElements2 == null || collElements2.length == 0)
|
|
continue;
|
|
|
|
// Loop through the collection of sub-elements within the container element.
|
|
for (j = 0; j < collElements2.length; j++)
|
|
{
|
|
// If the current element in the collection is not the
|
|
// source element, disable it and make the text gray.
|
|
if (collElements1(i).sourceIndex != n)
|
|
{
|
|
oNextElement.className = "indentGray"
|
|
collElements2(j).disabled = true;
|
|
}
|
|
else // Otherwise, enable the element and make the text black.
|
|
{
|
|
oNextElement.className = "indentBlack"
|
|
collElements2(j).disabled = false;
|
|
|
|
// Set the ID for the checked (selected) element for use below.
|
|
if (collElements2(j).tagName.toLowerCase() == "input" &&
|
|
collElements2(j).type.toLowerCase() == "radio" &&
|
|
collElements2(j).checked == true)
|
|
{
|
|
elemID = collElements2(j).id;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Get the collection of all of the elements with the same tag name as that
|
|
// of the source element.
|
|
var collElements2 = document.all.tags(elemTagName);
|
|
|
|
// Make sure the collection is valid.
|
|
if (collElements2 == null || collElements2.length == 0)
|
|
return;
|
|
|
|
// Loop through the collection of elements.
|
|
for (i = 0; i < collElements2.length; i++)
|
|
{
|
|
// Get the collection of all elements with the same ID as the
|
|
// current item in the collection.
|
|
var collAssocElems = document.all(collElements2(i).id);
|
|
|
|
// Make sure the collection is valid.
|
|
if (collAssocElems == null || collAssocElems.length == 0)
|
|
continue;
|
|
|
|
// Loop through the collection of same-named elements.
|
|
for (j = 0; j < collAssocElems.length; j++)
|
|
{
|
|
// If the tag name for the current element is different than that for the source element,
|
|
// and the current element is part of the same group as the source element,
|
|
// hide or display the element as appropriate.
|
|
if (collAssocElems(j).tagName != elemTagName && collAssocElems(j).group == elemGroup)
|
|
{
|
|
// Hide the element unless the current element's ID matches the ID of the element
|
|
// that has been checked (selected).
|
|
collAssocElems(j).style.display = ((collAssocElems(j).id == elemID) ? "block" : "none")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|