/**
 * JS-Funktionen zum erneuten Laden von Zaehlpixeln bei
 * entsprechenden Aenderungen der Seite.
 *
 * Beispiel: Blaettern in Bildergalerien per AJAX
 *
 * Es werden das IVW-Pixel, das interne Zaehlpixel (ivw_pixel_intern),
 * das Adblock-Zaehlpixel (avw_pixel_intern)
 * und Rholive-Zaehlpixel erneut geladen.
 */

var trackingReload = (function() {

    function replace_random_param(uri, param) {
        var regexp = new RegExp("(\\?|&)" + param + "=\\d+\\.\\d+");
        var new_uri = uri.replace(regexp, "$1" + param + "=" + (Math.random() * 100000));

        if (uri != new_uri) {
            return new_uri;
        }

        // URLs die keinen Random-Parameter oder gar keine Parameter haben
        if (uri.match(/\?/)) {
            return uri + "&" + param + "=" + (Math.random() * 100000);
        }
        return uri + "?" + param + "=" + (Math.random() * 100000);
    }

    function ivw_reload() {
        var ivw_tag = document.getElementById('ivw_pixel');
        if (ivw_tag) {
            ivw_tag.src = replace_random_param(ivw_tag.src, "d");
        }
    }
    
    function intern_reload() {
        var ivw_intern_tag = document.getElementById('ivw_pixel_intern');
        if (ivw_intern_tag) {
            ivw_intern_tag.src = replace_random_param(ivw_intern_tag.src, "d");
        }
        debugger;
    }

    function avw_reload() {
        var avw_intern_tag = document.getElementById('avw_pixel_intern');
        if (avw_intern_tag) {
            avw_intern_tag.src = replace_random_param(avw_intern_tag.src, "d");
        }
    }

    function rholive_reload() {
        var rl_pixel = document.getElementById('rl_pixel');
        if (rl_pixel) {
            rl_pixel.src = replace_random_param(rl_pixel.src, "random");
        }
    }
    
    function reload_all() {
        this.rholive();
        this.avw();
        this.ivw();
        this.intern();
    }

    return {
        replace_random_param: replace_random_param,
        reload_all: reload_all,
        ivw: ivw_reload,
        intern: intern_reload,
        avw: avw_reload,
        rholive: rholive_reload
    }
}());

