﻿

function Chat() {
    if (typeof (_gaq) != 'undefined') {
        //Tracking for specific chat tracking.
        _gaq.push(['_trackPageview', document.location.pathname + document.location.search + (document.location.search.length > 0 ? '&' : '?') + 'generic-chat=true']);
    }
}

//More info http://www.longtailvideo.com/addons/plugins/107/Google-Analytics-Pro
function PlayVideo(productCategory) {
    if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_trackEvent', 'interactions', 'open video', 'open-video:' + productCategory]); 
    }
}

function TraceExternalLink(url) {
    _gaq.push(['_link', url]);
}

function TraceOutboundLink(url) {  
    try {
        _gaq.push(['_trackEvent', 'Outbound', 'click', url]);
        setTimeout('document.location = "' + url + '"', 200);
    } catch (err) { }
}

function TrackWidgetPerfectPlanHelp(data) {
    if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_trackEvent', 'perfect plan', 'help', 'help:' + Format(data).substring(0, 55)]);
    }
}

function TrackWidgetPerfectPlanLearnMore(data) {
    if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_trackEvent', 'perfect plan', 'learn more', 'learn-more:' + Format(data).substring(0, 50)]);
    }
}

function TrackWidgetPerfectPlanNext(data) {
    if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_trackEvent', 'perfect plan', 'next', 'next:from' + Format(data).substring(0, 55)]);
    }
}

function TrackWidgetPerfectPlanBack(data) {
    if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_trackEvent', 'perfect plan', 'back', 'back:from' + Format(data).substring(0, 55)]);
    }
}

function TrackChoiceSelection(data) {
    if (typeof (_gaq) != 'undefined') {
        data = data.replace(/[\/\?\.\=\&\# ]/g, "-");
        _gaq.push(['_setCustomVar', 3, 'perfect plan', 'selected:' + Format(data).substring(0, 49)]);
    }
}

function TrackSliderSelection(data, value) {
    if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_setCustomVar', 3, 'perfect plan', 'selected:' + Format(data).substring(0, 41) + "_" + value.toString().substring(0, 3)]);
    }
}

function TrackError(errCode, requested, previous) {
    if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_trackEvent', Format(errCode), Format(requested), Format(previous)]);
    }
}

function Format(param) {
    return stripVowelAccent(param.replace(/[\/\?\.\=\&\# ]/g, "-"));
}

function stripVowelAccent(str) {
    var s = str;

    var rExps = [/[\xC0-\xC2]/g, /[\xE0-\xE2]/g,
    /[\xC8-\xCA]/g, /[\xE8-\xEB]/g,
    /[\xCC-\xCE]/g, /[\xEC-\xEE]/g,
    /[\xD2-\xD4]/g, /[\xF2-\xF4]/g,
    /[\xD9-\xDB]/g, /[\xF9-\xFB]/g];

    var repChar = ['A', 'a', 'E', 'e', 'I', 'i', 'O', 'o', 'U', 'u'];

    for (var i = 0; i < rExps.length; i++)
        s = s.replace(rExps[i], repChar[i]);

    return s;
}

$(document).ready(function () {
    $(".GAExternalLink").click(function (e) {
        e.preventDefault();
        TraceExternalLink(this.href);
    });

    $(".Outbound").click(function (e) {
        e.preventDefault();
        TraceOutboundLink(this.href);
    });

    $(".GAChatLink").click(function () {
        if (typeof (_gaq) != 'undefined') {
            //Tracking for specific chat tracking.
            _gaq.push(['_trackPageview', document.location.pathname + document.location.search + (document.location.search.length > 0 ? "&" : "?") + 'generic-chat=true']);
        }
    });
});
