$(function() {
    $('a[href$="/feed"]').bind('click', {}, function(ev) {
        if (pageTracker) {
            try {
                pageTracker._trackEvent('blog', 'subscribe', ev.currentTarget.href);
            }
            catch(e) {}
        }
    });
    $('a[href*=".pdf"]').each(function(idx, link) {
        if (!$(link).attr('rel')) {
            $(link).attr('rel', 'external');
        }
    });
    // Check for external link handling
    $("a[rel~='external']").bind('click', {}, function(ev){
        type  = ev.currentTarget.rel;
        if (type && pageTracker)
        {
            pageTracker._trackPageview('/outgoing/' + type);           /* Generic outgoing link tracking */
        }
        this.target = "_blank";
    });
    $('a[href*="data-resources/"]').bind('click', {}, function(ev) {
        href  = ev.currentTarget.href;
        parts = href.split("/");
        if (parts.length >= 2 && pageTracker) {
          pageTracker._trackEvent('DataResource', parts[parts.length - 2], parts[parts.length - 1]);
        }
    });
    $('.embed_vid').each(function(idx, el){
        var vtag    = $(this);
        var link_tag  = $('a', vtag);
        link_tag.bind('click', {}, function(ev) {
            href = ev.currentTarget.href;
            parts = href.split("?");
            url = parts[0];
            file = url.split("/");
            if (file && pageTracker) {
                pageTracker._trackEvent('Video', file[file.length - 1], window.location.href);
            }
        })

        var filename      = link_tag.attr('rel');
        var params        = link_tag.attr('rev');
        var params_parts  = params.split(" ");
        var poster        = filename+'.png';
        var height        = 480;
        var width         = 640;
        if (params_parts.length == 1) {
          var match = params_parts[0].match(/(\d+)[x|X](\d+)/);
          if (match != null) {
            width = parseInt(match[1]);
            height = parseInt(match[2]);
          }
          else {
            poster = params_parts[0];
          }
        }
        else {
          var match = params_parts[0].match(/(\d+)[x|X](\d+)/);
          if (match != null) {
            width = parseInt(match[1]);
            height = parseInt(match[2]);
            poster = params_parts[1];
          }
          else {
            poster = params_parts[0];
            match = params_parts[1].match(/(\d+)[x|X](\d+)/);
            if (match != null) {
              width = parseInt(match[1]);
              height = parseInt(match[2]);
            }
          }
        }
        set_floatbox_vid_tag(link_tag, {
            width: width,
            height: height,
            poster: poster
        });
    });
});

function set_floatbox_vid_tag(link_tag, options) {
    var filename      = link_tag.attr('rel');
    var ops         = jQuery.extend({
        flash_vid: true,
        width: 640,
        height: 480,
        poster: filename+'.png'
    }, options);
    link_tag.attr('data-fb-options', 'width:'+ops.width+' height:'+ops.height+' scrolling:no');
    link_tag.attr('href', '/vid?v='+filename+'&h='+ops.height+'&w='+ops.width+'&p='+ops.poster);
    link_tag.addClass('video');
    link_tag.addClass('floatbox');
    var apple     = navigator.userAgent.match(/iphone|ipad|ipod.*OS\s*3.*like Mac OS X/i) != null;
    if (apple) {
        link_tag.click(function(obj) {
            fb.start(this);
            return false;
        });
    }
    else {
        fb.activateElements();
    }
}

function get_floatbox_vid_txt(filename, options) {
    var ops         = jQuery.extend({
        alt_text: '',
        flash_vid: true,
        width: '640',
        height: '480',
        flv_width: '640',
        flv_height: '444',
        preloader: 'preloader.swf'
    }, options);
    var html_text   = '';
    if (ops.flash_vid) {
        html_text     += '<a data-fb-options="width:'+ops.flv_width+' height:'+ops.flv_height+' scrolling:no" class="video floatbox" href="/videos/'+filename+'.swf?quality=best&amp;autostart=true&amp;csConfigFile=/videos/'+filename+'.xml&amp;csPreloader=/videos/'+ops.preloader+'">';
    }
    else {
        html_text     += '<a data-fb-options="width:'+ops.width+' height:'+ops.height+' scrolling:no afterItemStart:playStart(\''+filename+'_video\')" class="video floatbox" href="#'+filename+'_content">';
    }
    html_text       += '<img border="0" alt="'+ops.alt_text+'" src="'+(ops.pic_url ? ops.pic_url : '/images/blog/'+filename+'.png')+'">';
    html_text       += '</a>';

    return(html_text);
}

function get_html5_vid_txt(filename, options) {
    var ops         = jQuery.extend({
        mp4_only: false,
        width: '640',
        height: '480',
        pic_url: null
    }, options);
    var html_text   = '<div style="display: none;" id="'+filename+'_content">';

    if (ops.mp4_only) {
        html_text     += '<video src="/videos/'+filename+'.mp4" controls="true" style="width:'+ops.width+'px;height:'+ops.height+'px" id="'+filename+'_video"></video>';
    }
    else {
        html_text     += '<video controls="true" poster="/images/videos/'+filename+'-spotlight.png" style="width:'+ops.width+'px;height:'+ops.height+'px" id="'+filename+'_video">';
        html_text     += '<source type="video/mp4" src="/videos/'+filename+'.mp4"></source>'
        html_text     += '<source type="video/ogg" src="/videos/'+filename+'.ogg"></source>'
        html_text     += '</video>';
    }
    html_text     += '</div>';

    return(html_text);
}
function playStart(vid) {
    $('#'+vid)[0].play();
}

