1const getMetrikaParams = (form) => { 2 let data = new FormData(form) 3 let params = {} 4 params.phone = data.get('fldphone')?.replace(/\D/g, "") 5 params.page = data.get('fld7694') 6 return params 7} 8 9const loadModalWidget = (rootId, widgetId) => { 10 $('body').append('<div id="' + rootId + '" style="display: none;"></div>'); 11 $.ajaxSetup({ cache: true }); 12 $.getScript('https://app.moyklass.com/api/site/widget/?id=' + widgetId, function() { 13 setTimeout(() => WdgMoyklass[widgetId].init()); 14 }); 15} 16 17$(document).ready(function() { 18 19 const FORM_HEADERS = { 20 form_book_trible: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 21 form_book_stretch: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 22 form_book_latina: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 23 form_book_classic: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 24 form_book_flamenco: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 25 form_book_belly: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 26 form_book_body: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 27 form_book_other: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 28 form_book_child_classic: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 29 form_book_hiphop: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 30 form_book_zumba: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 31 default: "ÐÑÐ¸Ñ Ð¾Ð´Ð¸Ñе на пÑобнÑй ÑÑок!", 32 } 33 34 /* Enable Moy Klass Modals */ 35 var modals = $('.lead-modal'); 36 if (modals.length) { 37 let modalId = '01X1T9sVwju9k261fwLME1Ft5L8o9nuUxAax'; 38 let modalHiddenField = '#wdgMoyklass74244Form7694' 39 loadModalWidget('SiteWidgetMoyklass74244', modalId); 40 41 modals.click(function() { 42 // Set Hidden Field Value (Comment) 43 var that = this; 44 if (WdgMoyklass[modalId].modalElement && WdgMoyklass[modalId].modalElement.open) { 45 if (!WdgMoyklass[modalId].modalElement._open) 46 WdgMoyklass[modalId].modalElement._open = WdgMoyklass[modalId].modalElement.open; 47 48 WdgMoyklass[modalId].modalElement.open = (function() { 49 WdgMoyklass[modalId].modalElement._open(); 50 let formInfo = that.getAttribute('form-info'); 51 let formMetrika = that.getAttribute('form-metrika') || 'form_book_other'; 52 let formHeader = FORM_HEADERS[formMetrika] || FORM_HEADERS['default']; 53 let formEl = $(WdgMoyklass[modalId].modalElement.content).find('form'); 54 formEl.attr('form-metrika', formMetrika); 55 $(WdgMoyklass[modalId].modalElement.modalContainerModal).find('.wdgMoyklass-h1').text(formHeader); 56 $(WdgMoyklass[modalId].modalElement.modalContainerModal).find(modalHiddenField).val(formInfo); 57 let widget = WdgMoyklass[modalId]; 58 if (!widget._viewSuccess) { 59 widget._viewSuccess = widget.viewSuccess; 60 widget.viewSuccess = (function(string) { 61 this._viewSuccess(string); 62 let target = $(this.modalElement.content).find('form')[0].getAttribute('form-metrika') || 'form_book_other'; 63 let formElement = $(this.modalElement.content).find('form')[0]; 64 let params = getMetrikaParams(formElement); 65 ym(445213, 'reachGoal', target, params); 66 console.log('New Goal: ' + target, params); 67 }).bind(widget); 68 } 69 }).bind(WdgMoyklass[modalId]); 70 } 71 72 // Open Modal 73 WdgMoyklass[modalId].loadLeadFormByModal(); 74 }); 75 } 76 77 /* Set Hidden Field Value (Open Forms) */ 78 let form = $('.sendform[form-info]'); 79 if (form.length) { 80 let formId = '01pb1dgPKq7RchvBl6Tg0BCjY3zSFXdDrszW'; 81 let formHiddenField = '#wdgMoyklass74578Form7694'; 82 var intervalId = setInterval(() => { 83 if (form.find('form input[type=submit]').length) { 84 let formInfo = form[0].getAttribute('form-info'); 85 let formMetrika = form[0].getAttribute('form-metrika') || 'form_book_other'; 86 let formHeader = FORM_HEADERS[formMetrika] || FORM_HEADERS['default']; 87 $(WdgMoyklass[formId].baseElement).find('.wdgMoyklass-h1').text(formHeader); 88 let field = $(WdgMoyklass[formId].baseElement).find(formHiddenField); 89 if (field.length) { 90 field.val(formInfo); 91 } 92 93 let widget = WdgMoyklass[formId];
94 if (!widget._viewSuccess) { 95 widget._viewSuccess = widget.viewSuccess; 96 widget.viewSuccess = (function(string) { 97 this._viewSuccess(string); 98 let target = $(this.baseElement).parent('.sendform')[0].getAttribute('form-metrika') || 'form_book_other'; 99 let formEl = $(this.baseElement).parent('.sendform').find('form')[0]; 100 let params = getMetrikaParams(formEl); 101 ym(445213, 'reachGoal', target, params); 102 console.log('New Goal: ' + target, params); 103 }).bind(widget); 104 } 105 clearInterval(intervalId); 106 } 107 }, 100); 108 } 109 110 /* Auto Modal */ 111 112 113 let modalDelay = 30000; 114 let modalCloseDelay = 2000; 115 let modalOpenInterval = 12 * 60 * 60; // seconds (12 hours) 116 let now = parseInt(Date.now() / 1000); 117 let lastModalOpen = parseInt(localStorage.getItem('lastModalOpen') || 0); 118 119 if (Date.now() / 1000 - lastModalOpen > modalOpenInterval) { 120 let modalId = '01ovYhWgvxIt0AepVgs3zRUbGNABJJBAmpqH'; 121 let modalHiddenField = '#wdgMoyklass100108Form7694'; 122 loadModalWidget('SiteWidgetMoyklass100108', modalId); 123 124 setTimeout(() => { 125 let formInfo = 'ÐвÑомаÑиÑеÑки вÑплÑваÑÑÐ°Ñ ÑоÑма запиÑи'; 126 let formDesc = '<p style="font-weight:bold;">ÐейÑÑвÑÐµÑ Ð¿Ñи покÑпке абонеменÑа в Ð´ÐµÐ½Ñ Ð¿Ð¾ÑеÑÐµÐ½Ð¸Ñ Ð¿Ñобного ÑÑока.</p><p style="margin-top:10px;margin-bottom:10px;">ÐÑÑавÑÑе Ñвои конÑакÑÑ, Ð¼Ñ ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸ и подбеÑем напÑавление и Ñдобное ÑаÑпиÑание.</p>'; 127 let formMetrika = 'form_book_auto'; 128 129 let widget = WdgMoyklass[modalId]; 130 if (widget.modalElement && WdgMoyklass[modalId].modalElement.open) { 131 if (!widget.modalElement._open) 132 widget.modalElement._open = WdgMoyklass[modalId].modalElement.open; 133 134 widget.modalElement.open = (function() { 135 widget.modalElement._open(); 136 let formEl = $(widget.modalElement.content).find('form'); 137 formEl.attr('form-metrika', formMetrika); 138 $(widget.modalElement.modalContainerModal).find('.WdgMoyklassModalItem-body > .wdgMoyklass-h3').html(formDesc); 139 $(widget.modalElement.modalContainerModal).find(modalHiddenField).val(formInfo); 140 if (!widget._viewSuccess) { 141 widget._viewSuccess = widget.viewSuccess; 142 widget.viewSuccess = (function(string) { 143 this._viewSuccess(string); 144 let target = $(this.modalElement.content).find('form')[0].getAttribute('form-metrika') || 'form_book_other'; 145 let formElement = $(this.modalElement.content).find('form')[0]; 146 let params = getMetrikaParams(formElement); 147 ym(445213, 'reachGoal', target, params); 148 console.log('New Goal: ' + target, params); 149 }).bind(widget); 150 } 151 }).bind(widget); 152 } 153 154 if (!widget.modalElement._close) 155 widget.modalElement._close = widget.modalElement.close; 156 157 widget.modalElement.close = () => {} 158 widget.modalElement.modalContainerClose.style.display = 'none'; 159 localStorage.setItem('lastModalOpen', parseInt(Date.now() / 1000)); 160 widget.loadLeadFormByModal(); 161 setTimeout(() => { 162 widget.modalElement.close = widget.modalElement._close; 163 widget.modalElement.modalContainerClose.style.display = 'block'; 164 }, modalCloseDelay) 165 }, modalDelay) 166 } 167});
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.