2 window.whname="wh_stub";
\r
3 function getframehandle(frames,framename)
\r
6 if(null==frames) return null;
\r
7 for(var i=0;i<frames.length;i++)
\r
9 if(typeof(frames[i].name)!="unknown")
\r
11 if(frames[i].name==framename)
\r
14 if(frames[i].frames.length>0)
\r
16 frame=getframehandle(frames[i].frames,framename);
\r
24 function AddToArray(arr,obj)
\r
27 for(var i=0;i<arr.length;i++){
\r
32 else if(arr[i]==null){
\r
36 if(!bFound) arr[i]=obj;
\r
39 var gArrayRegistedMessage=new Array();
\r
40 var gArrayCompoentsArray=new Array();
\r
42 function GetComponentsArray(nMessageId)
\r
44 var len=gArrayRegistedMessage.length;
\r
45 for(var i=0;i<len;i++)
\r
47 if(gArrayRegistedMessage[i]==nMessageId){
\r
48 if(gArrayCompoentsArray.length>i)
\r
49 return gArrayCompoentsArray[i];
\r
57 function CreateComponentsArray(nMessageId)
\r
59 var len=gArrayRegistedMessage.length;
\r
60 gArrayRegistedMessage[len]=nMessageId;
\r
61 gArrayCompoentsArray[len]=new Array();
\r
62 return gArrayCompoentsArray[len];
\r
65 function listener(sName,oWindow)
\r
68 this.oWindow=oWindow;
\r
71 function RegisterListener(windowName,nMessageId)
\r
73 var arrayComponents=GetComponentsArray(nMessageId);
\r
74 if(arrayComponents==null)
\r
75 arrayComponents=CreateComponentsArray(nMessageId);
\r
77 if(arrayComponents!=null)
\r
79 for (var i=0;i<arrayComponents.length;i++)
\r
81 if (arrayComponents[i].sName == windowName)
\r
84 var oListener=new listener(windowName,null);
\r
85 AddToArray(arrayComponents,oListener);
\r
92 function RegisterListener2(oWindow,nMessageId)
\r
94 var arrayComponents=GetComponentsArray(nMessageId);
\r
95 if(arrayComponents==null)
\r
96 arrayComponents=CreateComponentsArray(nMessageId);
\r
98 if(arrayComponents!=null)
\r
100 var oListener=new listener("",oWindow);
\r
101 AddToArray(arrayComponents,oListener);
\r
108 function UnRegisterListener2(oWindow,nMessageId)
\r
110 var arrayComponents=GetComponentsArray(nMessageId);
\r
111 if(arrayComponents!=null)
\r
113 for(var i=0;i<arrayComponents.length;i++)
\r
115 if(arrayComponents[i].oWindow==oWindow)
\r
117 removeItemFromArray(arrayComponents,i);
\r
126 function SendMessage(oMessage)
\r
128 var bDelivered=false;
\r
129 var arrayComponents=GetComponentsArray(oMessage.nMessageId);
\r
130 if(arrayComponents!=null&&arrayComponents.length>0){
\r
131 for(var i=0;i<arrayComponents.length;i++)
\r
133 if(null!=arrayComponents[i])
\r
136 if(arrayComponents[i].oWindow==null)
\r
137 pFrame=getframehandle(frames,arrayComponents[i].sName);
\r
139 pFrame=arrayComponents[i].oWindow;
\r
142 if(pFrame.onSendMessageX)
\r
145 if(!pFrame.onSendMessageX(oMessage))
\r
148 if(pFrame.onSendMessage)
\r
151 if(!pFrame.onSendMessage(oMessage))
\r