-/**\r * SWFAddress 2.4: Deep linking for Flash and Ajax <http://www.asual.com/swfaddress/>\r *\r * SWFAddress is (c) 2006-2009 Rostislav Hristov and contributors\r * This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>\r *\r */\rif(typeof asual=="undefined"){var asual={}}if(typeof asual.util=="undefined"){asual.util={}}asual.util.Browser=new function(){var b=navigator.userAgent.toLowerCase(),a=/webkit/.test(b),e=/opera/.test(b),c=/msie/.test(b)&&!/opera/.test(b),d=/mozilla/.test(b)&&!/(compatible|webkit)/.test(b),f=parseFloat(c?b.substr(b.indexOf("msie")+4):(b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]);this.toString=function(){return"[class Browser]"};this.getVersion=function(){return f};this.isMSIE=function(){return c};this.isSafari=function(){return a};this.isOpera=function(){return e};this.isMozilla=function(){return d}};asual.util.Events=new function(){var c="DOMContentLoaded",j="onstop",k=window,h=document,b=[],a=asual.util,e=a.Browser,d=e.isMSIE(),g=e.isSafari();this.toString=function(){return"[class Events]"};this.addListener=function(n,l,m){b.push({o:n,t:l,l:m});if(!(l==c&&(d||g))){if(n.addEventListener){n.addEventListener(l,m,false)}else{if(n.attachEvent){n.attachEvent("on"+l,m)}}}};this.removeListener=function(p,m,n){for(var l=0,o;o=b[l];l++){if(o.o==p&&o.t==m&&o.l==n){b.splice(l,1);break}}if(!(m==c&&(d||g))){if(p.removeEventListener){p.removeEventListener(m,n,false)}else{if(p.detachEvent){p.detachEvent("on"+m,n)}}}};var i=function(){for(var m=0,l;l=b[m];m++){if(l.t!=c){a.Events.removeListener(l.o,l.t,l.l)}}};var f=function(){if(h.readyState=="interactive"){function l(){h.detachEvent(j,l);i()}h.attachEvent(j,l);k.setTimeout(function(){h.detachEvent(j,l)},0)}};if(d||g){(function(){try{if((d&&h.body)||!/loaded|complete/.test(h.readyState)){h.documentElement.doScroll("left")}}catch(m){return setTimeout(arguments.callee,0)}for(var l=0,m;m=b[l];l++){if(m.t==c){m.l.call(null)}}})()}if(d){k.attachEvent("onbeforeunload",f)}this.addListener(k,"unload",i)};asual.util.Functions=new function(){this.toString=function(){return"[class Functions]"};this.bind=function(f,b,e){for(var c=2,d,a=[];d=arguments[c];c++){a.push(d)}return function(){return f.apply(b,a)}}};var SWFAddressEvent=function(d){this.toString=function(){return"[object SWFAddressEvent]"};this.type=d;this.target=[SWFAddress][0];this.value=SWFAddress.getValue();this.path=SWFAddress.getPath();this.pathNames=SWFAddress.getPathNames();this.parameters={};var c=SWFAddress.getParameterNames();for(var b=0,a=c.length;b<a;b++){this.parameters[c[b]]=SWFAddress.getParameter(c[b])}this.parameterNames=c};SWFAddressEvent.INIT="init";SWFAddressEvent.CHANGE="change";SWFAddressEvent.INTERNAL_CHANGE="internalChange";SWFAddressEvent.EXTERNAL_CHANGE="externalChange";var SWFAddress=new function(){var _getHash=function(){var index=_l.href.indexOf("#");return index!=-1?_ec(_dc(_l.href.substr(index+1))):""};var _getWindow=function(){try{top.document;return top}catch(e){return window}};var _strictCheck=function(value,force){if(_opts.strict){value=force?(value.substr(0,1)!="/"?"/"+value:value):(value==""?"/":value)}return value};var _ieLocal=function(value,direction){return(_msie&&_l.protocol=="file:")?(direction?_value.replace(/\?/,"%3F"):_value.replace(/%253F/,"?")):value};var _searchScript=function(el){if(el.childNodes){for(var i=0,l=el.childNodes.length,s;i<l;i++){if(el.childNodes[i].src){_url=String(el.childNodes[i].src)}if(s=_searchScript(el.childNodes[i])){return s}}}};var _titleCheck=function(){if(_d.title!=_title&&_d.title.indexOf("#")!=-1){_d.title=_title}};var _listen=function(){if(!_silent){var hash=_getHash();var diff=!(_value==hash);if(_safari&&_version<523){if(_length!=_h.length){_length=_h.length;if(typeof _stack[_length-1]!=UNDEFINED){_value=_stack[_length-1]}_update.call(this,false)}}else{if(_msie&&diff){if(_version<7){_l.reload()}else{this.setValue(hash)}}else{if(diff){_value=hash;_update.call(this,false)}}}if(_msie){_titleCheck.call(this)}}};var _bodyClick=function(e){if(_popup.length>0){var popup=window.open(_popup[0],_popup[1],eval(_popup[2]));if(typeof _popup[3]!=UNDEFINED){eval(_popup[3])}}_popup=[]};var _swfChange=function(){for(var i=0,id,obj,value=SWFAddress.getValue(),setter="setSWFAddressValue";id=_ids[i];i++){obj=document.getElementById(id);if(obj){if(obj.parentNode&&typeof obj.parentNode.so!=UNDEFINED){obj.parentNode.so.call(setter,value)}else{if(!(obj&&typeof obj[setter]!=UNDEFINED)){var objects=obj.getElementsByTagName("object");var embeds=obj.getElementsByTagName("embed");obj=((objects[0]&&typeof objects[0][setter]!=UNDEFINED)?objects[0]:((embeds[0]&&typeof embeds[0][setter]!=UNDEFINED)?embeds[0]:null))}if(obj){obj[setter](value)}}}else{if(obj=document[id]){if(typeof obj[setter]!=UNDEFINED){obj[setter](value)}}}}};var _jsDispatch=function(type){this.dispatchEvent(new SWFAddressEvent(type));type=type.substr(0,1).toUpperCase()+type.substr(1);if(typeof this["on"+type]==FUNCTION){this["on"+type]()}};var _jsInit=function(){if(_util.Browser.isSafari()){_d.body.addEventListener("click",_bodyClick)}_jsDispatch.call(this,"init")};var _jsChange=function(){_swfChange();_jsDispatch.call(this,"change")};var _update=function(internal){_jsChange.call(this);if(internal){_jsDispatch.call(this,"internalChange")}else{_jsDispatch.call(this,"externalChange")}_st(_functions.bind(_track,this),10)};var _track=function(){var value=(_l.pathname+(/\/$/.test(_l.pathname)?"":"/")+this.getValue()).replace(/\/\//,"/").replace(/^\/$/,"");var fn=_t[_opts.tracker];if(typeof fn==FUNCTION){fn(value)}else{if(typeof _t.pageTracker!=UNDEFINED&&typeof _t.pageTracker._trackPageview==FUNCTION){_t.pageTracker._trackPageview(value)}else{if(typeof _t.urchinTracker==FUNCTION){_t.urchinTracker(value)}}}};var _htmlWrite=function(){var doc=_frame.contentWindow.document;doc.open();doc.write("<html><head><title>"+_d.title+"</title><script>var "+ID+' = "'+_getHash()+'";<\/script></head></html>');doc.close()};var _htmlLoad=function(){var win=_frame.contentWindow;var src=win.location.href;_value=(typeof win[ID]!=UNDEFINED?win[ID]:"");if(_value!=_getHash()){_update.call(SWFAddress,false);_l.hash=_ieLocal(_value,TRUE)}};var _load=function(){if(!_loaded){_loaded=TRUE;if(_msie&&_version<8){var frameset=_d.getElementsByTagName("frameset")[0];_frame=_d.createElement((frameset?"":"i")+"frame");if(frameset){frameset.insertAdjacentElement("beforeEnd",_frame);frameset[frameset.cols?"cols":"rows"]+=",0";_frame.src="javascript:false";_frame.noResize=true;_frame.frameBorder=_frame.frameSpacing=0}else{_frame.src="javascript:false";_frame.style.display="none";_d.body.insertAdjacentElement("afterBegin",_frame)}_st(function(){_events.addListener(_frame,"load",_htmlLoad);if(typeof _frame.contentWindow[ID]==UNDEFINED){_htmlWrite()}},50)}else{if(_safari){if(_version<418){_d.body.innerHTML+='<form id="'+ID+'" style="position:absolute;top:-9999px;" method="get"></form>';_form=_d.getElementById(ID)}if(typeof _l[ID]==UNDEFINED){_l[ID]={}}if(typeof _l[ID][_l.pathname]!=UNDEFINED){_stack=_l[ID][_l.pathname].split(",")}}}_st(_functions.bind(function(){_jsInit.call(this);_jsChange.call(this);_track.call(this)},this),1);if(_msie&&_version>=8){_d.body.onhashchange=_functions.bind(_listen,this);_si(_functions.bind(_titleCheck,this),50)}else{_si(_functions.bind(_listen,this),50)}}};var ID="swfaddress",FUNCTION="function",UNDEFINED="undefined",TRUE=true,FALSE=false,_util=asual.util,_browser=_util.Browser,_events=_util.Events,_functions=_util.Functions,_version=_browser.getVersion(),_msie=_browser.isMSIE(),_mozilla=_browser.isMozilla(),_opera=_browser.isOpera(),_safari=_browser.isSafari(),_supported=FALSE,_t=_getWindow(),_d=_t.document,_h=_t.history,_l=_t.location,_si=setInterval,_st=setTimeout,_dc=decodeURI,_ec=encodeURI,_frame,_form,_url,_title=_d.title,_length=_h.length,_silent=FALSE,_loaded=FALSE,_justset=TRUE,_juststart=TRUE,_ref=this,_stack=[],_ids=[],_popup=[],_listeners={},_value=_getHash(),_opts={history:TRUE,strict:TRUE};if(_msie&&_d.documentMode&&_d.documentMode!=_version){_version=_d.documentMode!=8?7:8}_supported=(_mozilla&&_version>=1)||(_msie&&_version>=6)||(_opera&&_version>=9.5)||(_safari&&_version>=312);if(_supported){if(_opera){history.navigationMode="compatible"}for(var i=1;i<_length;i++){_stack.push("")}_stack.push(_getHash());if(_msie&&_l.hash!=_getHash()){_l.hash="#"+_ieLocal(_getHash(),TRUE)}_searchScript(document);var _qi=_url?_url.indexOf("?"):-1;if(_qi!=-1){var param,params=_url.substr(_qi+1).split("&");for(var i=0,p;p=params[i];i++){param=p.split("=");if(/^(history|strict)$/.test(param[0])){_opts[param[0]]=(isNaN(param[1])?/^(true|yes)$/i.test(param[1]):(parseInt(param[1])!=0))}if(/^tracker$/.test(param[0])){_opts[param[0]]=param[1]}}}if(_msie){_titleCheck.call(this)}if(window==_t){_events.addListener(document,"DOMContentLoaded",_functions.bind(_load,this))}_events.addListener(_t,"load",_functions.bind(_load,this))}else{if((!_supported&&_l.href.indexOf("#")!=-1)||(_safari&&_version<418&&_l.href.indexOf("#")!=-1&&_l.search!="")){_d.open();_d.write('<html><head><meta http-equiv="refresh" content="0;url='+_l.href.substr(0,_l.href.indexOf("#"))+'" /></head></html>');_d.close()}else{_track()}}this.toString=function(){return"[class SWFAddress]"};this.back=function(){_h.back()};this.forward=function(){_h.forward()};this.up=function(){var path=this.getPath();this.setValue(path.substr(0,path.lastIndexOf("/",path.length-2)+(path.substr(path.length-1)=="/"?1:0)))};this.go=function(delta){_h.go(delta)};this.href=function(url,target){target=typeof target!=UNDEFINED?target:"_self";if(target=="_self"){self.location.href=url}else{if(target=="_top"){_l.href=url}else{if(target=="_blank"){window.open(url)}else{_t.frames[target].location.href=url}}}};this.popup=function(url,name,options,handler){try{var popup=window.open(url,name,eval(options));if(typeof handler!=UNDEFINED){eval(handler)}}catch(ex){}_popup=arguments};this.getIds=function(){return _ids};this.getId=function(index){return _ids[0]};this.setId=function(id){_ids[0]=id};this.addId=function(id){this.removeId(id);_ids.push(id)};this.removeId=function(id){for(var i=0;i<_ids.length;i++){if(id==_ids[i]){_ids.splice(i,1);break}}};this.addEventListener=function(type,listener){if(typeof _listeners[type]==UNDEFINED){_listeners[type]=[]}_listeners[type].push(listener)};this.removeEventListener=function(type,listener){if(typeof _listeners[type]!=UNDEFINED){for(var i=0,l;l=_listeners[type][i];i++){if(l==listener){break}}_listeners[type].splice(i,1)}};this.dispatchEvent=function(event){if(this.hasEventListener(event.type)){event.target=this;for(var i=0,l;l=_listeners[event.type][i];i++){l(event)}return TRUE}return FALSE};this.hasEventListener=function(type){return(typeof _listeners[type]!=UNDEFINED&&_listeners[type].length>0)};this.getBaseURL=function(){var url=_l.href;if(url.indexOf("#")!=-1){url=url.substr(0,url.indexOf("#"))}if(url.substr(url.length-1)=="/"){url=url.substr(0,url.length-1)}return url};this.getStrict=function(){return _opts.strict};this.setStrict=function(strict){_opts.strict=strict};this.getHistory=function(){return _opts.history};this.setHistory=function(history){_opts.history=history};this.getTracker=function(){return _opts.tracker};this.setTracker=function(tracker){_opts.tracker=tracker};this.getTitle=function(){return _d.title};this.setTitle=function(title){if(!_supported){return null}if(typeof title==UNDEFINED){return}if(title=="null"){title=""}title=_dc(title);_st(function(){_title=_d.title=title;if(_juststart&&_frame&&_frame.contentWindow&&_frame.contentWindow.document){_frame.contentWindow.document.title=title;_juststart=FALSE}if(!_justset&&_mozilla){_l.replace(_l.href.indexOf("#")!=-1?_l.href:_l.href+"#")}_justset=FALSE},10)};this.getStatus=function(){return _t.status};this.setStatus=function(status){if(!_supported){return null}if(typeof status==UNDEFINED){return}if(status=="null"){status=""}status=_dc(status);if(!_safari){status=_strictCheck((status!="null")?status:"",TRUE);if(status=="/"){status=""}if(!(/http(s)?:\/\//.test(status))){var index=_l.href.indexOf("#");status=(index==-1?_l.href:_l.href.substr(0,index))+"#"+status}_t.status=status}};this.resetStatus=function(){_t.status=""};this.getValue=function(){if(!_supported){return null}return _dc(_strictCheck(_ieLocal(_value,FALSE),FALSE))};this.setValue=function(value){if(!_supported){return null}if(typeof value==UNDEFINED){return}if(value=="null"){value=""}value=_ec(_dc(_strictCheck(value,TRUE)));if(value=="/"){value=""}if(_value==value){return}_justset=TRUE;_value=value;_silent=TRUE;_update.call(SWFAddress,true);_stack[_h.length]=_value;if(_safari){if(_opts.history){_l[ID][_l.pathname]=_stack.toString();_length=_h.length+1;if(_version<418){if(_l.search==""){_form.action="#"+_value;_form.submit()}}else{if(_version<523||_value==""){var evt=_d.createEvent("MouseEvents");evt.initEvent("click",TRUE,TRUE);var anchor=_d.createElement("a");anchor.href="#"+_value;anchor.dispatchEvent(evt)}else{_l.hash="#"+_value}}}else{_l.replace("#"+_value)}}else{if(_value!=_getHash()){if(_opts.history){_l.hash="#"+_dc(_ieLocal(_value,TRUE))}else{_l.replace("#"+_dc(_value))}}}if((_msie&&_version<8)&&_opts.history){_st(_htmlWrite,50)}if(_safari){_st(function(){_silent=FALSE},1)}else{_silent=FALSE}};this.getPath=function(){var value=this.getValue();if(value.indexOf("?")!=-1){return value.split("?")[0]}else{if(value.indexOf("#")!=-1){return value.split("#")[0]}else{return value}}};this.getPathNames=function(){var path=this.getPath(),names=path.split("/");if(path.substr(0,1)=="/"||path.length==0){names.splice(0,1)}if(path.substr(path.length-1,1)=="/"){names.splice(names.length-1,1)}return names};this.getQueryString=function(){var value=this.getValue(),index=value.indexOf("?");if(index!=-1&&index<value.length){return value.substr(index+1)}};this.getParameter=function(param){var value=this.getValue();var index=value.indexOf("?");if(index!=-1){value=value.substr(index+1);var p,params=value.split("&"),i=params.length,r=[];while(i--){p=params[i].split("=");if(p[0]==param){r.push(p[1])}}if(r.length!=0){return r.length!=1?r:r[0]}}};this.getParameterNames=function(){var value=this.getValue();var index=value.indexOf("?");var names=[];if(index!=-1){value=value.substr(index+1);if(value!=""&&value.indexOf("=")!=-1){var params=value.split("&"),i=0;while(i<params.length){names.push(params[i].split("=")[0]);i++}}}return names};this.onInit=null;this.onChange=null;this.onInternalChange=null;this.onExternalChange=null;(function(){var _args;if(typeof FlashObject!=UNDEFINED){SWFObject=FlashObject}if(typeof SWFObject!=UNDEFINED&&SWFObject.prototype&&SWFObject.prototype.write){var _s1=SWFObject.prototype.write;SWFObject.prototype.write=function(){_args=arguments;if(this.getAttribute("version").major<8){this.addVariable("$swfaddress",SWFAddress.getValue());((typeof _args[0]=="string")?document.getElementById(_args[0]):_args[0]).so=this}var success;if(success=_s1.apply(this,_args)){_ref.addId(this.getAttribute("id"))}return success}}if(typeof swfobject!=UNDEFINED){var _s2r=swfobject.registerObject;swfobject.registerObject=function(){_args=arguments;_s2r.apply(this,_args);_ref.addId(_args[0])};var _s2c=swfobject.createSWF;swfobject.createSWF=function(){_args=arguments;var swf=_s2c.apply(this,_args);if(swf){_ref.addId(_args[0].id)}return swf};var _s2e=swfobject.embedSWF;swfobject.embedSWF=function(){_args=arguments;if(typeof _args[8]==UNDEFINED){_args[8]={}}if(typeof _args[8].id==UNDEFINED){_args[8].id=_args[1]}_s2e.apply(this,_args);_ref.addId(_args[8].id)}}if(typeof UFO!=UNDEFINED){var _u=UFO.create;UFO.create=function(){_args=arguments;_u.apply(this,_args);_ref.addId(_args[0].id)}}if(typeof AC_FL_RunContent!=UNDEFINED){var _a=AC_FL_RunContent;AC_FL_RunContent=function(){_args=arguments;_a.apply(this,_args);for(var i=0,l=_args.length;i<l;i++){if(_args[i]=="id"){_ref.addId(_args[i+1])}}}}})()};
\ No newline at end of file
+/**\r * SWFAddress 2.4: Deep linking for Flash and Ajax <http://www.asual.com/swfaddress/>\r *\r * SWFAddress is (c) 2006-2009 Rostislav Hristov and contributors\r * This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>\r *\r */\r\rif (typeof asual == "undefined") var asual = {};\rif (typeof asual.util == "undefined") asual.util = {};\r\rasual.util.Browser = new function() {\r \r var _agent = navigator.userAgent.toLowerCase(),\r _safari = /webkit/.test(_agent),\r _opera = /opera/.test(_agent),\r _msie = /msie/.test(_agent) && !/opera/.test(_agent),\r _mozilla = /mozilla/.test(_agent) && !/(compatible|webkit)/.test(_agent),\r _version = parseFloat(_msie ? _agent.substr(_agent.indexOf('msie') + 4) : \r (_agent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0,'0'])[1]);\r\r this.toString = function() {\r return '[class Browser]';\r };\r\r this.getVersion = function() {\r return _version;\r };\r\r this.isMSIE = function() {\r return _msie;\r };\r\r this.isSafari = function() {\r return _safari;\r };\r\r this.isOpera = function() {\r return _opera;\r };\r\r this.isMozilla = function() {\r return _mozilla;\r };\r}\r\rasual.util.Events = new function() {\r\r var DOM_LOADED = 'DOMContentLoaded', \r STOP = 'onstop',\r _w = window,\r _d = document,\r _cache = [],\r _util = asual.util,\r _browser = _util.Browser,\r _msie = _browser.isMSIE(),\r _safari = _browser.isSafari();\r\r this.toString = function() {\r return '[class Events]';\r };\r\r this.addListener = function(obj, type, listener) {\r _cache.push({o: obj, t: type, l: listener});\r if (!(type == DOM_LOADED && (_msie || _safari))) {\r if (obj.addEventListener)\r obj.addEventListener(type, listener, false);\r else if (obj.attachEvent)\r obj.attachEvent('on' + type, listener);\r }\r };\r\r this.removeListener = function(obj, type, listener) {\r for (var i = 0, e; e = _cache[i]; i++) {\r if (e.o == obj && e.t == type && e.l == listener) {\r _cache.splice(i, 1);\r break;\r }\r }\r if (!(type == DOM_LOADED && (_msie || _safari))) {\r if (obj.removeEventListener)\r obj.removeEventListener(type, listener, false);\r else if (obj.detachEvent)\r obj.detachEvent('on' + type, listener);\r }\r };\r\r var _unload = function() {\r for (var i = 0, evt; evt = _cache[i]; i++) {\r if (evt.t != DOM_LOADED)\r _util.Events.removeListener(evt.o, evt.t, evt.l);\r }\r };\r\r var _unloadFix = function() {\r if (_d.readyState == 'interactive') {\r function stop() {\r _d.detachEvent(STOP, stop);\r _unload();\r };\r _d.attachEvent(STOP, stop);\r _w.setTimeout(function() {\r _d.detachEvent(STOP, stop);\r }, 0);\r }\r };\r\r if (_msie || _safari) {\r (function (){\r try {\r if ((_msie && _d.body) || !/loaded|complete/.test(_d.readyState))\r _d.documentElement.doScroll('left');\r } catch(e) {\r return setTimeout(arguments.callee, 0);\r }\r for (var i = 0, e; e = _cache[i]; i++)\r if (e.t == DOM_LOADED) e.l.call(null);\r })();\r }\r\r if (_msie)\r _w.attachEvent('onbeforeunload', _unloadFix);\r\r this.addListener(_w, 'unload', _unload);\r}\r\rasual.util.Functions = new function() {\r\r this.toString = function() {\r return '[class Functions]';\r };\r\r this.bind = function(method, object, param) {\r for (var i = 2, p, arr = []; p = arguments[i]; i++)\r arr.push(p);\r return function() {\r return method.apply(object, arr);\r }\r };\r}\r\rvar SWFAddressEvent = function(type) {\r\r this.toString = function() {\r return '[object SWFAddressEvent]';\r };\r\r this.type = type;\r\r this.target = [SWFAddress][0];\r\r this.value = SWFAddress.getValue();\r\r this.path = SWFAddress.getPath();\r\r this.pathNames = SWFAddress.getPathNames();\r\r this.parameters = {};\r\r var _parameterNames = SWFAddress.getParameterNames();\r for (var i = 0, l = _parameterNames.length; i < l; i++)\r this.parameters[_parameterNames[i]] = SWFAddress.getParameter(_parameterNames[i]);\r\r this.parameterNames = _parameterNames;\r\r}\r\rSWFAddressEvent.INIT = 'init';\r\rSWFAddressEvent.CHANGE = 'change';\r\rSWFAddressEvent.INTERNAL_CHANGE = 'internalChange';\r\rSWFAddressEvent.EXTERNAL_CHANGE = 'externalChange';\r\rvar SWFAddress = new function() {\r\r var _getHash = function() {\r var index = _l.href.indexOf('#');\r return index != -1 ? _ec(_dc(_l.href.substr(index + 1))) : '';\r };\r\r var _getWindow = function() {\r return window;\r };\r\r var _strictCheck = function(value, force) {\r if (_opts.strict)\r value = force ? (value.substr(0, 1) != '/' ? '/' + value : value) : (value == '' ? '/' : value);\r return value;\r };\r\r var _ieLocal = function(value, direction) {\r return (_msie && _l.protocol == 'file:') ? \r (direction ? _value.replace(/\?/, '%3F') : _value.replace(/%253F/, '?')) : value;\r };\r\r var _searchScript = function(el) {\r if (el.childNodes) {\r for (var i = 0, l = el.childNodes.length, s; i < l; i++) {\r if (el.childNodes[i].src)\r _url = String(el.childNodes[i].src);\r if (s = _searchScript(el.childNodes[i]))\r return s;\r }\r }\r };\r\r var _titleCheck = function() {\r if (_d.title != _title && _d.title.indexOf('#') != -1)\r _d.title = _title;\r };\r\r var _listen = function() {\r if (!_silent) {\r var hash = _getHash();\r var diff = !(_value == hash);\r if (_safari && _version < 523) {\r if (_length != _h.length) {\r _length = _h.length;\r if (typeof _stack[_length - 1] != UNDEFINED)\r _value = _stack[_length - 1];\r _update.call(this, false);\r }\r } else if (_msie && diff) {\r if (_version < 7)\r _l.reload();\r else\r this.setValue(hash);\r } else if (diff) {\r _value = hash;\r _update.call(this, false);\r }\r if (_msie)\r _titleCheck.call(this);\r }\r };\r\r var _bodyClick = function(e) {\r if (_popup.length > 0) {\r var popup = window.open(_popup[0], _popup[1], eval(_popup[2]));\r if (typeof _popup[3] != UNDEFINED)\r eval(_popup[3]);\r }\r _popup = [];\r };\r\r var _swfChange = function() {\r for (var i = 0, id, obj, value = SWFAddress.getValue(), setter = 'setSWFAddressValue'; id = _ids[i]; i++) {\r obj = document.getElementById(id);\r if (obj) {\r if (obj.parentNode && typeof obj.parentNode.so != UNDEFINED) {\r obj.parentNode.so.call(setter, value);\r } else {\r if (!(obj && typeof obj[setter] != UNDEFINED)) {\r var objects = obj.getElementsByTagName('object');\r var embeds = obj.getElementsByTagName('embed');\r obj = ((objects[0] && typeof objects[0][setter] != UNDEFINED) ? \r objects[0] : ((embeds[0] && typeof embeds[0][setter] != UNDEFINED) ? \r embeds[0] : null));\r }\r if (obj)\r obj[setter](value);\r } \r } else if (obj = document[id]) {\r if (typeof obj[setter] != UNDEFINED)\r obj[setter](value);\r }\r }\r };\r\r var _jsDispatch = function(type) {\r this.dispatchEvent(new SWFAddressEvent(type));\r type = type.substr(0, 1).toUpperCase() + type.substr(1);\r if(typeof this['on' + type] == FUNCTION)\r this['on' + type]();\r };\r\r var _jsInit = function() {\r if (_util.Browser.isSafari())\r _d.body.addEventListener('click', _bodyClick);\r _jsDispatch.call(this, 'init');\r };\r\r var _jsChange = function() {\r _swfChange();\r _jsDispatch.call(this, 'change');\r };\r\r var _update = function(internal) {\r _jsChange.call(this);\r if (internal) {\r _jsDispatch.call(this, 'internalChange');\r } else {\r _jsDispatch.call(this, 'externalChange');\r }\r _st(_functions.bind(_track, this), 10);\r };\r\r var _track = function() {\r var value = (_l.pathname + (/\/$/.test(_l.pathname) ? '' : '/') + this.getValue()).replace(/\/\//, '/').replace(/^\/$/, '');\r var fn = _t[_opts.tracker];\r if (typeof fn == FUNCTION)\r fn(value);\r else if (typeof _t.pageTracker != UNDEFINED && typeof _t.pageTracker._trackPageview == FUNCTION)\r _t.pageTracker._trackPageview(value);\r else if (typeof _t.urchinTracker == FUNCTION) \r _t.urchinTracker(value);\r };\r\r var _htmlWrite = function() {\r var doc = _frame.contentWindow.document;\r doc.open();\r doc.write('<html><head><title>' + _d.title + '</title><script>var ' + ID + ' = "' + _getHash() + '";</script></head></html>');\r doc.close();\r };\r\r var _htmlLoad = function() {\r var win = _frame.contentWindow;\r var src = win.location.href;\r _value = (typeof win[ID] != UNDEFINED ? win[ID] : '');\r if (_value != _getHash()) {\r _update.call(SWFAddress, false);\r _l.hash = _ieLocal(_value, TRUE);\r }\r };\r\r var _load = function() {\r if (!_loaded) {\r _loaded = TRUE;\r if (_msie && _version < 8) {\r var frameset = _d.getElementsByTagName('frameset')[0];\r _frame = _d.createElement((frameset ? '' : 'i') + 'frame');\r if (frameset) {\r frameset.insertAdjacentElement('beforeEnd', _frame);\r frameset[frameset.cols ? 'cols' : 'rows'] += ',0';\r _frame.src = 'javascript:false';\r _frame.noResize = true;\r _frame.frameBorder = _frame.frameSpacing = 0;\r } else {\r _frame.src = 'javascript:false';\r _frame.style.display = 'none';\r _d.body.insertAdjacentElement('afterBegin', _frame);\r }\r _st(function() {\r _events.addListener(_frame, 'load', _htmlLoad); \r if (typeof _frame.contentWindow[ID] == UNDEFINED) \r _htmlWrite();\r }, 50);\r } else if (_safari) {\r if (_version < 418) {\r _d.body.innerHTML += '<form id="' + ID + '" style="position:absolute;top:-9999px;" method="get"></form>';\r _form = _d.getElementById(ID);\r }\r if (typeof _l[ID] == UNDEFINED) _l[ID] = {};\r if (typeof _l[ID][_l.pathname] != UNDEFINED) _stack = _l[ID][_l.pathname].split(',');\r }\r\r _st(_functions.bind(function() {\r _jsInit.call(this);\r _jsChange.call(this);\r _track.call(this);\r }, this), 1);\r\r if (_msie && _version >= 8) {\r _d.body.onhashchange = _functions.bind(_listen, this);\r _si(_functions.bind(_titleCheck, this), 50);\r } else {\r _si(_functions.bind(_listen, this), 50);\r }\r }\r };\r\r var ID = 'swfaddress',\r FUNCTION = 'function',\r UNDEFINED = 'undefined',\r TRUE = true,\r FALSE = false,\r _util = asual.util,\r _browser = _util.Browser, \r _events = _util.Events,\r _functions = _util.Functions,\r _version = _browser.getVersion(),\r _msie = _browser.isMSIE(),\r _mozilla = _browser.isMozilla(),\r _opera = _browser.isOpera(),\r _safari = _browser.isSafari(),\r _supported = FALSE,\r _t = _getWindow(),\r _d = _t.document,\r _h = _t.history, \r _l = _t.location,\r _si = setInterval,\r _st = setTimeout, \r _dc = decodeURI,\r _ec = encodeURI,\r _frame,\r _form,\r _url,\r _title = _d.title, \r _length = _h.length, \r _silent = FALSE,\r _loaded = FALSE,\r _justset = TRUE,\r _juststart = TRUE,\r _ref = this,\r _stack = [], \r _ids = [],\r _popup = [],\r _listeners = {},\r _value = _getHash(),\r _opts = {history: TRUE, strict: TRUE}; \r\r if (_msie && _d.documentMode && _d.documentMode != _version)\r _version = _d.documentMode != 8 ? 7 : 8;\r\r _supported = \r (_mozilla && _version >= 1) || \r (_msie && _version >= 6) ||\r (_opera && _version >= 9.5) ||\r (_safari && _version >= 312);\r\r if (_supported) {\r\r if (_opera) \r history.navigationMode = 'compatible';\r\r for (var i = 1; i < _length; i++)\r _stack.push('');\r\r _stack.push(_getHash());\r\r if (_msie && _l.hash != _getHash())\r _l.hash = '#' + _ieLocal(_getHash(), TRUE);\r\r _searchScript(document);\r var _qi = _url ? _url.indexOf('?') : -1;\r if (_qi != -1) {\r var param, params = _url.substr(_qi + 1).split('&');\r for (var i = 0, p; p = params[i]; i++) {\r param = p.split('=');\r if (/^(history|strict)$/.test(param[0])) {\r _opts[param[0]] = (isNaN(param[1]) ? /^(true|yes)$/i.test(param[1]) : (parseInt(param[1]) != 0));\r }\r if (/^tracker$/.test(param[0]))\r _opts[param[0]] = param[1];\r }\r }\r\r if (_msie)\r _titleCheck.call(this);\r\r if (window == _t)\r _events.addListener(document, 'DOMContentLoaded', _functions.bind(_load, this));\r _events.addListener(_t, 'load', _functions.bind(_load, this));\r\r } else if ((!_supported && _l.href.indexOf('#') != -1) || \r (_safari && _version < 418 && _l.href.indexOf('#') != -1 && _l.search != '')){\r _d.open();\r _d.write('<html><head><meta http-equiv="refresh" content="0;url=' + \r _l.href.substr(0, _l.href.indexOf('#')) + '" /></head></html>');\r _d.close();\r } else {\r _track();\r }\r\r this.toString = function() {\r return '[class SWFAddress]';\r };\r\r this.back = function() {\r _h.back();\r };\r\r this.forward = function() {\r _h.forward();\r };\r\r this.up = function() {\r var path = this.getPath();\r this.setValue(path.substr(0, path.lastIndexOf('/', path.length - 2) + (path.substr(path.length - 1) == '/' ? 1 : 0)));\r };\r\r this.go = function(delta) {\r _h.go(delta);\r };\r\r this.href = function(url, target) {\r target = typeof target != UNDEFINED ? target : '_self'; \r if (target == '_self')\r self.location.href = url; \r else if (target == '_top')\r _l.href = url; \r else if (target == '_blank')\r window.open(url); \r else\r _t.frames[target].location.href = url; \r };\r\r this.popup = function(url, name, options, handler) {\r try {\r var popup = window.open(url, name, eval(options));\r if (typeof handler != UNDEFINED)\r eval(handler);\r } catch (ex) {}\r _popup = arguments;\r };\r\r this.getIds = function() {\r return _ids;\r };\r\r this.getId = function(index) {\r return _ids[0];\r };\r\r this.setId = function(id) {\r _ids[0] = id;\r };\r\r this.addId = function(id) {\r this.removeId(id);\r _ids.push(id);\r };\r\r this.removeId = function(id) {\r for (var i = 0; i < _ids.length; i++) {\r if (id == _ids[i]) {\r _ids.splice(i, 1);\r break;\r }\r }\r };\r\r this.addEventListener = function(type, listener) {\r if (typeof _listeners[type] == UNDEFINED)\r _listeners[type] = [];\r _listeners[type].push(listener);\r };\r\r this.removeEventListener = function(type, listener) {\r if (typeof _listeners[type] != UNDEFINED) {\r for (var i = 0, l; l = _listeners[type][i]; i++)\r if (l == listener) break;\r _listeners[type].splice(i, 1);\r }\r };\r\r this.dispatchEvent = function(event) {\r if (this.hasEventListener(event.type)) {\r event.target = this;\r for (var i = 0, l; l = _listeners[event.type][i]; i++)\r l(event);\r return TRUE; \r }\r return FALSE;\r };\r\r this.hasEventListener = function(type) {\r return (typeof _listeners[type] != UNDEFINED && _listeners[type].length > 0);\r };\r\r this.getBaseURL = function() {\r var url = _l.href;\r if (url.indexOf('#') != -1)\r url = url.substr(0, url.indexOf('#'));\r if (url.substr(url.length - 1) == '/')\r url = url.substr(0, url.length - 1);\r return url;\r };\r\r this.getStrict = function() {\r return _opts.strict;\r };\r\r this.setStrict = function(strict) {\r _opts.strict = strict;\r };\r\r this.getHistory = function() {\r return _opts.history;\r };\r\r this.setHistory = function(history) {\r _opts.history = history;\r };\r\r this.getTracker = function() {\r return _opts.tracker;\r };\r\r this.setTracker = function(tracker) {\r _opts.tracker = tracker;\r };\r\r this.getTitle = function() {\r return _d.title;\r };\r\r this.setTitle = function(title) {\r if (!_supported) return null;\r if (typeof title == UNDEFINED) return;\r if (title == 'null') title = '';\r title = _dc(title);\r _st(function() {\r _title = _d.title = title;\r if (_juststart && _frame && _frame.contentWindow && _frame.contentWindow.document) {\r _frame.contentWindow.document.title = title;\r _juststart = FALSE;\r }\r if (!_justset && _mozilla)\r _l.replace(_l.href.indexOf('#') != -1 ? _l.href : _l.href + '#');\r _justset = FALSE;\r }, 10);\r };\r\r this.getStatus = function() {\r return _t.status;\r };\r\r this.setStatus = function(status) {\r if (!_supported) return null;\r if (typeof status == UNDEFINED) return;\r if (status == 'null') status = '';\r status = _dc(status);\r if (!_safari) {\r status = _strictCheck((status != 'null') ? status : '', TRUE);\r if (status == '/') status = '';\r if (!(/http(s)?:\/\//.test(status))) {\r var index = _l.href.indexOf('#');\r status = (index == -1 ? _l.href : _l.href.substr(0, index)) + '#' + status;\r }\r _t.status = status;\r }\r };\r\r this.resetStatus = function() {\r _t.status = '';\r };\r\r this.getValue = function() {\r if (!_supported) return null;\r return _dc(_strictCheck(_ieLocal(_value, FALSE), FALSE));\r };\r\r this.setValue = function(value) {\r if (!_supported) return null;\r if (typeof value == UNDEFINED) return;\r if (value == 'null') value = '';\r value = _ec(_dc(_strictCheck(value, TRUE)));\r if (value == '/') value = '';\r if (_value == value) return;\r _justset = TRUE;\r _value = value;\r _silent = TRUE;\r _update.call(SWFAddress, true);\r _stack[_h.length] = _value;\r if (_safari) {\r if (_opts.history) {\r _l[ID][_l.pathname] = _stack.toString();\r _length = _h.length + 1;\r if (_version < 418) {\r if (_l.search == '') {\r _form.action = '#' + _value;\r _form.submit();\r }\r } else if (_version < 523 || _value == '') {\r var evt = _d.createEvent('MouseEvents');\r evt.initEvent('click', TRUE, TRUE);\r var anchor = _d.createElement('a');\r anchor.href = '#' + _value;\r anchor.dispatchEvent(evt); \r } else {\r _l.hash = '#' + _value;\r }\r } else {\r _l.replace('#' + _value);\r }\r } else if (_value != _getHash()) {\r if (_opts.history)\r _l.hash = '#' + _dc(_ieLocal(_value, TRUE));\r else\r _l.replace('#' + _dc(_value));\r }\r if ((_msie && _version < 8) && _opts.history) {\r _st(_htmlWrite, 50);\r }\r if (_safari)\r _st(function(){ _silent = FALSE; }, 1);\r else\r _silent = FALSE;\r };\r\r this.getPath = function() {\r var value = this.getValue();\r if (value.indexOf('?') != -1) {\r return value.split('?')[0];\r } else if (value.indexOf('#') != -1) {\r return value.split('#')[0];\r } else {\r return value; \r } \r };\r\r this.getPathNames = function() {\r var path = this.getPath(), names = path.split('/');\r if (path.substr(0, 1) == '/' || path.length == 0)\r names.splice(0, 1);\r if (path.substr(path.length - 1, 1) == '/')\r names.splice(names.length - 1, 1);\r return names;\r };\r\r this.getQueryString = function() {\r var value = this.getValue(), index = value.indexOf('?');\r if (index != -1 && index < value.length) \r return value.substr(index + 1);\r };\r\r this.getParameter = function(param) {\r var value = this.getValue();\r var index = value.indexOf('?');\r if (index != -1) {\r value = value.substr(index + 1);\r var p, params = value.split('&'), i = params.length, r = [];\r while(i--) {\r p = params[i].split('=');\r if (p[0] == param)\r r.push(p[1]);\r }\r if (r.length != 0)\r return r.length != 1 ? r : r[0];\r }\r };\r\r this.getParameterNames = function() {\r var value = this.getValue();\r var index = value.indexOf('?');\r var names = [];\r if (index != -1) {\r value = value.substr(index + 1);\r if (value != '' && value.indexOf('=') != -1) {\r var params = value.split('&'), i = 0;\r while(i < params.length) {\r names.push(params[i].split('=')[0]);\r i++;\r }\r }\r }\r return names;\r };\r\r this.onInit = null;\r\r this.onChange = null;\r\r this.onInternalChange = null;\r\r this.onExternalChange = null;\r\r (function() {\r\r var _args;\r\r if (typeof FlashObject != UNDEFINED) SWFObject = FlashObject;\r if (typeof SWFObject != UNDEFINED && SWFObject.prototype && SWFObject.prototype.write) {\r var _s1 = SWFObject.prototype.write;\r SWFObject.prototype.write = function() {\r _args = arguments;\r if (this.getAttribute('version').major < 8) {\r this.addVariable('$swfaddress', SWFAddress.getValue());\r ((typeof _args[0] == 'string') ? \r document.getElementById(_args[0]) : _args[0]).so = this;\r }\r var success;\r if (success = _s1.apply(this, _args))\r _ref.addId(this.getAttribute('id'));\r return success;\r }\r } \r\r if (typeof swfobject != UNDEFINED) {\r var _s2r = swfobject.registerObject;\r swfobject.registerObject = function() {\r _args = arguments;\r _s2r.apply(this, _args);\r _ref.addId(_args[0]);\r }\r var _s2c = swfobject.createSWF;\r swfobject.createSWF = function() {\r _args = arguments;\r var swf = _s2c.apply(this, _args);\r if (swf)\r _ref.addId(_args[0].id);\r return swf;\r }\r var _s2e = swfobject.embedSWF;\r swfobject.embedSWF = function() {\r _args = arguments;\r if (typeof _args[8] == UNDEFINED)\r _args[8] = {};\r if (typeof _args[8].id == UNDEFINED)\r _args[8].id = _args[1];\r _s2e.apply(this, _args);\r _ref.addId(_args[8].id);\r }\r }\r\r if (typeof UFO != UNDEFINED) {\r var _u = UFO.create;\r UFO.create = function() {\r _args = arguments;\r _u.apply(this, _args);\r _ref.addId(_args[0].id);\r }\r }\r\r if (typeof AC_FL_RunContent != UNDEFINED) {\r var _a = AC_FL_RunContent;\r AC_FL_RunContent = function() {\r _args = arguments; \r _a.apply(this, _args);\r for (var i = 0, l = _args.length; i < l; i++)\r if (_args[i]== 'id') _ref.addId(_args[i+1]);\r }\r }\r\r })();\r}\r
\ No newline at end of file