//TODO: CSD check op browsercompatibility (document.onclick event.which event.button event.target event.srcElement element.parentNode element.tagName)

function debug_gaq_push(arr) {
    var j = '';
    for (var i = 0; i < arr.length; i++) j += arr[i] + "\n";
    alert("debug _gaq.push: \n\n" + j);
}

function handleGAclick(e) {
    var ev = (typeof event == "undefined") ? e : event;
    if (ev.which ? (ev.which == 1) : (ev.button == 0)) {
        var srcElement = ev.srcElement || ev.target;
        var linkelement = srcElement.tagName == "A" ? srcElement : (srcElement.parentNode.tagName == "A" ? srcElement.parentNode : null);
        if (linkelement) {
            var url = linkelement.href;
            var isImageClick = srcElement.tagName == "IMG";

            var mediaIndex = url.indexOf("~/media");
            if (mediaIndex > 0) {
                // find extension
                var extention = "undefined";
                var extentionMatch = url.match(/ext=\.(\w+)/);
                if (extentionMatch) 
                {
                    extention = extentionMatch[1];
                }
                // find dealer
                var dealer = '';
                var dealerIndex = url.indexOf("/dealer/"); // skoda
                if (dealerIndex <= 0) {
                    dealerIndex = url.indexOf("/vestigingen/"); //seat
                }
                if (dealerIndex > 0) {
                    var urlDealerParts = url.substring(dealerIndex).split('/');
                    if (urlDealerParts.length > 1) {
                       dealer = urlDealerParts[2] + "/";
                    }
                }
               var trackUrl = '/downloads/' + dealer + extention + url.substring(mediaIndex + 7);
                _gaq.push(['_trackPageview', trackUrl]);
            }
            else if (url.indexOf("mailto:") == 0) {
                _gaq.push(['_trackEvent', 'Mailto-link', 'Clicks-mailto', url.substring(7)]);
            }
            else if (url.indexOf("javascript:") == 0) {
                _gaq.push(['_trackEvent', 'JavaScript-link-intern', 'Clicks-intern', url]);
            }
            else {
                var temp = location.href.indexOf('/', 8);
                var currentHost = location.href.substring(0, temp + 1);
                temp = url.indexOf('/', 8);
                var targetHost = url.substring(0, temp + 1);
                var targetPath = url.substring(temp);
                var isExternal = currentHost != targetHost && linkelement.rel != 'ga-text-link-intern';
                if (isImageClick) {
                    if (isExternal) {
                        _gaq.push(['_trackEvent', 'Afbeelding-extern', 'Clicks-extern', url]);
                    }
                    else {

                        _gaq.push(['_trackEvent', 'Afbeelding-intern', 'Clicks-intern', targetPath]);
                    }
                }
                else {
                    if (isExternal) {
                        _gaq.push(['_trackEvent', 'Tekst-link-extern', 'Clicks-extern', url]);
                    }
                    else {
                        _gaq.push(['_trackEvent', 'Tekst-link-intern', 'Clicks-intern', targetPath]);
                    }
                }
            }
        }
    }
}


