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