YAHOO.util.CrossFrame=(function(){var r1=/^(((top|parent|frames\[((['"][a-zA-Z\d-_]*['"])|\d+)\]))(\.|$))+/;var r2=/top|parent|frames\[(?:(?:['"][a-zA-Z]*['"])|\d+)\]/;function parseQueryString(s){var r,a,p;r={};a=s.split("&");for(i=0;i<a.length;i++){p=a[i].split("=");if(p.length===2&&p[0].length>0){r[p[0]]=unescape(p[1])}}return r}if(YAHOO.env.ua.opera){document.addEventListener("message",function(evt){var o=parseQueryString(evt.data);if(YAHOO.lang.hasOwnProperty(o,"target")&&YAHOO.lang.hasOwnProperty(o,"message")&&YAHOO.lang.hasOwnProperty(o,"domain")&&YAHOO.lang.hasOwnProperty(o,"uri")){if(o.target.length>0){YAHOO.util.CrossFrame.send(null,o.target,o.message,o.domain,o.uri)}else{YAHOO.util.CrossFrame.onMessageEvent.fire(o.message,o.domain,o.uri)}}},false)}return{onMessageEvent:new YAHOO.util.CustomEvent("onMessage"),send:function(proxy,target,message){var m,t,d,u,s,el;if(!r1.test(target)){throw new Error("Invalid target: "+target)}if(YAHOO.env.ua.opera){m=r2.exec(target);t=eval(m[0]).document;target=target.substr(m[0].length+1);d=arguments.length>3?arguments[3]:document.domain;u=arguments.length>4?arguments[4]:location.href;s="target="+escape(target)+"&message="+escape(message)+"&domain="+escape(d)+"&uri="+escape(u);t.postMessage(s)}else{el=document.createElement("iframe");el.style.position="absolute";el.style.visibility="hidden";el.style.top=el.style.left="0";el.style.width=el.style.height="0";document.body.appendChild(el);YAHOO.util.Event.addListener(el,"load",function(){YAHOO.util.Event.removeListener(this,"load",arguments.callee);setTimeout(function(){document.body.removeChild(el)},1000)});s="target="+escape(target)+"&message="+escape(message)+"&domain="+escape(document.domain)+"&uri="+escape(location.href);el.src=proxy+"#"+s;document.body.appendChild(el)}}}})()
