+// WebHelp 5.10.007\r
var gaHSLoad=new Array();\r
var gnMinIdx=0;\r
var gnInsIdx=-1;\r
var gaTocs=new Array();\r
var goChunk=null;\r
var gbReady=false;\r
-var gbLoadToc=false;\r
+var gbToc=false;\r
var gbXML=false;\r
var gaRoot=new Array();\r
var gnCC=-1;\r
var gbWhTHost=false;\r
var gBookItems=new Array();\r
var gInSync=false;\r
+var gbLData=false;\r
+var gbNeedFillStub=false;\r
+var gbLoadToc=false;\r
+\r
+function chunkInfoQueue()\r
+{\r
+ this.aContent=new Array();\r
+ this.inQueue=function(cInfo)\r
+ {\r
+ this.aContent[this.aContent.length]=cInfo;\r
+ }\r
+ this.deQueue=function()\r
+ {\r
+ var cInfo=null;\r
+ if(this.aContent.length>0)\r
+ {\r
+ cInfo=this.aContent[0];\r
+ for(var i=1;i<this.aContent.length;i++)\r
+ this.aContent[i-1]=this.aContent[i];\r
+ this.aContent.length--;\r
+ }\r
+ return cInfo;\r
+ }\r
+ this.length=function()\r
+ {\r
+ return this.aContent.length;\r
+ }\r
+}\r
+\r
+var gchunkRequestQueue=new chunkInfoQueue();\r
+\r
+function chunkInfo(nIdx, bLocal)\r
+{\r
+ this.nIdx=nIdx;\r
+ this.bLocal=bLocal;\r
+}\r
\r
function setBackground(sBgImage)\r
{\r
giNewURLItem=sURL; \r
}\r
\r
-function bookItem(sTarget, sURL)\r
+function bookItem(sTarget,sURL)\r
{\r
- if (sTarget)\r
+ if(sTarget)\r
this.sTarget=sTarget;\r
else\r
this.sTarget="bsscright";\r
this.sURL=sURL;\r
}\r
\r
-function addBookItem(sBookId, sTarget, sURL)\r
+function addBookItem(sBookId,sTarget,sURL)\r
{\r
- gBookItems[sBookId] = new bookItem(sTarget, sURL); \r
+ gBookItems[sBookId]=new bookItem(sTarget,sURL); \r
}\r
\r
function tocChunk(sPPath,sDPath)\r
\r
function isHSLoad(nIdx)\r
{\r
- for(var i=0;i<gaHSLoad.length;i++){\r
+ for(var i=0;i<gaHSLoad.length;i++)\r
if(gaHSLoad[i]==nIdx)\r
return true;\r
- }\r
return false;\r
}\r
\r
if(!isHSLoad(nIdx))\r
{\r
var len=gaHSLoad.length;\r
- for(var i=0;i<len;i++){\r
+ for(var i=0;i<len;i++)\r
if(gaHSLoad[i]==-1)\r
{\r
gaHSLoad[i]=nIdx;\r
return;\r
}\r
- }\r
gaHSLoad[len]=nIdx;\r
}\r
}\r
{\r
if(isHSLoad(nIdx))\r
{\r
- for(var i=0;i<gaHSLoad.length;i++){\r
+ for(var i=0;i<gaHSLoad.length;i++)\r
if(gaHSLoad[i]==nIdx)\r
{\r
gaHSLoad[i]=-1;\r
return;\r
}\r
- }\r
}\r
}\r
\r
-function cancelLoading(nIdx)\r
-{\r
- var oObj=getElement(getCBId(nIdx));\r
- if(oObj)\r
- {\r
- oObj.innerHTML="";\r
- setHSUnLoad(nIdx)\r
- ExpandIt(nIdx);\r
- }\r
-}\r
-\r
-function cancelAll()\r
-{\r
- var eLoadingDivs=getElement(gsLoadingDivID);\r
- if(eLoadingDivs)\r
- cancelHSLoading(eLoadingDivs);\r
-}\r
-\r
-function cancelHSLoading(eLoadingDiv)\r
+function removeLoadingDiv()\r
{\r
- var eParent=eLoadingDiv.parentElement;\r
- if(eParent){\r
- var sId=eParent.id;\r
- sId=sId.substring(5);\r
- var nIdx=parseInt(sId);\r
- if(!isNaN(nIdx))\r
- cancelLoading(nIdx)\r
- }\r
+ var eLoadingDiv=getElement(gsLoadingDivID);\r
+ if(eLoadingDiv)\r
+ removeThis(eLoadingDiv);\r
}\r
\r
function checkBookItem(nIdx)\r
ExpandIt(nIdx);\r
}\r
\r
-function writeBook(nIdx,bLocal)\r
+function isBookEmpty(nIdx)\r
+{\r
+ var num=getItemContentsNum(nIdx);\r
+ if (num>0)\r
+ {\r
+ var nCIdx=0;\r
+ do {\r
+ nCIdx++;\r
+ var i=nIdx+nCIdx;\r
+ var nItemType=getItemType(i);\r
+ if(nItemType==1){\r
+ if (!isBookEmpty(i))\r
+ return false;\r
+ }\r
+ else if(nItemType==4){\r
+ var sSrc=getRefURL(i);\r
+ var nProj=getProject(sSrc);\r
+ if(nProj!=-1){\r
+ sSrc=gaRoot[nProj].sToc;\r
+ if(sSrc)\r
+ return false;\r
+ }\r
+ }\r
+ else if(nItemType==2||nItemType==16||nItemType==8)\r
+ return false;\r
+ } while(nCIdx<num);\r
+ }\r
+ return true;\r
+}\r
+\r
+function writeBook(nIdx)\r
{\r
var sIcon=getBookImage(nIdx,true);\r
var sName=_textToHtml(getItemName(nIdx));\r
sIcon=_textToHtml_nonbsp(sIcon);\r
\r
- var sHTML="<div id=\""+getPBId(nIdx)+"\" class=parent>";\r
- sHTML+="<p><nobr><a id=\""+getBookId(nIdx)+"\" href=\"javascript:void(0);\" onfocus=\"markBook("+nIdx+");\" onclick=\"";\r
-\r
- if(getItemType(nIdx)==1)\r
- sHTML+="insertBookItems("+nIdx+", "+getItemContentsNum(nIdx);\r
+ var nType=getItemType(nIdx);\r
+ var bLocal=(nType==1);\r
+ var bLocalProject=(nType!=4);\r
+ \r
+ var sHTML="<div id=\""+getPBId(nIdx)+"\" class=";\r
+ if(bLocal)\r
+ {\r
+ if (!isBookEmpty(nIdx))\r
+ {\r
+ sHTML+="parent><p><nobr><a id=\""+getBookId(nIdx)+"\" href=\"javascript:void(0);\" onfocus=\"markBook("+nIdx+");\" onclick=\"";\r
+ sHTML+="insertBookItems("+nIdx+", "+getItemContentsNum(nIdx);\r
+ sHTML+=");return false;\" title=\""+sName+"\"><img alt=\"Book\" name=\""+getBId(nIdx)+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">";\r
+ sHTML+=" "+sName+"</a></nobr></p></div>";\r
+ var sURL=_textToHtml_nonbsp(getItemURL(nIdx));\r
+ if(sURL!="")\r
+ addBookItem(getBookId(nIdx),_textToHtml_nonbsp(getTopicTarget(nIdx)),sURL);\r
+ sHTML+="<div id=\""+getCBId(nIdx)+"\" class=child></div>";\r
+ }\r
+ else\r
+ sHTML="";\r
+ }\r
else\r
- sHTML+="tocExpandHelpSet("+nIdx+","+bLocal;\r
- sHTML+=");return false;\" title=\""+sName+"\"><img alt=\"Book\" name=\""+getBId(nIdx)+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">";\r
- var sURL=_textToHtml_nonbsp(getItemURL(nIdx));\r
- if(sURL!="")\r
- addBookItem(getBookId(nIdx),_textToHtml_nonbsp(getTopicTarget(nIdx)),sURL);\r
- sHTML+=" "+sName+"</a></nobr></p></div><div id=\""+getCBId(nIdx)+"\" class=child></div>";\r
+ {\r
+ sHTML+="stub></div>";\r
+ gbNeedFillStub=true;\r
+ setTimeout("fillStub("+nIdx+","+bLocalProject+");",100);\r
+ }\r
return sHTML;\r
}\r
\r
+function checkFillStub()\r
+{\r
+ if(!gbLData)\r
+ {\r
+ if(gchunkRequestQueue.length()>0)\r
+ {\r
+ var cInfo=gchunkRequestQueue.deQueue();\r
+ if(cInfo)\r
+ {\r
+ fillStub(cInfo.nIdx,cInfo.bLocal);\r
+ return;\r
+ }\r
+ }\r
+ }\r
+ if(gbNeedFillStub)\r
+ {\r
+ gbNeedFillStub=false;\r
+ setTimeout("syncInit()",1);\r
+ }\r
+}\r
+\r
+function fillStub(nIdx,bLocalProject)\r
+{\r
+ if(!gbLData)\r
+ {\r
+ gbLData=true;\r
+ var sObj=getElement(getPBId(nIdx));\r
+ if(sObj!=null)\r
+ {\r
+ tocExpandHelpSet(nIdx,bLocalProject);\r
+ gbNeedFillStub=false;\r
+ setTimeout("syncInit()",1);\r
+ }\r
+ else\r
+ setTimeout("fillStub("+nIdx+","+bLocalProject+");",100);\r
+ }\r
+ else\r
+ gchunkRequestQueue.inQueue(new chunkInfo(nIdx,bLocalProject));\r
+}\r
+\r
function getBookId(nIdx){return "B_"+nIdx;}\r
\r
function getItemId(nIdx){return "I_"+nIdx;}\r
\r
function calTocPath(obj)\r
{\r
- var sPath=getInnerText(obj).substring(1);\r
+ var sPath=getInnerText2(obj);\r
var pObj=getParentNode(obj);\r
do\r
{\r
var objs=getItemsByBook(sObj);\r
for(var i=0;i<objs.length;i++)\r
{\r
- var sText=getInnerText(objs[i]);\r
- \r
+ var sText=getInnerText2(objs[i]);\r
if(sText.length!=0)\r
{\r
- sPath=sText.substring(1)+gsPathSplit+sPath;\r
+ sPath=sText+gsPathSplit+sPath;\r
break;\r
}\r
}\r
var sName=_textToHtml(getItemName(nIdx));\r
var sHTML="<p><nobr><a id=\""+getItemId(nIdx)+"\" onfocus=\"markItem("+nIdx+");\""\r
var sAltString="";\r
- if (nItemType&2)\r
+ if(nItemType&2)\r
sAltString="Page";\r
else\r
sAltString="Remote Page";\r
nCIdx++;\r
var i=nIdx+nCIdx;\r
var nItemType=getItemType(i);\r
- if(nItemType==1){\r
+ if(nItemType==1||nItemType==4||nItemType==8){\r
sHTML+=writeBook(i); \r
nCIdx+=getItemContentsNum(i); \r
}\r
else if(nItemType==2||nItemType==16){\r
sHTML+=writeAnItem(i);\r
- }else if(nItemType==4){\r
- sHTML+=writeBook(i,false);\r
- }else if(nItemType==8){\r
- sHTML+=writeBook(i,true);\r
}\r
}\r
while(nCIdx<num);\r
function tocExpandHelpSet(nIdx,bLocal)\r
{\r
checkBookItem(nIdx);\r
- cancelAll();\r
- if(isHSLoad(nIdx))\r
- ExpandIt(nIdx);\r
- else{\r
+ removeLoadingDiv();\r
+ if(!isHSLoad(nIdx))\r
+ {\r
setHSLoad(nIdx);\r
var sSrc="";\r
if(bLocal){\r
var nProj=getProject(sSrc);\r
if(nProj!=-1)\r
{\r
- goChunk=addTocChunk(gaProj[nProj].sPPath,gaProj[nProj].sDPath);\r
sSrc=gaRoot[nProj].sToc;\r
+ if(sSrc)\r
+ goChunk=addTocChunk(gaProj[nProj].sPPath,gaProj[nProj].sDPath);\r
+ else\r
+ goChunk=null;\r
}\r
else\r
goChunk=null;\r
if(goChunk)\r
{\r
PrepareLoading(nIdx);\r
- ExpandIt(nIdx);\r
- gbLoadToc=false;\r
+ gbToc=false;\r
loadData2(goChunk.sPPath+goChunk.sDPath+sSrc);\r
}\r
+ else\r
+ {\r
+ gbLData=false;\r
+ checkFillStub();\r
+ }\r
}\r
}\r
\r
function getProject(sSrc)\r
{\r
for(var i=0;i<gaProj.length;i++)\r
- {\r
if(isSamePath(getPath(sSrc),gaProj[i].sPPath))\r
- {\r
return i;\r
- }\r
- }\r
return -1;\r
}\r
\r
gnInsIdx=nIdx;\r
if(!gsTP)\r
{\r
- var oObj=getElement(getCBId(gnInsIdx));\r
+ var oObj=getElement(getPBId(gnInsIdx));\r
if(oObj)\r
- oObj.innerHTML=writeLoadingDiv(nIdx);\r
+ oObj.insertAdjacentHTML("afterEnd",writeLoadingDiv(nIdx));\r
}\r
}\r
\r
function writeLoadingDiv(nIdx)\r
{\r
- 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>";\r
+ return"<div id=\""+gsLoadingDivID+"\" class=parent onclick=\"removeLoadingDiv();\" style=\"padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";\r
}\r
\r
function getItemName(nIdx)\r
function TocWriteClassStyle()\r
{\r
var sStyle="<STYLE TYPE='text/css'>\n";\r
- if (gsBgImage)\r
+ if(gsBgImage)\r
sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
else\r
sStyle+="body {border-top:black 1px solid;}\n";\r
sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";\r
sStyle+="DIV {margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";\r
sStyle+=".parent {margin-left:0pt;}\n";\r
+ sStyle+=".stub {margin-left:0pt;display:none}\n";\r
sStyle+=".child {display:none;margin-left:"+gsIndent+";}\n";\r
sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
{\r
var tempNobr=getChildrenByTag(tempColl[i],"NOBR");\r
if(tempNobr&&tempNobr.length>0)\r
- {\r
for(var j=0;j<tempNobr.length;j++)\r
anobr[anobr.length]=tempNobr[j];\r
- }\r
}\r
for(var s=0;s<anobr.length;s++)\r
{\r
var tempAnchor=getChildrenByTag(anobr[s],"A");\r
if(tempAnchor&&tempAnchor.length>0)\r
- {\r
for(var u=0;u<tempAnchor.length;u++)\r
aAnchor[aAnchor.length]=tempAnchor[u];\r
- }\r
}\r
}\r
return aAnchor;\r
var aAnchor=new Array();\r
var aTAnchor=getItemsFromObj(obj);\r
for(var i=0;i<aTAnchor.length;i++)\r
- {\r
aAnchor[aAnchor.length]=aTAnchor[i];\r
- }\r
var tempBook=getChildrenByTag(obj,"DIV");\r
if(tempBook&&tempBook.length>0)\r
- {\r
for(var j=0;j<tempBook.length;j++)\r
{\r
var aTAnchorDiv=getItemsFromObj(tempBook[j]);\r
for(var s=0;s<aTAnchorDiv.length;s++)\r
- {\r
aAnchor[aAnchor.length]=aTAnchorDiv[s];\r
- }\r
}\r
- } \r
return aAnchor;\r
}\r
\r
\r
function ExpandIt2(nId,bForceOpen)\r
{\r
- if(gbIE4||gbNav6){\r
- var oC=TocExpand(nId,true,bForceOpen);\r
- var nNewScroll=document.body.scrollTop;\r
- if(oC.style.display=="block"){\r
- var nTop=oC.offsetTop;\r
- var nBottom=nTop+oC.offsetHeight;\r
- if(document.body.scrollTop+document.body.clientHeight<nBottom){\r
- nNewScroll=nBottom-document.body.clientHeight;\r
- }\r
- if(nBottom-nTop>document.body.clientHeight){\r
- nNewScroll=nTop-20;\r
- }\r
+ var oC=TocExpand(nId,true,bForceOpen);\r
+ var nNewScroll=document.body.scrollTop;\r
+ if(oC.style.display=="block"){\r
+ var nTop=oC.offsetTop;\r
+ var nBottom=nTop+oC.offsetHeight;\r
+ if(document.body.scrollTop+document.body.clientHeight<nBottom){\r
+ nNewScroll=nBottom-document.body.clientHeight;\r
+ }\r
+ if(nBottom-nTop>document.body.clientHeight){\r
+ nNewScroll=nTop-20;\r
}\r
- document.body.scrollTop=nNewScroll;\r
}\r
+ document.body.scrollTop=nNewScroll;\r
}\r
\r
function TocExpand(nId,bChangeImg,bForceOpen)\r
\r
function getChunkId(n)\r
{\r
- var nCandidate=-1;\r
- for(var i=0;i<gaTocs.length;i++){\r
- if(gaTocs[i].nMI<=n){\r
- nCandidate=i;\r
+ var nCan=-1;\r
+ for(var i=0;i<gaTocs.length;i++)\r
+ if(gaTocs[i].nMI<=n&&gaTocs[i].nMI!=-1)\r
+ {\r
+ if(nCan==-1)\r
+ nCan=i;\r
+ else\r
+ if(gaTocs[i].nMI>=gaTocs[nCan].nMI)\r
+ nCan=i;\r
}\r
- else\r
- break;\r
- }\r
- if(nCandidate!=-1&&gaTocs[nCandidate].nMI!=-1)\r
- return nCandidate;\r
+ if(nCan!=-1)\r
+ return nCan;\r
else\r
return -1;\r
}\r
return _getFullPath(gaProj[0].sPPath,sIcon);\r
}\r
\r
+function getInnerText2(obj)\r
+{\r
+ var sText=getInnerText(obj);\r
+ if(sText.length>0&&!gbOpera7)\r
+ sText=sText.substring(1);\r
+ return sText;\r
+}\r
+\r
function expandToc(oObj,sRest,aIdList)\r
{\r
var len=aIdList.length;\r
var aTagAs=getItemsByBook(oObj);\r
for(var s=0;s<aTagAs.length;s++)\r
{\r
- var sText=getInnerText(aTagAs[s]);\r
- if(sText.length>0)\r
- sText=sText.substring(1);\r
+ var sText=getInnerText2(aTagAs[s]);\r
if(sText==sPart)\r
{\r
aIdList[len]=aTagAs[s];\r
var sPId=aChildren[i].id;\r
if(!isPBId(sPId))\r
continue;\r
- var sText=getInnerText(aChildren[i]);\r
- if(sText.substring(1)!=sPart)\r
+ var sText=getInnerText2(aChildren[i]);\r
+ if(sText!=sPart)\r
continue;\r
aIdList[len]=getIdByPBId(sPId);\r
var sCId=getCBId(aIdList[len]);\r
\r
function getIdByPBId(sPId)\r
{\r
- return parseInt(sPId.substring(5,sPId.length-6));\r
+ return parseInt(sPId.substring(2,sPId.length-1));\r
}\r
\r
function getIdByCBId(sCId)\r
{\r
- return parseInt(sCId.substring(5,sCId.length-5));\r
+ return parseInt(sCId.substring(2,sCId.length-1));\r
}\r
\r
function isPBId(sId)\r
{\r
- return (sId&&sId.indexOf("Book_")==0&&sId.lastIndexOf("Parent")==sId.length-6);\r
+ return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("P")==sId.length-1);\r
}\r
\r
function isCBId(sId)\r
{\r
- return (sId&&sId.indexOf("Book_")==0&&sId.lastIndexOf("Child")==sId.length-5);\r
+ return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("C")==sId.length-1);\r
}\r
\r
function getBId(nIdx)\r
{\r
- return "Book_"+nIdx;\r
+ return "B_"+nIdx;\r
}\r
\r
function getPBId(nIdx)\r
{\r
- return getBId(nIdx)+"Parent";\r
+ return getBId(nIdx)+"P";\r
}\r
\r
function getCBId(nIdx)\r
{\r
- return getBId(nIdx)+"Child";\r
+ return getBId(nIdx)+"C";\r
}\r
\r
function getClosestTocPath(aPaths)\r
}\r
}\r
if(nThatIndex!=-1)\r
- {\r
sPath=aPaths[nThatIndex];\r
- }\r
else\r
- {\r
sPath=aPaths[0];\r
- }\r
return sPath;\r
}\r
\r
var aRelTocPaths=oTopicParam.aPaths;\r
var aPaths=new Array();\r
for(var i=0;i<gaProj.length;i++)\r
- {\r
if(isSamePath(gaProj[i].sPPath,oTopicParam.sPPath))\r
{\r
for(var j=0;j<aRelTocPaths.length;j++)\r
- {\r
- aPaths[j]=gaRoot[i].sRPath+aRelTocPaths[j];\r
- aPaths[j]=aPaths[j].substring(1);\r
- }\r
+ for (var k=0;k<gaRoot[i].aRPath.length;k++)\r
+ {\r
+ var sPath=gaRoot[i].aRPath[k]+aRelTocPaths[j];\r
+ aPaths[aPaths.length]=sPath.substring(1);\r
+ }\r
break;\r
}\r
- }\r
return aPaths;\r
}\r
\r
function syncInit()\r
{\r
- if(gsTP)\r
+ if(gsTP&&!gbNeedFillStub)\r
{\r
gInSync=true;\r
var obj=document.body;\r
{\r
if(aIdList.length)\r
for(var i=0;i<aIdList.length-1;i++)\r
- {\r
ExpandIt2(aIdList[i],true);\r
- }\r
gsCTPath=gsTP;\r
if(!gbIE55)\r
aIdList[aIdList.length-1].focus();\r
\r
function loadToc()\r
{\r
- if(!gbReady)\r
+ if(!gbLoadToc)\r
{\r
var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
if(SendMessage(oResMsg)&&oResMsg.oParam)\r
{\r
+ gbLoadToc=true;\r
var oProj=oResMsg.oParam;\r
gaProj=oProj.aProj;\r
gbXML=oProj.bXML;\r
function load1B1()\r
{\r
if(gnLT+1<gaProj.length)\r
- {\r
for(var i=gnLT+1;i<gaProj.length;i++)\r
- {\r
- if(gaProj[i].sToc!=null&&gaProj[i].sToc!="")\r
+ if(gaProj[i].sToc)\r
{\r
- gbLoadToc=true;\r
+ gbToc=true;\r
gnLT=i;\r
setTimeout("loadTocInfo()",1);\r
return true;\r
}\r
- }\r
- }\r
return false;\r
}\r
\r
gaRoot[gnLT].sToc=sRoot;\r
\r
if(gnLT==0)\r
- gaRoot[gnLT].sRPath=gsPathSplit;\r
+ {\r
+ gaRoot[gnLT].aRPath=new Array();\r
+ gaRoot[gnLT].aRPath[0]=gsPathSplit;\r
+ }\r
\r
updatePTPath(gnLT,aProj);\r
\r
{\r
if(gaProj[0].sToc!="")\r
{\r
+ gbLData=true;\r
goChunk=addTocChunk(gaProj[0].sPPath,gaProj[0].sDPath);\r
- gbLoadToc=false;\r
+ gbToc=false;\r
loadData2(gaProj[0].sPPath+gaProj[0].sDPath+gaRoot[0].sToc);\r
}\r
}\r
function updatePTPath(n,aProj)\r
{\r
if(aProj)\r
- {\r
for(var i=0;i<aProj.length;i++)\r
{\r
var sFullPath=_getFullPath(gaProj[n].sPPath,aProj[i].sPPath);\r
for(var j=0;j<gaProj.length;j++)\r
- {\r
if(isSamePath(sFullPath,gaProj[j].sPPath))\r
{\r
if(gaRoot.length<=j||!gaRoot[j])\r
gaRoot[j]=new Object();\r
- if(!gaRoot[j].sRPath)\r
- {\r
- if(gaRoot[n].sRPath)\r
- gaRoot[j].sRPath=gaRoot[n].sRPath+aProj[i].sRPath;\r
- else\r
- gaRoot[j].sRPath=aProj[i].sRPath;\r
- }\r
+ if(!gaRoot[j].aRPath)\r
+ gaRoot[j].aRPath=new Array();\r
+\r
+ if(gaRoot[n].aRPath)\r
+ for(var k=0;k<gaRoot[n].aRPath.length;k++)\r
+ {\r
+ var bDup=false;\r
+ var sTFPath=gaRoot[n].aRPath[k]+aProj[i].sRPath;\r
+ for(var l=0;l<gaRoot[j].aRPath.length;l++)\r
+ if(gaRoot[j].aRPath[l]==sTFPath)\r
+ {\r
+ bDup=true;\r
+ break;\r
+ }\r
+ if(!bDup)\r
+ gaRoot[j].aRPath[gaRoot[j].aRPath.length]=sTFPath;\r
+ }\r
+ else\r
+ gaRoot[j].aRPath[gaRoot[j].aRPath.length]=aProj[i].sRPath;\r
break;\r
}\r
- }\r
}\r
+}\r
+\r
+function onLoadXMLError()\r
+{\r
+ if(gbToc)\r
+ {\r
+ var sRoot="";\r
+ var aRProj=new Array();\r
+ projReady(sRoot,aRProj);\r
+ }\r
+ else\r
+ {\r
+ var aToc=new Array();\r
+ putData(aToc)\r
}\r
}\r
\r
function putDataXML(xmlDoc,sDocPath)\r
{\r
- if(gbLoadToc)\r
+ if(gbToc)\r
{\r
var tocNode=xmlDoc.getElementsByTagName("toc")[0];\r
if(tocNode)\r
for(var i=0;i<rmtProject.length;i++)\r
{\r
aRProj[i]=new Object();\r
- aRProj[i].sPPath=rmtProject[i].getAttribute("url");\r
- aRProj[i].sRPath=rmtProject[i].getAttribute("path");\r
+ var sURL=rmtProject[i].getAttribute("url");\r
+ if(sURL)\r
+ {\r
+ if(sURL.lastIndexOf("/")!=sURL.length-1)\r
+ sURL+="/"; \r
+ }\r
+ aRProj[i].sPPath=sURL;\r
+ aRProj[i].sRPath = "";\r
+ var oSubPath = rmtProject[i].getElementsByTagName("subpath")[0];\r
+ if (oSubPath)\r
+ {\r
+ while (oSubPath)\r
+ {\r
+ aRProj[i].sRPath += oSubPath.getAttribute("name") + "\n";\r
+ oSubPath = oSubPath.getElementsByTagName("subpath")[0];\r
+ }\r
+ }\r
+ else\r
+ aRProj[i].sRPath=rmtProject[i].getAttribute("path");\r
}\r
}\r
projReady(sRoot,aRProj);\r
if(sIcons)\r
item.sIconRef=sIcons;\r
if(sURL==null) sURL="";\r
+\r
item.sItemURL=sURL;\r
\r
if(oChild.nodeName=="book")\r
}\r
else if(oChild.nodeName=="project")\r
{\r
+ if(sRef)\r
+ {\r
+ if(sRef.lastIndexOf("/")!=sRef.length-1)\r
+ sRef+="/"; \r
+ }\r
item.nType=4;\r
item.sRefURL=sRef;\r
item.nContents=0;\r
\r
function realPutData()\r
{\r
+ removeLoadingDiv();\r
var aTocs=gaTocsNs61Fix;\r
if(!aTocs) return;\r
if(goChunk)\r
gnMinIdx+=aTocs.length;\r
if(gnInsIdx!=-1)\r
{\r
- var oObj=getElement(getCBId(gnInsIdx));\r
+ var oObj=getElement(getPBId(gnInsIdx));\r
if(oObj)\r
{\r
- oObj.innerHTML=writeBookItems(n-1,aTocs.length);\r
+ oObj.insertAdjacentHTML("afterEnd",writeBookItems(n-1,aTocs.length));\r
setTimeout("syncInit()",1);\r
}\r
}\r
var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);\r
if(SendMessage(oMsg))\r
{\r
- if (oMsg.oParam.oTocInfo)\r
+ if(oMsg.oParam.oTocInfo)\r
syncWithPaths(oMsg.oParam.oTocInfo);\r
}\r
} \r
}\r
+ gbLData=false;\r
+ checkFillStub();\r
}\r
\r
function syncWithPaths(oTopicParam)\r
return true;\r
}\r
\r
-if (window.gbWhUtil&&window.gbWhVer&&window.gbWhMsg&&window.gbWhProxy)\r
+if(window.gbWhUtil&&window.gbWhVer&&window.gbWhMsg&&window.gbWhProxy)\r
{\r
RegisterListener2(this,WH_MSG_PROJECTREADY);\r
RegisterListener2(this,WH_MSG_SYNCTOC);\r
gbWhTHost=true;\r
}\r
else\r
- document.location.reload();\r
-\r
+ document.location.reload();
\ No newline at end of file