2 RegisterListener2(this, WH_MSG_GETSTARTFRAME);
\r
3 RegisterListener2(this, WH_MSG_GETDEFAULTTOPIC);
\r
4 RegisterListener2(this, WH_MSG_MINIBARORDER);
\r
5 RegisterListener2(this, WH_MSG_TOOLBARORDER);
\r
6 RegisterListener2(this, WH_MSG_ISSEARCHSUPPORT);
\r
7 RegisterListener2(this, WH_MSG_ISSYNCSSUPPORT);
\r
8 RegisterListener2(this, WH_MSG_ISAVENUESUPPORT);
\r
9 RegisterListener2(this, WH_MSG_GETPANETYPE);
\r
10 RegisterListener2(this, WH_MSG_GETPANES);
\r
11 RegisterListener2(this, WH_MSG_RELOADNS6);
\r
12 RegisterListener2(this, WH_MSG_GETCMD);
\r
13 RegisterListener2(this, WH_MSG_GETPANE);
\r
14 RegisterListener2(this, WH_MSG_GETDEFPANE);
\r
19 setTimeout("delayReload();",5000);
\r
22 function delayReload()
\r
24 if (!(this.cMRServer && cMRServer.m_strVersion))
\r
28 if(nViewFrameType&&nViewFrameType==1)
\r
29 document.location=document.location;
\r
34 var gsToolbarOrder = "toc|fts|glo|blankblock|searchform|banner";
\r
35 var gsMinibarOrder = "blankblock|hide2|";
\r
37 var gsTopic = "files/introduction_to_geom.htm";
\r
38 var PANE_OPT_SEARCH = 1;
\r
39 var PANE_OPT_BROWSESEQ = 2;
\r
43 var gsBtns="invalid";
\r
44 var gsDefaultBtn="invalid";
\r
45 var gbHasTitle=false;
\r
47 if (location.hash.length > 1)
\r
49 var sParam = location.hash;
\r
50 if (sParam.indexOf("#<") == 0)
\r
52 document.location = "whcsh_home.htm#" + sParam.substring(2);
\r
54 else if (sParam.indexOf("#>>") == 0)
\r
56 parseParam(sParam.substring(3));
\r
57 sParam = "#" + gsTopic + sParam.substring(1);
\r
61 var nPos = sParam.indexOf(">>");
\r
64 gsTopic = sParam.substring(1, nPos);
\r
65 parseParam(sParam.substring(nPos+2));
\r
68 gsTopic = sParam.substring(1);
\r
70 if (gnPans == 1 && gsTopic)
\r
72 var strURL=location.href;
\r
75 var nPos=location.href.indexOf(location.hash);
\r
76 strURL=strURL.substring(0, nPos);
\r
79 document.location=_getPath(strURL)+ "whskin_tw.htm" + sParam;
\r
81 document.location=_getPath(strURL)+ gsTopic;
\r
85 function parseParam(sParam)
\r
92 var nPos=sParam.indexOf(">>", nBPos);
\r
97 var sPart=sParam.substring(nBPos, nPos);
\r
104 var sPart=sParam.substring(nBPos);
\r
108 } while(nBPos < sParam.length);
\r
112 function parsePart(sPart)
\r
114 if(sPart.toLowerCase().indexOf("cmd=")==0)
\r
116 gnCmd=parseInt(sPart.substring(4));
\r
118 else if(sPart.toLowerCase().indexOf("cap=")==0)
\r
120 document.title=_browserStringToText(sPart.substring(4));
\r
123 else if(sPart.toLowerCase().indexOf("pan=")==0)
\r
125 gnPans=parseInt(sPart.substring(4));
\r
127 else if(sPart.toLowerCase().indexOf("pot=")==0)
\r
129 gnOpts=parseInt(sPart.substring(4));
\r
131 else if(sPart.toLowerCase().indexOf("pbs=")==0)
\r
133 var sRawBtns = sPart.substring(4);
\r
134 var aBtns = sRawBtns.split("|");
\r
135 for (var i=0;i<aBtns.length;i++)
\r
137 aBtns[i] = transferAgentNameToPaneName(aBtns[i]);
\r
139 gsRawBtns = aBtns.join("|");
\r
141 else if(sPart.toLowerCase().indexOf("pdb=")==0)
\r
143 gsDefaultBtn=transferAgentNameToPaneName(sPart.substring(4));
\r
147 function setToolbarOrder(sOrder)
\r
149 gsToolbarOrder = sOrder;
\r
152 function setMinibarOrder(sOrder)
\r
154 gsMinibarOrder = sOrder;
\r
157 function onSendMessageX(oMsg)
\r
159 var nMsgId = oMsg.nMessageId;
\r
160 if (nMsgId == WH_MSG_GETSTARTFRAME)
\r
162 oMsg.oParam.oFrame = this;
\r
165 else if (nMsgId == WH_MSG_GETDEFAULTTOPIC)
\r
167 if (this.cMRServer && cMRServer.m_strVersion)
\r
169 if (cMRServer.m_strURLTopic);
\r
171 oMsg.oParam.sTopic = cMRServer.m_strURLTopic;
\r
176 oMsg.oParam.sTopic = gsTopic;
\r
179 else if (nMsgId == WH_MSG_TOOLBARORDER)
\r
181 var oMsg1 = new whMessage(WH_MSG_GETPANES, this, 1, null);
\r
182 if (SendMessage(oMsg1))
\r
186 if (this.cMRServer && cMRServer.m_strVersion)
\r
188 var aToolbarOrder=cMRServer.m_strAgentList.split(";");
\r
190 for (i=0;i<aToolbarOrder.length;i++)
\r
191 aToolbarOrder[i]=transferANToPN2(aToolbarOrder[i]);
\r
192 aToolbarOrder[aToolbarOrder.length] = "blankblock";
\r
193 if (cMRServer.m_bShowSearchInput)
\r
195 aToolbarOrder[aToolbarOrder.length] = "searchform";
\r
197 aToolbarOrder[aToolbarOrder.length] = "banner";
\r
198 var aToolbarOrderNew = new Array();
\r
199 for (i=0;i<aToolbarOrder.length;i++)
\r
201 if (isAPane(aToolbarOrder[i]))
\r
203 if (oMsg1.oParam.aPanes && oMsg1.oParam.aPanes.length)
\r
205 for (var j=0;j<oMsg1.oParam.aPanes.length;j++)
\r
207 if (aToolbarOrder[i] == oMsg1.oParam.aPanes[j].sPaneName)
\r
209 aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];
\r
216 aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];
\r
218 oMsg.oParam = aToolbarOrderNew.join("|");
\r
224 if (gsBtns!="invalid")
\r
225 sParam=gsBtns+"|blankblock|banner";
\r
227 sParam = gsToolbarOrder;
\r
231 var nPosForm=sParam.indexOf("|searchform|");
\r
232 if (gnOpts&PANE_OPT_SEARCH)
\r
234 if (nPosForm == -1 && sParam.indexOf("|fts|") != -1)
\r
236 var nPos=sParam.indexOf("banner");
\r
239 sParam=sParam.substring(0, nPos) + "searchform|" + sParam.substring(nPos);
\r
247 sParam=sParam.substring(0,nPosForm) + sParam.substring(nPosForm+11);
\r
251 oMsg.oParam=sParam;
\r
254 else if (nMsgId == WH_MSG_MINIBARORDER)
\r
256 var sMinParam=gsMinibarOrder;
\r
259 var nPosBro=gsMinibarOrder.indexOf("avprev|avnext");
\r
260 if (gnOpts&PANE_OPT_BROWSESEQ)
\r
264 sMinParam ="avprev|avnext|" + gsMinibarOrder;
\r
272 sMinParam=gsMinibarOrder.substring(0, nPosBro) + gsMinibarOrder.substring(nPosBro+14);
\r
274 sMinParam=gsMinibarOrder.substring(14);
\r
278 oMsg.oParam = sMinParam;
\r
281 else if (nMsgId == WH_MSG_ISSYNCSSUPPORT)
\r
283 if (this.cMRServer && cMRServer.m_strVersion)
\r
285 if (cMRServer.m_bShowSync)
\r
293 if(typeof(nViewFrameType)!="undefined")
\r
295 oMsg.oParam= (nViewFrameType < 3);
\r
300 else if (nMsgId == WH_MSG_ISAVENUESUPPORT)
\r
302 if (this.cMRServer && cMRServer.m_strVersion)
\r
304 if (cMRServer.m_bShowBrowseSequences)
\r
315 else if (nMsgId == WH_MSG_ISSEARCHSUPPORT)
\r
317 if(typeof(nViewFrameType)!="undefined")
\r
319 oMsg.oParam= (nViewFrameType < 3);
\r
323 else if (nMsgId == WH_MSG_GETPANETYPE)
\r
325 if(typeof(nViewFrameType)!="undefined")
\r
327 var oPaneInfo = new Object();
\r
328 oPaneInfo.nType = nViewFrameType;
\r
329 oPaneInfo.sPaneURL = strPane;
\r
330 oMsg.oParam = oPaneInfo;
\r
334 else if (nMsgId == WH_MSG_GETPANES)
\r
336 if (this.cMRServer && cMRServer.m_strVersion)
\r
338 var oPanes = new Object();
\r
339 var aAgentNames = null;
\r
340 if (cMRServer.m_strDefAgent)
\r
341 oPanes.sDefault = transferAgentNameToPaneName(cMRServer.m_strDefAgent);
\r
343 aPanes = new Array();
\r
344 for(var i=0; i< cMRServer.m_cAgents.length; i++)
\r
346 var nCur = aPanes.length;
\r
347 aPanes[nCur] = new Object();
\r
348 aPanes[nCur].sPaneName = transferAgentNameToPaneName(cMRServer.m_cAgents[i].m_strID);
\r
349 aPanes[nCur].sPaneURL = cMRServer.m_cAgents[i].m_strURL;
\r
351 oPanes.aPanes = aPanes;
\r
352 oMsg.oParam = oPanes;
\r
357 oMsg.oParam = null;
\r
361 else if(nMsgId==WH_MSG_RELOADNS6)
\r
367 else if(nMsgId==WH_MSG_GETCMD)
\r
372 else if(nMsgId==WH_MSG_GETPANE)
\r
374 if (gsBtns!="invalid" && oMsg.oParam.sName)
\r
376 if(gsBtns.indexOf(oMsg.oParam.sName) != -1)
\r
377 oMsg.oParam.bEnable=true;
\r
379 oMsg.oParam.bEnable=false;
\r
382 oMsg.oParam.bEnable=true;
\r
385 else if(nMsgId==WH_MSG_GETDEFPANE)
\r
387 if (gsDefaultBtn!="invalid")
\r
389 oMsg.oParam=gsDefaultBtn;
\r
396 function transferANToPN2(sAN)
\r
400 else if (sAN =="ndx")
\r
402 else if (sAN =="nls")
\r
404 else if (sAN =="gls")
\r
406 else if (sAN =="WebSearch")
\r
407 return "websearch";
\r
408 else if (sAN.indexOf("custom_")==0);
\r
409 return "custom" + sAN.substring(7);
\r
413 function transferAgentNameToPaneName(sAgentName)
\r
415 if (sAgentName =="toc")
\r
417 else if (sAgentName =="ndx")
\r
419 else if (sAgentName =="nls")
\r
421 else if (sAgentName =="gls")
\r
426 function isAPane(sPaneName)
\r
428 if (sPaneName == "toc" || sPaneName == "idx" || sPaneName == "fts" || sPaneName == "glo")
\r