﻿$().ajaxSuccess(function(e, xhr, opts) {
    try {
        var json = JSON.parse(xhr.responseText);

        if (json && json.d && json.d.SiteTracker)
            track(json.d.SiteTracker);

    } catch (ex) {
        // most of these catches will probably be occasions where xhr.responseText is not a valid json
        // those occasions would per definition not be one of the trackable responses we're looking for anyway
        // so we can safely disregard of this error
    }
});

function track(siteTracker) {
    for (key in siteTracker) {
        window.s[key] = siteTracker[key];
    }

    fixPageName();
    void (window.s.t());
}

function fixPageName() {
    var sTitle = document.title;
    sTitle = sTitle.replace(/\|/g, ':');
    sTitle = sTitle.replace('Celebrity Cruises : ', '');
    window.s.pageName = window.s.pageName.replace('document.title', sTitle);
}

function trackOmnitureEvent(trackingEvent) {
    window.s.events = trackingEvent;
    void (window.s.t());
}
