1 window.whname="wh_stub";
\r
2 function getframehandle(frames,framename)
\r
5 if(null==frames) return null;
\r
6 for(var i=0;i<frames.length;i++)
\r
8 if(typeof(frames[i].name)!="unknown")
\r
10 if(frames[i].name==framename)
\r
12 if(frames[i].frames.length>0)
\r
13 frame=getframehandle(frames[i].frames,framename);
\r
21 function AddToArray(arr,obj)
\r
24 for(var i=0;i<arr.length;i++){
\r
29 else if(arr[i]==null){
\r
33 if(!bFound) arr[i]=obj;
\r
36 var gArrayRegistedMessage=new Array();
\r
37 var gArrayCompoentsArray=new Array();
\r
39 function GetComponentsArray(nMessageId)
\r
41 var len=gArrayRegistedMessage.length;
\r
42 for(var i=0;i<len;i++)
\r
44 if(gArrayRegistedMessage[i]==nMessageId){
\r
45 if(gArrayCompoentsArray.length>i)
\r
46 return gArrayCompoentsArray[i];
\r
54 function CreateComponentsArray(nMessageId)
\r
56 var len=gArrayRegistedMessage.length;
\r
57 gArrayRegistedMessage[len]=nMessageId;
\r
58 gArrayCompoentsArray[len]=new Array();
\r
59 return gArrayCompoentsArray[len];
\r
62 function listener(sName,oWindow)
\r
65 this.oWindow=oWindow;
\r
68 function RegisterListener(windowName,nMessageId)
\r
70 var arrayComponents=GetComponentsArray(nMessageId);
\r
71 if(arrayComponents==null)
\r
72 arrayComponents=CreateComponentsArray(nMessageId);
\r
74 if(arrayComponents!=null)
\r
76 for (var i=0;i<arrayComponents.length;i++)
\r
78 if (arrayComponents[i].sName == windowName)
\r
81 var oListener=new listener(windowName,null);
\r
82 AddToArray(arrayComponents,oListener);
\r
89 function RegisterListener2(oWindow,nMessageId)
\r
91 var arrayComponents=GetComponentsArray(nMessageId);
\r
92 if(arrayComponents==null)
\r
93 arrayComponents=CreateComponentsArray(nMessageId);
\r
95 if(arrayComponents!=null)
\r
97 var oListener=new listener("",oWindow);
\r
98 AddToArray(arrayComponents,oListener);
\r
105 function UnRegisterListener2(oWindow,nMessageId)
\r
107 var arrayComponents=GetComponentsArray(nMessageId);
\r
108 if(arrayComponents!=null)
\r
110 for(var i=0;i<arrayComponents.length;i++)
\r
112 if(arrayComponents[i].oWindow==oWindow)
\r
114 removeItemFromArray(arrayComponents,i);
\r
123 function SendMessage(oMessage)
\r
125 var bDelivered=false;
\r
126 var arrayComponents=GetComponentsArray(oMessage.nMessageId);
\r
127 if(arrayComponents!=null&&arrayComponents.length>0){
\r
128 for(var i=0;i<arrayComponents.length;i++)
\r
130 if(null!=arrayComponents[i])
\r
133 if(arrayComponents[i].oWindow==null)
\r
134 pFrame=getframehandle(frames,arrayComponents[i].sName);
\r
136 pFrame=arrayComponents[i].oWindow;
\r
139 if(pFrame.onSendMessageX)
\r
142 if(!pFrame.onSendMessageX(oMessage))
\r
145 if(pFrame.onSendMessage)
\r
148 if(!pFrame.onSendMessage(oMessage))
\r