var KeTracking = {
    _identifier:        null,
    _cookieDomain:      '.kontoblick.de',
    _trackingDomain:    'kontoblick.de',
    _pageTrackerID:     'UA-6464687-1',
    _gwoTrackerID:      'UA-6464687-4',
    _gwoTestID:         null,
    _pageTracker:       null,
    _gwoTracker:        null,
    _cookieLifeTime:    1209600000, // 14 days
    setCampaign: function(id) {
        if (id && typeof id == "string") { this._identifier = id; }
    },
    initCampaignTracking: function() {
        var KeRef2 = jQuery.url.param('c') || this._identifier;
        if (KeRef2) { KeUtils.setCookie('KeRef2', escape(KeRef2), this._cookieLifeTime); }
        var host;
        if (document.referrer && (host = jQuery.url.setUrl(document.referrer).attr("host")) && host.indexOf(this._trackingDomain) < 0) { KeUtils.setCookie('KeRef1', escape(document.referrer)); }
    },
    initGoogleTracking: function() {
        $.getScript('http://www.google-analytics.com/ga.js', function(){ KeTracking.addTracking(); });
    },
    addTracking: function() {
        this._pageTracker = _gat._getTracker(this._pageTrackerID);
        this._pageTracker._setDomainName(this._cookieDomain);
        this.track();

        $('a[href^="http"]').not('a[href*="'+this._trackingDomain+'"]').click(function(){
            try {
                var href = $(this).attr('href');
                if ( href.indexOf("://") > 0 ) {
                    var outbound = '/outbound/' + href.split("://",2)[1];
                    KeTracking.track(outbound);
                }
            } catch( e ) {}
        });
        
        if (this._gwoTestID) {
            this._gwoTracker = _gat._getTracker(this._gwoTrackerID);
            this._gwoTracker._setDomainName(this._cookieDomain);
            this._gwoTracker._trackPageview(this._gwoTestID);
        }
    },
    track: function() {
        if (!this._pageTracker || !('_trackPageview' in this._pageTracker)) { return; }
        if (arguments.length) { this._pageTracker._trackPageview(arguments[0]); } 
        else { this._pageTracker._trackPageview(); }
    },
    setGwoTrackingID: function(testID) {
        this._gwoTestID = testID;
    }
};

var KeUtils = {
    setCookie: function(key, value) {
        var date = new Date();
        date.setTime(date.getTime()+(arguments[2] || 86400000));
        document.cookie = key + '=' + value + "; expires="+date.toGMTString() + '; path=/; domain='+KeTracking._cookieDomain;
    },
    getCookie: function(key) {
        var keyStr = key+'=';
        var cookie = document.cookie.split(';');
        for (var i=0;i < cookie.length; i++) {
            var entry = jQuery.trim(cookie[i]);
            if (entry.indexOf(keyStr)==0) return entry.substring(keyStr.length, entry.length);
        }
        return false;
    }
};


/* jQuery.url by Mark Perkins, http://projects.allmarkedup.com/jquery_url_parser/ */
jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||""}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2}});return uri};var key=function(key){if(!parsed.length){setUp()}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/"}else{return parsed.protocol+"://"+parsed.host+"/"}}return(parsed[key]==="")?null:parsed[key]};var param=function(item){if(!parsed.length){setUp()}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item]};var setUp=function(){parsed=parseUri();getSegments()};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/")};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this},segment:function(pos){if(!parsed.length){setUp()}if(pos===undefined){return segments.length}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos]},attr:key,param:param}}();