--- /dev/null
+var gbInited=false;\r
+var gWndStubPage=null;\r
+function getStubPage()\r
+{\r
+ if(!gbInited)\r
+ {\r
+ gWndStubPage=getStubPage_inter(window);\r
+ gbInited=true;\r
+ }\r
+ return gWndStubPage;\r
+}\r
+\r
+function getStubPage_inter(wCurrent)\r
+{\r
+ if(null==wCurrent.parent||wCurrent.parent==wCurrent)\r
+ return null;\r
+\r
+ if(typeof(wCurrent.parent.whname)=="string"&&"wh_stub"==wCurrent.parent.whname)\r
+ return wCurrent.parent;\r
+ else\r
+ if(wCurrent.parent.frames.length!=0&&wCurrent.parent!=wCurrent)\r
+ return getStubPage_inter(wCurrent.parent);\r
+ else\r
+ return null;\r
+}\r
+\r
+function RegisterListener(framename,nMessageId)\r
+{\r
+ var wSP=getStubPage();\r
+ if(wSP&&wSP!=this)\r
+ return wSP.RegisterListener(framename,nMessageId);\r
+ else\r
+ return false;\r
+}\r
+\r
+function RegisterListener2(oframe,nMessageId)\r
+{\r
+ var wSP=getStubPage();\r
+ if(wSP&&wSP!=this)\r
+ return wSP.RegisterListener2(oframe,nMessageId);\r
+ else\r
+ return false;\r
+}\r
+\r
+function UnRegisterListener2(oframe,nMessageId)\r
+{\r
+ var wSP=getStubPage();\r
+ if(wSP&&wSP!=this&&wSP.UnRegisterListener2)\r
+ return wSP.UnRegisterListener2(oframe,nMessageId);\r
+ else\r
+ return false;\r
+}\r
+\r
+function SendMessage(oMessage)\r
+{\r
+ var wSP=getStubPage();\r
+ if(wSP&&wSP!=this&&wSP.SendMessage)\r
+ return wSP.SendMessage(oMessage);\r
+ else\r
+ return false;\r
+}\r
+\r
+var gbWhProxy=true;
\ No newline at end of file