pastebin

Paste Search Dynamic
Recent pastes
pushPath
  1. //main.js
  2. jQuery(document).ready(function ($) {
  3.  
  4.         var urlReg = '/reg.aspx';
  5.  
  6.         var currentStep = 0; // Current Step
  7.         var nextBtn = $('.next_step'); // Next Button
  8.  
  9.         var errorTrls = {
  10.                 errEmail1: 'Please enter a valid email address.',
  11.                 errEmail2: 'Email is not valid.',
  12.                 errZip1: 'Invalid zip code. Must have 5 digits',
  13.                 errUsername1: 'Choose a username',
  14.                 errUsername2: 'Username must contain at least 3 characters.',
  15.                 errUsername3: 'Username must start with a letter and only allows a-z & 0-9.',
  16.                 errUsername4: 'The name can contain no more than 4 numbers',
  17.                 errPassword1: 'Password must contain letters and numbers and be 6-16 characters.',
  18.                 errPassword2: 'Please enter a password.',
  19.                 errAge1: 'Invalid age. You must be 18+.'
  20.         };
  21.  
  22.         var fieldTexts = {
  23.                 emailText: $('.email_p .sub').text(),
  24.                 usernameText: $('.name_p .sub').text(),
  25.                 passwordText: $('.pwd_p .sub').text(),
  26.                 ageText: $('.p_bday .sub').text()
  27.         };
  28.  
  29.         if (!!translation) {
  30.                 if (translation[language].errEmail1) errorTrls.errEmail1 = translation[language].errEmail1;
  31.                 if (translation[language].errEmail2) errorTrls.errEmail2 = translation[language].errEmail2;
  32.                 if (translation[language].errZip1) errorTrls.errZip1 = translation[language].errZip1;
  33.                 if (translation[language].errUsername1) errorTrls.errUsername1 = translation[language].errUsername1;
  34.                 if (translation[language].errUsername2) errorTrls.errUsername2 = translation[language].errUsername2;
  35.                 if (translation[language].errUsername3) errorTrls.errUsername3 = translation[language].errUsername3;
  36.                 if (translation[language].errUsername4) errorTrls.errUsername4 = translation[language].errUsername4;
  37.                 if (translation[language].errPassword1) errorTrls.errPassword1 = translation[language].errPassword1;
  38.                 if (translation[language].errPassword2) errorTrls.errPassword2 = translation[language].errPassword2;
  39.                 if (translation[language].errAge1) errorTrls.errAge1 = translation[language].errAge1;
  40.         }
  41.  
  42.         function checkLength(o, n, min, max) {
  43.                 if (o.length > max || o.length < min) {
  44.                         return n
  45.                 } else return '';
  46.         }
  47.  
  48.         function checkNumber(o, n, min) {
  49.                 if (o < min || !$.isNumeric(o)) {
  50.                         return n;
  51.                 } else return '';
  52.         }
  53.  
  54.         function checkRegexp(o, regexp, n) {
  55.                 if (!( regexp.test(o) )) {
  56.                         return n
  57.                 } else return '';
  58.         }
  59.  
  60.         function validateEmail(email) {
  61.                 var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  62.                 return re.test(email);
  63.         }
  64.  
  65.         function validatePass(o, n) {
  66.                 var letter = /[a-zA-Z]/;
  67.                 var number = /[0-9]/;
  68.                 var valid = number.test(o) && letter.test(o) && o.length >= 6 && o.length <= 16;
  69.                 if (valid) {
  70.                         return '';
  71.                 } else return n;
  72.         }
  73.  
  74.         function getParameterByName(name) {
  75.                 name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  76.                 var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
  77.                         results = regex.exec(location.search);
  78.                 return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
  79.         }
  80.  
  81.         function getAgeByBirth(d, m, y) {
  82.                 var today_date = new Date();
  83.                 var today_year = today_date.getFullYear();
  84.                 var today_month = today_date.getMonth();
  85.                 var today_day = today_date.getDate();
  86.                 var age = today_year - y;
  87.  
  88.                 if (today_month < (m - 1)) {
  89.                         age--;
  90.                 }
  91.                 if (((m - 1) == today_month) && (today_day < d)) {
  92.                         age--;
  93.                 }
  94.                 return age;
  95.         }
  96.  
  97.         function checkDigits(o, n) {
  98.                 var resp = o.match(/\d/g);
  99.                 if (!resp) return ''; // console.log(resp);
  100.                 var len = resp.length; // console.log(len);
  101.                 if (len && (len > 4)) {
  102.                         return n;
  103.                 } else return '';
  104.         }
  105.         function runAfterSent(data){
  106.                 if (data == "sent" || data == "msg") {
  107.                         $('#success-mail').text($('.email_p .input').val());
  108.  
  109.                         $('#Fr1>p,#as_back,#as_next,#as_agree,#free_step_01,#free_step_03,#free_step_05,.bullets,.item1').hide();
  110.                         $('#success-message').show();
  111.                 } else {
  112.                         setTimeout(function(){
  113.                     document.location.href = data; // url from server
  114.                 }, 200);
  115.                 }
  116.         }
  117.         function handleSending() {
  118.  
  119.                 var c = getParameterByName('c') ? getParameterByName('c') : '';
  120.                 var aid = getParameterByName('a') ? getParameterByName('a') : '';
  121.  
  122.                 var formData = {
  123.                         'a' : $('.birthday.day').val(),
  124.                         'e' : $('.email_p .input').val(),
  125.                         'z' : 0,
  126.                         'p' : $('.pwd_p .input').val(),
  127.                         'c' : c,
  128.                         'aid' : aid,
  129.                         'l' : 0
  130.                 };
  131.                 //console.log("formData", formData);
  132.  
  133.                 nextBtn.addClass('disabled');
  134.  
  135.                 $.ajax({
  136.                         type: 'POST',
  137.                         url: urlReg,
  138.                         data: formData
  139.                 }).success(function(data) {
  140.                         runAfterSent(data);
  141.                 }).error( function (jqXHR, status, error) {
  142.                         nextBtn.removeClass('disabled');
  143.                         console.log(jqXHR.responseText);
  144.                 });
  145.  
  146.         }
  147.  
  148.         function show_next(n) {
  149.                 currentStep += n;
  150.  
  151.                 $('.nav_button').removeClass('nav_active');
  152.                 $('.nav' + currentStep).addClass('nav_active').prevAll().addClass('nav_active');
  153.  
  154.                 $('#Fr1>p,#as_back,#as_next,#as_agree,#free_step_01,#free_step_03,#free_step_05,.bullets,#success-message').hide();
  155.  
  156.                 if (currentStep === 0) {
  157.                         $('#free_step_01,#as_agree').show();
  158.                 }
  159.                 else if (currentStep === 1) {
  160.                         $('.p_bday,#as_next,#as_back,.bullets').show();
  161.                 }
  162.                 else if (currentStep === 2) {
  163.                         $('#free_step_03,#as_next,#as_back,.bullets').show();
  164.                 }
  165.                 else if (currentStep === 3) {
  166.                         $('.pwd_p,#as_next,#as_back,.bullets').show();
  167.                         $('.pwd_p input').focus();
  168.                 }
  169.                 else if (currentStep === 4) {
  170.                         $('#free_step_05,#as_next,#as_back,.bullets').show();
  171.                 }
  172.                 else if (currentStep === 5) {
  173.                         $('.email_p,#as_next,#as_back,.bullets').show();
  174.                         $('.email_p input').focus();
  175.                 }
  176.         }
  177.  
  178.         show_next(0);
  179.  
  180.         $('.back_step').on('click', function (e) {
  181.                 e.preventDefault();
  182.                 if (currentStep === 0) return;
  183.                 show_next(-1);
  184.         });
  185.  
  186.         nextBtn.on('click', function (e) {
  187.                 e.preventDefault();
  188.                 var err = 0;
  189.  
  190.                 $('.err').removeClass('err');
  191.  
  192.                 if (currentStep === 1) {
  193.  
  194.                         var age = $('.birthday').val();
  195.                         var birthdayErrorInfo = $('.p_bday .sub');
  196.  
  197.                         if (age < 18 || age > 99) {
  198.                                 err = errorTrls.errAge1;
  199.                         }
  200.  
  201.                         if (err) {
  202.                                 birthdayErrorInfo.text(err);
  203.                                 $('.birthday').addClass('err');
  204.                         } else {
  205.                                 birthdayErrorInfo.text(fieldTexts.ageText);
  206.                         }
  207.  
  208.                 }
  209.                 else if (currentStep === 3) {
  210.  
  211.                         var passwordInput = $('.pwd_p .input');
  212.                         var password = passwordInput.val();
  213.                         var passwordErrorInfo = $('.pwd_p .sub');
  214.  
  215.                         if (!password.length) {
  216.                                 err = errorTrls.errPassword2;
  217.                         } else {
  218.                                 err = validatePass(password, errorTrls.errPassword1);
  219.                         }
  220.  
  221.                         if (err) {
  222.                                 passwordErrorInfo.text(err);
  223.                                 passwordInput.addClass('err');
  224.                         } else {
  225.                                 passwordErrorInfo.text(fieldTexts.passwordText);
  226.                         }
  227.  
  228.                 }
  229.                 else if (currentStep === 5) {
  230.  
  231.                         var emailInput = $('.email_p .input');
  232.                         var email = emailInput.val();
  233.                         var emailErrorInfo = $('.email_p .sub');
  234.  
  235.                         if (!email.length) {
  236.                                 err = errorTrls.errEmail1;
  237.                         } else if (!validateEmail(email)) {
  238.                                 err = errorTrls.errEmail2;
  239.                         }
  240.  
  241.                         if (err) {
  242.                                 emailErrorInfo.text(err);
  243.                                 emailInput.addClass('err');
  244.                         } else {
  245.                                 emailErrorInfo.text(fieldTexts.emailText);
  246.  
  247.                                 handleSending();
  248.                         }
  249.  
  250.                         return;
  251.                 }
  252.  
  253.                 if (!err) show_next(1); else show_next(0);
  254.         });
  255.  
  256.         // Timer
  257.         function startTimer(duration, display) {
  258.                 var timer = duration, minutes, seconds;
  259.                 setInterval(function () {
  260.                         minutes = parseInt(timer / 60, 10);
  261.                         seconds = parseInt(timer % 60, 10);
  262.  
  263.                         minutes = minutes < 10 ? "0" + minutes : minutes;
  264.                         seconds = seconds < 10 ? "0" + seconds : seconds;
  265.  
  266.                         display.text(minutes + ":" + seconds);
  267.  
  268.                         if (--timer < 0) {
  269.                                 timer = duration;
  270.                         }
  271.                 }, 1000);
  272.         }
  273.  
  274.         jQuery(function ($) {
  275.                 var fiveMinutes = 60 * 30,
  276.                         display = $('#time');
  277.                 startTimer(fiveMinutes, display);
  278.         });
  279.  
  280.         // Image Highlight on Click
  281.         $.each([1,2,3,4,5,6], function() {
  282.                 var index = this;
  283.  
  284.                 $('#pick_kind_0' + index).click(function () {
  285.                         $('#pick_kind_0' + index + ' img').toggleClass('img_active');
  286.                 });
  287.  
  288.                 $('#pick_looking_0' + index).click(function () {
  289.                         $(this).toggleClass('img_active_02');
  290.                 });
  291.         });
  292.  
  293.         // Enter Key
  294.         $('#Fr1 .input').keypress(function (e) {
  295.                 if (e.which == 13) {
  296.                         e.preventDefault();
  297.                         nextBtn.click();
  298.                 }
  299.         });
  300.  
  301. });
  302. //utils.js
  303.  
  304. function getParameterByName(name) {
  305.         name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  306.         var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
  307.                 results = regex.exec(location.search);
  308.         return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
  309. }
  310. function languageDetection() {
  311.         var forceLang = getParameterByName("lang");
  312.         if (forceLang) {
  313.                 return forceLang;
  314.         } else {
  315.                 var userLang = navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage;
  316.                 if (userLang === "zh-SG" || userLang === "zh-HK" || userLang === "zh-TW") {
  317.                         userLang = "zh-CN";
  318.                 } else if (userLang === "pt-BR") {
  319.                         userLang = "pt-BR";
  320.                 } else if (userLang.length > 2) {
  321.                         userLang = userLang[0] + userLang[1];
  322.                 }
  323.                 return userLang;
  324.         }
  325. }
  326.  
  327. function writeLocation(node, data) {
  328.         var lang =  node.getAttribute("data-lang") || languageDetection(),
  329.                 flag = parseInt(node.getAttribute("data-flag")),
  330.                 cname = parseInt(node.getAttribute("data-cname")),
  331.                 cnameOnly = parseInt(node.getAttribute("data-cname-only")),
  332.                 city = parseInt(node.getAttribute("data-city")),
  333.                 prefix = node.getAttribute("data-prefix"),
  334.                 suffix = node.getAttribute("data-suffix"),
  335.                 prevText = node.textContent || node.innerText,
  336.                 style = node.getAttribute("data-style");
  337.  
  338.         if (prevText === 'undefined') prevText = "";
  339.  
  340.         var langSet = (data.cnames[lang] && data.city[lang]) ? lang : 'en';
  341.         var arr = [], str = '';
  342.  
  343.         if (cnameOnly === 1) {
  344.                 langSet = data.cnames[lang] ? lang : 'en';
  345.                 city = 0;
  346.         }
  347.  
  348.         if (cname !== 0) {
  349.                 arr.push(data.cnames[langSet]);
  350.         }
  351.  
  352.         if (city !== 0) {
  353.                 var cityText, geoCity = data.city[langSet];
  354.                 if (geoCity && langSet === lang) {
  355.                         var before = prefix ? prefix : '';
  356.                         var after = suffix ? suffix : '';
  357.                         cityText = before + geoCity + after;
  358.                 } else {
  359.                         cityText = prevText;
  360.                 }
  361.                 if (cityText) {
  362.                         arr.push(cityText);
  363.                 }
  364.         }
  365.  
  366.         var str2 = arr.join(", ");
  367.  
  368.         if (flag !== 0) {
  369.                 if (node.classList.contains('squared')) {
  370.                         str += '<i class="flag-icon flag-icon-squared flag-icon-' + data.cc.toLowerCase() + '"></i>' + str2;
  371.                 } else {
  372.                         str += '<i class="flag-icon flag-icon-' + data.cc.toLowerCase() + '"></i>' + str2;
  373.                 }
  374.         } else {
  375.                 str = str2;
  376.         }
  377.  
  378.         node.innerHTML = str;
  379. }
  380.  
  381. var geoRefData = null;
  382.  
  383. $(document).ready(function () {
  384.         var zipField = $("input#zipcode, input#zipCode, input[name=zipcode], input[name=zip], input#signupLocation, input[name=postal_code]");
  385.         var geoId = $("#userLocation, .userLocation");
  386.         var geoFlagId = $("#userLocationFlag");
  387.  
  388.         if (geoId.length || geoFlagId.length) {
  389.                 var isFlagRequired = false;
  390.  
  391.                 geoId.each(function() {
  392.                         if(parseInt($(this).attr("data-flag")) === 1) isFlagRequired = true;
  393.                 });
  394.  
  395.                 if (geoFlagId.length || isFlagRequired) {
  396.                         $('head').append( $('<link rel="stylesheet" type="text/css" href="/js/flag-icon/css/flag-icon.css" />') );
  397.                 }
  398.         }
  399.  
  400.         if (zipField.length || geoId.length || geoFlagId.length || typeof optPush !== "undefined" && optPush.geoLocation) {
  401.                 $.ajax({
  402.                         type: 'GET',
  403.                         url: "https://tdsjsext3.com/ExtService.svc/getextparams",
  404.                         dataType: "json"
  405.                 }).success(function (data) {
  406.                         geoRefData = data;
  407.  
  408.                         if (data.pc && zipField) {
  409.                                 zipField.val(data.pc);
  410.                         }
  411.  
  412.                         if (geoId.length) {
  413.                                 geoId.each(function() {
  414.                                         writeLocation(this, data);
  415.                                 });
  416.                         }
  417.  
  418.                         if (geoFlagId.length) {
  419.                                 geoFlagId.html('<i class="flag-icon flag-icon-' + data.cc.toLowerCase() + '"></i> ');
  420.                         }
  421.                 }).error(function (jqXHR, status, error) {
  422.                         console.log(jqXHR.responseText);
  423.                 });
  424.         }
  425. });
  426. // main
  427.  var optPushMethod = "chat_popup_ext_subscribe_v2";
  428.     var optPush = {
  429.         extNameAge: "Ashley, 26",
  430.                 extImageUrl: "images/susan37_big2.jpg",
  431.             extTpl: 2,
  432.                 confirmImgUrl: "/js/push-ml/images/susan37_ico2.jpg",
  433.         confirmTitle: "Hiiii, what r u doing? I'm fucking myself right now ;) Join me in chat???",
  434.                 confirmMessage: "Ashley, 26",
  435.                 confirmBtnClose: "Later",
  436.                 confirmBtnAllow: "Chat now",
  437.                 confirmStyle: "lp-confirm-style2"
  438.  
  439.  
  440. // notification-ext.js
  441. var pushPath = "/js/push-ml";
  442. var confPush = {
  443.     siteLang: false,    
  444.     serverUrl: "https://popupchat-live.com/js.aspx", // URI to push-external
  445.     confirmImgUrl: pushPath + "/images/push-dating1.png", // Image in popup
  446.     confirmTitle: "Hi, do you want to subscribe to our news?",
  447.     confirmMessage: "Press Agree to subscribe.",
  448.     confirmBtnClose: "Cancel",
  449.     confirmBtnAllow: "Agree",
  450.     confirmPositionX: "left",
  451.     confirmStyle: "",
  452.     extNameAge: "",
  453.     extImageUrl: "",
  454.     extTpl: 1,
  455.         confirmRandom: false,
  456.         confirmRandomTextVersion: 1,
  457.  
  458.     iconImgUrl: pushPath + "/images/ring_icon@2x.png",
  459.     iconPositionX: "right",
  460.     iconColor: "yellow",
  461.     iconFormType: "circle",
  462.     iconSize: "",
  463.     iconTitle: "NEW MESSAGES (1)",
  464.     iconBtnTextOn: true,
  465.     iconBtnOpenWindow: false
  466. };
  467.  
  468. var textDataArray = [
  469.         {
  470.                 ru: [
  471.                         {
  472.                                 extNameAge: "šŸ‘§ Š�Š²ŠµŃ‚Š°, 28 Š»ŠµŃ‚",
  473.                                 confirmTitle: "ŠŸŃ€ŠøŠ²ŠµŃ‚ŠøŠŗ, сŠ»Š°Š´ŠŗŠøŠ¹ šŸ˜‰ Š�Š¾Ń‡Ńƒ Š²ŠøртŠ° с Š¾Š±Š¼ŠµŠ½Š¾Š¼ Ń„Š¾Ń‚Š¾... Š’ŠŗŠ»ŃˇŃ‡Š°Š¹ уŠ²ŠµŠ´Š¾Š¼Š»ŠµŠ½ŠøѸ, Ѹ уŠ¶Šµ Š¾Ń‚ŠæŃ€Š°Š²ŠøŠ»Š° šŸ˜˜ ",
  474.                                 confirmImgUrl: pushPath + "/images/girl4.jpg",
  475.                                 extImageUrl: "images/girl4.jpg"
  476.                         },
  477.                         {
  478.                                 extNameAge: "šŸ‘§ Š¯Š°Ń‚Š°ŃˆŠ°, 25 Š»ŠµŃ‚",
  479.                                 confirmTitle: "ŠŸŃ€ŠøŠ²ŠµŃ‚, Šøщу ŠæŠ¾ŃˆŠ»Š¾Š³Š¾ ŠŗŠ¾Ń‚ŠøŠŗŠ°... Š•ŃŠ»Šø Ń…Š¾Ń‡ŠµŃˆŃŒ Ń‚Š°Šŗуѡ Š¶Šµ ŠŗŠøсу, Š²ŠŗŠ»ŃˇŃ‡Š°Š¹ уŠ²ŠµŠ´Š¾Š¼Š»ŠµŠ½ŠøѸ! Š–Š´Ńƒ... ",
  480.                                 confirmImgUrl: pushPath + "/images/girl5.jpg",
  481.                                 extImageUrl: "images/girl5.jpg"
  482.                         },
  483.                         {
  484.                                 extNameAge: "šŸ‘§ ŠŃ€ŠøŠ½Š°, 25 Š»ŠµŃ‚",
  485.                                 confirmTitle: "ŠŸŃ€ŠøŠ²ŠµŃ‚ŠøŠŗ, Ń…Š¾Ń‡Ńƒ ŠæŠ¾ŃˆŠ»Š¾Š³Š¾ сŠ¾Š±ŠµŃŠµŠ´Š½ŠøŠŗŠ°...Š•ŃŠ»Šø Š½Ń€Š°Š²Š»ŃˇŃŃŒ, Š²ŠŗŠ»ŃˇŃ‡Š°Š¹ уŠ²ŠµŠ´Š¾Š¼Š»ŠµŠ½ŠøѸ, ŠæŠ¾Š¾Š±Ń‰Š°ŠµŠ¼ŃŃ¸šŸ˜˜ ",
  486.                                 confirmImgUrl: pushPath + "/images/girl6.jpg",
  487.                                 extImageUrl: "images/girl6.jpg"
  488.                         }
  489.                 ],
  490.                 en: [
  491.                         {
  492.                                 extNameAge: "šŸ‘§ Ashley, 26",
  493.                                 confirmTitle: "Hi, hun šŸ˜‰ Can we have sum fun? I'll share some pics... What do you think? Just turn on notifications šŸ˜˜",
  494.                                 confirmImgUrl: pushPath + "/images/girl7.jpg",
  495.                                 extImageUrl: "images/girl7.jpg"
  496.                         },
  497.                         {
  498.                                 extNameAge: "šŸ‘§ Katie, 27",
  499.                                 confirmTitle: "Babe do you really live only a few minutes away? My roommate is out, so we can meet.. If you are interested get at me! šŸ˜˜",
  500.                                 confirmImgUrl: pushPath + "/images/girl8.jpg",
  501.                                 extImageUrl: "images/girl8.jpg"
  502.                         },
  503.                         {
  504.                                 extNameAge: "šŸ‘§ Taylor 24",
  505.                                 confirmTitle: "Hey sexy šŸ˜‰ Do you like my pic? I tried to send you some private pics, but you need to turn on notifications...",
  506.                                 confirmImgUrl: pushPath + "/images/girl9.jpg",
  507.                                 extImageUrl: "images/girl9.jpg"
  508.                         }
  509.                 ]
  510.         },
  511.         {
  512.                 en: [
  513.                         {
  514.                                 extNameAge: "šŸ‘§ Ashley, 26",
  515.                                 confirmTitle: "I'm online and want to get naughty, are you shy? &#x1F618; Write me... &#x1F609;",
  516.                                 confirmImgUrl: pushPath + "/images/girl7.jpg",
  517.                                 extImageUrl: "images/girl7.jpg"
  518.                         },
  519.                         {
  520.                                 extNameAge: "šŸ‘§ Katie, 27",
  521.                                 confirmTitle: "Hey, are you busy? Turn on notifications and I'll send you a couple of pictures &#x1F609;",
  522.                                 confirmImgUrl: pushPath + "/images/girl8.jpg",
  523.                                 extImageUrl: "images/girl8.jpg"
  524.                         },
  525.                         {
  526.                                 extNameAge: "šŸ‘§ Taylor 24",
  527.                                 confirmTitle: "Are you dtf? If you want some pussy turn on notifications, I'm waiting for you &#x1F618;",
  528.                                 confirmImgUrl: pushPath + "/images/girl9.jpg",
  529.                                 extImageUrl: "images/girl9.jpg"
  530.                         }
  531.                 ]
  532.         }
  533. ];
  534.  
  535. var subscribeMethod = optPushMethod ? optPushMethod : "chat_popup_ext_subscribe";
  536. var vertical = "dating";
  537. var isShowedPushCookie = "push_showed_" + subscribeMethod;
  538.  
  539. if (typeof optPush !== "undefined") {
  540.     $.extend(true, confPush, optPush);
  541.  
  542.         var textData = textDataArray[confPush.confirmRandomTextVersion - 1] ? textDataArray[confPush.confirmRandomTextVersion - 1] : textDataArray[0];
  543.  
  544.         if(textData[confPush.siteLang] && textData[confPush.siteLang].length && confPush.confirmRandom) {
  545.                 var randomNumber = getParameterByName('girl') ? (getParameterByName('girl') - 1) : getRandomNumber(textData[confPush.siteLang].length);
  546.                 var tempData = textData[confPush.siteLang][randomNumber];
  547.  
  548.                 confPush.confirmTitle = tempData.confirmTitle;
  549.                 confPush.confirmImgUrl = tempData.confirmImgUrl;
  550.                 confPush.extNameAge = tempData.extNameAge;
  551.                 confPush.extImageUrl = tempData.extImageUrl;
  552.         }
  553. }
  554.  
  555. if (typeof optPushTrls !== "undefined") {
  556.     var availableLang = translation_available(optPushTrls);
  557.     $.extend(true, confPush, optPushTrls[availableLang]);
  558. }
  559.  
  560. if (typeof browserLang !== "undefined") confPush.siteLang = browserLang;
  561.  
  562. if(confPush.siteLang == "ar" || confPush.siteLang == "he") {
  563.     $("body").addClass('rtl');
  564. }
  565.  
  566. document.head.innerHTML += '<link rel="stylesheet" href="'+ pushPath +'/style.css?v=2.0.5" type="text/css" />';
  567.  
  568. var pushConfirmHtml = '<div id="lp-confirm" class="lp-confirm ' + confPush.confirmStyle + ' ' + confPush.confirmPositionX + '"><div class="lp-confirm-wrap"><div class="lp-confirm-logo"><img src="' + confPush.confirmImgUrl + '" alt="" class="lp-confirm-img"></div><div class="lp-confirm-content"><div class="lp-confirm-title">' + confPush.confirmTitle + '</div><p class="lp-confirm-text">' + confPush.confirmMessage + '</p></div><div class="lp-confirm-btns"><span id="lp-confirm-close" class="lp-confirm-btn lp-confirm-btn-close">' + confPush.confirmBtnClose + '</span><span id="lp-confirm-subscribe" class="lp-confirm-btn lp-confirm-btn-allow">' + confPush.confirmBtnAllow + '</span></div></div></div>';
  569.  
  570. var pushLabelTextClass = confPush.iconBtnTextOn ? "lp-label-text-on " : "";
  571. var pushLabelHtml = '<div id="lp-label" class="lp-label ' + pushLabelTextClass + confPush.iconColor + ' ' + confPush.iconPositionX + ' ' + confPush.iconFormType + ' ' + confPush.iconSize + '"><img src="' + confPush.iconImgUrl + '" alt=""> <span class="lp-label-text">'+ confPush.iconTitle +'</span></div>';
  572.  
  573. function openChildWindow(width, height) {
  574.     var url = confPush.serverUrl + "?ext=1&" + getAllParams();
  575.     var l, d = void 0 !== window.screenLeft ? window.screenLeft : screen.left,
  576.         h = void 0 !== window.screenTop ? window.screenTop : screen.top,
  577.         f = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width,
  578.         g = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height,
  579.         left = f / 2 - width / 2 + d, top = g / 2 - height / 2 + h;
  580.     var a = window.open(url, "_blank", "scrollbars=yes, width=" + width + ", height=" + height + ", top=" + top + ", left=" + left);
  581.     a.focus();
  582. }
  583.  
  584. function showPushConfirm() {
  585.     if (!getCookie(isShowedPushCookie)) {
  586.         var popup = $(pushConfirmHtml);
  587.  
  588.         popup.appendTo('body');
  589.  
  590.         $(document).on("click", "#lp-confirm-close", function () {
  591.             if (!confPush.confirmStyle) {
  592.                 popup.remove();
  593.             } else {
  594.                 popup.addClass('removing');
  595.  
  596.                 setTimeout(function () {
  597.                     popup.remove();
  598.                 }, 500);
  599.             }
  600.         });
  601.  
  602.         $(document).on("click", "#lp-confirm-subscribe", function () {
  603.             if (!confPush.confirmStyle) {
  604.                 popup.remove();
  605.                 subscribe();
  606.             } else {
  607.                 popup.addClass('removing');
  608.  
  609.                 setTimeout(function () {
  610.                     popup.remove();
  611.                     subscribe();
  612.                 }, 500);
  613.             }
  614.         });
  615.     } else {
  616.         console.log("Notification already showed.");
  617.     }
  618. }
  619. function showPushLabel() {
  620.     $("body").append(pushLabelHtml);
  621.     $(document).on("click", "#lp-label", function () {
  622.         if (confPush.iconBtnOpenWindow) {
  623.             showPushConfirm();
  624.         } else {
  625.             subscribe();
  626.         }
  627.         $(this).remove();
  628.     });
  629. }
  630.  
  631. window.addEventListener("load", function(){
  632.     if ('Notification' in window) {
  633.         runSubscribeMethod(subscribeMethod);
  634.     }
  635. });
  636.  
  637. if (!String.prototype.startsWith) {
  638.   Object.defineProperty(String.prototype, 'startsWith', {
  639.     enumerable: false,
  640.     configurable: false,
  641.     writable: false,
  642.     value: function(searchString, position) {
  643.       position = position || 0;
  644.       return this.indexOf(searchString, position) === position;
  645.     }
  646.   });
  647. }
  648.  
  649. function runSubscribeMethod(subscribeMethod) {
  650.     if (subscribeMethod.startsWith("chat_popup_ext_subscribe")) {
  651.         setTimeout(function() {
  652.             showPushConfirm();
  653.         }, 2000);
  654.     } else if (subscribeMethod === "icon_button_ext_subscribe") {
  655.         showPushLabel();
  656.     }
  657. }
  658.  
  659. function subscribe() {
  660.     openChildWindow(580, 620);
  661.     setCookie(isShowedPushCookie, "true", 1);
  662. }
  663.  
  664. function setCookie(name, value, i) {
  665.     if (!i) i = 365;
  666.     var d = new Date;
  667.     d.setTime(d.getTime() + 24 * parseInt(i) * 3600);
  668.     var expire = "expires=" + d.toUTCString();
  669.     document.cookie = name + "=" + value + ";" + expire;
  670. }
  671.  
  672. function getCookie(name) {
  673.     for (var t = name + "=", n = document.cookie.split(";"), i = 0; i < n.length; i++) {
  674.         for (var r = n[i]; " " === r.charAt(0);) r = r.substring(1);
  675.         if (0 === r.indexOf(t)) return r.substring(t.length, r.length);
  676.     }
  677.     return !1;
  678. }
  679.  
  680. function getParameterByName(name) {
  681.     name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  682.     var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
  683.         results = regex.exec(location.search);
  684.     return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
  685. }
  686.  
  687. function getAllParams() {
  688.     var clientData = {
  689.         affiliateId: getParameterByName("a"),
  690.         site: window.location.href.split('?')[0],
  691.         userAgent: navigator.userAgent,
  692.         language: navigator.language || navigator.userLanguage,
  693.         subscribeMethod: subscribeMethod,
  694.         vertical: vertical
  695.     };
  696.  
  697.     if (confPush.siteLang) {
  698.         clientData.siteLang = confPush.siteLang;
  699.     }
  700.     if (confPush.extNameAge) {
  701.         clientData.extNameAge = encodeURIComponent(confPush.extNameAge);
  702.     }
  703.     if (confPush.extImageUrl) {
  704.         clientData.extImageUrl = confPush.extImageUrl;
  705.     }
  706.     if (confPush.extTpl) {
  707.         clientData.extTpl = confPush.extTpl;
  708.     }
  709.  
  710.     return $.param(clientData);
  711. }
  712.  
  713. function getRandomNumber(max) {
  714.         return Math.floor(Math.random() * max);
  715. }
  716.  
  717. jQuery(document).ready(function ($) {
  718.     window.localStorage.setItem('subscribeMethod', subscribeMethod);
  719. });
  720.  
  721.  
Parsed in 0.140 seconds