| // WebHelp 5.10.002 |
| window.whname="wh_stub"; |
| function getframehandle(frames,framename) |
| { |
| var frame=null; |
| if(null==frames) return null; |
| for(var i=0;i<frames.length;i++) |
| { |
| if(typeof(frames[i].name)!="unknown") |
| { |
| if(frames[i].name==framename) |
| return frames[i]; |
| } |
| if(frames[i].frames.length>0) |
| { |
| frame=getframehandle(frames[i].frames,framename); |
| if(null!=frame) |
| return frame; |
| } |
| } |
| return frame; |
| } |
| |
| function AddToArray(arr,obj) |
| { |
| var bFound=false; |
| for(var i=0;i<arr.length;i++){ |
| if(arr[i]==obj){ |
| bFound=true; |
| break; |
| } |
| else if(arr[i]==null){ |
| break; |
| } |
| } |
| if(!bFound) arr[i]=obj; |
| } |
| |
| var gArrayRegistedMessage=new Array(); |
| var gArrayCompoentsArray=new Array(); |
| |
| function GetComponentsArray(nMessageId) |
| { |
| var len=gArrayRegistedMessage.length; |
| for(var i=0;i<len;i++) |
| { |
| if(gArrayRegistedMessage[i]==nMessageId){ |
| if(gArrayCompoentsArray.length>i) |
| return gArrayCompoentsArray[i]; |
| else |
| return null; |
| } |
| } |
| return null; |
| } |
| |
| function CreateComponentsArray(nMessageId) |
| { |
| var len=gArrayRegistedMessage.length; |
| gArrayRegistedMessage[len]=nMessageId; |
| gArrayCompoentsArray[len]=new Array(); |
| return gArrayCompoentsArray[len]; |
| } |
| |
| function listener(sName,oWindow) |
| { |
| this.sName=sName; |
| this.oWindow=oWindow; |
| } |
| |
| function RegisterListener(windowName,nMessageId) |
| { |
| var arrayComponents=GetComponentsArray(nMessageId); |
| if(arrayComponents==null) |
| arrayComponents=CreateComponentsArray(nMessageId); |
| |
| if(arrayComponents!=null) |
| { |
| for (var i=0;i<arrayComponents.length;i++) |
| { |
| if (arrayComponents[i].sName == windowName) |
| return false; |
| } |
| var oListener=new listener(windowName,null); |
| AddToArray(arrayComponents,oListener); |
| return true; |
| } |
| else |
| return false; |
| } |
| |
| function RegisterListener2(oWindow,nMessageId) |
| { |
| var arrayComponents=GetComponentsArray(nMessageId); |
| if(arrayComponents==null) |
| arrayComponents=CreateComponentsArray(nMessageId); |
| |
| if(arrayComponents!=null) |
| { |
| var oListener=new listener("",oWindow); |
| AddToArray(arrayComponents,oListener); |
| return true; |
| } |
| else |
| return false; |
| } |
| |
| function UnRegisterListener2(oWindow,nMessageId) |
| { |
| var arrayComponents=GetComponentsArray(nMessageId); |
| if(arrayComponents!=null) |
| { |
| for(var i=0;i<arrayComponents.length;i++) |
| { |
| if(arrayComponents[i].oWindow==oWindow) |
| { |
| removeItemFromArray(arrayComponents,i); |
| return true; |
| } |
| } |
| } |
| else |
| return false; |
| } |
| |
| function SendMessage(oMessage) |
| { |
| var bDelivered=false; |
| var arrayComponents=GetComponentsArray(oMessage.nMessageId); |
| if(arrayComponents!=null&&arrayComponents.length>0){ |
| for(var i=0;i<arrayComponents.length;i++) |
| { |
| if(null!=arrayComponents[i]) |
| { |
| var pFrame; |
| if(arrayComponents[i].oWindow==null) |
| pFrame=getframehandle(frames,arrayComponents[i].sName); |
| else |
| pFrame=arrayComponents[i].oWindow; |
| if(null!=pFrame) |
| { |
| if(pFrame.onSendMessageX) |
| { |
| bDelivered=true; |
| if(!pFrame.onSendMessageX(oMessage)) |
| break; |
| } |
| if(pFrame.onSendMessage) |
| { |
| bDelivered=true; |
| if(!pFrame.onSendMessage(oMessage)) |
| break; |
| } |
| } |
| } |
| } |
| } |
| return bDelivered; |
| } |