function logPageImpression(pageUrl, pageSourceCode) {

    var correlationId = null;

    this.init = function () {
        correlationId = generateCorrelationId();
		makeCall("http://www.moneysupermarket.com/pageimpressions/pageimpression", correlationId);
        makeCall("http://www.moneysupermarket.com/pageimpressions/log", correlationId);
        makeCall("http://www.travelsupermarket.com/pageimpressions/log", correlationId);
    };	

    function makeCall(impressionUrl, correlationId) {
        new Image().src = impressionUrl + "?page=" + pageUrl + "&source=" + pageSourceCode + "&correlationId=" + correlationId;
    }

    function generateCorrelationId() {
        return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[x]/g, function (c) {
            var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
            return v.toString(16);
        });
    }
}
