Advertisement
MinoMino

Untitled

Sep 13th, 2013
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var KeyDistribution = function (m, g) {
  2.     var v = "6565A8811Y8008M7215A3450E7885S8549S9324T9744T8325K6885Q9545S7777M9348R5680G9120P9657W6732B8295O7128B8484T";
  3.  
  4.     function f(U, T) {
  5.         var Q = U.length;
  6.         var P = T ? T : "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  7.         var V = P.length;
  8.         var R = "";
  9.         var S = 0;
  10.         while (Q > S) {
  11.             var O = Math.floor(Math.random() * V);
  12.             var N = P[O];
  13.             R += (U[S].charCodeAt(0) * N.charCodeAt(0)) + N;
  14.             S++;
  15.         }
  16.         return R;
  17.     }
  18.  
  19.     function b(S) {
  20.         var Q = S.split("");
  21.         var P = "";
  22.         var N = "";
  23.         for (var O = 0; O < S.length; O++) {
  24.             if (S[O] === "-" || !isNaN(parseInt(S[O]))) {
  25.                 P += S[O];
  26.             } else {
  27.                 var R = String.fromCharCode(P / S[O].charCodeAt(0));
  28.                 N += R;
  29.                 P = "";
  30.             }
  31.         }
  32.         return N;
  33.     }
  34.  
  35.     function u(P, N) {
  36.         var O = prompt(P, N);
  37.         if (O != null) {
  38.             e = f(O);
  39.             u(e, b(e));
  40.         }
  41.     }
  42.  
  43.     function z(P) {
  44.         P = P.split("");
  45.         var N = P.length;
  46.         var O = "";
  47.         while (N--) {
  48.             if (N % 2) {
  49.                 O += P[N];
  50.             }
  51.         }
  52.         return O;
  53.     }
  54.     var A = jQuery;
  55.     var D = this;
  56.     var m = m;
  57.     var g = g;
  58.     var I = 0;
  59.     var t = 0;
  60.     var n = '<p class="unavailable">Sorry, there are no keys available at this time.</p>';
  61.     var B = "Generic support information";
  62.     var c = "Beta key redemption information";
  63.     var d = 0;
  64.     var G = null;
  65.     var o = null;
  66.     this.event_hideModal = function (N) {
  67.         N.stopPropagation();
  68.         N.preventDefault();
  69.         E();
  70.     };
  71.     this.event_hideModalShowLogin = function (N) {
  72.         N.preventDefault();
  73.         p();
  74.     };
  75.     this.event_ReserveKeyOpenModal = function (N) {
  76.         N.preventDefault();
  77.         a();
  78.         J(H);
  79.     };
  80.     this.event_AcquireKey = function (N) {
  81.         N.preventDefault();
  82.         s(C);
  83.     };
  84.     this.event_EmailKey = function (N) {
  85.         N.preventDefault();
  86.         L(i);
  87.     };
  88.     K();
  89.  
  90.     function K() {
  91.         x(h);
  92.         j();
  93.         jQuery(document).ready(function () {
  94.             setTimeout(function () {
  95.                 x(h);
  96.             }, 2000);
  97.         });
  98.         jQuery("body").delegate("#kdp_modal", "click", D.event_hideModal);
  99.         jQuery("body").delegate("#kdp_popup", "click", function (N) {
  100.             N.stopPropagation();
  101.             return true;
  102.         });
  103.     }
  104.  
  105.     function a() {
  106.         G = A("#kdp_modal");
  107.         o = A("#kdp_popup");
  108.         A("#kdp_popup .button_container").html("");
  109.         A("a#kdp_close").unbind("click").bind("click", D.event_hideModal);
  110.         var N = A("#kdp_popup");
  111.         var O = A(window);
  112.         N.css({
  113.             top: O.scrollTop() + ((O.height() - N.outerHeight()) / 2)
  114.         });
  115.         G.show();
  116.         o.show();
  117.     }
  118.  
  119.     function p() {
  120.         E();
  121.         Echo2_Login.getLoginOverlay();
  122.     }
  123.  
  124.     function E() {
  125.         A("#kdp_popup .button_container").html("");
  126.         G.hide();
  127.         o.hide();
  128.     }
  129.  
  130.     function y() {
  131.         var N = jQuery("#" + b(v)).text();
  132.         if (N) {
  133.             return f(N);
  134.         }
  135.     }
  136.  
  137.     function q(N) {
  138.         if (window.console != "undefined") {
  139.             console.log(N);
  140.         }
  141.     }
  142.  
  143.     function F(O) {
  144.         var N = A.parseJSON(O);
  145.         if (N.session_id) {
  146.             I = N.session_id;
  147.         } else {
  148.             q("Cannot reserve a Key, no session id available: " + O);
  149.         }
  150.     }
  151.  
  152.     function r(P, Q, R, O) {
  153.         if (jQuery.browser.msie && window.XDomainRequest) {
  154.             var N = new XDomainRequest();
  155.             N.onprogress = function () {};
  156.             N.ontimeout = function () {};
  157.             N.onerror = function () {};
  158.             N.open("get", P, true);
  159.             N.onload = function () {
  160.                 var S = new ActiveXObject("Microsoft.XMLDOM");
  161.                 S.async = false;
  162.                 Q(N.responseText);
  163.             };
  164.             N.send();
  165.         } else {
  166.             A.get(P, Q).always(O).fail(R);
  167.         }
  168.     }
  169.  
  170.     function x(Q) {
  171.         var N = y();
  172.         var P = new Date().getTime();
  173.         var O = g + "/ajax/kdp.ajax.php?process=check&id=" + m + "&session_id=" + I + (N ? "&e=" + N : "") + "&ts=" + P;
  174.         r(O, Q, w, F);
  175.     }
  176.  
  177.     function J(Q) {
  178.         var N = y();
  179.         var P = new Date().getTime();
  180.         var O = g + "/ajax/kdp.ajax.php?process=reserve&id=" + m + "&session_id=" + I + (N ? "&e=" + N : "") + "&ts=" + P;
  181.         r(O, Q, k, F);
  182.     }
  183.  
  184.     function s(Q) {
  185.         var N = y();
  186.         var P = new Date().getTime();
  187.         var O = g + "/ajax/kdp.ajax.php?process=acquire&id=" + m + "&session_id=" + I + (N ? "&e=" + N : "") + "&ts=" + P;
  188.         r(O, Q, M, F);
  189.     }
  190.  
  191.     function L(R) {
  192.         var O = y();
  193.         var N = window.location.pathname;
  194.         var Q = new Date().getTime();
  195.         var P = g + "/ajax/kdp.ajax.php?process=email&id=" + m + "&session_id=" + I + (O ? "&e=" + O : "") + (N ? "&origin=" + N : "") + "&ts=" + Q;
  196.         r(P, R, null, F);
  197.     }
  198.  
  199.     function w(N) {
  200.         q("Ajax Error (availability): " + N);
  201.     }
  202.  
  203.     function k(N) {
  204.         q("Ajax Error (reservation): " + N);
  205.     }
  206.  
  207.     function M(N) {
  208.         q("Ajax Error (acquiring): " + N);
  209.     }
  210.  
  211.     function j() {
  212.         A("#key-placeholder").html('<div style="background-color:#FFF; background-repeat:no-repeat; background-position: 50% 50%; display:block; width:100%; height:40px; background-image: url(data:image/gif;base64,R0lGODlhEAAQAJEDANra2qampnJycv///yH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU5NDg0MjUxNkY4NjExRTI5MjkxOEI0ODhENTQ4NUZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU5NDg0MjUyNkY4NjExRTI5MjkxOEI0ODhENTQ4NUZFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTk0ODQyNEY2Rjg2MTFFMjkyOTE4QjQ4OEQ1NDg1RkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTk0ODQyNTA2Rjg2MTFFMjkyOTE4QjQ4OEQ1NDg1RkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQFCgADACwAAAAAEAAQAAACLpw/EcisfQA4zwiB5ExrXJxJyAeJxwWljLY1LJvC6mwaddgO2mr2dw3M8WYhSAEAIfkEBQoAAwAsBwAAAAkACQAAAhMEhjmmyRgCelGq2kbMvIkveGABACH5BAUKAAMALAoAAgAGAAwAAAIU3AB2aJj9lFShBmPvFELyrnweWAAAIfkEBQoAAwAsBwAHAAkACQAAAhScDQmHyn9CgENOI4SxWO+bUSFUAAAh+QQFCgADACwCAAoADAAGAAACFNwkZgCKqVh7JoTFkLKxqcF9YqgUACH5BAUKAAMALAAABwAJAAkAAAIUlDWZh+r/QoByupoASFJpOHyQVgAAIfkEBQoAAwAsAAACAAYADAAAAhTcJGaYynoaDDSYaqE2AKjuDeAXFgAh+QQFCgADACwAAAAACQAJAAACFZw/InhqEdoaMKZJIXt2IwACTCgiBQA7); "></div>');
  213.     }
  214.  
  215.     function h(O) {
  216.         var N = A.parseJSON(O);
  217.         if (parseInt(N.available) > 0) {
  218.             A("#key-placeholder").html('<a class="reserve button" href="">Get my beta key</a>').unbind("click").bind("click", D.event_ReserveKeyOpenModal);
  219.         } else {
  220.             A("#key-placeholder").html(n);
  221.         }
  222.     }
  223.  
  224.     function H(O) {
  225.         var N = A.parseJSON(O);
  226.         if (N.loginPrompt === true) {
  227.             if (typeof Echo2_Login == "object") {
  228.                 A('<a class="acquire button" href="#">Please login or join to continue</a>').appendTo("#kdp_popup .button_container").unbind("click").bind("click", D.event_hideModalShowLogin);
  229.             } else {
  230.                 A('<p class="msg">Please login or join to continue.</p>').appendTo("#kdp_popup .button_container");
  231.             }
  232.         } else {
  233.             if (N.reserved === true) {
  234.                 if (N.key_id) {
  235.                     l(N.key_id);
  236.                 } else {
  237.                     A('<a class="acquire button" href="#acquirekey">Generate my key</a>').appendTo("#kdp_popup .button_container").unbind("click").bind("click", D.event_AcquireKey);
  238.                 }
  239.             } else {
  240.                 A("#kdp_popup .button_container").html(n);
  241.             }
  242.         }
  243.     }
  244.  
  245.     function i(O) {
  246.         var N = A.parseJSON(O);
  247.         A("#emailkey").unbind("click").replaceWith('<p style="margin-top: 15px;">Your key has been emailed to: <b>' + N.user_email + "</b></p>");
  248.     }
  249.  
  250.     function C(O) {
  251.         var N = A.parseJSON(O);
  252.         if (N && N.key_id) {
  253.             l(N.key_id);
  254.         } else {
  255.             A("#kdp_popup .button_container").html(n);
  256.         }
  257.     }
  258.  
  259.     function l(N) {
  260.         A("#kdp_popup .button_container").html("<div class='kdp_key'><p>Here is your unique key:</p><pre><strong>" + N + "</strong></pre></div>");
  261.         A('<a id="emailkey" class="button" style="margin-top:10px;" href="#emailkey">Email my key</a>').appendTo("#kdp_popup .button_container").unbind("click").bind("click", D.event_EmailKey);
  262.     }
  263. };
  264. jQuery(document).ready(function ($) {
  265.     var kdp = new KeyDistribution(39, "http://betakeys.pcgamer.com/wp-content/plugins/echo2-key-distributor");
  266. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement