if (typeof jQuery == 'undefined') {  
    var fileref=document.createElement('script');
    fileref.setAttribute('type','text/javascript');
    fileref.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js');
    document.getElementsByTagName("head")[0].appendChild(fileref)
}
var bna_lt_ep = 'http://stats.bootsnall.com/lt.php?jsoncallback=?'
onload = function(){      
    var http_referrer = top.frames.length==0?document.referrer:top.document.referrer;       
    var data = {
        HTTP_REFERER: http_referrer,
        HTTP_HOST: location.host,
        REQUEST_URI: location.pathname + location.search,
        GSW: jQuery('#GSWcontainer').length
    }    
    jQuery.getJSON(bna_lt_ep, data, bna_lt_complete);
    bnalt_hj_external_links();
}

function bna_lt_complete(msg){
    if(typeof(bna_lt_pv_callback) == 'function'){
        bna_lt_pv_callback();
    }    
}

function bnalt_hj_external_links(){
    var external_urls = new Array();
    jQuery('a[href]').each(function(){
        var thisa = jQuery(this);
        if(bnalt_is_external_url(thisa.attr('href'))){
            thisa.bind('click', bnalt_trk_exit);
        }
    })
}

function bnalt_is_external_url(url){
    var external = false;
    var i = url.search(/^https?:\/\//i);    
    if(i == 0 && 0 != url.search('http://' + document.location.hostname) && 0 != url.search('https://'+document.location.hostname)){
        external = true;     
    }
    
    //exceptions
    if(0 == url.search('http://www.bootsnall.com/lt/')){
        external = true;     
    }
    
    return external;
}

function bnalt_trk_exit(){
    var thisa = jQuery(this);
    var parts = bnalt_parseURL(thisa.attr('href'));
    var destinationPage = parts.pathname;
    if(parts.search){
        destinationPage += parts.search;
    }
    if(parts.hash){
        destinationPage += '#' + parts.hash;
    } 
    
    anchortext = jQuery.trim(thisa.html());
    if(0 == anchortext.search(/^<img/)){
        reftype = 'image';
        var chl = thisa.children();
        if(chl.attr('alt')){
            anchortext = chl.attr('alt');
        }else if(chl.attr('title')){
            anchortext = chl.attr('title');
        }
    }else{
        reftype = 'text';
    }   
    
    if(thisa.attr('bnalt_location')){
        ref_location = thisa.attr('bnalt_location');
    }else{
        ref_location = '';
    } 
       
    var ext_link_data = {
        ajx_action:         'trk_exit',
        url:                location.href,
        destinationDomain:  parts.hostname,
        destinationPage:    destinationPage,
        anchortext:         anchortext, 
        type:               reftype,
        location:           ref_location                
    }
    
    $.ajaxSetup({async:false}); 
    jQuery.getJSON(bna_lt_ep, ext_link_data, function(msg){
        console.log(msg);
        //if(thisa.attr('target')!='_blank'){
            //location.href = thisa.attr('href');                
            //return false;
        //}else{
        //    location.href = thisa.attr('href');                
        //}        
    })
    
    
}

function bnalt_parseURL(url){  
    var loc = {  
        'href': url  
    };  
    var parts = url.replace('//', '/').split('/');  
    loc.protocol = parts[0];  
    loc.host = parts[1];  
    parts[1] = parts[1].split(':');  
    loc.hostname = parts[1][0];  
    loc.port = parts[1].length > 1 ? parts[1][1] : '';  
    parts.splice(0, 2);  
    loc.pathname = '/' + parts.join('/');  
    loc.pathname = loc.pathname.split('#');  
    loc.hash = loc.pathname.length > 1 ? '#' + loc.pathname[1] : '';  
    loc.pathname = loc.pathname[0];  
    loc.pathname = loc.pathname.split('?');  
    loc.search = loc.pathname.length > 1 ? '?' + loc.pathname[1] : '';  
    loc.pathname = loc.pathname[0];  
    var dotty = loc.pathname.split('.');  
    if (dotty.length > 1) {  
        loc.extension = dotty[(dotty.length - 1)];  
    }  
    else {  
        loc.extension = '';  
    }  
    return loc;  
}  