﻿/* -------------------------------------------------------------- 
** eo-core.js
** Contains the base scripting environment.
**
** Note: some of these functions use the jQuery framework.
-------------------------------------------------------------- */

jQuery(document).ready(function() {
    loadHeader('#header');
    remapExternalLinks();
    hackIE6PseudoClass();
    toggleCommentsArea();
    loadTwitterAPI();
    trackPostViews();
});

function loadHeader(container) {
    // uses jquery-swfobject library.
    // http://jquery.thewikies.com/swfobject/
    var slideshow = jQuery('#ref-templatedirectory').val() + "/library/media/ss-header.swf";
    var expressInstaller = jQuery('#ref-templatedirectory').val() + "/library/media/expressInstall.swf";
    var containerClass = '';

    jQuery(container).flash({
        swf: slideshow,
        height: 350,
        width: 960,
        hasVersion: 9,
        expressInstaller: expressInstaller,
        params: {
            menu: 'false',
            quality: 'best',
            wmode: 'opaque',
            bgcolor: '#000000'
        }
    }).ready(function() { jQuery(container + containerClass).slideDown("slow"); });
}

function loadTwitterAPI() {
    if (document.getElementById("intro")!=null)
        jQuery.getScript('http://twitter.com/javascripts/blogger.js', function() {
            jQuery.getScript('http://twitter.com/statuses/user_timeline/eoliveira.json?callback=twitterCallback2&count=1');
        });
}

function hackIE6PseudoClass() {
    if (jQuery.browser.version.substr(0, 1) == "6")
        jQuery("#nav > ul > li").hover(
            function() { jQuery(this).addClass("hover"); },
            function() { jQuery(this).removeClass("hover"); }
        );
}

function remapExternalLinks() {
    jQuery("a[rel*='external']").click(function() {
        window.open(jQuery(this).attr("href"));
        return false;
    });
}

function remapTweetThisLinks() {
    jQuery("a.tt").click(function() {
        window.open(jQuery(this).attr("href"));
        return false;
    });
}

function trackPostViews() {
    //uses jquery library and google analytics API.
    jQuery("div.post").mouseenter(function() {
        var articleElement;
        var title;
        articleElement = jQuery(this).find("h2.post-title>a");
        title = articleElement.html();

        if ((articleElement.data("tracked") != "true") &&
            (typeof pageTracker != "undefined") &&
            (pageTracker._trackEvent("Article", "hover", title))) {
            articleElement.data("tracked", "true");
        }
    });
}

function toggleCommentsArea() {
    // uses jquery library.
    jQuery("a[rel*='comments-']").click(function(event) {
        var url = jQuery(this).attr("href");
        var ref = "#" + jQuery(this).attr("rel");
        jQuery(ref).attr("src", url);
        jQuery(ref).slideToggle();
        event.preventDefault();
    });
}