1$(function() { 2 3 //kontaktni formular 4 var contact_form = "#kontaktniFormular"; 5 var contact_success = "#contactSuccess"; 6 var contact_error = "#contactError"; 7 8 $(contact_form).submit(function () { 9 var $url = $(this).attr("action"); 10 $.ajax({ 11 url: $url, 12 method: "POST", 13 dataType: "json", 14 data: { 15 contact_ajax: true, 16 name: $("#name").val(), 17 email: $("#email").val(), 18 subject: $("#subject").val(), 19 message: $("#message").val(), 20 gdpr: $("#gdprContact").is(":checked") 21 }, 22 success: function(data) { 23 if (data.success) 24 { 25 $(contact_form).find("input[type=text]").val(""); 26 $(contact_form).find("input[type=email]").val(""); 27 $(contact_form).find("textarea").val(""); 28 29 $(contact_error).addClass("hidden"); 30 $(contact_success).removeClass("hidden"); 31 $("#mailErrorMessage").text(""); 32 } 33 else 34 { 35 $(contact_success).addClass("hidden"); 36 $(contact_error).removeClass("hidden"); 37 $("#mailErrorMessage").text(data.message); 38 } 39 }, 40 error: function() { 41 $(contact_success).addClass("hidden"); 42 $(contact_error).removeClass("hidden"); 43 $("#mailErrorMessage").text(""); 44 } 45 }); 46 47 return false; 48 }); 49 50 var sign_up_form_rules = { 51 address: { 52 required: true, 53 minlength: 4, 54 remote: { 55 url: '/ajax-requests/check_domain.php', 56 type: 'post' 57 } 58 }, 59 email: { 60 required: true, 61 minlength: 4, 62 my_email: true 63 }, 64 pass: { 65 required: true, 66 minlength: 6 67 } 68 }; 69 var sign_up_form_messages = { 70 email: { 71 required: _this_field_is_required_message, 72 minlength: _email_min_length_message, 73 my_email: _enter_valid_email_message 74 } 75 }; 76 77 $.validator.addMethod("my_email", function(value, element) { 78 var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 79 return this.optional(element) || regex.test(value); 80 }); 81 82 $.validator.addMethod("demo", function(value, element) { 83 return value === _demo_keyphrase; 84 }, _demo_wrong_keyphrase); 85 86// $("#frmSignUp2").validate({ 87// rules: sign_up_form_rules, 88// messages: sign_up_form_messages, 89// submitHandler: function(form) { 90// grecaptcha.execute(); 91// } 92// }); 93 94 $("#frmSignUp2").on("submit", function(e) { 95 e.preventDefault(); 96 grecaptcha.execute(); 97 }); 98 99 $(".launch-demo, .launch-demo-kasa").magnificPopup({ 100 mainClass: 'my-mfp-slide-bottom', 101 tClose: _close_dialog + ' (Esc)' 102 }); 103 104 $("#demo-login").validate({ 105 rules: { 106 demo_login: "demo" 107 } 108 }); 109 110 /** 111 * Formátovánà ÄÃsla 112 * @param settings objekt s nastavenÃm: {lang_code - kód napÅ. cz-CZ, delimeter, separator} 113 * @param digits int poÄet desetinných mÃst 114 * @constructor 115 */ 116 var Formatter = function(settings, digits) { 117 var display_digits = ((typeof digits !== "undefined") ? parseInt(digits) : 2); 118 119 var number_format; 120 var check_settings = function(settings) 121 { 122 if(typeof settings !== "undefined" 123 && typeof settings === "object" 124 && "delimeter" in settings 125 && "separator" in settings) 126 { 127 return true; 128 } 129 else 130 { 131 return false; 132 } 133 }; 134 135 var init = function() { 136 if (!check_settings(settings)) 137 { 138 throw "Settings were not provided!"; 139 } 140 number_format = format_number; 141 }; 142 143 var format_number = function(number) 144 { 145 var decs = number.toFixed(display_digits).split("."); 146 var nums = decs[0].split(""); 147 var formatted = nums.reduceRight(function(prev, curr, index, array) { 148 var i = array.length - index - 1; 149 return curr + ((i && !(i % 3)) ? settings.separator : "") + prev 150 }); 151 if(1 in decs) 152 { 153 formatted += settings.delimeter + decs[1]; 154 } 155 156 return formatted; 157 }; 158 159 init(); 160 161 /** 162 * PÅevede ÄÃslo na string a do daného formátu 163 * @param number float|int 164 * @returns string 165 */ 166 this.format = function(number) 167 { 168 return number_format(number); 169 } 170 }; 171 172 var formatter = new Formatter(locale_setup, 0); 173 174 $("select[name='fb_package'], select[name='ppc_package']").on("change", function(e) { 175 e.stopImmediatePropagation(); 176 var option = this.options[this.selectedIndex]; 177 var output = $("#flowlyOrder").find("span.order-total-output").get(0); 178 //textContent: protože vyzobne jen text a pÅÃpadné znaÄky/html entity vynechá 179 var text_content = output.textContent.trim(); 180 text_content = text_content.replace(/\s+/, ""); 181 var current_value = parseFloat(text_content); 182 var new_value = 0; 183 if(option.value !== "-1") 184 { 185 if(typeof this.dataset.added !== "undefined" 186 && this.dataset.added !== 0) 187 { 188 current_value -= this.dataset.added; 189 } 190 new_value = current_value + parseFloat(option.dataset.packagePrice); 191 this.dataset.added = option.dataset.packagePrice; 192 } 193 else 194 { 195 new_value = current_value - this.dataset.added; 196 this.dataset.added = 0; 197 } 198 output.innerHTML = formatter.format(new_value); 199 }); 200 201 //validace flowly formuláÅe 202 $.validator.addMethod("package", function(value, element) { 203 var $fb_package = $("#fbPackage"); 204 var $ppc_package = $("#ppcPackage"); 205 return ($fb_package.val() !== "-1") || ($ppc_package.val() !== "-1"); 206 }); 207 208 var flowly_rules = { 209 fb_package: { 210 package: true 211 }, 212 ppc_package: { 213 package: true 214 }, 215 name: { 216 required: true 217 }, 218 email: { 219 required: true, 220 my_email: true 221 }, 222 phone: { 223 required: true 224 }, 225 eshop: { 226 required: true, 227 url: true 228 } 229 }; 230 231 function get_error_message(element, rule) 232 { 233 var data = $(element).data("error-msg"); 234 return data[rule]; 235 } 236 237 var flowly_messages = { 238 fb_package: { 239 package: function(p, el) 240 { 241 return get_error_message(el, "package"); 242 } 243 }, 244 ppc_package: { 245 package: function(p, el) 246 { 247 return get_error_message(el, "package"); 248 } 249 }, 250 name: { 251 required: function(p, el) 252 { 253 return get_error_message(el, "required"); 254 } 255 }, 256 email: { 257 required: function(p, el) { 258 return get_error_message(el, "required"); 259 }, 260 my_email: function(p, el) { 261 return get_error_message(el, "my_email"); 262 } 263 }, 264 phone: { 265 required: function(p, el) { 266 return get_error_message(el, "required"); 267 } 268 }, 269 eshop: { 270 required: function(p, el) { 271 return get_error_message(el, "required"); 272 }, 273 url: function(p, el) { 274 return get_error_message(el, "url"); 275 } 276 } 277 }; 278 279 function flowly_send($form) 280 { 281 var request = $.extend(BS.Request.$default, { 282 data: { 283 action: "Flowly_order", 284 form: { 285 fb_package: $form.find("select[name='fb_package']").val(), 286 ppc_package: $form.find("select[name='ppc_package']").val(), 287 name: $form.find("input[name='name']").val(), 288 email: $form.find("input[name='email']").val(), 289 phone: $form.find("input[name='phone']").val(), 290 eshop: $form.find("input[name='eshop']").val() 291 } 292 }, 293 success: function(data) 294 { 295 if(data.success) 296 { 297 //odesláno 298 display_message(-1); 299 } 300 else 301 { 302 //neodesláno 303 display_message(data.error); 304 } 305 } 306 }); 307 $.ajax(request); 308 } 309 310 function display_message(type) 311 { 312 var message = ""; 313 var error_class = ((type !== -1) ? " text-danger" : ""); 314 if(type == -1) 315 { 316 message = flowly_result_messages._flowly_success; 317 } 318 else if(type == 1) 319 { 320 message = flowly_result_messages._flowly_bad_form; 321 } 322 else 323 { 324 message = flowly_result_messages._flowly_bad_request; 325 } 326 var $dialog = $('<div class="modal-dialog"><section class="panel"><div class="panel-body"><p class="text-center' + error_class + '">' + message + '</p></div></section></div>'); 327 $.magnificPopup.open({ 328 items: { 329 src: $dialog 330 }, 331 closeOnBgClick: false 332 }); 333 } 334 335 $("#flowlyOrder").validate({ 336 rules: flowly_rules, 337 messages: flowly_messages, 338 groups: { 339 packages: "fb_package ppc_package" 340 }, 341 errorPlacement: function(error, element) 342 { 343 //nic tady nenÃ, protože nechci zobrazit chybovou zprávu 344 }, 345 unhighlight: function(element, error, valid) { 346 $(element).removeClass(error); 347 $(element).addClass(valid); 348 $(element).parent().removeClass("has-error").addClass("has-success"); 349 }, 350 submitHandler: function(form) { 351 flowly_send($(form)); 352 353 return false;
354 } 355 }); 356 357 $(document).on("pageoverlay", function() { 358 $(".custom-loading-window").show(); 359 }); 360}); 361 362function frmSignUp2Submit(token) { 363 document.dispatchEvent(new Event("pageoverlay")); 364 document.getElementById("frmSignUp2").submit(); 365}
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.