home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 October / CHIP1002.ISO / exe / COMPUGUI.exe / whghost.js < prev    next >
Encoding:
Text File  |  2002-04-23  |  4.9 KB  |  218 lines

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