1/* eslint-disable */ 2(function ($) { 3 'use strict'; 4 5 //Javascript GET cookie parameter 6 var $_GET = {}; 7 document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () { 8 function decode(s) { 9 return decodeURIComponent(s.split('+').join(' ')); 10 } 11 12 $_GET[decode(arguments[1])] = decode(arguments[2]); 13 }); 14 15 // Get time var defined in woo backend 16 var $time = 1; 17 if (typeof gens_raf !== 'undefined' && gens_raf.cookieTime !== '') { 18 $time = parseInt(gens_raf.cookieTime); 19 } 20 21 //If raf is set, add cookie. 22 if (typeof $_GET['raf'] !== 'undefined' && $_GET['raf'] !== null) { 23 //console.log(window.location.hostname); 24 cookie.set('gens_raf', $_GET['raf'], { expires: $time, path: '/' }); 25 } 26 27 // Share Shortcode 28 $.fn.rafSocShare = function (opts) { 29 var $this = this; 30 31 opts = $.extend( 32 { 33 attr: 'href', 34 linked_in: false, 35 pinterest: false, 36 whatsapp: false, 37 }, 38 opts 39 ); 40 41 for (var opt in opts) { 42 if (opts[opt] === false) { 43 continue; 44 } 45 46 switch (opt) { 47 case 'facebook': 48 var url = 'https://www.facebook.com/sharer/sharer.php?u='; 49 var name = 'Facebook'; 50 _popup(url, name, opts[opt], 400, 640); 51 break; 52 53 case 'twitter': 54 var posttitle = $('.gens-referral_share__tw').data('title'); 55 var via = $('.gens-referral_share__tw').data('via'); 56 var url = 'https://twitter.com/intent/tweet?via=' + via + '&text=' + posttitle + '&url='; 57 var name = 'Twitter'; 58 _popup(url, name, opts[opt], 440, 600); 59 break; 60 61 case 'whatsappDesktop': 62 var posttitle = $('.gens-referral_share__wade').data('title'); 63 var url = 'https://web.whatsapp.com/send?text=' + encodeURIComponent(posttitle) + '%20'; 64 var name = 'WhatsApp Desktop'; 65 _popup(url, name, opts[opt], 600, 600); 66 break; 67 68 case 'linked_in': 69 var url = 'https://www.linkedin.com/shareArticle?mini=true&url='; 70 var name = 'LinkedIn'; 71 _popup(url, name, opts[opt], 570, 520); 72 break; 73 74 case 'pinterest': 75 var url = 'https://www.pinterest.com/pin/find/?url='; 76 var name = 'Pinterest'; 77 _popup(url, name, opts[opt], 500, 800); 78 break; 79 80 case 'whatsapp': 81 var posttitle = $('.gens-referral_share__wa').data('title'); 82 var name = 'Whatsapp'; 83 var url = 'whatsapp://send?text=' + encodeURIComponent(posttitle) + '%20'; 84 _popup(url, name, opts[opt], 500, 800); 85 default: 86 break; 87 } 88 } 89 90 function _popup(url, name, opt, height, width) { 91 if (opt !== false && $this.find(opt).length) { 92 $this.on('click', opt, function (e) { 93 e.preventDefault(); 94 95 var top = screen.height / 2 - height / 2; 96 var left = screen.width / 2 - width / 2; 97 var share_link = $(this).attr(opts.attr); 98 99 if (name === 'Whatsapp') { 100 window.location = url + encodeURIComponent(share_link) + '%20'; 101 return true; 102 } else if (name === 'WhatsApp Desktop') { 103 window.open(url, name, 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=' + height + ',width=' + width + ',top=' + top + ',left=' + left); 104 } else { 105 window.open( 106 url + encodeURIComponent(share_link), 107 name, 108 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=' + height + ',width=' + width + ',top=' + top + ',left=' + left 109 ); 110 } 111 112 return false;
113 }); 114 } 115 } 116 return; 117 }; 118 119 function gensCopyText(text) { 120 function selectElementText(element) { 121 if (document.selection) { 122 var range = document.body.createTextRange(); 123 range.moveToElementText(element); 124 range.select(); 125 } else if (window.getSelection) { 126 var range = document.createRange(); 127 range.selectNode(element); 128 window.getSelection().removeAllRanges(); 129 window.getSelection().addRange(range); 130 } 131 } 132 var element = document.createElement('DIV'); 133 element.textContent = text; 134 element.style.backgroundColor = '#fff'; 135 document.body.appendChild(element); 136 selectElementText(element); 137 document.execCommand('copy'); 138 element.remove(); 139 } 140 141 jQuery(document).ready(function () { 142 $('.gens-referral_share').rafSocShare({ 143 facebook: '.gens-referral_share__fb', 144 twitter: '.gens-referral_share__tw', 145 whatsappDesktop: '.gens-referral_share__wade', 146 linked_in: '.gens-referral_share__ln', 147 pinterest: '.gens-referral_share__pin', 148 whatsapp: '.gens-referral_share__wa', 149 }); 150 151 $('#js--gens-email-clone').on('click', function (e) { 152 e.preventDefault(); 153 var $clone = $('#gens-referral_share__email').children().first().clone(); 154 $clone.insertBefore('#js--gens-email-clone').find('input').val(''); 155 }); 156 157 $('#js--gens-email-remove').on('click', function (e) { 158 e.preventDefault(); 159 $('#gens-referral_share__email').find('.gens-referral_share__email__inputs').last().remove(); 160 }); 161 162 $('#gens-referral_share__email').submit(function (e) { 163 e.preventDefault(); 164 var valid = true; 165 $('.gens-referral_share__email__inputs').each(function () { 166 var emailInput = $(this).find("input[type='email']"); 167 emailInput.removeClass('error'); 168 if (!validateEmail(emailInput.val())) { 169 valid = false; 170 emailInput.addClass('error'); 171 } 172 }); 173 if (valid === true) { 174 gensAjaxSubmit(); 175 } 176 }); 177 178 // Click to copy 179 $('.gens-ctc').on('click', function () { 180 var that = this; 181 var text = $(this).text(); 182 var copied = $(this).data('text'); 183 var raf_link = $(this).parent().find('strong').text(); 184 var copied; 185 gensCopyText(raf_link); 186 $(this).text(copied); 187 setTimeout(function () { 188 $(that).text(text); 189 }, 1500); 190 }); 191 192 // Generate referral link from guest email 193 $('.gens-raf-generate-link').on('click', function () { 194 var valid = true; 195 var $email = $('.gens-raf-guest-email'); 196 if (!validateEmail($email.val())) { 197 valid = false; 198 $email.addClass('error'); 199 } 200 if (valid === true) { 201 $('.gens-raf__url strong').text($('.gens-raf__url strong').text() + '?raf=' + $email.val()); 202 $('.gens-referral_share') 203 .find('a') 204 .each(function () { 205 var $href = $(this).attr('href'); 206 $(this).attr('href', $href + '?raf=' + $email.val()); 207 }); 208 var $link = $('.gens-refer-a-friend').attr('data-link'); 209 $('.gens-refer-a-friend').attr('data-link', $link + '?raf=' + $email.val()); 210 $('.gens-refer-a-friend--generate').hide(); 211 $('.gens-refer-a-friend--guest').show(); 212 cookie.set('gens_raf_guest', $email.val(), { 213 expires: 7, 214 path: '/', 215 }); 216 } 217 }); 218 219 // Refresh on email change 220 var typingTimer; 221 var gensDoneTypingInterval = 1000; 222 223 $('#billing_email').on('input', function () { 224 window.clearTimeout(typingTimer); 225 typingTimer = window.setTimeout(gensDoneTyping, gensDoneTypingInterval); 226 }); 227 228 function validateEmail(email) { 229 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,}))$/; 230 return re.test(String(email).toLowerCase()); 231 } 232 233 function gensDoneTyping() { 234 var val = $('#billing_email').val(); 235 if (val.indexOf('@') > -1) { 236 jQuery(document.body).trigger('update_checkout'); 237 } 238 } 239 240 function gensAjaxSubmit() { 241 var data = new Array(); 242 var link = $('.gens-refer-a-friend').data('link'); 243 $('.gens-referral_share__email__inputs').each(function () { 244 var email = $(this).find("input[type='email']").val(); 245 var text = $(this).find("input[type='text']").val(); 246 if (email != '') { 247 var valueToPush = {}; 248 valueToPush.email = email; 249 valueToPush.name = text; 250 data.push(valueToPush); 251 } 252 }); 253 254 jQuery.ajax({ 255 type: 'POST', 256 url: gens_raf.ajax_url, 257 data: { 258 data: data, 259 link: link, 260 action: 'gens_share_via_email', 261 }, 262 success: function (data) { 263 // Remove form and say thx 264 var $success = "<div class='gens-raf-mail-share'>" + gens_raf.success_msg + '</div>'; 265 $('.gens-referral_share__email__inputs').not(':first').remove(); 266 $('.gens-referral_share__email__inputs').find('input').val(''); 267 $('.gens-referral_share__email').after($success); 268 setTimeout(function (d) { 269 $('.gens-raf-mail-share').remove(); 270 }, 4500); 271 }, 272 }); 273 return false;
274 } 275 }); 276})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.