PageSourceSearch

https://www.webareal.cz/js/custom.js?_=201905100857

js webareal.cz collected 2026-09-25 20:22:52 UTC 9,216 bytes, 365 lines download raw bytes

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.