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