/** * SWFAddress v1.1: Deep linking for Flash - http://www.asual.com/swfaddress/ * * SWFAddress is (c) 2006 Rostislav Hristov and is released under the MIT License: * http://www.opensource.org/licenses/mit-license.php * */if (typeof asual == "undefined") {    var asual = new Object();}if (typeof asual.util == "undefined") {    asual.util = new Object();}asual.util.Browser = new function(){    var _1 = navigator.userAgent;    this.supported = false;    this.ie = false;    this.gecko = false;    this.safari = false;    this.opera = false;    this.version = -1;    if (/MSIE/.test(_1)) {        this.ie = true;        this.version = parseFloat(_1.substring(_1.indexOf("MSIE") + 4));        this.supported = this.version >= 6;    }    else {        if (/AppleWebKit/.test(_1)) {            this.safari = true;            this.version = parseFloat(_1.substring(_1.indexOf("Safari") + 7));            this.supported = this.version >= 312;        }        else {            if (/Opera/.test(_1)) {                this.opera = true;                this.version = parseFloat(navigator.appVersion);                this.supported = this.version >= 9.02;            }            else {                if (/Firefox/.test(_1)) {                    this.gecko = true;                    this.version = parseFloat(_1.substring(_1.indexOf("Firefox") + 8));                    this.supported = this.version >= 1;                }                else {                    if (/Camino/.test(_1)) {                        this.gecko = true;                        this.version = parseFloat(_1.substring(_1.indexOf("Camino") + 7));                        this.supported = this.version >= 1;                    }                    else {                        if (/Netscape/.test(_1)) {                            this.gecko = true;                            this.version = parseFloat(_1.substring(_1.indexOf("Netscape") + 9));                            this.supported = this.version >= 8;                        }                        else {                            if (/Mozilla/.test(_1) && /rv:/.test(_1)) {                                this.gecko = true;                                this.version = parseFloat(_1.substring(_1.indexOf("rv:") + 3));                                this.supported = this.version >= 1.8;                            }                        }                    }                }            }        }    }    if (!this.supported && top.location.href.indexOf("#") != -1) {        document.open();        document.write("<html><head><meta http-equiv=\"refresh\" content=\"0;url=" + top.location.href.substr(0, top.location.href.indexOf("#")) + "\" /></head></html>");        document.close();    }};asual.util.Functions = new function(){    this.extend = function(_2, _3){        function inheritance(){        }        inheritance.prototype = _2.prototype;        _3.prototype = new inheritance();        _3.prototype.constructor = _3;        _3.superConstructor = _2;        _3.superClass = _2.prototype;        return _3;    };    this.bindAsListener = function(_4, _5, _6){        return function(_7){            return _4.call(_5, _7 || ((_6) ? _6.event : window.event));        };    };};asual.util.Events = new function(){    var _8 = new Array();    this.addListener = function(_9, _a, _b){        if (_9.addEventListener) {            _9.addEventListener(_a, _b, false);        }        else {            if (_9.attachEvent) {                _9.attachEvent("on" + _a, _b);            }            else {                _9["on" + _a] = _b;            }        }        _8.push({            o: _9,            t: _a,            l: _b        });    };    this.removeListener = function(_c, _d, _e){        if (_c.removeEventListener) {            _c.removeEventListener(_d, _e, false);        }        else {            if (_c.detachEvent) {                _c.detachEvent("on" + _d, _e);            }            else {                _c["on" + _d] = _e;            }        }    };    var _f = function(){        for (var i = 0, evt; evt = _8[i]; i++) {            asual.util.Events.removeListener(evt.o, evt.t, evt.l);        }    };    if (asual.util.Browser.ie || asual.util.Browser.safari) {        this.addListener(window, "unload", asual.util.Functions.bindAsListener(_f, this));    }};asual.SWFAddress = new function(){    var _12 = asual.util.Browser;    var _13 = _12.supported;    var _14, _15;    var _16, _17, _18 = false;    var _19 = document.title;    var _1a = history.length;    var _1b = new Array();    var js = "swfaddress.js";    var _1d = "swfaddress.html";    var _1e = function(){        var _1f = top.location.href.indexOf("#");        if (_1f != -1) {            return top.location.href.substring(_1f);        }        return "";    };    var _20 = _1e();    var _21 = function(){        if (_12.safari) {            if (_1a != history.length && !_18) {                _1a = history.length;                if (typeof _1b[_1a - 1] != "undefined") {                    _20 = _1b[_1a - 1];                }                _22();            }        }        else {            if (_12.ie) {                if (_20 != _1e()) {                    if (_12.version < 7) {                        top.location.reload();                    }                    else {                        asual.SWFAddress.setValue(_1e().replace(/#/g, ""));                    }                }                if (top.document.title != _19) {                    asual.SWFAddress.setTitle(_19);                }            }            else {                if (_20 != top.location.hash) {                    _20 = top.location.hash;                    _22();                }            }        }    };    var _22 = function(){        var _23 = _20.replace(/#/g, "");        if (_23 != _16) {            _16 = _23;            var obj = document[_17] || document.getElementById(_17);            if (obj) {                obj.setSWFAddressValue(_23);            }        }    };    var _25 = function(){        if (_14.contentWindow && _14.contentWindow.location) {            var win = _14.contentWindow;            win.document.title = top.document.title = _19;            var src = win.location.href;            if (src.indexOf("?") > -1) {                _20 = "#" + src.substring(src.indexOf("?") + 1);            }            else {                _20 = "#";            }            if (_20 != _1e()) {                _22();                top.location.hash = _20;            }        }    };    var _28 = function(){        if (_12.ie || _12.safari) {            var _29 = document.createElement("div");            _29.id = "swfaddress";            var _2a = document.getElementsByTagName("script");            for (var i = 0, s; s = _2a[i]; i++) {                if (s.src.indexOf(js) > -1) {                    _1d = (new String(s.src)).replace(js, _1d);                }            }            _29.innerHTML = "<iframe id=\"swfaddress-iframe\" src=\"" + _1d + _1e().replace(/#/g, "?") + "\" frameborder=\"no\" scrolling=\"no\"></iframe>";            document.body.appendChild(_29);            _29.style.position = "absolute";            _29.style.left = _29.style.top = "-9999px";            _14 = _29.getElementsByTagName("iframe")[0];        }        if (_12.ie) {            asual.util.Events.addListener(_14, "load", asual.util.Functions.bindAsListener(_25, this));        }        if (_12.safari) {            _15 = document.createElement("form");            _15.id = "swfaddress-form";            _15.method = "get";            _29.appendChild(_15);            if (typeof top.document.location.swfaddress == "undefined") {                top.document.location.swfaddress = new Object();            }            if (typeof top.document.location.swfaddress.history != "undefined") {                _1b = top.document.location.swfaddress.history.split(",");            }        }        _2d.call(this);        _22.call(this);        setInterval(_21, 50);    };    var _2d = function(){        if (typeof urchinTracker != "undefined") {            var _2e = top.location.pathname + this.getValue();            _2e = _2e.replace(/\/\//, "/");            _2e = _2e.replace(/^\/$/, "");            urchinTracker(_2e);        }    };    this.getId = function(){        if (!_13) {            return null;        }        return _17;    };    this.setId = function(id){        if (!_13) {            return null;        }        _17 = id;    };    this.getTitle = function(){        if (!_13) {            return null;        }        return top.document.title;    };    this.setTitle = function(_30){        if (!_13) {            return null;        }        if (_30 == "null") {            _30 = "";        }        if (typeof _30 != "undefined") {            _19 = _30;            top.document.title = _19;        }    };    this.getStatus = function(){        if (!_13) {            return null;        }        return top.status;    };    this.setStatus = function(_31){        if (!_13) {            return null;        }        if (!_12.safari) {            if (_31 == "null" || typeof _31 == "undefined") {                _31 = "";            }            var _32 = top.location.href.indexOf("#");            if (_32 == -1) {                _31 = top.location.href + "#" + _31;            }            else {                _31 = top.location.href.substr(0, _32) + "#" + _31;            }            top.status = _31;        }    };    this.resetStatus = function(){        top.status = "";    };    this.getValue = function(){        if (!_13) {            return null;        }        var _33 = _20.replace(/#/gi, "");        return _33;    };    this.setValue = function(_34){        if (!_13) {            return null;        }        if (_34 == "null") {            _34 = "";        }        if (_16 == _34) {            return;        }        var _35;        var obj = document[_17] || document.getElementById(_17);        if (obj) {            _35 = obj.getSWFAddressValue();            if (_35 == "null") {                _35 = "";            }        }        _20 = "#" + _34;        if (_35 == _34) {            _16 = _34;            _22();        }        else {            _22();            _16 = _34;        }        if (_12.safari) {            _15.action = _20;            _1b[history.length] = _20;            top.document.location.swfaddress.history = _1b.toString();            _18 = true;            _1a = history.length + 1;            _15.submit();            _18 = false;        }        else {            if (_35 == _34) {                top.location.hash = _20;            }        }        if (_12.ie) {            var win = _14.contentWindow;            var _38 = "?" + _1e().substring(_20.indexOf("#") + 1);            win.location.assign(win.location.pathname + _38);        }        _2d.call(this);    };    if (!_13) {        return;    }    if (_12.safari) {        for (var i = 1; i < _1a; i++) {            _1b.push("");        }        _1b.push(top.location.hash);    }    if (_12.ie) {        if (_20 == "") {            top.location.hash = "#";        }        else {            top.location.hash = _1e();        }    }    asual.util.Events.addListener(window, "load", asual.util.Functions.bindAsListener(_28, this));    _16 = this.getValue();};if (typeof deconcept != "undefined" && deconcept.SWFObject) {    asual.SWFAddressObject = asual.util.Functions.extend(deconcept.SWFObject, function(swf, id, w, h, ver, c, _40, _41, _42, _43){        asual.SWFAddressObject.superConstructor.apply(this, arguments);        asual.SWFAddress.setId(id);    });    SWFObject = deconcept.SWFObject = asual.SWFAddressObject;}SWFAddress = asual.SWFAddress;