if (typeof console === 'undefined') { console = { log: function () {}, warn: function () {}, error: function () {}, info: function () {}, dir: function () {} }; }
jQuery.noConflict();

var shareTools = {

    init : function () {
        jQuery(document).ready(function () {

            shareTools.el = jQuery('#share_tools');

            if (shareTools.el.length) {
                shareTools.lastFixedPoint = 180;
                shareTools.isWidgetFixed = true;
                shareTools.isIe9 = jQuery.browser.msie && (parseInt(jQuery.browser.version, 10) === 9);
                shareTools.doc = jQuery(document);
                shareTools.win = jQuery(window);
                shareTools.footer = jQuery('#footer');
                shareTools.elInner = shareTools.el.find('.inner');
                shareTools.mainContent = jQuery('#main_content');
                shareTools.contentOffset = parseInt(jQuery('#entity_wrapper').offset().top, 10) + 125;
                shareTools.url = document.location.protocol + '//' + document.location.hostname + document.location.pathname;

                shareTools.el.css({ 'top' : shareTools.contentOffset });
                shareTools.el.find('.tool_fb a').facebookShare();
                shareTools.el.find('.tool_tw a').twitterShare();

                shareTools.getFbCount(shareTools.url);
                shareTools.getTwCount(shareTools.url);

                shareTools.win.bind('scroll', shareTools.handleWidgetPosition);
            }

        });
    },

    getFbCount : function (url) {
        jQuery.getJSON('https://graph.facebook.com/' + url + '&callback=?', function (response) {
            if (response.shares) {
                shareTools.el.find('.tool_fb .share_count').html(response.shares);
            }
        });
    },

    getTwCount : function (url) {
        jQuery.getJSON('http://urls.api.twitter.com/1/urls/count.json?url=' + url + '&callback=?', function (response) {
            if (response.count) {
                shareTools.el.find('.tool_tw .share_count').html(response.count);
            }
        });
    },

    handleWidgetPosition : function (e) {
        var documentHeight = shareTools.doc.height(),
            contentDistanceFromBottom = (shareTools.isIe9 || jQuery.browser.opera) ? (documentHeight - shareTools.mainContent.height()) / 2 : documentHeight - shareTools.mainContent.height(),
            widgetHeight = (shareTools.isIe9 || jQuery.browser.opera) ? 201 : shareTools.elInner.height(), // IE9 vraća krivi inner height
            widgetDistanceFromTop = parseInt(shareTools.el.position().top, 10),
            widgetDistanceFromBottom = documentHeight - widgetDistanceFromTop - widgetHeight;

        if (shareTools.isWidgetFixed && (widgetDistanceFromBottom < (contentDistanceFromBottom - 20))) {
            shareTools.el.removeClass('fixed');
            shareTools.isWidgetFixed = false;
            shareTools.lastFixedPoint = shareTools.win.scrollTop();
            shareTools.el.css({ 'top' : 'auto' });
        }

        if (!shareTools.isWidgetFixed && (shareTools.win.scrollTop() < shareTools.lastFixedPoint)) {
            shareTools.el.addClass('fixed');
            shareTools.isWidgetFixed = true;
            shareTools.el.css({ 'top' : shareTools.contentOffset });
        }
    }

};

