/**
 * Downloadlinks in analytics tracken dmv 'onClick' tag. 
 * Deze functie wordt aan de body-onload toegevoegd.
 * Te includen onder de algemene analytics-include, de functie urchinTracker is anders niet aanwezig! 
 * Evt probleem: als er veel links zijn om te parsen of het document zeer traag laadt
 * wordt de onClick handler eventueel niet tijdig toegevoegd.
 * LET OP: evt eerder de ondersteuning voor het juiste eventmodel uitzoeken om de body van de functie te versnellen!
 */
function tagDownloadsForAnalytics() {
    var as = document.getElementsByTagName("a");
    var str='';
    for(var i = 0;i < as.length; i++){
        if(as[i].href.indexOf('/download/') > -1){
            current_handler = as[i].getAttribute('onclick');
            if(current_handler == null || currentHandler.indexOf('urchin') < 0) {
                if(as[i].addEventListener){
                    as[i].addEventListener('click',wrapTracker,false);
                } else if (as[i].attachEvent){
                    as[i].attachEvent('onclick',wrapTracker);
                } else {
                    as[i].onclick = wrapTracker;
                }
            }
        }
    }

}

/**
 * de call naar urchin moet worden ingepakt omdat we met de eventhandler geen parameters kunnen doorgeven.
 */
function wrapTracker(evt) {
   var e_out;
   var ie_var = "srcElement";
   var moz_var = "target";
   var prop_var = "href";
   // "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
   evt[moz_var] ? e_out = evt[moz_var][prop_var] : e_out = evt[ie_var][prop_var];
   if(e_out != null){
       var offset = e_out.indexOf('/download/');
       var track_url = '/downloads/document/' + e_out.substring(offset + 10, e_out.length - 1);
       //alert("calling urchin-tracker with trackURL " + track_url);
       urchinTracker(track_url);
   }
 
}


/**
 * aan body - onload hangen 
 */



function attachTrackerTaggerToBody(){
    if(typeof window.addEventListener != 'undefined'){
        // moz khtml family
        window.addEventListener('load', tagDownloadsForAnalytics, false)
    } else if(typeof document.addEventListener != 'undefined') {
        // opera
        document.addEventListener('load', tagDownloadsForAnalytics, false)
    } else if(typeof window.attachEvent != 'undefined') {
        // IE
        window.attachEvent('onload',tagDownloadsForAnalytics);
    } else {
        // oude browsers
        if(typeof window.onload == 'function') {
            //store it
            var existing = window.onload;
            window.onload = function() {
                existing();
                tagDownloadsForAnalytics();
            };
        } else {
            window.onload = tagDownloadsForAnalytics();
        }

    }

}

attachTrackerTaggerToBody();

