Вход Регистрация
Файл: gamele.ru/index/js/social-likes.js
Строк: 509
<?php
/*! Social Likes v2.0.7 by Artem Sapegin - http://sapegin.github.com/social-likes - Licensed MIT */
(function(e) {
    
typeof define == "function" && define.amd define(["jquery"], e) : e(jQuery)
})(function(
e) {
    
"use strict";
    function 
s(e) {
        
this.container e,
        
this.init()
    }
    function 
o(tn) {
        
this.widget t,
        
this.options e.extend({},
        
n),
        
this.detectService(),
        
this.service && this.init()
    }
    function 
u(et) {
        return 
a(etencodeURIComponent)
    }
    function 
a(etn) {
        return 
e.replace(/{([^}]+)}/g,
        function(
er) {
            return 
r in t n(t[r]) : t[r] : e
        
})
    }
    function 
f(en) {
        var 
e;
        return 
" " "_" n
    
}
    function 
l(t) {
        function 
r(o) {
            if (
o.type === "keydown" && o.which !== 27 || e(o.target).closest(t).length) return;
            
t.fadeOut(n),
            
i.off(sr)
        }
        var 
e(document),
        
"click touchstart keydown";
        
i.on(sr)
    }
    function 
c(et) {
        if (
document.documentElement.getBoundingClientRect) {
            var 
parseInt(e.css("left"), 10),
            
parseInt(e.css("top"), 10);
            
e.css("visibility""hidden").show();
            var 
e[0].getBoundingClientRect();
            
s.left e.css("left"s.left r) : s.right window.innerWidth && e.css("left"window.innerWidth s.right r),
            
s.top e.css("top"s.top i) : s.bottom window.innerHeight && e.css("top"window.innerHeight s.bottom i),
            
e.hide().css("visibility""visible")
        }
        
e.fadeIn(n)
    }
    var 
"social-likes__",
    
"fast",
    
= {
        
facebook: {
            
counterUrl"http://graph.facebook.com/fql?q=SELECT+total_count+FROM+link_stat+WHERE+url=%22lifeiswar.ru%22+OR+url=%22yandex.com%22+OR+url=%22google.com%22&callback=?",
            
convertNumber: function(e) {
                return (
e.data[0].total_count+e.data[1].total_count)
            },
            
popupUrl"http://www.facebook.com/sharer/sharer.php?u={url}",
            
popupWidth600,
            
popupHeight500
        
},
        
twitter: {
            
counterUrl"http://urls.api.twitter.com/1/urls/count.json?url={url}&callback=?",
            
convertNumber: function(e) {
                return 
e.count
            
},
            
popupUrl"http://twitter.com/intent/tweet?url={url}&text={title}",
            
popupWidth600,
            
popupHeight450,
            
click: function() {
                return /[.:-
–—]s*$/.test(this.options.pageTitle) || (this.options.pageTitle += ":"),
                !
0
            
}
        },
        
mailru: {
            
counterUrl"http://connect.mail.ru/share_count?url_list={url}&callback=1&func=?",
            
convertNumber: function(e) {
                for (var 
t in e) if (e.hasOwnProperty(t)) return e[t].shares
            
},
            
popupUrl"http://connect.mail.ru/share?share_url={url}&title={title}",
            
popupWidth550,
            
popupHeight360
        
},
        
vkontakte: {
            
counterUrl"http://vkontakte.ru/share.php?act=count&url={url}&index={index}",
            
counter: function(tn) {
                var 
r.vkontakte;
                
i.|| (i.= [], window.VK || (window.VK = {}), window.VK.Share = {
                    
count: function(et) {
                        
i._[e].resolve(t)
                    }
                });
                var 
i._.length;
                
i._.push(n),
                
e.ajax({
                    
urlu(t, {
                        
indexs
                    
}),
                    
dataType"jsonp"
                
})
            },
            
popupUrl"http://vk.com/share.php?url={url}&title={title}",
            
popupWidth550,
            
popupHeight330
        
},
        
odnoklassniki: {
            
counterUrl"http://www.odnoklassniki.ru/dk?st.cmd=extLike&ref={url}&uid={index}",
            
counter: function(tn) {
                var 
r.odnoklassniki;
                
i.|| (i.= [], window.ODKL || (window.ODKL = {}), window.ODKL.updateCount = function(et) {
                    
i._[e].resolve(t)
                });
                var 
i._.length;
                
i._.push(n),
                
e.ajax({
                    
urlu(t, {
                        
indexs
                    
}),
                    
dataType"jsonp"
                
})
            },
            
popupUrl"http://www.odnoklassniki.ru/dk?st.cmd=addShare&st._surl={url}",
            
popupWidth550,
            
popupHeight360
        
},
        
plusone: {
            
popupUrl"https://plus.google.com/share?url={url}",
            
popupWidth700,
            
popupHeight500
        
},
        
livejournal: {
            
click: function(t) {
                var 
this._livejournalForm;
                if (!
n) {
                    var 
this.options.pageHtml.replace(/&/g"&amp;").replace(/"/g, "&quot;");
                    n = e(a('<form action="
http://www.livejournal.com/update.bml" method="post" target="_blank" accept-charset="UTF-8"><input type="hidden" name="mode" value="full"><input type="hidden" name="subject" value="{title}"><input type="hidden" name="event" value="{html}"></form>', {
                        
titlethis.options.pageTitle,
                        
htmlr
                    
})),
                    
this.widget.append(n),
                    
this._livejournalForm n
                
}
                
n.submit()
            }
        },
        
pinterest: {
            
counterUrl"http://api.pinterest.com/v1/urls/count.json?url={url}&callback=?",
            
convertNumber: function(e) {
                return 
e.count
            
},
            
popupUrl"http://pinterest.com/pin/create/button/?url={url}&description={title}",
            
popupWidth630,
            
popupHeight270
        
}
    },
    
= {
        
promises: {},
        
fetch: function(tns) {
            
i.promises[t] || (i.promises[t] = {});
            var 
i.promises[t];
            if (
o[n]) return o[n];
            var 
e.extend({},
            
r[t], s),
            
e.Deferred(),
            
a.counterUrl && u(a.counterUrl, {
                
urln
            
});
            return 
e.isFunction(a.counter) ? a.counter(lf) : a.counterUrl && e.getJSON(l).done(function(t) {
                try {
                    var 
t;
                    
e.isFunction(a.convertNumber) && (a.convertNumber(t)),
                    
f.resolve(n)
                } catch(
r) {
                    
f.reject(r)
                }
            }),
            
o[n] = f.promise(),
            
o[n]
        }
    };
    
e.fn.socialLikes = function() {
        return 
this.each(function() {
            new 
s(e(this))
        })
    },
    
s.prototype = {
        
optionsMap: {
            
pageUrl: {
                
attr"url",
                
defaultValue: function() {
                    return 
"http://www.lifeiswar.ru/"
                
}
            },
            
pageTitle: {
                
attr"title",
                
defaultValue: function() {
                    return 
document.title
                
}
            },
            
pageHtml: {
                
attr"html",
                
defaultValue: function() {
                    return 
'<a href="' this.options.pageUrl '">' this.options.pageTitle "</a>"
                
}
            },
            
pageCounters: {
                
attr"counters",
                
defaultValue"yes",
                
convert: function(e) {
                    return 
=== "yes"
                
}
            }
        },
        
init: function() {
            
this.readOptions(),
            
this.single this.container.hasClass("social-likes_single"),
            
this.initUserButtons(),
            
this.single && (this.makeSingleButton(), this.container.on("counter.social-likes"e.proxy(this.updateCounterthis)));
            var 
this.options;
            
this.container.find("li").each(function() {
                new 
o(e(this), t)
            })
        },
        
readOptions: function() {
            
this.options = {};
            for (var 
t in this.optionsMap) {
                var 
this.optionsMap[t];
                
this.options[t] = this.container.data(n.attr) || (e.isFunction(n.defaultValue) ? e.proxy(n.defaultValuethis)() : n.defaultValue),
                
e.isFunction(n.convert) && (this.options[t] = n.convert(this.options[t]))
            }
        },
        
initUserButtons: function() { ! this.userButtonInited && window.socialLikesButtons && e.extend(rsocialLikesButtons),
            
this.userButtonInited = !0
        
},
        
makeSingleButton: function() {
            var 
this.container;
            
r.addClass("social-likes_vertical"),
            
r.wrap(e("<div>", {
                
"class""social-likes_single-w"
            
}));
            var 
r.parent(),
            
parseInt(r.css("left"), 10),
            
parseInt(r.css("top"), 10);
            
r.hide();
            var 
e("<div>", {
                
"class"f("button""single"),
                
textr.data("single-title") || "Share"
            
});
            
u.prepend(e("<span>", {
                
"class"f("icon""single")
            })),
            
i.append(u);
            var 
e("<li>", {
                
"class""close",
                
html"&times;"
            
});
            
r.append(a),
            
this.number 0,
            
u.click(function() {
                return 
r.css({
                    
lefts,
                    
topo
                
}),
                
c(r20),
                
l(r),
                !
1
            
}),
            
a.click(function() {
                
r.fadeOut(n)
            }),
            
this.wrapper i
        
},
        
updateCounter: function(et) {
            if (!
t) return;
            
this.number += t,
            
this.getCounterElem().text(this.number)
        },
        
getCounterElem: function() {
            var 
this.wrapper.find("." "counter_single");
            return 
n.length || (e("<span>", {
                
"class"f("counter""single")
            }), 
this.wrapper.append(n)),
            
n
        
}
    },
    
o.prototype = {
        
init: function() {
            
this.detectParams(),
            
this.initHtml();
            if (
this.options.pageCounters) if (this.options.counterNumberthis.updateCounter(this.options.counterNumber);
            else {
                var 
this.options.counterUrl ? {
                    
counterUrlthis.options.counterUrl
                
}: {};
                
i.fetch(this.servicethis.options.pageUrlt).done(e.proxy(this.updateCounterthis))
            }
        },
        
detectService: function() {
            var 
this.widget[0].classList || this.widget[0].className.split(" ");
            for (var 
0t.lengthn++) {
                var 
t[n];
                if (
r[i]) {
                    
this.service i,
                    
e.extend(this.optionsr[i]);
                    return
                }
            }
        },
        
detectParams: function() {
            var 
this.widget.data("counter");
            if (
e) {
                var 
parseInt(e10);
                
isNaN(t) ? this.options.counterUrl ethis.options.counterNumber t
            
}
            var 
this.widget.data("title");
            
&& (this.options.pageTitle n);
            var 
this.widget.data("url");
            
&& (this.options.pageUrl r)
        },
        
initHtml: function() {
            var 
this.options,
            
this.widget,
            
= !!t.clickUrl;
            
n.removeClass(this.service),
            
n.addClass(this.getElementClassNames("widget"));
            var 
n.find("a");
            
i.length && this.cloneDataAttrs(in);
            var 
e("<a>""<span>", {
                
"class"this.getElementClassNames("button"),
                
textn.text()
            });
            if (
r) {
                var 
u(t.clickUrl, {
                    
urlt.pageUrl,
                    
titlet.pageTitle
                
});
                
s.attr("href"o)
            } else 
s.click(e.proxy(this.clickthis));
            
s.prepend(e("<span>", {
                
"class"this.getElementClassNames("icon")
            })),
            
n.empty().append(s),
            
this.button s
        
},
        
cloneDataAttrs: function(et) {
            var 
e.data();
            for (var 
r in nn.hasOwnProperty(r) && t.data(rn[r])
        },
        
getElementClassNames: function(e) {
            return 
f(ethis.service)
        },
        
updateCounter: function(t) {
            
parseInt(t10);
            if (!
t) return;
            var 
e("<span>", {
                
"class"this.getElementClassNames("counter"),
                
textt
            
});
            
this.widget.append(n),
            
this.widget.trigger("counter.social-likes"t)
        },
        
click: function(t) {
            var 
this.options,
            
= !0;
            
e.isFunction(n.click) && (n.click.call(thist));
            if (
r) {
                var 
u(n.popupUrl, {
                    
urln.pageUrl,
                    
titlen.pageTitle
                
});
                
this.addAdditionalParamsToUrl(i),
                
this.openPopup(i, {
                    
widthn.popupWidth,
                    
heightn.popupHeight
                
})
            }
            return ! 
1
        
},
        
addAdditionalParamsToUrl: function(t) {
            var 
e.param(this.widget.data());
            if (!
n) return t;
            var 
t.indexOf("?") === -"?""&";
            return 
n
        
},
        
openPopup: function(et) {
            var 
Math.round(screen.width t.width 2),
            
0;
            
screen.height t.height && (Math.round(screen.height t.height 2));
            var 
window.open(e"sl_" this.service"left=" ",top=" "," "width=" t.width ",height=" t.height ",personalbar=0,toolbar=0,scrollbars=1,resizable=1");
            
i.focus() : location.href e
        
}
    },
    
e(function() {
        
e(".social-likes").socialLikes()
    })
});
?>
Онлайн: 1
Реклама