if (typeof (AC) === "undefined") {
    AC = {}
}
AC.Detector = {getAgent:function() {
    return navigator.userAgent.toLowerCase()
},isMac:function(B) {
    var A = B || this.getAgent();
    return !!A.match(/mac/i)
},isWin:function(B) {
    var A = B || this.getAgent();
    return !!A.match(/win/i)
},isWin2k:function(B) {
    var A = B || this.getAgent();
    return this.isWin(A) && (A.match(/nt\s*5/i))
},isWinVista:function(B) {
    var A = B || this.getAgent();
    return this.isWin(A) && (A.match(/nt\s*6/i))
},isWebKit:function(B) {
    if (this._isWebKit === undefined) {
        var A = B || this.getAgent();
        this._isWebKit = !!A.match(/AppleWebKit/i);
        this.isWebKit = function() {
            return this._isWebKit
        }
    }
    return this._isWebKit
},isSafari2:function(C) {
    if (this._isSafari2 === undefined) {
        if (!this.isWebKit()) {
            this._isSafari2 = false
        } else {
            var B = navigator.userAgent.toLowerCase();
            var A = parseInt(parseFloat(B.substring(B.lastIndexOf("safari/") + 7)));
            this._isSafari2 = (A >= 419)
        }
        this.isSafari2 = function() {
            return this._isSafari2
        }
    }
    return this._isSafari2
},isOpera:function(B) {
    var A = B || this.getAgent();
    return !!A.match(/opera/i)
},isIE:function(B) {
    var A = B || this.getAgent();
    return !!A.match(/msie/i)
},isIEStrict:function(B) {
    var A = B || this.getAgent();
    return A.match(/msie/i) && !this.isOpera(A)
},isFirefox:function(B) {
    var A = B || this.getAgent();
    return !!A.match(/firefox/i)
},isiPhone:function(B) {
    var A = B || this.getAgent();
    return this.isMobile(A)
},isMobile:function(B) {
    var A = B || this.getAgent();
    return this.isWebKit(A) && A.match(/Mobile/i)
},isiTunesOK:function(B) {
    var A = B || this.getAgent();
    return this.isMac(A) || this.isWin2k(A)
},isQTInstalled:function() {
    var A = false;
    if (navigator.plugins && navigator.plugins.length) {
        for (var B = 0;
             B < navigator.plugins.length; B++) {
            var C = navigator.plugins[B];
            if (C.name.indexOf("QuickTime") > -1) {
                A = true
            }
        }
    } else {
        if (typeof (execScript) != "undefined") {
            qtObj = false;
            execScript('on error resume next: qtObj = IsObject(CreateObject("QuickTimeCheckObject.QuickTimeCheck.1"))', "VBScript");
            A = qtObj
        }
    }
    return A
},getQTVersion:function() {
    var A = "0";
    if (navigator.plugins && navigator.plugins.length) {
        for (var C = 0; C < navigator.plugins.length; C++) {
            var D = navigator.plugins[C];
            var B = D.name.match(/quicktime\D*([\.\d]*)/i);
            if (B && B[1]) {
                A = B[1]
            }
        }
    } else {
        if (typeof (execScript) != "undefined") {
            ieQTVersion = null;
            execScript('on error resume next: ieQTVersion = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1").QuickTimeVersion', "VBScript");
            if (ieQTVersion) {
                A = (ieQTVersion >> 24).toString(16)
            }
        }
    }
    return A
},isQTCompatible:function(C, E) {
    function B(G, I) {
        var F = parseInt(G[0], 10);
        if (isNaN(F)) {
            F = 0
        }
        var H = parseInt(I[0], 10);
        if (isNaN(H)) {
            H = 0
        }
        if (F === H) {
            if (G.length > 1) {
                return B(G.slice(1), I.slice(1))
            } else {
                return true
            }
        } else {
            if (F < H) {
                return true
            } else {
                return false
            }
        }
    }
    var D = C.split(/\./);
    var A = E ? E.split(/\./) : this.getQTVersion().split(/\./);
    return B(D, A)
},isValidQTAvailable:function(A) {
    return this.isQTInstalled() && this.isQTCompatible(A)
}};