var _agt_ = {

    _getTracker : function() {
        try {
            var toString = Object.prototype.toString;
            var basedata = {
                atdt:document.title, atu:window.location, atn:new Date().getTime(), atp:window.location.pathname, atr:document.referrer, atmwv:1,encoding:"UTF-8"
            };
            var hostMatcher = /(https?:\/\/[^\/]+)\/api\/js\/track.js/;
            var scripts = document.getElementsByTagName("script");
            var hostName = null;
            for (var i = 0; i < scripts.length; i++) {
                var scr = scripts[i];
                if (scr.src && hostMatcher.test(scr.src)) {
                    hostName = scr.src.replace(hostMatcher, "$1");
                    break;
                }
            }
            function genUrl(extras) {
                var res = [];
                for (var key in basedata) {
                    res.push(key + "=" + encodeURIComponent(basedata[key]));
                }
                if (extras) {
                    for (var key in extras) {
                        res.push(key + "=" + encodeURIComponent(extras[key]));
                    }
                }
                return hostName + "/api/track.gif?" + res.join("&");
            }
            function encodeArg(arg, prefix, val, obj) {
                if (!arg) {
                    return;
                }
                if (toString.call(arg) === "[object Array]") {
                    for (var i = 0; i < arr.length; i++) {
                        obj[ prefix + arr[i] ] = val;
                    }
                } else if (typeof arg == "object") {
                    for (var key in arg) {
                        obj[prefix + key] = arg[key];
                    }
                } else {
                    obj[prefix + arg] = val;
                }
            }
            return {
                _trackPageView:function() {
                    try {
                        var img = new Image();
                        img.src = genUrl();
                    } catch(e) {
                    }
                },
                _trackEvent:function(events, attrs, func) {
                    try {
                        var extras = {};
                        encodeArg(events, "goal:", "true", extras);
                        if (attrs) {
                            encodeArg(attrs, "attr:", null, extras);
                        }
                        var doTrack = true;
                        if (func && toString.call(attrs) === "[object Function]") {
                            doTrack = func.apply(this,extras);
                        }
                        if (doTrack) {
                            var img = new Image();
                            img.src = genUrl(extras);
                        }
                    } catch (e) {
                    }
                }
            };
        } catch(e) {}
    }
};