var Class = {
    create: function(){
        return function(){
            this.initialize.apply(this, arguments);
        }
    }
}
var ECRMJS = true;
var eCrmPixel = Class.create();
eCrmPixel.prototype = {
    version: '0.9',
    context: '',
    cookies: new Array(),
    domain: 'maxblue.de',
    ecrmPixelArray: new Array(),
    extras: '',
    id: Math.round(Math.random() * 10000000000),
    isCookie: false,
    link: '',
    pageId: '',
    pixelUrl: 'http://tp.maxblue.de/tracking/maxbluede.gif',
    referrer: document.referrer,
    initialize: function(pU, pD){
        if (typeof COOKIEJS != 'undefined') {
            this.cookies['id'] = new myCookie('eCrmId', 0, '/', this.domain);
            this.cookies['pageid'] = new myCookie('eCrmPageId', 0, '/', this.domain);
            this.cookies['referrer'] = new myCookie('eCrmReferrer', 0, '/', this.domain);
            this.cookies['context'] = new myCookie('eCrmContext', 0, '/', this.domain);
            if (this.cookies['id'] != null) 
                this.isCookie = true;
        }
        if (arguments[2]) 
            this.setId(arguments[2]);
        this.pixelUrl = (pU == '') ? (this.pixelUrl) : (pU);
        this.domain = (pD == '') ? (this.domain) : (pD);
    },
    getContext: function(){
        return this.context;
    },
    getExtras: function(){
        return this.extras;
    },
    getId: function(){
        return this.id;
    },
    getLink: function(){
        return this.link;
    },
    getPageId: function(){
        return this.pageId;
    },
    getRef: function(){
        return this.referrer;
    },
    setContext: function(c){
        this.context = c;
        this.update();
    },
    setExtras: function(e){
        this.extras = e;
    },
    setId: function(i){
        this.id = i;
        this.update();
    },
    setLink: function(l){
        this.link = l;
    },
    setPageId: function(p){
        var fC = p.substr(0, 1);
        if (fC != '/') {
            var tmp = p;
            if (tmp.indexOf('http://') == 0) 
                tmp = tmp.substr(7, tmp.length);
            p = tmp.substr(tmp.indexOf('/'), tmp.length);
        }
        this.pageId = p;
        this.update();
    },
    setPixel: function(ecrmlink){
        this.request(ecrmlink);
    },
    setRef: function(r){
        this.referrer = r;
        this.update();
    },
    getParam: function(paramname){
        var SELF_LOCATION = self.location.href;
        var paramstring = (SELF_LOCATION.indexOf('?') != -1) ? (SELF_LOCATION.substr(SELF_LOCATION.indexOf('?') + 1, SELF_LOCATION.length)) : ('');
        var re = new RegExp('^' + paramname + '=');
        var params = paramstring.split('&');
        for (var param in params) {
            if (re.test(params[param])) {
                return (params[param].split('='))[1];
            }
        }
        return '';
    },
    getValuesFromCookie: function(){
        if (this.isCookie) {
            if (this.cookies['id'].value()) 
                this.id = this.cookies['id'].value();
            if (this.cookies['pageid'].value()) 
                this.pageId = this.cookies['pageid'].value();
            if (this.cookies['referrer'].value()) 
                this.referrer = this.cookies['referrer'].value();
            if (this.cookies['context'].value()) 
                this.context = this.cookies['context'].value();
            return true;
        }
        else {
            return false;
        }
    },
    isTopframe: function(){
        try {
            if (self.location.href.indexOf('https') != -1) {
                return false;
            }
            if (self.location.href.indexOf(this.domain) == -1) {
                return false;
            }
            if (!top.eCrmTopframe) {
                return false;
            }
            else {
                return true;
            }
        } 
        catch (e) {
            return false;
        }
    },
    openLink: function(url, name, width, height){
        var sta = this.pageId.lastIndexOf('/');
        var end = (this.pageId.indexOf('.pdf') != -1) ? (this.pageId.indexOf('.pdf')) : (this.pageId.indexOf('.html'));
        var p = this.pageId.substring(sta + 1, end);
        var url = url.replace(/%PAGEID%/, p);
        var my_pop_up = window.open(url, name, 'width=' + width + ',height=' + height + 'scrollbars=yes,resizable=no');
    },
    update: function(){
        if (this.isCookie) {
            if (this.id) 
                this.cookies['id'].value(this.id);
            if (this.pageId) 
                this.cookies['pageid'].value(this.pageId);
            if (this.referrer) 
                this.cookies['referrer'].value(this.referrer);
            if (this.context) 
                this.cookies['context'].value(this.context);
        }
        if (this.isTopframe()) {
            top.eCrmId = this.id;
            top.eCrmPageId = this.pageId;
            top.eCrmReferrer = this.referrer;
            top.eCrmContext = this.context;
        }
    },
    request: function(ecrmlink){
        var RandomNo = '' + Math.round(Math.random() * 1000000000);
        var diff = 10 - RandomNo.length;
        var fill = '';
        for (j = 0; j < diff; j++) 
            fill += '0';
        RandomNo = fill + RandomNo; // Random immer mindestens 10 Zeichen.
        if (ecrmlink == undefined) {
            this.link = this.getParam('eCrmLink');
        }
        else {
            this.link = ecrmlink;
        }
        var from = (this.referrer != null) ? (this.referrer) : ('');
        var sta = from.lastIndexOf('/') + 1;
        var end = from.length - 5;
        from = from.substring(sta, end);
        var to = this.pageId;
        sta = to.lastIndexOf('/') + 1;
        end = to.length - 5;
        to = to.substring(sta, end);
        
        this.link = unescape(this.link);
        this.link = this.link.replace(/%FROM%/, from);
        this.link = this.link.replace(/%TO%/, to);
        var pkz = (self.eCrmPKZ) ? ('_' + self.eCrmPKZ) : ('');
        this.link = this.link.replace(/%PKZ%/, pkz);
        var myeCrmExtras = (this.link != '') ? ('&eCrmLink=' + this.link) : ('');
        myeCrmExtras += (this.extras) ? ('&' + this.extras) : ('');
        myeCrmExtras += ((this.context != null) && (this.context != 'null') && (this.context != '')) ? ('&eCrmContext=' + this.context) : ('');
        
        this.ecrmPixelArray[this.ecrmPixelArray.length] = new Image();
        var DO = ((this.referrer != null) && (this.referrer.indexOf('http') == -1)) ? ('http://www.' + this.domain) : ('');
        this.ecrmPixelArray[this.ecrmPixelArray.length - 1].src = unescape(this.pixelUrl + '?dbtrck=' + this.id + ';' + this.pageId + ';' + DO + this.referrer + ';' + RandomNo + myeCrmExtras);
        this.extras = '';
        this.link = '';
        this.setRef(this.pageId);
    }
}
function seteCrmPixel(eCrmPageId){
    var ecrm = new eCrmPixel('', '');
    ecrm.getValuesFromCookie();
    ecrm.setPageId(eCrmPageId);
    ecrm.setPixel();
}