﻿function SetupTrackEvents()
{
    TrackEventsLinkClick();
    //TrackEventsImageClick();
}

function TrackEventsLinkClick()
{
    $("a").click(function () {
        var strAHref = $(this).attr("href");
        TrackEvent("Liens", "Click", strAHref);
    });
}

function TrackRepSolutionClick(siteId, Culture, Email, TypePublication) 
{
    $("a").click(function () {
        var strAHref = $(this).attr("href");

        if (Email.length > 0 && IsLocalTrackableLink(strAHref)) 
        {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=iso-8859-1",
                url: "/JSON/wsRepSolution.asmx/LogClick",
                data: "{'nIdSite':" + siteId + ",'strCulture':'" + Culture + "','strEmail':'" + Email + "','strTypePublication':'" + TypePublication + "','strDescription':'" + strAHref + "'}",
                dataType: "json",
                success: function (msg) { },
                error: function (xhr, status, error) {
                    var err = eval("(" + xhr.responseText + ")");
                    alert(err.Message);
                }
            });
        }
    });
}

function IsLocalTrackableLink(linkUrl) 
{
    if (linkUrl != null &&
        linkUrl.match(/\.(?:doc|docx|docm|odt|sxw|lwp|dot|dotx|dotm|ott|stw|mwp|xls|xlsx|xlsm|xlsb|xlam|ods|sxc|123|csv|xlt|xltx|xltm|ots|stc|12m|exe|ppt|pps|pptx|pptm|ppsx|ppsm|ppam|odp|sxi|prz|key|pot|potx|potm|otp|mas|smc|sti|pdf|xml|mp3|wav|aiff|m4a|aac|wma|mov|avi|wmv|divx|mp4|zip|cab|dmg|rar|sit|tar|sqx|gz|jar|arc|txt|rtf|log)($|\&|\?)/)) {
        return true;
    }

    return false;
}

function TrackEventsImageClick()
{
    TrackEventByFileExtension(".gif");
    TrackEventByFileExtension(".jpg");
    TrackEventByFileExtension(".jpeg");
    TrackEventByFileExtension(".png");
}
 
function TrackEventByFileExtension(FileExtension)
{
    $("a[href$='" + FileExtension + "']").click(function() {
        var ImageFileName = ExtractFileNameFromUrl($(this).attr("href"));
        TrackEvent("Images", "Click", ImageFileName);
    });
}
 
function ExtractFileNameFromUrl(Url)
{
    var SplitUrl = Url.split('/');
    var FileName = SplitUrl[SplitUrl.length-1];
     
    return FileName;
}
         
function TrackEvent(Category, Action, Label)
{
   _gaq.push(['_trackEvent', Category, Action, Label]);
}
