;
var LinkExtender = {
    config: {
        daysCookieValid: 5,
        linkMarker: "synxis.com",
        urlParameters: ['template', 'chebs', 'src']
    },
    run: function(config) {
        var me = this;
        jQuery.extend(me.config, config);
        var ext = me.collectParameters(me.config.urlParameters);
        if(ext != '') {
            me.setCookie('ext', ext, me.config.daysCookieValid);
        } else {
            ext = me.getCookie('ext');
        }
        if(ext != '' && ext != null && ext != 'undefined') {
            me.extendLinks(ext, me.config.linkMarker);
        }
    },
    collectParameters: function(params) {
        var me = this;
        var ext = '';
        var url = location.href;
        for(i in params) {
            var rx = new RegExp(".*\?"+params[i]+"=([^&]*)","ig");
            var match = rx.exec(url);
            if(match) {
                ext += '&' + params[i] + '=' + me.stripBlackListed(match[1]);
            }
        }
        return ext;
    },
    setCookie: function(c_name, value, exdays) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = encodeURI(value) + ((exdays==null) ? "" : "; expires=" + exdate.toUTCString());
        document.cookie = c_name + "=" + c_value;
    },
    getCookie: function(c_name) {
        var i, x, y, ARRcookies = document.cookie.split(";");
        for (i=0;i<ARRcookies.length;i++) {
            x = ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
            y = ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
            x = x.replace(/^\s+|\s+$/g,"");
            if (x == c_name) {
                return decodeURI(y);
            }
        }
    },
    stripBlackListed: function(str) {
        return str.replace(/(<|>|%3E|%3C|%20)/g, "");
    },
    extendLinks: function(ext, marker) {
        jQuery('a').each(function() {
            var href = jQuery(this).attr('href');
            var rx = new RegExp(".*(" + marker + ").*", "ig");
            if(rx.test(href)) {
                var len = href.length - 1;
                if('&' == href.substr(len)) {
                    href = href.substr(0, len);
                }
                href = href + ext;
                jQuery(this).attr('href', href);
            }
        });
    }
};
