/*
* Finanssivalvonta tracking code
* 17-12-2009 Kwantic Oy
*/

// Helper function http://javascript.about.com/library/bldom08.htm
document.getElementsByClassName = function(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b' + cl + '\\b');
    var elem = this.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
};

function urchinEventBind(obj, evt, newhandler, captures) {
    if (obj.attachEvent)
        obj.attachEvent('on' + evt, newhandler);
    else if (obj.addEventListener)
        obj.addEventListener(evt, newhandler, captures);
    else {
        var oldhandler;
        if (oldhandler = obj['on' + evt])
            obj['on' + evt] = function() { oldhandler(); newhandler(); }
        else obj['on' + evt] = newhandler;
    }
}

function runTracker(pageType, pageItem, pageName) {
    urchinEventBind(pageItem, "click", function() { pageTracker._trackEvent(pageType, pageName.replace(/^(http|https):\/\//i, ''), language); }, false);
}


// Variable default values
var isDownload = /\b(pdf|doc|docx|xls|xlsx|ppt|pptx|zip)\b/ig; // Download extensions
var internalDomains = ""; // Add domains here which you want to include as internal traffic e.g. domain.fi
var tmpLang = location.pathname.split("/").slice(1, 2);
switch (tmpLang) {
    case "en":
        language = "english";
        break;
    case "se":
        language = "swedish";
        break;
    default:
        language = "finnish";
}

if (internalDomains != "")
    var tempDomain = "(" + document.domain + "|" + internalDomains + ")";
else
    var tempDomain = document.domain;
var isInternalLink = new RegExp(tempDomain, i);

// Download and exit-links
var a = document.getElementsByTagName('a');
for (var i = 0; i < a.length; i++) {
    if (a[i].protocol != "javascript:") {
        if (a[i].href.match(isDownload)) {
            runTracker('Ladatut tiedostot', a[i], a[i].href);
        } else if (!a[i].href.match(isInternalLink)) {
            runTracker('Palvelusta ulos johtavat linkit', a[i], a[i].href);
        }
    }
}

// Quick links
if (pageName.match(/frontpage$/) && typeof (document.getElementsByClassName('box')) != "undefined" && document.getElementsByClassName('box') != null) {
    var ql = document.getElementsByClassName('box');
    if (typeof (ql[1]) != "undefined") {
        var a = ql[1].getElementsByTagName('a');
        for (var i = 0; i < a.length; i++) {
            if (a[i].protocol != "javascript:") {
                runTracker('Etusivun pikalinkit', a[i], a[i].innerHTML.replace(/<\/?[^>]+(>|$)/g, ""));
            }
        }
    }
}

// Frontpage lifts
if (pageName.match(/frontpage$/) && typeof (document.getElementById('leftContent')) != "undefined" && document.getElementById("leftContent") != null) {
    var a = document.getElementById('leftContent').getElementsByTagName('a');
    for (var i = 0; i < a.length; i++) {
        if (a[i].protocol != "javascript:") {
            runTracker('Uutisnostot', a[i], a[i].href);
        }
    }
}


