var gaHSLoad=new Array(); var gnMinIdx=0; var gnInsIdx=-1; var gsLoadingDivID="LoadingDiv"; var gsLoadingMsg="Loading, click here to cancel..."; var gaProj=null; var gaTocs=new Array(); var goChunk=null; var gbReady=false; var gbLoadToc=false; var gbXML=false; var gaRoot=new Array(); var gnCC=-1; var gsTP=""; var gaBTPs=""; var gsCTPath=""; var gnLT=-1; var gsPathSplit="\n"; var gsBgColor="#ffffff"; var gsBgImage=""; var goFont=null; var goHFont=null; var gsMargin="0pt"; var gsIndent="15pt"; var gsABgColor="#cccccc"; var giBookClose=""; var giBookOpen=""; var giBookItem=""; var giURLItem=""; var giNewBookClose=""; var giNewBookOpen=""; var giNewBookItem=""; var giNewURLItem=""; var gnImages=0; var gnLoadedImages=0; var gaImgs=new Array(); var gbLoadData=false; var gobj=null; var gaTocsNs61Fix=null; var gbWhTHost=false; var gBookItems=new Array(); var gInSync=false; function setBackground(sBgImage) { gsBgImage=sBgImage; } function setBackgroundcolor(sBgColor) { gsBgColor=sBgColor; } function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) { var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); if(sType=="Normal") goFont=vFont; else if(sType=="Hover") goHFont=vFont; } function setActiveBgColor(sBgColor){gsABgColor=sBgColor;} function setMargin(sMargin){gsMargin=sMargin;} function setIndent(sIndent){gsIndent=sIndent;} function setIcon(sType,sURL) { if(sType=="BookOpen") giBookOpen=sURL; else if(sType=="BookClose") giBookClose=sURL; else if(sType=="Item") giBookItem=sURL; else if(sType=="RemoteItem") giURLItem=sURL; else if(sType=="NewBookClose") giNewBookClose=sURL; else if(sType=="NewBookOpen") giNewBookOpen=sURL; else if(sType=="NewItem") giNewBookItem=sURL; else if(sType=="NewRemoteItem") giNewURLItem=sURL; } function bookItem(sTarget, sURL) { if (sTarget) this.sTarget=sTarget; else this.sTarget="bsscright"; this.sURL=sURL; } function addBookItem(sBookId, sTarget, sURL) { gBookItems[sBookId] = new bookItem(sTarget, sURL); } function tocChunk(sPPath,sDPath) { this.sPPath=sPPath; this.sDPath=sDPath; this.nMI=-1; this.aTocs=null; } function addTocChunk(sPPath,sDPath) { var oChunk=new tocChunk(sPPath,sDPath); gaTocs[gaTocs.length]=oChunk; return oChunk; } function isHSLoad(nIdx) { for(var i=0;i<gaHSLoad.length;i++){ if(gaHSLoad[i]==nIdx) return true; } return false; } function setHSLoad(nIdx) { if(!isHSLoad(nIdx)) { var len=gaHSLoad.length; for(var i=0;i<len;i++){ if(gaHSLoad[i]==-1) { gaHSLoad[i]=nIdx; return; } } gaHSLoad[len]=nIdx; } } function setHSUnLoad(nIdx) { if(isHSLoad(nIdx)) { for(var i=0;i<gaHSLoad.length;i++){ if(gaHSLoad[i]==nIdx) { gaHSLoad[i]=-1; return; } } } } function cancelLoading(nIdx) { var oObj=getElement(getCBId(nIdx)); if(oObj) { oObj.innerHTML=""; setHSUnLoad(nIdx) ExpandIt(nIdx); } } function cancelAll() { var eLoadingDivs=getElement(gsLoadingDivID); if(eLoadingDivs) cancelHSLoading(eLoadingDivs); } function cancelHSLoading(eLoadingDiv) { var eParent=eLoadingDiv.parentElement; if(eParent){ var sId=eParent.id; sId=sId.substring(5); var nIdx=parseInt(sId); if(!isNaN(nIdx)) cancelLoading(nIdx) } } function checkBookItem(nIdx) { if(!gInSync) { var sBookId=getBookId(nIdx); if(gBookItems[sBookId]) { window.open(gBookItems[sBookId].sURL,gBookItems[sBookId].sTarget); } } } function insertBookItems(nIdx,num) { checkBookItem(nIdx); var sChildBookId=getCBId(nIdx); var eChildDiv=getElement(sChildBookId); if(eChildDiv){ if((eChildDiv.childNodes&&eChildDiv.childNodes.length==0)|| (eChildDiv.all&&eChildDiv.all.length==0)){ var sHTML=writeBookItems(nIdx,num); eChildDiv.innerHTML=sHTML; setTimeout("syncInit()",1); } } ExpandIt(nIdx); } function writeBook(nIdx,bLocal) { var sIcon=getBookImage(nIdx,true); var sName=_textToHtml(getItemName(nIdx)); sIcon=_textToHtml_nonbsp(sIcon); var sHTML="<div id=\""+getPBId(nIdx)+"\" class=parent>"; sHTML+="<p><nobr><a id=\""+getBookId(nIdx)+"\" href=\"javascript:void(0);\" onfocus=\"markBook("+nIdx+");\" onclick=\""; if(getItemType(nIdx)==1) sHTML+="insertBookItems("+nIdx+", "+getItemContentsNum(nIdx); else sHTML+="tocExpandHelpSet("+nIdx+","+bLocal; sHTML+=");return false;\" title=\""+sName+"\"><img alt=\"Book\" name=\""+getBId(nIdx)+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">"; var sURL=_textToHtml_nonbsp(getItemURL(nIdx)); if(sURL!="") addBookItem(getBookId(nIdx),_textToHtml_nonbsp(getTopicTarget(nIdx)),sURL); sHTML+=" "+sName+"</a></nobr></p></div><div id=\""+getCBId(nIdx)+"\" class=child></div>"; return sHTML; } function getBookId(nIdx){return "B_"+nIdx;} function getItemId(nIdx){return "I_"+nIdx;} function markBook(nIdx) { var obj=getElement(getItemId(nIdx)); if(obj==null) obj=getElement(getBookId(nIdx)); if(gbNav6) { gobj=obj; setTimeout("delayMarkObj();",1); } else markObj(obj); } function delayMarkObj() { if(gobj) { markObj(gobj); gobj=null; } } function markObj(obj) { if(obj!=null) { HighLightElement(obj,gsABgColor,"transparent"); var sPath=calTocPath(obj); if(gsCTPath!=sPath) gsCTPath=sPath; } } function markItem(nIdx) { var obj=getElement(getItemId(nIdx)); if(gbNav6) { gobj=obj; setTimeout("delayMarkObj();",1); } else markObj(getElement(getItemId(nIdx))); } function calTocPath(obj) { var sPath=getInnerText(obj).substring(1); var pObj=getParentNode(obj); do { while(pObj!=null&&!isCBId(pObj.id)) pObj=getParentNode(pObj); if(pObj!=null) { var nId=getIdByCBId(pObj.id); var sObj=getElement(getPBId(nId)); if(sObj!=null) { var objs=getItemsByBook(sObj); for(var i=0;i<objs.length;i++) { var sText=getInnerText(objs[i]); if(sText.length!=0) { sPath=sText.substring(1)+gsPathSplit+sPath; break; } } } pObj=getParentNode(pObj); } }while(pObj!=null); return sPath; } function writeAnItem(nIdx) { var sTarget=_textToHtml_nonbsp(getTopicTarget(nIdx)); var sIcon=getItemIcon(nIdx,0); if(sIcon=="") { var nItemType=getItemType(nIdx); if(nItemType&2) sIcon=getItemImage(nIdx,false); else sIcon=getItemImage(nIdx,true); } sIcon=_textToHtml_nonbsp(sIcon); var sName=_textToHtml(getItemName(nIdx)); var sHTML="<p><nobr><a id=\""+getItemId(nIdx)+"\" onfocus=\"markItem("+nIdx+");\"" var sAltString=""; if (nItemType&2) sAltString="Page"; else sAltString="Remote Page"; if(sTarget!="") sHTML+="target=\""+sTarget+"\" "; sHTML+="href=\""+_textToHtml_nonbsp(getItemURL(nIdx))+"\" title=\""+sName+"\"><img alt=\""+sAltString+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\"> "+sName+"</a></nobr></p>"; return sHTML; } function writeBookItems(nIdx,num) { var sHTML=""; if(num>0){ var nCIdx=0; do{ nCIdx++; var i=nIdx+nCIdx; var nItemType=getItemType(i); if(nItemType==1){ sHTML+=writeBook(i); nCIdx+=getItemContentsNum(i); } else if(nItemType==2||nItemType==16){ sHTML+=writeAnItem(i); }else if(nItemType==4){ sHTML+=writeBook(i,false); }else if(nItemType==8){ sHTML+=writeBook(i,true); } } while(nCIdx<num); } return sHTML; } function tocExpandHelpSet(nIdx,bLocal) { checkBookItem(nIdx); cancelAll(); if(isHSLoad(nIdx)) ExpandIt(nIdx); else{ setHSLoad(nIdx); var sSrc=""; if(bLocal){ var oChunk=getChunk(nIdx); if(oChunk) { goChunk=addTocChunk(oChunk.sPPath,oChunk.sDPath); sSrc=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL; } } else{ sSrc=getRefURL(nIdx); var nProj=getProject(sSrc); if(nProj!=-1) { goChunk=addTocChunk(gaProj[nProj].sPPath,gaProj[nProj].sDPath); sSrc=gaRoot[nProj].sToc; } else goChunk=null; } if(goChunk) { PrepareLoading(nIdx); ExpandIt(nIdx); gbLoadToc=false; loadData2(goChunk.sPPath+goChunk.sDPath+sSrc); } } } function getProject(sSrc) { for(var i=0;i<gaProj.length;i++) { if(isSamePath(getPath(sSrc),gaProj[i].sPPath)) { return i; } } return -1; } function getPath(sPath) { if(sPath!="") { sPath=_replaceSlash(sPath); var nPosFile=sPath.lastIndexOf("/"); sPath=sPath.substring(0,nPosFile+1); } return sPath; } function isSamePath(sPath1,sPath2) { return (sPath1.toLowerCase()==sPath2.toLowerCase()); } function PrepareLoading(nIdx) { gnInsIdx=nIdx; if(!gsTP) { var oObj=getElement(getCBId(gnInsIdx)); if(oObj) oObj.innerHTML=writeLoadingDiv(nIdx); } } function writeLoadingDiv(nIdx) { return"<div id=\""+gsLoadingDivID+"\" class=parent onclick=\"cancelLoading("+nIdx+");\" style=\"padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>"; } function getItemName(nIdx) { var oChunk=getChunk(nIdx); if(oChunk) return oChunk.aTocs[nIdx-oChunk.nMI].sItemName; else return null; } function getItemContentsNum(nIdx) { var oChunk=getChunk(nIdx); if(oChunk) return oChunk.aTocs[nIdx-oChunk.nMI].nContents; else return null; } function getItemType(nIdx) { var oChunk=getChunk(nIdx); if(oChunk) return oChunk.aTocs[nIdx-oChunk.nMI].nType; else return 0; } function getItemURL(nIdx) { var oChunk=getChunk(nIdx); if(oChunk) { var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sItemURL; if(!(sPath==null||sPath=="")) { return _getFullPath(oChunk.sPPath,sPath); } } return ""; } function getRefURL(nIdx) { var oChunk=getChunk(nIdx); if(oChunk) { var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL; if(!(sPath==null||sPath=="")) { return _getFullPath(oChunk.sPPath,sPath) } } return ""; } function getTopicTarget(nIdx) { var oChunk=getChunk(nIdx); if(oChunk) { if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sTarget)!="undefined") return oChunk.aTocs[nIdx-oChunk.nMI].sTarget; } return ""; } function getItemIcon(nIdx,nIconIdx) { var oChunk=getChunk(nIdx); if(oChunk) { if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sIconRef)!="undefined") { var sIconRef=oChunk.aTocs[nIdx-oChunk.nMI].sIconRef; var nIndex=sIconRef.indexOf(";"); while(nIconIdx-->0&&nIndex!=-1) { sIconRef=sIconRef.substring(nIndex+1); nIndex=sIconRef.indexOf(";"); } if(nIconIdx<0) { if(nIndex!=-1) sIconRef=sIconRef.substring(0,nIndex); return _getFullPath(oChunk.sPPath,sIconRef) } } } return ""; } function TocWriteClassStyle() { var sStyle="<STYLE TYPE='text/css'>\n"; if (gsBgImage) sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n"; else sStyle+="body {border-top:black 1px solid;}\n"; sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n"; sStyle+="DIV {margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n"; sStyle+=".parent {margin-left:0pt;}\n"; sStyle+=".child {display:none;margin-left:"+gsIndent+";}\n"; sStyle+="A:link {"+getFontStyle(goFont)+"}\n"; sStyle+="A:visited {"+getFontStyle(goFont)+"}\n"; sStyle+="A:active {background-color:"+gsABgColor+";}\n"; sStyle +="A:hover {"+getFontStyle(goHFont)+"}\n"; sStyle+="</STYLE>"; document.write(sStyle); } function TocWriteFixedWidth(bBegin,nWidth) { if((gbIE4)&&(gbMac)&&(!gbIE5)){ if(bBegin) document.write("<table width="+nWidth+" border=0><tr><td>"); else document.write("</td></tr></table>"); } } function TocInitPage() { var tempColl=getItemsByBook(document.body); if(tempColl.length>0) tempColl[0].focus(); } function getItemsFromObj(obj) { var aAnchor=new Array(); var tempColl=getChildrenByTag(obj,"P"); if(tempColl&&tempColl.length>0) { var anobr=new Array(); for(var i=0;i<tempColl.length;i++) { var tempNobr=getChildrenByTag(tempColl[i],"NOBR"); if(tempNobr&&tempNobr.length>0) { for(var j=0;j<tempNobr.length;j++) anobr[anobr.length]=tempNobr[j]; } } for(var s=0;s<anobr.length;s++) { var tempAnchor=getChildrenByTag(anobr[s],"A"); if(tempAnchor&&tempAnchor.length>0) { for(var u=0;u<tempAnchor.length;u++) aAnchor[aAnchor.length]=tempAnchor[u]; } } } return aAnchor; } function getItemsByBook(obj) { var aAnchor=new Array(); var aTAnchor=getItemsFromObj(obj); for(var i=0;i<aTAnchor.length;i++) { aAnchor[aAnchor.length]=aTAnchor[i]; } var tempBook=getChildrenByTag(obj,"DIV"); if(tempBook&&tempBook.length>0) { for(var j=0;j<tempBook.length;j++) { var aTAnchorDiv=getItemsFromObj(tempBook[j]); for(var s=0;s<aTAnchorDiv.length;s++) { aAnchor[aAnchor.length]=aTAnchorDiv[s]; } } } return aAnchor; } function ExpandIt(nId) { if(!gsTP) ExpandIt2(nId,false); } function ExpandIt2(nId,bForceOpen) { if(gbIE4||gbNav6){ var oC=TocExpand(nId,true,bForceOpen); var nNewScroll=document.body.scrollTop; if(oC.style.display=="block"){ var nTop=oC.offsetTop; var nBottom=nTop+oC.offsetHeight; if(document.body.scrollTop+document.body.clientHeight<nBottom){ nNewScroll=nBottom-document.body.clientHeight; } if(nBottom-nTop>document.body.clientHeight){ nNewScroll=nTop-20; } } document.body.scrollTop=nNewScroll; } } function TocExpand(nId,bChangeImg,bForceOpen) { var oDiv=getElement(getCBId(nId)); if(oDiv==null) return null; var whichIm=document.images[getBId(nId)]; if((oDiv.style.display!="block")||bForceOpen){ oDiv.style.display="block"; if(bChangeImg){ var sPath=getPath(whichIm.src); sPath=_getFullPath(sPath,getBookImage(nId,false)); whichIm.src=sPath; } }else{ oDiv.style.display="none"; if(bChangeImg){ var sPath=getPath(whichIm.src); sPath=_getFullPath(sPath,getBookImage(nId,true)); whichIm.src=sPath; } if(gbMac&&gbIE5){ this.parent.document.getElementById("tocIFrame").style.width="101%"; this.parent.document.getElementById("tocIFrame").style.width="100%"; } } return oDiv; } function getChunkId(n) { var nCandidate=-1; for(var i=0;i<gaTocs.length;i++){ if(gaTocs[i].nMI<=n){ nCandidate=i; } else break; } if(nCandidate!=-1&&gaTocs[nCandidate].nMI!=-1) return nCandidate; else return -1; } function getChunk(n) { if(gnCC!=-1&&gaTocs[gnCC].nMI<=n&&(gnCC==gaTocs.length-1|| gaTocs[gnCC+1].nMI>n)) { return gaTocs[gnCC]; } else{ gnCC=getChunkId(n); if(gnCC!=-1) return gaTocs[gnCC]; else return null; } } function getBookImage(nIdx,bClosed) { var nIdx=bClosed?0:1; var sIcon=getItemIcon(nIdx,nIdx); if(sIcon=="") if(bClosed) sIcon=giBookClose; else sIcon=giBookOpen; return _getFullPath(gaProj[0].sPPath,sIcon); } function getItemImage(nIdx,bRemote) { var sIcon=getItemIcon(nIdx,0); if(sIcon=="") if(bRemote) sIcon=giURLItem; else sIcon=giBookItem; return _getFullPath(gaProj[0].sPPath,sIcon); } function expandToc(oObj,sRest,aIdList) { var len=aIdList.length; var nPos=sRest.indexOf(gsPathSplit); if(nPos!=-1) { sPart=sRest.substring(0,nPos); sRest=sRest.substring(nPos+1); } else { sPart=sRest; var aTagAs=getItemsByBook(oObj); for(var s=0;s<aTagAs.length;s++) { var sText=getInnerText(aTagAs[s]); if(sText.length>0) sText=sText.substring(1); if(sText==sPart) { aIdList[len]=aTagAs[s]; return 1; } } return 0; } var aChildren=getChildrenByTag(oObj,"DIV"); for(var i=0;i<aChildren.length;i++) { var sPId=aChildren[i].id; if(!isPBId(sPId)) continue; var sText=getInnerText(aChildren[i]); if(sText.substring(1)!=sPart) continue; aIdList[len]=getIdByPBId(sPId); var sCId=getCBId(aIdList[len]); var oCObj=getElement(sCId); if(oCObj) { if(oCObj.innerHTML=="") { var obj=getItemsByBook(aChildren[i]); if(obj.length>0) { if(gbNav6) { var sCommand=obj[0].getAttribute("onClick"); var nCommand=sCommand.indexOf(";"); sCommand=sCommand.substring(0,nCommand); setTimeout(sCommand,1); } else obj[0].click(); } return -1; } var nRet=expandToc(oCObj,sRest,aIdList); if(nRet) return nRet; } } aIdList.length=len; return 0; } function getIdByPBId(sPId) { return parseInt(sPId.substring(5,sPId.length-6)); } function getIdByCBId(sCId) { return parseInt(sCId.substring(5,sCId.length-5)); } function isPBId(sId) { return (sId&&sId.indexOf("Book_")==0&&sId.lastIndexOf("Parent")==sId.length-6); } function isCBId(sId) { return (sId&&sId.indexOf("Book_")==0&&sId.lastIndexOf("Child")==sId.length-5); } function getBId(nIdx) { return "Book_"+nIdx; } function getPBId(nIdx) { return getBId(nIdx)+"Parent"; } function getCBId(nIdx) { return getBId(nIdx)+"Child"; } function getClosestTocPath(aPaths) { var nMaxSimilarity=0; var nThatIndex=-1; var sPath=null; if(aPaths.length==0) return sPath; for(var i=0;i<aPaths.length;i++) { var nSimilarity=comparePath(gsCTPath,aPaths[i]); if(nSimilarity>nMaxSimilarity) { nMaxSimilarity=nSimilarity; nThatIndex=i; } } if(nThatIndex!=-1) { sPath=aPaths[nThatIndex]; } else { sPath=aPaths[0]; } return sPath; } function comparePath(sPath1,sPath2) { var nMaxSimilarity=0; var nStartPos1=0; var nPos1=-1; var nStartPos2=0; var nPos2=-1; do{ var sCheck1=null; var sCheck2=null; nPos1=sPath1.indexOf(gsPathSplit,nStartPos1); if(nPos1!=-1) { sCheck1=sPath1.substring(nStartPos1,nPos1); nStartPos1=nPos1+1; } else { sCheck1=sPath1.substring(nStartPos1); nStartPos1=-1; } nPos2=sPath2.indexOf(gsPathSplit,nStartPos2); if(nPos1!=-1) { sCheck2=sPath2.substring(nStartPos2,nPos2); nStartPos2=nPos2+1; } else { sCheck2=sPath2.substring(nStartPos2); nStartPos2=-1; } if(sCheck1==sCheck2) nMaxSimilarity++; else break; }while(nStartPos1!=-1&&nStartPos2!=-1); return nMaxSimilarity; } function getTocPaths(oTopicParam) { var aRelTocPaths=oTopicParam.aPaths; var aPaths=new Array(); for(var i=0;i<gaProj.length;i++) { if(isSamePath(gaProj[i].sPPath,oTopicParam.sPPath)) { for(var j=0;j<aRelTocPaths.length;j++) { aPaths[j]=gaRoot[i].sRPath+aRelTocPaths[j]; aPaths[j]=aPaths[j].substring(1); } break; } } return aPaths; } function syncInit() { if(gsTP) { gInSync=true; var obj=document.body; var aIdList=new Array(); var nRet=expandToc(obj,gsTP,aIdList); if(nRet!=-1) { if(nRet==1) { if(aIdList.length) for(var i=0;i<aIdList.length-1;i++) { ExpandIt2(aIdList[i],true); } gsCTPath=gsTP; if(!gbIE55) aIdList[aIdList.length-1].focus(); else HighLightElement(aIdList[aIdList.length-1],gsABgColor,"transparent"); } var aPaths=gaBTPs; gsTP=null; gaBTPs=null; if(aPaths!=null) { var sPath=getClosestTocPath(aPaths); if(sPath!=null) { gsTP=sPath; setTimeout("syncInit()",1); } } } gInSync=false; } } function loadToc() { if(!gbReady) { var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null); if(SendMessage(oResMsg)&&oResMsg.oParam) { var oProj=oResMsg.oParam; gaProj=oProj.aProj; gbXML=oProj.bXML; load1B1(); } } } function load1B1() { if(gnLT+1<gaProj.length) { for(var i=gnLT+1;i<gaProj.length;i++) { if(gaProj[i].sToc!=null&&gaProj[i].sToc!="") { gbLoadToc=true; gnLT=i; setTimeout("loadTocInfo()",1); return true; } } } return false; } function loadTocInfo() { loadData2(gaProj[gnLT].sPPath+gaProj[gnLT].sDPath+gaProj[gnLT].sToc); } function loadData2(sFile) { if(gbXML) loadDataXML(sFile); else loadData(sFile); } function projReady(sRoot,aProj) { if(gaRoot.length<=gnLT||!gaRoot[gnLT]) gaRoot[gnLT]=new Object(); gaRoot[gnLT].sToc=sRoot; if(gnLT==0) gaRoot[gnLT].sRPath=gsPathSplit; updatePTPath(gnLT,aProj); if(!((gnLT+1<gaProj.length)&&load1B1())) { gbReady=true; if(gbIE4) setTimeout("loadImages();",1); else setTimeout("loadTData();",1); } } function loadTData() { if(gaProj[0].sToc!="") { goChunk=addTocChunk(gaProj[0].sPPath,gaProj[0].sDPath); gbLoadToc=false; loadData2(gaProj[0].sPPath+gaProj[0].sDPath+gaRoot[0].sToc); } } function updatePTPath(n,aProj) { if(aProj) { for(var i=0;i<aProj.length;i++) { var sFullPath=_getFullPath(gaProj[n].sPPath,aProj[i].sPPath); for(var j=0;j<gaProj.length;j++) { if(isSamePath(sFullPath,gaProj[j].sPPath)) { if(gaRoot.length<=j||!gaRoot[j]) gaRoot[j]=new Object(); if(!gaRoot[j].sRPath) { if(gaRoot[n].sRPath) gaRoot[j].sRPath=gaRoot[n].sRPath+aProj[i].sRPath; else gaRoot[j].sRPath=aProj[i].sRPath; } break; } } } } } function putDataXML(xmlDoc,sDocPath) { if(gbLoadToc) { var tocNode=xmlDoc.getElementsByTagName("toc")[0]; if(tocNode) { var sRoot=tocNode.getAttribute("root"); var rmtProject=tocNode.getElementsByTagName("project"); var aRProj=new Array(); if(rmtProject.length>0) { for(var i=0;i<rmtProject.length;i++) { aRProj[i]=new Object(); aRProj[i].sPPath=rmtProject[i].getAttribute("url"); aRProj[i].sRPath=rmtProject[i].getAttribute("path"); } } projReady(sRoot,aRProj); } } else { var chunkNode=xmlDoc.getElementsByTagName("tocdata")[0]; if(chunkNode) { var aToc=new Array(); processBook(chunkNode,aToc); putData(aToc); } } } function processBook(node,aToc) { var i=0; var entry=null; var prevEntry=null; var oChild=node.firstChild; do{ if(oChild) { if(oChild.nodeName.indexOf("#")!=0) { var sName=oChild.getAttribute("name"); var sURL=oChild.getAttribute("url"); var sRef=oChild.getAttribute("ref"); var sTarget=oChild.getAttribute("target"); var sIcons=oChild.getAttribute("images"); var item=new Object(); item.sItemName=sName; if(sTarget) item.sTarget=sTarget; if(sIcons) item.sIconRef=sIcons; if(sURL==null) sURL=""; item.sItemURL=sURL; if(oChild.nodeName=="book") { item.nType=1; aToc[aToc.length]=item; var nCurrPos=aToc.length; processBook(oChild,aToc); item.nContents=aToc.length-nCurrPos; } else if(oChild.nodeName=="item") { item.nType=2; item.nContents=0; aToc[aToc.length]=item; } else if(oChild.nodeName=="remoteitem") { item.nType=16; item.nContents=0; aToc[aToc.length]=item; } else if(oChild.nodeName=="project") { item.nType=4; item.sRefURL=sRef; item.nContents=0; aToc[aToc.length]=item; } else if(oChild.nodeName=="chunk") { item.nType=8; item.sRefURL=sRef; item.nContents=0; aToc[aToc.length]=item; } } } else break; oChild=oChild.nextSibling; }while(true); } function putData(aTocs) { gaTocsNs61Fix=aTocs; setTimeout("realPutData();",1); } function realPutData() { var aTocs=gaTocsNs61Fix; if(!aTocs) return; if(goChunk) { var n=gnMinIdx; goChunk.nMI=gnMinIdx; goChunk.aTocs=aTocs; gnMinIdx+=aTocs.length; if(gnInsIdx!=-1) { var oObj=getElement(getCBId(gnInsIdx)); if(oObj) { oObj.innerHTML=writeBookItems(n-1,aTocs.length); setTimeout("syncInit()",1); } } else{ document.body.insertAdjacentHTML("beforeEnd",writeBookItems(n-1,aTocs.length)); var oParam=new Object(); oParam.oTocInfo=null; var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam); if(SendMessage(oMsg)) { if (oMsg.oParam.oTocInfo) syncWithPaths(oMsg.oParam.oTocInfo); } } } } function syncWithPaths(oTopicParam) { var aPaths=getTocPaths(oTopicParam); if(gsTP) gaBTPs=aPaths; else{ var sPath=getClosestTocPath(aPaths); if(sPath!=null) { gsTP=sPath; setTimeout("syncInit()",1); } } } function window_OnLoad() { if(gsBgImage&&gsBgImage.length>0) { document.body.background=gsBgImage; } if(gsBgColor&&gsBgColor.length>0) { document.body.bgColor=gsBgColor; } loadToc(); var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null) SendMessage(oMsg); } function loadImages() { if(giBookClose) { gaImgs[gnImages]=giBookClose; gnImages++; } if(giBookOpen) { gaImgs[gnImages]=giBookOpen; gnImages++; } if(giBookItem) { gaImgs[gnImages]=giBookItem; gnImages++; } if(giURLItem) { gaImgs[gnImages]=giURLItem; gnImages++; } if(giNewBookClose) { gaImgs[gnImages]=giNewBookClose; gnImages++; } if(giNewBookOpen) { gaImgs[gnImages]=giNewBookOpen; gnImages++; } if(giNewBookItem) { gaImgs[gnImages]=giNewBookItem; gnImages++; } if(giNewURLItem) { gaImgs[gnImages]=giNewURLItem; gnImages++; } if(gnImages>0) { setTimeout("loadDataAfter();",1000); loadImage(gaImgs[0]); } else loadDataAfter(); } function loadImage(sURL) { var oImg=new Image(); oImg.onload=checkImageLoading; oImg.onerror=errorImageLoading; oImg.src=_getFullPath(gaProj[0].sPPath,sURL); } function loadDataAfter() { if(!gbLoadData) { gbLoadData=true; loadTData(); } } function errorImageLoading() { gnLoadedImages++; if(gnImages==gnLoadedImages) loadDataAfter(); else loadImage(gaImgs[gnLoadedImages]); } function checkImageLoading() { gnLoadedImages++; if(gnImages==gnLoadedImages) loadDataAfter(); else loadImage(gaImgs[gnLoadedImages]); } function window_unload() { UnRegisterListener2(this,WH_MSG_PROJECTREADY); UnRegisterListener2(this,WH_MSG_SYNCTOC); UnRegisterListener2(this,WH_MSG_SHOWTOC); } function onSendMessage(oMsg) { if(oMsg) { var nMsgId=oMsg.nMessageId; if(nMsgId==WH_MSG_PROJECTREADY) { loadToc(); } else if(nMsgId==WH_MSG_SYNCTOC) { if(gbReady) { syncWithPaths(oMsg.oParam); } } else if(nMsgId==WH_MSG_SHOWTOC) { if(!gbNav6) document.body.focus(); } } return true; } if (window.gbWhUtil&&window.gbWhVer&&window.gbWhMsg&&window.gbWhProxy) { RegisterListener2(this,WH_MSG_PROJECTREADY); RegisterListener2(this,WH_MSG_SYNCTOC); RegisterListener2(this,WH_MSG_SHOWTOC); goFont=new whFont("Verdana","8pt","#000000","normal","normal","none"); goHFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline"); window.onload=window_OnLoad; window.onbeforeunload=window_BUnload; window.onunload=window_unload; gbWhTHost=true; } else document.location.reload();