$(document).ready(function () {

    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");

    //use jQuery to call the Google Analytics JavaScript
    $.getScript(gaJsHost + "google-analytics.com/ga.js", function () {

        //tell Analytics about the current page load using standard _trackPageview method
        try {
            var pageTracker = _gat._getTracker("UA-6985141-1");
            pageTracker._trackPageview();
        } catch (err) { }

        //loop though each anchor element
        $('a').each(function () {

            var filetypes = /\.(zip|exe|pdf|doc*|xls*|ppt*|mp3|csv|flv)$/i;
            var href = $(this).attr('href');

            if (typeof (href) == 'undefined') {
                // Do nothing
            }
            else if (href.match(/^mailto\:/i)) {
                $(this).click(function () {
                    var mailLink = href.replace(/^mailto\:/i, '/mailto/');

                    pageTracker._trackPageview(mailLink);
                    //console.debug('MailToClick: ' + mailLink);

                    // var mailLink = href.replace(/^mailto\:/i, '');
                    //pageTracker._trackEvent('Email', 'Click', mailLink);                   
                });
            }
            else if (href.match(/^\/GetAsset.aspx\?/i)) {
                $(this).click(function () {
                    // Check for class in getAsset link
                    var className = $(this).attr('class');

                    if (typeof (className) == 'undefined') {
                        className = 'Document';
                    }

                    var queryString = {};
                    href.replace(
                        new RegExp("([^?=&]+)(=([^&]*))?", "g"),
                        function ($0, $1, $2, $3) { queryString[$1] = $3; });

                    var assetId = queryString['id'];

                    $(this).delay(1000);

                    $.ajax({
                        type: "POST",
                        url: "/AssetManager.asmx/GetAssetInformation",
                        data: "{'encodedAssetId':'" + assetId.replace("'", "") + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataTypeString: "json",
                        success: function (data, textStatus, jqXHR) {
                            if (!data) {
                                pageTracker._trackEvent(className, 'download', href);                                
                                return;
                            }

                            var results = eval(data);

                            if (!results.hasData) {
                                pageTracker._trackEvent(className, 'download', href);                               
                            }
                            else {
                                var extension = results.extension;
                                var filePath = results.filePath;

                                pageTracker._trackEvent(extension, 'download', filePath);
                                //console.debug('AssetClickEvent2: (' + extension + ') ' + filePath);
                            }
                        },
                        error: function (jqXHR, textStatus, errorThrown) {
                            pageTracker._trackEvent(className, 'download', href);
                        }
                    });
                });
            }
            //check for links starting with http or https, making sure that links to our own domain are excluded
            else if ((href.match(/^https?\:/i)) && (!href.match(document.domain))) {
                $(this).click(function () {
                    var extLink = href.replace(/^https?\:\/\//i, '');
                    pageTracker._trackEvent('External', 'Url', extLink);
                    //console.debug('ExternalClickEvent: ' + extLink);                    
                });
            }
            //check for links with file extension that match the filetypes regular expression:
            else if (href.match(filetypes)) {
                $(this).click(function () {
                    var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : 'Document';
                    var filePath = href.replace(/^https?\:\/\/(www.)lgo\.org\.uk\//i, '');
                    pageTracker._trackEvent(extension, 'download', filePath);
                    //console.debug('FileDownloadEvent: (' + extension + ') ' + filePath);                    
                });
            }

        });

    });

});








