1 var gaProj=new Array();
\r
8 var gServerEnabled=false;
\r
10 var gbWhPHost=false;
\r
14 if (navigator.currentNavPen)
\r
15 gsFirstPane = navigator.currentNavPen;
\r
18 function delayLoad()
\r
22 goDiv.innerHTML=gsHTML;
\r
28 function whCom(sName,sComFile)
\r
31 this.msDivId=sName+"Div";
\r
32 this.msIFrameId=sName+"IFrame";
\r
33 this.msComFile=sComFile;
\r
34 this.mbloaded=false;
\r
36 this.show=function(bShow)
\r
38 if(this.mbShow!=bShow)
\r
40 if(bShow&&!this.mbloaded)
\r
45 var oDiv=getElement(this.msDivId);
\r
48 if(gbIE55||(gbIE5&&gbMac))
\r
50 var oIframe=getElement(this.msIFrameId);
\r
55 oDiv.style.zIndex=3;
\r
58 oIframe.style.zIndex=3;
\r
60 oIframe.style.visibility="visible";
\r
65 oDiv.style.zIndex=2;
\r
68 oIframe.style.zIndex=2;
\r
70 oIframe.style.visibility="hidden";
\r
76 oDiv.style.visibility=(bShow==true)?'visible':'hidden';
\r
82 this.load=function()
\r
86 if(this.msComFile.length>0){
\r
87 var strFile= _getFullPath(getPath(), this.msComFile);
\r
88 var oDiv=getElement(this.msDivId);
\r
91 var nIFrameHeight=oDiv.style.pixelHeight;
\r
92 var nIFrameWidth=oDiv.style.pixelWidth;
\r
93 var sHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:";
\r
95 sHTML+=nIFrameWidth+"px;height:"+nIFrameHeight+"px;\"></IFRAME>";
\r
97 sHTML+="100%; height:100%;\"></IFRAME>";
\r
99 oDiv.innerHTML=sHTML;
\r
101 gsHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:100%;border:0;height:";
\r
102 gsHTML+="100%;\"></IFRAME>";
\r
104 setTimeout("delayLoad()", 100);
\r
106 this.mbloaded=true;
\r
111 this.unload=function()
\r
113 var oDiv=getElement(this.msDivId);
\r
117 this.getDivHTML=function()
\r
121 sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;margin:0;padding:0;border:0;\">";
\r
124 sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;\">";
\r
126 sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;visibility:hidden\">";
\r
132 function whComMan()
\r
135 this.maCom=new Array();
\r
136 this.addCom=function(sName,sComFile)
\r
138 var owhCom=new whCom(sName,sComFile);
\r
139 this.maCom[this.maCom.length]=owhCom;
\r
141 this.init=function()
\r
144 for(var i=0;i<this.maCom.length;i++)
\r
146 sHTML+=this.maCom[i].getDivHTML();
\r
148 document.body.insertAdjacentHTML("beforeEnd",sHTML);
\r
151 this.showById=function(nId)
\r
153 for(var s=0;s<this.maCom.length;s++)
\r
156 this.maCom[s].show(false);
\r
158 this.maCom[nId].show(true);
\r
160 this.show=function(sName)
\r
162 navigator.currentNavPen = sName;
\r
164 for(var i=0;i<this.maCom.length;i++)
\r
166 if(sName==this.maCom[i].msName)
\r
178 this.unload=function()
\r
180 for(var i=0;i<this.maCom.length;i++)
\r
182 this.maCom[i].unload();
\r
185 this.getCurrent=function()
\r
195 gsPath=location.href;
\r
196 gsPath=_replaceSlash(gsPath);
\r
197 var nPosFile=gsPath.lastIndexOf("/");
\r
198 gsPath=gsPath.substring(0,nPosFile+1);
\r
203 goMan=new whComMan();
\r
204 function addPane(sName,sFileName)
\r
206 goMan.addCom(sName,sFileName);
\r
209 function setShowPane(sName, bForce)
\r
211 if ((gsFirstPane == "") || bForce)
\r
215 function window_OnLoad()
\r
220 if(gsFirstPane!="")
\r
221 goMan.show(gsFirstPane);
\r
224 loadData2(gsProjName);
\r
226 else if (gServerEnabled)
\r
229 if(gsFirstPane!="")
\r
230 goMan.show(gsFirstPane);
\r
236 function setServerEnabled()
\r
238 gServerEnabled = true;
\r
241 function loadData2(strFile)
\r
244 loadDataXML(strFile);
\r
249 function addProject(bPreferXML,sXMLName,sHTMLName)
\r
251 var bLoadXML=bPreferXML;
\r
252 if(!gbIE4&&!gbNav6)
\r
261 addProjectXML(sXMLName);
\r
263 addProjectHTML(sHTMLName);
\r
266 function addProjectHTML(sName)
\r
272 function addProjectXML(sName)
\r
278 function window_MyBunload()
\r
284 function putDataXML(xmlDoc,sdocPath)
\r
288 var projectNode=xmlDoc.getElementsByTagName("project")[0];
\r
291 var aRProj=new Array();
\r
292 aRProj[0]=new Object();
\r
293 aRProj[0].sPPath=_getPath(sdocPath);
\r
294 var sLangId=projectNode.getAttribute("langid");
\r
297 aRProj[0].sLangId=sLangId;
\r
299 var sDPath=projectNode.getAttribute("datapath");
\r
302 if(sDPath.lastIndexOf("/")!=sDPath.length-1)
\r
304 aRProj[0].sDPath=sDPath;
\r
307 aRProj[0].sDPath="";
\r
308 aRProj[0].sToc=projectNode.getAttribute("toc");
\r
309 aRProj[0].sIdx=projectNode.getAttribute("index");
\r
310 aRProj[0].sFts=projectNode.getAttribute("fts");
\r
311 aRProj[0].sGlo=projectNode.getAttribute("glossary");
\r
312 var RmtProject=projectNode.getElementsByTagName("remote");
\r
314 for (var i=0;i<RmtProject.length;i++)
\r
316 var sURL=RmtProject[i].getAttribute("url");
\r
319 aRProj[nCount]=new Object();
\r
320 aRProj[nCount++].sPPath=_getFullPath(aRProj[0].sPPath,sURL);
\r
323 putProjectInfo(aRProj);
\r
327 // on Netscape 6.0 under some situation the xml file cannot be loaded.
\r
328 // so we use pure html instead.
\r
329 setTimeout("redirectToList();",100);
\r
334 function redirectToList()
\r
337 document.location=gsNavReDirect;
\r
339 parent.document.location=gsNavReDirect;
\r
342 function putProjectInfo(aRProj)
\r
344 if(gnChecked==0||isSamePath(gaProj[gnChecked].sPPath,aRProj[0].sPPath))
\r
348 if(aRProj[0].sLangId!=gaProj[0].sLangId)
\r
349 alert("The project: "+aRProj[0].sPPath+" is using a different language to the main project, which will cause the index and full text search functionality to be disabled for this remote project.");
\r
351 gaProj[gnChecked]=aRProj[0];
\r
352 for(var i=1;i<aRProj.length;i++)
\r
355 for(var j=0;j<gaProj.length;j++)
\r
357 if(isSamePath(gaProj[j].sPPath,aRProj[i].sPPath))
\r
365 gaProj[gaProj.length]=aRProj[i];
\r
369 checkRemoteProject();
\r
372 alert("Could not load correctly, please click Refresh.");
\r
375 function isSamePath(sPath1,sPath2)
\r
377 return (sPath1.toLowerCase()==sPath2.toLowerCase());
\r
380 function checkRemoteProject()
\r
382 if(gaProj.length!=gnChecked)
\r
384 setTimeout("cancelProj("+gnChecked+");",10000);
\r
385 loadData2(gaProj[gnChecked].sPPath+gsProjName);
\r
388 var oMsg=new whMessage(WH_MSG_PROJECTREADY,this,1,null);
\r
394 function cancelProj(i)
\r
398 alert("Can't load project::"+gaProj[i].sPPath);
\r
400 checkRemoteProject();
\r
404 function window_resize()
\r
406 for(var i=0;i<goMan.maCom.length;i++)
\r
408 var oFrame=getElement(goMan.maCom[i].msIFrameId);
\r
411 oFrame.style.height=document.body.clientHeight;
\r
412 oFrame.style.width=document.body.clientWidth;
\r
418 function window_resize2()
\r
422 if(document.body.clientWidth > 1 && document.body.clientHeight>1)
\r
424 var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);
\r
430 function window_unload()
\r
432 UnRegisterListener2(this,WH_MSG_GETPROJINFO);
\r
433 UnRegisterListener2(this,WH_MSG_SHOWTOC);
\r
434 UnRegisterListener2(this,WH_MSG_SHOWIDX);
\r
435 UnRegisterListener2(this,WH_MSG_SHOWFTS);
\r
436 UnRegisterListener2(this,WH_MSG_SHOWGLO);
\r
437 UnRegisterListener2(this,WH_MSG_GETPANEINFO);
\r
440 function onSendMessage(oMsg)
\r
444 var nMsgId=oMsg.nMessageId;
\r
445 if(nMsgId==WH_MSG_GETPROJINFO)
\r
449 var oProj=new Object();
\r
450 oProj.aProj=gaProj;
\r
457 else if(nMsgId==WH_MSG_SHOWTOC)
\r
461 var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "toc");
\r
462 SendMessage(onMsg);
\r
463 onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
\r
464 SendMessage(onMsg);
\r
466 else if(nMsgId==WH_MSG_SHOWIDX)
\r
470 var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "idx");
\r
471 SendMessage(onMsg);
\r
472 onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
\r
473 SendMessage(onMsg);
\r
475 else if(nMsgId==WH_MSG_SHOWFTS)
\r
479 var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");
\r
480 SendMessage(onMsg);
\r
481 onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
\r
482 SendMessage(onMsg);
\r
484 else if(nMsgId==WH_MSG_SHOWGLO)
\r
488 var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "glo");
\r
489 SendMessage(onMsg);
\r
490 onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
\r
491 SendMessage(onMsg);
\r
493 else if(nMsgId==WH_MSG_GETPANEINFO)
\r
495 oMsg.oParam=goMan.getCurrent();
\r
502 if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)
\r
504 RegisterListener2(this,WH_MSG_GETPROJINFO);
\r
505 RegisterListener2(this,WH_MSG_SHOWTOC);
\r
506 RegisterListener2(this,WH_MSG_SHOWIDX);
\r
507 RegisterListener2(this,WH_MSG_SHOWFTS);
\r
508 RegisterListener2(this,WH_MSG_SHOWGLO);
\r
509 RegisterListener2(this,WH_MSG_GETPANEINFO);
\r
511 if((gbMac&&gbIE4)||(gbSunOS&&gbIE5))
\r
513 window.onresize=window_resize;
\r
517 window.onresize=window_resize2;
\r
519 window.onload=window_OnLoad;
\r
520 window.onbeforeunload=window_MyBunload;
\r
521 window.onunload=window_unload;
\r
525 document.location.reload();
\r