Salome HOME
Merging with WPdev
[modules/smesh.git] / doc / salome / gui / SMESH / whihost.js
index 9aaf13a6a58483b1e15effca8b7f79775caccbba..d48c493ee68f60b4c5a8da21c1ddf39ab51874ce 100755 (executable)
-//     WebHelp 5.10.002\r
-var gsDefaultTarget="bsscright";\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goIdxFont=null;\r
-var goIdxEmptyFont=null;\r
-var goIdxHoverFont=null;\r
-var gsIdxMargin="0pt";\r
-var gsIdxIndent="8pt";\r
-var gsIdxActiveBgColor="#cccccc";\r
-var gsCK = null;\r
-var gsBCK = null;\r
-var gbCR = false;\r
-var gbBCR = false;\r
-var gbWhIHost=true;\r
-\r
-function myEvent()\r
-{\r
-       this.pageX = 0;\r
-       this.pageY = 0;\r
-}\r
-var _event=new myEvent();\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       gsBgColor=sBgColor;\r
-}\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       gsBgImage=sBgImage;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if(sType=="Normal")\r
-               goIdxFont=vFont;\r
-       else if(sType=="Empty")\r
-               goIdxEmptyFont=vFont;\r
-       else if(sType=="Hover")\r
-               goIdxHoverFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
-       gsIdxActiveBgColor=sBgColor;\r
-}\r
-\r
-function setMargin(sMargin)\r
-{\r
-       gsIdxMargin=sMargin;\r
-}\r
-\r
-function setIndent(sIndent)\r
-{\r
-       gsIdxIndent=sIndent;\r
-}\r
-\r
-function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
-       var sHTML="";\r
-       var nIdxSet=aCurIdxSet[0];\r
-       var nIIdx=aPos[nIdxSet];\r
-       var sKOriName=getItemName(aDataCon,nIdxSet,nIIdx);\r
-       var sKName=_textToHtml(sKOriName);\r
-\r
-       var nIdxIndent=parseInt(gsIdxIndent);\r
-       var sTopics="";\r
-       if(nLevel==1){\r
-               if(getItemType(aDataCon,nIdxSet,nIIdx)==1)\r
-               {\r
-                       sHTML+="<H6><nobr>";\r
-                       sHTML+="<b>"+sKName+"</b></nobr></H6>";\r
-               }\r
-               else{\r
-                       for(var i=0;i<nLength;i++)\r
-                               sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-                       sHTML+="<p style=\"margin-left:"+gsIdxIndent+"\"><nobr>";\r
-                       sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";\r
-                       if(sTopics.length>0)\r
-                               sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></p>";\r
-                       else\r
-                               sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></p>";\r
-               }\r
-       }\r
-       else if(nLevel>=2){\r
-               var nIndent=nIdxIndent*nLevel;\r
-               for(var i=0;i<nLength;i++)\r
-                       sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-               if (nLevel==2)\r
-                       sHTML+="<h6 class=\"firstsub\" style=\"margin-left:"+nIndent+"pt\"><nobr>";\r
-               else\r
-                       sHTML+="<h6 style=\"margin-left:"+nIndent+"pt\"><nobr>";\r
-               sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";\r
-               if(sTopics.length>0)\r
-                       sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></h6>";\r
-               else\r
-                       sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></h6>";\r
-       }\r
-       oHTML.addHTML(sHTML,nLength,bDown,(nLevel==1),sKOriName);\r
-}\r
-\r
-function getTargetName(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               if(aDataCon[nIdxSet].aKs[nIIdx].sTarget)\r
-                       return aDataCon[nIdxSet].aKs[nIIdx].sTarget;\r
-       return gsDefaultTarget;\r
-}\r
-\r
-function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
-       var oLocalHTML=new indexHTMLPart();\r
-       writeOneItem(oLocalHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel);\r
-       \r
-       var aLocalPos=new Array();\r
-       var aMaxPos=new Array();\r
-       for(var i=0;i<aPos.length;i++)\r
-       {\r
-               aLocalPos[i]=aPos[i];\r
-               aMaxPos[i]=-1;\r
-       }\r
-       \r
-       for(i=0;i<nLength;i++)\r
-       {\r
-               var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aLocalPos[aCurIdxSet[i]]);\r
-               aLocalPos[aCurIdxSet[i]]++;\r
-               if(nNKOff>0)\r
-                       aMaxPos[aCurIdxSet[i]]=aLocalPos[aCurIdxSet[i]]+nNKOff;\r
-       }\r
-       var oSubHTML=new indexHTMLPart();\r
-       writeItems(oSubHTML,aDataCon,aLocalPos,null,aMaxPos,true,nLevel+1);\r
-       oLocalHTML.addSubHTML(oSubHTML,true);\r
-       oHTML.appendHTML(oLocalHTML,bDown);\r
-}\r
-\r
-function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)\r
-{\r
-       if(bDown)\r
-       {\r
-               for(var i=0;i<nLength;i++)\r
-               {\r
-                       var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-                       aPos[aCurIdxSet[i]]+=(1+nNKOff);\r
-               }\r
-       }\r
-       else{\r
-               for(var i=0;i<nLength;i++)\r
-               {\r
-                       var nPKOff=getPKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-                       aPos[aCurIdxSet[i]]-=(1+nPKOff);\r
-               }\r
-       }\r
-}\r
-\r
-function getItemName(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].sName;\r
-       else\r
-               return null;\r
-}\r
-\r
-function getItemType(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].nType;\r
-       else\r
-               return 0;\r
-}\r
-\r
-function getNKOff(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].nNKOff;\r
-       else\r
-               return null;\r
-}\r
-\r
-function getPKOff(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].nPKOff;\r
-       else\r
-               return null;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(gsBgImage&&gsBgImage.length>0)\r
-       {\r
-               document.body.background=gsBgImage;\r
-       }\r
-       if(gsBgColor&&gsBgColor.length>0)\r
-       {\r
-               document.body.bgColor=gsBgColor;\r
-       }\r
-       document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());\r
-       loadIdx();\r
-       var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function loadIdx()\r
-{\r
-       if(!gbReady)\r
-       {\r
-               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
-               if(SendMessage(oResMsg)&&oResMsg.oParam)\r
-               {\r
-                       gbReady=true;\r
-                       var oProj=oResMsg.oParam;\r
-                       var aProj=oProj.aProj;\r
-                       gbXML=oProj.bXML;\r
-                       if(aProj.length>0)\r
-                       {\r
-                               var sLangId=aProj[0].sLangId;\r
-                               for(var i=0;i<aProj.length;i++)\r
-                               {\r
-                                       if(aProj[i].sIdx&&aProj[i].sLangId==sLangId)\r
-                                       {\r
-                                               addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sIdx);\r
-                                       }\r
-                               }\r
-                       }\r
-                       writeDataIFrame();\r
-                       enEvt();\r
-               }               \r
-       }\r
-}\r
-\r
-function getIdxTopics(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       var sTopics="";\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-       {\r
-               if(aDataCon[nIdxSet].aKs[nIIdx].aTopics)\r
-               {\r
-                       var nLen=aDataCon[nIdxSet].aKs[nIIdx].aTopics.length;\r
-                       var nProj=aDataCon[nIdxSet].nProjId;\r
-                       var sPath=gaData[nProj].sPPath;\r
-                       for(var i=0;i<nLen;i++)\r
-                       {\r
-                               var sURL=aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sURL;\r
-                               var sFullPath=_getFullPath(sPath,sURL);\r
-                               sTopics+=",'"+excapeSingleQuotandSlash(_textToHtml(aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sName))+"','"+excapeSingleQuotandSlash(_textToHtml_nonbsp(sFullPath))+"'";\r
-                       }\r
-               }\r
-       }\r
-       return sTopics;         \r
-}\r
-\r
-function findCKInDom()\r
-{\r
-       if(gsCK!=null)\r
-       {\r
-               var sK=gsCK;\r
-               var oP=getElementsByTag(document,"P");\r
-               if(!oP) return false;\r
-               var len=oP.length;\r
-               var nB=0;\r
-               var nE=len-1;\r
-               var nM=0;\r
-               var sItem="";\r
-               var bF=false;\r
-               while(nB<nE){\r
-                       nM=(nB+nE+1)>>1;\r
-                       sItem=getInnerText(oP[nM]);\r
-                       \r
-                       if(compare(sItem,sK)==0)\r
-                       {\r
-                               bF=true;\r
-                               break;\r
-                       }\r
-                       else if(compare(sItem,sK)>0)\r
-                               nE=nM-1;\r
-                       else if(compare(sItem,sK)<0)\r
-                               nB=nM;\r
-               }\r
-               if(!bF)\r
-               {\r
-                       if(nB==nE) nM=nB;\r
-               \r
-                       if(nM+1<len)\r
-                       {\r
-                               sItem=getInnerText(oP[nM+1]);\r
-                               if(compare(sItem,sK)<=0) nM++;\r
-                       }                       \r
-                       if(nM+1<len)\r
-                       {\r
-                               sItem=getInnerText(oP[nM+1]);\r
-                               if(compare(sItem.substring(0,sK.length),sK)==0) nM++;\r
-                       }                       \r
-               }\r
-       \r
-               var oMatch=oP[nM];\r
-               if(oMatch)\r
-               {\r
-                       window.scrollTo(0,oMatch.offsetTop);\r
-                       var tempColl=getElementsByTag(oMatch,"A");\r
-                       if(tempColl&&tempColl.length>0){\r
-                               var nbTag=getElementsByTag(oMatch,"NOBR");\r
-                               if(nbTag&&nbTag.length>0)\r
-                                       HighLightElement(nbTag[0], gsIdxActiveBgColor, "transparent");\r
-                               if (gbCR)\r
-                               {\r
-                                       if (gbIE4)\r
-                                               tempColl(0).click();\r
-                                       else\r
-                                       {\r
-                                               var strCommand = tempColl[0].getAttribute("onClick");\r
-                                               var nstrCommand = strCommand.indexOf(";");\r
-                                               strCommand = strCommand.substring(0, nstrCommand);\r
-                                               strCommand = strCommand.replace("event", "_event");\r
-                                               window._event.pageX = oMatch.offsetLeft ;\r
-                                               window._event.pageY = oMatch.offsetTop + 20;\r
-                                               window.setTimeout(strCommand, 100);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               gsCK=gsBCK;\r
-               gbCR=gbBCR;\r
-               if(gsBCK!=null)\r
-               {\r
-                       gsBCK=null;\r
-                       gbBCR=false;\r
-                       findCK();\r
-                       return false;\r
-               }\r
-               \r
-       }\r
-       return true;\r
-}\r
-\r
-function clearHighLight()\r
-{\r
-       resetHighLight(gsBgColor);\r
-}\r
-\r
-function IndexWriteClassStyle()\r
-{\r
-       var sStyle="";\r
-       sStyle+="<STYLE TYPE='text/css'>";\r
-       if (gsBgImage)\r
-               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="body {border-top:black 1px solid;}\n";\r
-       if(gbIE4&&gbMac&&!gbIE5)\r
-       {\r
-               var nMargin=parseInt(gsIdxMargin);\r
-               nMargin-=10;\r
-               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-               sStyle+="H6.firstsub {"+getFontStyle(goIdxFont)+"margin-top:"+nMargin+"pt;margin-bottom:"+gsIdxMargin+";}\n";\r
-       }\r
-       else\r
-       {\r
-               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-       }\r
-       sStyle+="DIV {margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-       sStyle+="A:link {"+getFontStyle(goIdxFont)+"}\n";\r
-       sStyle+="A:visited {"+getFontStyle(goIdxFont)+"}\n";\r
-       sStyle+="A:active {background-color:"+gsIdxActiveBgColor+";}\n";\r
-       sStyle+="A:hover {"+getFontStyle(goIdxHoverFont)+"}\n";\r
-       sStyle+="</STYLE>";     \r
-       document.write(sStyle);\r
-       return;\r
-}\r
-\r
-function window_Unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       UnRegisterListener2(this,WH_MSG_SEARCHINDEXKEY);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if(oMsg)\r
-       {\r
-               var nMsgId=oMsg.nMessageId;\r
-               if(nMsgId==WH_MSG_SEARCHINDEXKEY)\r
-               {\r
-                       if(oMsg.oParam && oMsg.oParam.sInput)\r
-                       {\r
-                               if(gsCK==null)\r
-                               {\r
-                                       gsCK=oMsg.oParam.sInput;\r
-                                       gbCR = oMsg.oParam.bCR;\r
-                                       findCK();\r
-                               }\r
-                               else\r
-                               {\r
-                                       gsBCK=oMsg.oParam.sInput;\r
-                                       gbBCR = oMsg.oParam.bCR;\r
-                               }\r
-                       }\r
-               }\r
-               else if(nMsgId==WH_MSG_PROJECTREADY)\r
-               {\r
-                       loadIdx();\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-if(window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhHost&&window.gbWhProxy)\r
-{\r
-       RegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       RegisterListener2(this,WH_MSG_SEARCHINDEXKEY);\r
-       goIdxFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
-       goIdxEmptyFont=new whFont("Verdana","8pt","#666666","normal","normal","none");\r
-       goIdxHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
-\r
-       window.onload=window_OnLoad;\r
-       window.onbeforeunload=window_BUnload;\r
-       window.onunload=window_Unload;\r
-       gbWhIHost=true;\r
-}\r
-else\r
-       document.location.reload();\r
-\r
+//     WebHelp 5.10.002
+var gsDefaultTarget="bsscright";
+var gsBgColor="#ffffff";
+var gsBgImage="";
+var goIdxFont=null;
+var goIdxEmptyFont=null;
+var goIdxHoverFont=null;
+var gsIdxMargin="0pt";
+var gsIdxIndent="8pt";
+var gsIdxActiveBgColor="#cccccc";
+var gsCK = null;
+var gsBCK = null;
+var gbCR = false;
+var gbBCR = false;
+var gbWhIHost=true;
+
+function myEvent()
+{
+       this.pageX = 0;
+       this.pageY = 0;
+}
+var _event=new myEvent();
+
+function setBackgroundcolor(sBgColor)
+{
+       gsBgColor=sBgColor;
+}
+
+function setBackground(sBgImage)
+{
+       gsBgImage=sBgImage;
+}
+
+function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if(sType=="Normal")
+               goIdxFont=vFont;
+       else if(sType=="Empty")
+               goIdxEmptyFont=vFont;
+       else if(sType=="Hover")
+               goIdxHoverFont=vFont;
+}
+
+function setActiveBgColor(sBgColor)
+{
+       gsIdxActiveBgColor=sBgColor;
+}
+
+function setMargin(sMargin)
+{
+       gsIdxMargin=sMargin;
+}
+
+function setIndent(sIndent)
+{
+       gsIdxIndent=sIndent;
+}
+
+function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)
+{
+       var sHTML="";
+       var nIdxSet=aCurIdxSet[0];
+       var nIIdx=aPos[nIdxSet];
+       var sKOriName=getItemName(aDataCon,nIdxSet,nIIdx);
+       var sKName=_textToHtml(sKOriName);
+
+       var nIdxIndent=parseInt(gsIdxIndent);
+       var sTopics="";
+       if(nLevel==1){
+               if(getItemType(aDataCon,nIdxSet,nIIdx)==1)
+               {
+                       sHTML+="<H6><nobr>";
+                       sHTML+="<b>"+sKName+"</b></nobr></H6>";
+               }
+               else{
+                       for(var i=0;i<nLength;i++)
+                               sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+                       sHTML+="<p style=\"margin-left:"+gsIdxIndent+"\"><nobr>";
+                       sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";
+                       if(sTopics.length>0)
+                               sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></p>";
+                       else
+                               sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></p>";
+               }
+       }
+       else if(nLevel>=2){
+               var nIndent=nIdxIndent*nLevel;
+               for(var i=0;i<nLength;i++)
+                       sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+               if (nLevel==2)
+                       sHTML+="<h6 class=\"firstsub\" style=\"margin-left:"+nIndent+"pt\"><nobr>";
+               else
+                       sHTML+="<h6 style=\"margin-left:"+nIndent+"pt\"><nobr>";
+               sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";
+               if(sTopics.length>0)
+                       sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></h6>";
+               else
+                       sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></h6>";
+       }
+       oHTML.addHTML(sHTML,nLength,bDown,(nLevel==1),sKOriName);
+}
+
+function getTargetName(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               if(aDataCon[nIdxSet].aKs[nIIdx].sTarget)
+                       return aDataCon[nIdxSet].aKs[nIIdx].sTarget;
+       return gsDefaultTarget;
+}
+
+function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)
+{
+       var oLocalHTML=new indexHTMLPart();
+       writeOneItem(oLocalHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel);
+       
+       var aLocalPos=new Array();
+       var aMaxPos=new Array();
+       for(var i=0;i<aPos.length;i++)
+       {
+               aLocalPos[i]=aPos[i];
+               aMaxPos[i]=-1;
+       }
+       
+       for(i=0;i<nLength;i++)
+       {
+               var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aLocalPos[aCurIdxSet[i]]);
+               aLocalPos[aCurIdxSet[i]]++;
+               if(nNKOff>0)
+                       aMaxPos[aCurIdxSet[i]]=aLocalPos[aCurIdxSet[i]]+nNKOff;
+       }
+       var oSubHTML=new indexHTMLPart();
+       writeItems(oSubHTML,aDataCon,aLocalPos,null,aMaxPos,true,nLevel+1);
+       oLocalHTML.addSubHTML(oSubHTML,true);
+       oHTML.appendHTML(oLocalHTML,bDown);
+}
+
+function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)
+{
+       if(bDown)
+       {
+               for(var i=0;i<nLength;i++)
+               {
+                       var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+                       aPos[aCurIdxSet[i]]+=(1+nNKOff);
+               }
+       }
+       else{
+               for(var i=0;i<nLength;i++)
+               {
+                       var nPKOff=getPKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+                       aPos[aCurIdxSet[i]]-=(1+nPKOff);
+               }
+       }
+}
+
+function getItemName(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].sName;
+       else
+               return null;
+}
+
+function getItemType(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].nType;
+       else
+               return 0;
+}
+
+function getNKOff(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].nNKOff;
+       else
+               return null;
+}
+
+function getPKOff(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].nPKOff;
+       else
+               return null;
+}
+
+function window_OnLoad()
+{
+       if(gsBgImage&&gsBgImage.length>0)
+       {
+               document.body.background=gsBgImage;
+       }
+       if(gsBgColor&&gsBgColor.length>0)
+       {
+               document.body.bgColor=gsBgColor;
+       }
+       document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());
+       loadIdx();
+       var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)
+       SendMessage(oMsg);
+}
+
+function loadIdx()
+{
+       if(!gbReady)
+       {
+               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);
+               if(SendMessage(oResMsg)&&oResMsg.oParam)
+               {
+                       gbReady=true;
+                       var oProj=oResMsg.oParam;
+                       var aProj=oProj.aProj;
+                       gbXML=oProj.bXML;
+                       if(aProj.length>0)
+                       {
+                               var sLangId=aProj[0].sLangId;
+                               for(var i=0;i<aProj.length;i++)
+                               {
+                                       if(aProj[i].sIdx&&aProj[i].sLangId==sLangId)
+                                       {
+                                               addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sIdx);
+                                       }
+                               }
+                       }
+                       writeDataIFrame();
+                       enEvt();
+               }               
+       }
+}
+
+function getIdxTopics(aDataCon,nIdxSet,nIIdx)
+{
+       var sTopics="";
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+       {
+               if(aDataCon[nIdxSet].aKs[nIIdx].aTopics)
+               {
+                       var nLen=aDataCon[nIdxSet].aKs[nIIdx].aTopics.length;
+                       var nProj=aDataCon[nIdxSet].nProjId;
+                       var sPath=gaData[nProj].sPPath;
+                       for(var i=0;i<nLen;i++)
+                       {
+                               var sURL=aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sURL;
+                               var sFullPath=_getFullPath(sPath,sURL);
+                               sTopics+=",'"+excapeSingleQuotandSlash(_textToHtml(aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sName))+"','"+excapeSingleQuotandSlash(_textToHtml_nonbsp(sFullPath))+"'";
+                       }
+               }
+       }
+       return sTopics;         
+}
+
+function findCKInDom()
+{
+       if(gsCK!=null)
+       {
+               var sK=gsCK;
+               var oP=getElementsByTag(document,"P");
+               if(!oP) return false;
+               var len=oP.length;
+               var nB=0;
+               var nE=len-1;
+               var nM=0;
+               var sItem="";
+               var bF=false;
+               while(nB<nE){
+                       nM=(nB+nE+1)>>1;
+                       sItem=getInnerText(oP[nM]);
+                       
+                       if(compare(sItem,sK)==0)
+                       {
+                               bF=true;
+                               break;
+                       }
+                       else if(compare(sItem,sK)>0)
+                               nE=nM-1;
+                       else if(compare(sItem,sK)<0)
+                               nB=nM;
+               }
+               if(!bF)
+               {
+                       if(nB==nE) nM=nB;
+               
+                       if(nM+1<len)
+                       {
+                               sItem=getInnerText(oP[nM+1]);
+                               if(compare(sItem,sK)<=0) nM++;
+                       }                       
+                       if(nM+1<len)
+                       {
+                               sItem=getInnerText(oP[nM+1]);
+                               if(compare(sItem.substring(0,sK.length),sK)==0) nM++;
+                       }                       
+               }
+       
+               var oMatch=oP[nM];
+               if(oMatch)
+               {
+                       window.scrollTo(0,oMatch.offsetTop);
+                       var tempColl=getElementsByTag(oMatch,"A");
+                       if(tempColl&&tempColl.length>0){
+                               var nbTag=getElementsByTag(oMatch,"NOBR");
+                               if(nbTag&&nbTag.length>0)
+                                       HighLightElement(nbTag[0], gsIdxActiveBgColor, "transparent");
+                               if (gbCR)
+                               {
+                                       if (gbIE4)
+                                               tempColl(0).click();
+                                       else
+                                       {
+                                               var strCommand = tempColl[0].getAttribute("onClick");
+                                               var nstrCommand = strCommand.indexOf(";");
+                                               strCommand = strCommand.substring(0, nstrCommand);
+                                               strCommand = strCommand.replace("event", "_event");
+                                               window._event.pageX = oMatch.offsetLeft ;
+                                               window._event.pageY = oMatch.offsetTop + 20;
+                                               window.setTimeout(strCommand, 100);
+                                       }
+                               }
+                       }
+               }
+               gsCK=gsBCK;
+               gbCR=gbBCR;
+               if(gsBCK!=null)
+               {
+                       gsBCK=null;
+                       gbBCR=false;
+                       findCK();
+                       return false;
+               }
+               
+       }
+       return true;
+}
+
+function clearHighLight()
+{
+       resetHighLight(gsBgColor);
+}
+
+function IndexWriteClassStyle()
+{
+       var sStyle="";
+       sStyle+="<STYLE TYPE='text/css'>";
+       if (gsBgImage)
+               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="body {border-top:black 1px solid;}\n";
+       if(gbIE4&&gbMac&&!gbIE5)
+       {
+               var nMargin=parseInt(gsIdxMargin);
+               nMargin-=10;
+               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+               sStyle+="H6.firstsub {"+getFontStyle(goIdxFont)+"margin-top:"+nMargin+"pt;margin-bottom:"+gsIdxMargin+";}\n";
+       }
+       else
+       {
+               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+       }
+       sStyle+="DIV {margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+       sStyle+="A:link {"+getFontStyle(goIdxFont)+"}\n";
+       sStyle+="A:visited {"+getFontStyle(goIdxFont)+"}\n";
+       sStyle+="A:active {background-color:"+gsIdxActiveBgColor+";}\n";
+       sStyle+="A:hover {"+getFontStyle(goIdxHoverFont)+"}\n";
+       sStyle+="</STYLE>";     
+       document.write(sStyle);
+       return;
+}
+
+function window_Unload()
+{
+       UnRegisterListener2(this,WH_MSG_PROJECTREADY);
+       UnRegisterListener2(this,WH_MSG_SEARCHINDEXKEY);
+}
+
+function onSendMessage(oMsg)
+{
+       if(oMsg)
+       {
+               var nMsgId=oMsg.nMessageId;
+               if(nMsgId==WH_MSG_SEARCHINDEXKEY)
+               {
+                       if(oMsg.oParam && oMsg.oParam.sInput)
+                       {
+                               if(gsCK==null)
+                               {
+                                       gsCK=oMsg.oParam.sInput;
+                                       gbCR = oMsg.oParam.bCR;
+                                       findCK();
+                               }
+                               else
+                               {
+                                       gsBCK=oMsg.oParam.sInput;
+                                       gbBCR = oMsg.oParam.bCR;
+                               }
+                       }
+               }
+               else if(nMsgId==WH_MSG_PROJECTREADY)
+               {
+                       loadIdx();
+               }
+       }
+       return true;
+}
+
+if(window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhHost&&window.gbWhProxy)
+{
+       RegisterListener2(this,WH_MSG_PROJECTREADY);
+       RegisterListener2(this,WH_MSG_SEARCHINDEXKEY);
+       goIdxFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
+       goIdxEmptyFont=new whFont("Verdana","8pt","#666666","normal","normal","none");
+       goIdxHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");
+
+       window.onload=window_OnLoad;
+       window.onbeforeunload=window_BUnload;
+       window.onunload=window_Unload;
+       gbWhIHost=true;
+}
+else
+       document.location.reload();
+