integration/js/social.js
author veltr
Fri, 30 Nov 2012 16:48:37 +0100
changeset 86 4857ac3892e3
parent 82 e36c35fb4468
permissions -rw-r--r--
Minor changes

(function() {

var uid = 0;

window.social = function(opts) {
    
    var opts = opts || {};
    opts.sel = opts.sel || $(".Ldt-Social");
    opts.url = opts.url || document.location.href;
    
    if (opts.swf) {
        ZeroClipboard.setMoviePath(opts.swf);
    }
    
    var text = opts.sel.find("title").text(),
        clipId = "Social-Clip-" + (++uid),
        clip;

    opts.sel.find(".Ldt-Social-CopyBtn").attr("id", clipId);

    opts.sel.find(".Ldt-Social-Url").click(function() {
        var _pop = opts.sel.find(".Ldt-Social-UrlPop");
        _pop.toggle();
        if (_pop.is(":visible")) {
            if (typeof clip == "undefined") {
                clip = new ZeroClipboard.Client();
                clip.setHandCursor( true );
                clip.glue(clipId);
                
                clip.addEventListener( 'onMouseUp', function() {
                    _pop.hide();
                    clip.hide();
                });
            }
            clip.show();
            clip.setText( opts.url );
            opts.sel.find(".Ldt-Social-Input").val(opts.url).focus();
        } else {
            clip.hide();
        }
        return false;
    });
    opts.sel.find(".Ldt-Social-Input").focus(function() {
        this.select();
    });
    opts.sel.find(".Ldt-Social-Ext").click(function() {
        window.open(
            opts.sel.find(this).attr("href"),
            "_blank",
            "height=300,width=450,left=100,top=100,toolbar=0,menubar=0,status=0,location=0");
        return false;
    });
    
    opts.sel.find(".Ldt-Social-Fb").attr("href", "http://www.facebook.com/share.php?" + $.param({ u: opts.url, t: text }));
    opts.sel.find(".Ldt-Social-Twitter").attr("href", "https://twitter.com/intent/tweet?" + $.param({ url: opts.url, text: text }));
    opts.sel.find(".Ldt-Social-Gplus").attr("href", "https://plus.google.com/share?" + $.param({ url: opts.url, title: text }));
    opts.sel.find(".Ldt-Social-Mail").attr("href", "mailto:?" + $.param({ subject: text, body: text + ": " + opts.url }));
}
}());
/* END social.js */