home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 May / CHIPCD200305.iso / super / altn / md_en.exe / WHGHOST.JS < prev    next >
Encoding:
JavaScript  |  2003-04-14  |  5.6 KB  |  243 lines

  1. //    WebHelp 5.10.002
  2. var gbXML=false;
  3. var gaDef=new Array();
  4. var gsBgColor="#ffffff";
  5. var gsBgImage="";
  6. var goFont=null;
  7. var goHoverFont=null;
  8. var gsMargin="2pt";
  9. var gsIndent="2pt";
  10. var gsActiveBgColor="#cccccc";
  11. var gbWhGHost=false;
  12.  
  13. function setBackground(sBgImage)
  14. {
  15.     gsBgImage=sBgImage;
  16. }
  17.  
  18. function setBackgroundcolor(sBgColor)
  19. {
  20.     gsBgColor=sBgColor;
  21. }
  22.  
  23. function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
  24. {
  25.     var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
  26.     if(sType=="Normal")
  27.         goFont=vFont;
  28.     else if(sType=="Hover")
  29.         goHoverFont=vFont;
  30. }
  31.  
  32. function setActiveBgColor(sBgColor)
  33. {
  34.     gsActiveBgColor=sBgColor;
  35. }
  36.  
  37. function setMargin(sMargin)
  38. {
  39.     gsMargin=sMargin;
  40. }
  41.  
  42. function setIndent(sIndent)
  43. {
  44.     gsIndent=sIndent;
  45. }
  46.  
  47. function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,n,aPos,nLevel)
  48. {
  49.  
  50.     var sHTML="";
  51.     var nIdxSet=aCurIdxSet[n];
  52.     var nIIdx=aPos[nIdxSet];
  53.     var sRawKName = getItemName(aDataCon,nIdxSet,nIIdx);
  54.     var sKName=_textToHtml(sRawKName);
  55.     var nIndex=insertDef(sKName,_textToHtml_nonbsp(getDef(aDataCon,nIdxSet,nIIdx)));
  56.     if(nLevel==1){
  57.         sHTML+="<p><nobr><a alt=\"" + sKName+"\" href=\"javascript:void(0);\" onclick=\"showDef("+nIndex;
  58.         sHTML+=");return false;\">"+sKName+"</a></nobr></p>";
  59.     }
  60.     oHTML.addHTML(sHTML,1,bDown,true,sRawKName);
  61. }
  62.  
  63. function insertDef(sKName,sDef)
  64. {
  65.     var nLength=gaDef.length
  66.     var oGlo=new nameDefPair(sKName,sDef);
  67.     gaDef[nLength]=oGlo;
  68.     return nLength;
  69. }
  70.  
  71. function showDef(nDef)
  72. {
  73.     if(nDef<gaDef.length)
  74.     {    
  75.         var oParam=gaDef[nDef];
  76.         var oMsg=new whMessage(WH_MSG_SHOWGLODEF,this,1,oParam);
  77.         SendMessage(oMsg);
  78.     }
  79. }
  80.  
  81. function nameDefPair(sName,sDef)
  82. {
  83.     this.sName=sName;
  84.     this.sDef=sDef;
  85. }
  86.  
  87. function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)
  88. {
  89.     var sHTML="";
  90.     var nIdxSet=aCurIdxSet[0];
  91.     var nIIdx=aPos[nIdxSet];
  92.     var sRawKName = getItemName(aDataCon,nIdxSet,nIIdx);
  93.     var sKName=_textToHtml(sRawKName);
  94.     var sDText=_textToHtml_nonbsp(getDef(aDataCon,nIdxSet,nIIdx));
  95.     var sDef=sDText;
  96.     for(var i=1;i<nLength;i++)
  97.     {
  98.         var nIdxSeti=aCurIdxSet[i];
  99.         var nIIdxi=aPos[nIdxSeti];
  100.         var sRawKNamei = getItemName(aDataCon,nIdxSeti,nIIdxi);
  101.         var sKNamei=_textToHtml(sRawKNamei);
  102.         var sDTexti=_textToHtml_nonbsp(getDef(aDataCon,nIdxSeti,nIIdxi));
  103.         if (compare(sKNamei,sKName)==0)
  104.         {
  105.             if (sDText!=sDTexti)
  106.                 sDef+="<br>"+sDTexti;
  107.         }
  108.     }
  109.     var nIndex=insertDef(sKName,sDef);
  110.     if(nLevel==1){
  111.         sHTML+="<p><nobr><a alt=\"" + sKName+"\" href=\"javascript:void(0);\" onclick=\"showDef("+nIndex;
  112.         sHTML+=");return false;\">"+sKName+"</a></nobr></p>";
  113.     }
  114.     oHTML.addHTML(sHTML,1,bDown,true,sRawKName);
  115. }
  116.  
  117. function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)
  118. {
  119.     if(bDown)
  120.     {
  121.         for(var i=0;i<nLength;i++)
  122.             aPos[aCurIdxSet[i]]++;
  123.     }
  124.     else{
  125.         for(var i=0;i<nLength;i++)
  126.             aPos[aCurIdxSet[i]]--;
  127.     }
  128. }
  129.  
  130. function getDef(aDataCon,nIdxSet,nIIdx)
  131. {
  132.     if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
  133.         return aDataCon[nIdxSet].aKs[nIIdx].sDef;
  134.     else
  135.         return null;
  136. }
  137.  
  138. function getItemName(aDataCon,nIdxSet,nIIdx)
  139. {
  140.     if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
  141.         return aDataCon[nIdxSet].aKs[nIIdx].sName;
  142.     else
  143.         return null;
  144. }
  145.  
  146. function window_OnLoad()
  147. {
  148.     if(gsBgImage&&gsBgImage.length>0)
  149.         document.body.background=gsBgImage;
  150.     if(gsBgColor&&gsBgColor.length>0)
  151.         document.body.bgColor=gsBgColor;
  152.     document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());
  153.     loadGlo();
  154.     var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)
  155.     SendMessage(oMsg);
  156. }
  157.  
  158. function loadGlo()
  159. {
  160.     if(!gbReady)
  161.     {
  162.         var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);
  163.         if(SendMessage(oResMsg)&&oResMsg.oParam)
  164.         {
  165.             gbReady=true;
  166.             var oProj=oResMsg.oParam;
  167.             var aProj=oProj.aProj;
  168.             gbXML=oProj.bXML;
  169.             if(aProj.length>0)
  170.             {
  171.                 var sLangId=aProj[0].sLangId;
  172.                 for(var i=0;i<aProj.length;i++)
  173.                 {
  174.                     if(aProj[i].sGlo&&aProj[i].sLangId==sLangId)
  175.                         addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sGlo);
  176.                 }
  177.             }
  178.             writeDataIFrame();
  179.             enEvt();
  180.         }        
  181.     }
  182. }
  183.  
  184. function findCKInDom()
  185. {
  186.     return true;
  187. }
  188.  
  189. function GloWriteClassStyle()
  190. {
  191.     var sStyle="<STYLE TYPE='text/css'>\n";
  192.     if (gsBgImage)
  193.         sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
  194.     else
  195.         sStyle+="body {border-top:black 1px solid;}\n";
  196.     sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";margin-left:"+gsIndent+";}\n";
  197.     sStyle+="A:link {"+getFontStyle(goFont)+"}\n";
  198.     sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";
  199.     sStyle+="A:active {background-color:"+gsActiveBgColor+";}\n";
  200.     sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";
  201.     sStyle+="</STYLE>";    
  202.     document.write(sStyle);
  203. }
  204.  
  205. function window_Unload()
  206. {
  207.     UnRegisterListener2(this,WH_MSG_PROJECTREADY);
  208.     UnRegisterListener2(this,WH_MSG_SHOWGLO);
  209. }
  210.  
  211. function onSendMessage(oMsg)
  212. {
  213.     if(oMsg)
  214.     {
  215.         var nMsgId=oMsg.nMessageId;
  216.         if(nMsgId==WH_MSG_SHOWGLO)
  217.         {
  218.             if(!gbNav6)
  219.                 document.body.focus();
  220.         }
  221.         else if(nMsgId==WH_MSG_PROJECTREADY)
  222.         {
  223.             loadGlo();
  224.         }
  225.     }
  226.     return true;
  227. }
  228.  
  229. if (window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhHost)
  230. {
  231.     RegisterListener2(this,WH_MSG_PROJECTREADY);
  232.     RegisterListener2(this,WH_MSG_SHOWGLO);
  233.     goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
  234.     goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");
  235.     window.onload=window_OnLoad;
  236.     window.onbeforeunload=window_BUnload;
  237.     window.onunload=window_Unload;
  238.     gbWhGHost=true;
  239. }
  240. else
  241.     document.location.reload();
  242.  
  243.