﻿/* jquery-1.5.min.js */

(function ($) {
    var SocialLink = function (element, options) {
        var m_object = this;
        var m_element = $(element);

        var settings = $.extend({
            title: '',
            url: '',
            to: ''
        }, options || {});

        this.openToShare = function () {
            if (settings.to != '' && settings.title != '' && settings.url != '') {
                var m_navigateurl = '';
                switch (settings.to) {
                    case 'facebook': m_navigateurl = 'http://www.facebook.com/sharer/sharer.php?u=' + settings.url + '&t=' + settings.title; break;
                    case 'twitter': m_navigateurl = 'http://twitter.com/intent/tweet?status=' + settings.title + ' ' + settings.url + '&url=' + settings.url; break;
                }

                if (m_navigateurl != '') {
                    window.open(m_navigateurl, 'SHARER_' + new Date().getTime(), 'resizable=yes,scrollbars=yes,location=yes,toolbar=1,status=1,width=440,height=380');
                }
            }

            return false;
        };
    };

    $.fn.initializeToShare = function () {
        var m_container = $(this);

        var sharedTitle = m_container.attr('shared-title');
        if (!sharedTitle || sharedTitle == '') {
            sharedTitle = window.document.title;
        }

        var sharedUrl = m_container.attr('shared-url');
        if (!sharedUrl || sharedUrl == '') {
            sharedUrl = window.document.URL;
        }

        var m_links = m_container.children('img.share');
        if (m_links.length > 0) {
            m_links.each(function () {
                $(this).css('cursor', 'pointer');
                $(this).click(function () {
                    var sharedTo = $(this).attr('shared-to');

                    var m_dataKey = 'jQuery.SocialLink';
                    $(this).data(m_dataKey, new SocialLink(this, { title: encodeURIComponent(sharedTitle), url: encodeURIComponent(sharedUrl), to: sharedTo }));
                    ($(this).data(m_dataKey)).openToShare();

                    return false;
                });
            });
        }
    }
})(jQuery);

var onInit_SocialShare = function () {
    $('.shared-container').each(function () {
        $(this).initializeToShare();
    });
}

$(document).ready(onInit_SocialShare);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onInit_SocialShare);
