1var cntDataLayer = {}; 2cntDataLayer['version'] = '1.0'; 3cntDataLayer['url'] = window.location.href; 4var from, to, fromdp, todp, covidForm; 5var dateFormat = "dd.mm.yy"; 6var covidDateFormat = "d.m.yy"; 7var fromEnabledDates = []; 8var toEnabledDates = []; 9var covidDates = {}; 10var covidDatesTimes = {}; 11 12var fromEnabledDatesTimes = {}; 13var toEnabledDatesTimes = {}; 14var dpclose = true; 15var destinationSelected = false; 16var topoffset = 66; 17var islowwidth = 991.98; 18var isverylowwidth = 575.98; 19//alert('form.js'); 20 21 22function addzero(value) 23{ 24 while (value.length < 2) 25 value = String("0") + value; 26 return value; 27} 28function checkDateOrder(frm, ci_day, ci_month_year, co_day, co_month_year) { 29 if (document.getElementById) { 30 var frm = document.getElementById(frm); 31// create date object from checkin values 32// set date to 12:00 to avoid problems with one 33// date being wintertime and the other summertime 34 var my = frm[ci_month_year].value.split("-"); 35 var ci = new Date(my[0], my[1] - 1, frm[ci_day].value, 12, 0, 0, 0); 36// create date object from checkout values 37 my = frm[co_month_year].value.split("-"); 38 var co = new Date(my[0], my[1] - 1, frm[co_day].value, 12, 0, 0, 0); 39// if checkin date is at or after checkout date, 40// add a day full of milliseconds, and set the 41// selectbox values for checkout date to new value 42 if (ci >= co) { 43 co.setTime(ci.getTime() + 1000 * 60 * 60 * 24); 44 frm[co_day].value = co.getDate(); 45 var com = co.getMonth() + 1; 46 frm[co_month_year].value = co.getFullYear() + "-" + com; 47 } 48 } 49} 50function sendGA(action, data) { 51 console.log('SEND GA',action,data); 52} 53 54function validateEmail(email) { 55 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,}))$/; 56 return re.test(String(email).toLowerCase()); 57} 58 59window.sendResult = false; 60function covidSendResults() { 61 if (window.sendResult == true) 62 return false; 63 window.sendResult = true; 64 setTimeout(function() { 65 window.sendResult = false; 66 },5000); 67 68/* if (String(jQuery('#id-card-result').val()).length < 2 || String(jQuery('#id-card-result').val()).length > 6 || isNaN(jQuery('#id-card-result').val()) == true) { 69 var errorMessage = 'Osobnà ÄÃslo je zadáno ve Å¡patném tvaru.'; 70 jQuery('#reservations-form-covid-result').find('div.errorMessage').html('<span class="errorMessage">' + errorMessage + '</span>').show('slow').delay(15000).hide('slow'); 71 return false; 72 } /*else 73 if (String(jQuery('#id-card-ghc-result').val()).length != 12 || String(jQuery('#id-card-ghc-result').val()).indexOf('GHC') != 0 || String(jQuery('#id-card-ghc-result').val()).indexOf('000000000') != -1 || String(jQuery('#id-card-ghc-result').val()).indexOf('123456789') != -1 ) { 74 var errorMessage = 'GHC kód je zadán ve Å¡patném tvaru. Zadejte ve tvaru GHC000000000 (GHC a devÃti-mÃstné ÄÃslo).'; 75 jQuery('#reservations-form-covid-result').find('div.errorMessage').html('<span class="errorMessage">' + errorMessage + '</span>').show('slow').delay(15000).hide('slow'); 76 return false; 77 } */ 78 79 jQuery('#covid-loader-result').removeClass('hidden'); 80 81 var formData = collectFormDataNew('#reservations-form-covid-result'); 82 formData.append('lang',(typeof jQuery('input#language').val() != 'undefined' ? jQuery('input#language').val() : 'cs')); 83 formData.append('url',window.location.href); 84 formData.append('action','covidSendResults'); 85 86 jQuery.ajax({ 87 type: "POST", 88 url: "/ajaxData.php", 89 cache: false, 90 data: formData, 91 contentType: false, 92 processData: false, 93 success: function (payload) { 94 if (payload['status'] == 'OK' && payload['data'] == true) { 95 jQuery('#reservations-form-covid-result').find('div.successMessage').removeClass('hidden'); 96 jQuery('#reservations-form-covid-result').find('div.successMessage').show('slow'); 97 jQuery('#reservations-form-covid-result').find('div.errorMessage').addClass('hidden'); 98 jQuery('#reservations-form-covid-result').find('button.odeslat').addClass('hidden'); 99 setTimeout(function() { 100 jQuery('#covid-loader-result').addClass('hidden'); 101 }, 1000); 102 103 } else { 104 console.log('error in data'); 105 console.log(payload); 106 errorMessage = 'Výsledky se nepodaÅilo odeslat, zkontrolujte správnost vyplnÄnà formuláÅe.'; 107 jQuery('#reservations-form-covid-result').find('div.errorMessage').html('<span class="errorMessage">' + errorMessage + '</span>'); 108 jQuery('#reservations-form-covid-result').find('div.errorMessage').show('slow'); 109 jQuery('#reservations-form-covid-result').find('div.errorMessage').removeClass('hidden'); 110 jQuery('#reservations-form-covid-result').find('div.successMessage').addClass('hidden'); 111 setTimeout(function() { 112 jQuery('#covid-loader-result').addClass('hidden'); 113 }, 1000); 114 115 } 116 }, 117 error: function (payload) { 118 console.log('error in data', payload); 119 setTimeout(function() { 120 jQuery('#covid-loader-result').addClass('hidden'); 121 }, 1000); 122 123 } 124 }); 125} 126 127function addCovidDates() { 128 var i = 0; 129 var times = ''; 130 setTimeout(function () { 131 jQuery( "div.datepicker-form-covid .ui-datepicker-calendar td").filter(function () { 132 var date = jQuery(this).text(); 133 var i = 0; 134 var times = ''; 135 if (typeof covidDatesTimes[jQuery(this).attr('title')] !== 'undefined') { 136 jQuery.each(covidDatesTimes[jQuery(this).attr('title')], function(k,v) { 137 // console.log(v); 138 i++; 139 times = times + v + ', '; 140 }); 141 } 142 times = times.slice(0,-2); 143 jQuery('div.datepicker-form-covid td.dp-date[title|="'+jQuery(this).attr('title')+'"]').attr('data-count', i).attr('data-times', times); 144 return /\d/.test(date); 145 }).find("a"); 146 }, 300); 147 148} 149 150function renderCovidFormData(data ) { 151 covidDates = {}; 152 covidDatesTimes = {}; 153 var today = new Date(); 154 if (data.hasOwnProperty('times')) { 155 jQuery.each(data.times, function(date, times) { 156 covidDates[date] = {}; 157 jQuery.each(times, function(time, count) { 158 covidDates[date][time] = count; 159 }); 160 161 }); 162 163 /*covidForm.datepicker('show');*/ 164 covidForm.datepicker("refresh"); 165 covidForm.datepicker('show'); 166 addCovidDates();
167 } 168} 169 170function loadCovidTimeSlots() { 171 jQuery('#covid-loader').removeClass('hidden'); 172 var formData = collectFormData('#reservations-form-covid')+'&action=loadCovidTimeSlots'; 173 174 // console.log(formData); 175 jQuery.ajax({ 176 type: "POST", 177 url: "/ajaxData.php", 178 cache: false, 179 data: formData, 180 success: function (payload) { 181 if (payload['status'] == 'OK') { 182 renderCovidFormData(payload.data); 183 } else { 184 } 185 jQuery('#covid-loader').addClass('hidden'); 186 }, 187 error: function (payload) { 188 console.log('error in data', payload); 189 jQuery('#covid-loader').addClass('hidden'); 190 } 191 }); 192} 193 194window.mobileAndTabletcheck = function() { 195 var check = false; 196 (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera); 197 return check; 198}; 199 200function testForm(el) { 201 var form = jQuery(el); 202 var errorTest = true; 203 var emailTest = true; 204 205 jQuery(form).find('.input.needed').each(function () { 206 //console.log(jQuery(this)); 207 jQuery(this).removeClass('empty'); 208 var radioTest = false; 209 210 if (jQuery(this).attr('type') == 'radio' || jQuery(this).attr('type') == 'checkbox') { 211 var name = jQuery(this).attr('name'); 212 jQuery(el + ' input[name="' + name + '"]').each(function () { 213 if (jQuery(this).prop('checked')) { 214 radioTest = true; 215 } 216 }); 217 if (radioTest == false) { 218 errorTest = false; 219 //errorMessage = translateForm('submitForm', 'vsechna_pole_musi_byt_vyplnena'); 220 } 221 } else if (jQuery(this).val() == '') { 222 jQuery(this).addClass('empty'); 223 errorTest = false; 224 //errorMessage = translateForm('submitForm', 'vsechna_pole_musi_byt_vyplnena'); 225 } 226 227 }); 228 229 var groupneeded = {}; 230 jQuery('.input.groupneeded').removeClass('groupempty'); 231 jQuery(form).find('.input.groupneeded').each(function () { 232 if (typeof jQuery(this).data('groupneeded') != 'undefined' && typeof groupneeded[jQuery(this).data('groupneeded')] == 'undefined') { 233 groupneeded[jQuery(this).data('groupneeded')] = false; 234 } 235 //console.log(jQuery(this)); 236 jQuery(this).removeClass('empty'); 237 var radioTest = false; 238 239 if (jQuery(this).attr('type') == 'radio' || jQuery(this).attr('type') == 'checkbox') { 240 var name = jQuery(this).attr('name'); 241 jQuery(el + ' input[name="' + name + '"]').each(function () { 242 if (jQuery(this).prop('checked')) { 243 radioTest = true; 244 } 245 }); 246 if (radioTest) { 247 groupneeded[jQuery(this).data('groupneeded')] = true; 248 //errorMessage = translateForm('submitForm', 'vsechna_pole_musi_byt_vyplnena'); 249 } 250 } else if (jQuery(this).val().length > 0) { 251 groupneeded[jQuery(this).data('groupneeded')] = true; 252 //errorMessage = translateForm('submitForm', 'vsechna_pole_musi_byt_vyplnena'); 253 } 254 255 });
256 if (groupneeded.length > 0) { 257 console.log(groupneeded); 258 jQuery.each(groupneeded, function(k,v) { 259 console.log(k,v); 260 if (v == false) { 261 errorTest = false; 262 console.log('.groupneeded[data-groupneeded="'+k+'"]'); 263 jQuery('input.groupneeded[data-groupneeded="'+k+'"]').addClass('groupempty'); 264 } 265 }); 266 267 } 268 269 if (!errorTest) { 270 var errorMessage = 'VÅ¡echna pole musà být vyplnÄna'; 271 if (el === '#mailing-subscription') 272 errorMessage = 'Uvedte e-mail'; 273 jQuery(form).find('div.errorMessage').html('<span class="errorMessage">' + errorMessage + '</span>').show('slow').delay(15000).hide('slow'); 274 jQuery(form).find('.empty').off('focusin').focusin(function () { 275 jQuery(this).removeClass('empty'); 276 }); 277 return false; 278 } 279 280 jQuery(form).find('input[type=email]').each(function() { 281 if (!validateEmail(jQuery(this).val())) { 282 emailTest = false; 283 jQuery(this).addClass('empty'); 284 jQuery(this).off('focusin').focusin(function () { 285 jQuery(this).removeClass('empty'); 286 }); 287 } 288 }); 289 290 291 if (!emailTest) { 292 var errorMessage = 'Å patný tar e-mailu'; 293 jQuery(form).find('div.errorMessage').html('<span class="errorMessage">' + errorMessage + '</span>').show('slow').delay(15000).hide('slow'); 294 return false; 295 } 296 297 jQuery(form).find('.errorMessage').text('').hide('slow'); 298 return true; 299} 300 301function collectFormDataNew(formEl) { 302 303 var formData = new FormData(); 304 formData.append('formId', formEl); 305 306// var formData = 'formId=' + formEl; 307 // formData = formData + '&mobile='+(mobileAndTabletcheck()?1:0)+'&secret1='+window.CNTsecret1+'&secret2='+window.CNTsecret2+'&secret3=window.CNTsecret3'; 308 jQuery(formEl + ' .input').each(function () { 309 if (typeof jQuery(this).data('name') != 'undefined') { 310 var key = jQuery(this).data('name'); 311 } else { 312 var key = jQuery(this).attr('name'); 313 } 314 315 var cntkey = key; 316 if (typeof jQuery(this).data('cnttype') != 'undefined') 317 cntkey = jQuery(this).data('cnttype'); 318 319 var cntval = null; 320 if (typeof jQuery(this).data('cntvalue') != 'undefined') 321 cntval = jQuery(this).data('cntvalue'); 322 323 if (jQuery(this).attr('type') == 'checkbox') { 324 if (jQuery(this).is(":checked")) 325 { 326 var val = jQuery(this).data('value'); 327 formData.append(key,val); 328 cntDataLayer[cntkey] = (cntval === null) ? val : cntval; 329// formData = formData + '&' + key + '=' + val; 330 } 331 } else if (jQuery(this).attr('type') == 'radio') { 332 if (jQuery(this).prop('checked')) 333 { 334 var val = jQuery(this).val(); 335 336 formData.append(key,val); 337 cntDataLayer[cntkey] = (cntval === null) ? val : cntval 338 //formData = formData + '&' + key + '=' + val; 339 } 340 } else if (jQuery(this).prop('type') == 'select-one') { 341 var val = jQuery(this).children('option:selected').prop('innerText'); 342 //formData = formData + '&' + key + '=' + val; 343 formData.append(key,val); 344 cntDataLayer[cntkey] = (cntval === null) ? val : cntval 345 } else if (jQuery(this).prop('type') == 'file') { 346 var file_list = jQuery(this).prop('files'); 347 var i = 0; 348 jQuery.each(file_list,function(i,item){ 349 formData.append(key+i,jQuery(this)[0]); 350 cntDataLayer[cntkey+i] = ((cntval === null) ? val : cntval) + jQuery(this)[0]; 351 i++; 352 }); 353 354 //formData.append(key,val); 355 //console.log(jQuery(this).prop('files')); 356 } else { 357 var val = jQuery(this).val(); 358 //formData = formData + '&' + key + '=' + val; 359 formData.append(key,val); 360 cntDataLayer[cntkey] = (cntval === null) ? val : cntval; 361 } 362 console.log(cntkey,cntval); 363 });
364 365 return formData; 366} 367 368function collectFormData(formEl) { 369 var formData = 'formId=' + formEl; 370 formData = formData + '&mobile='+(mobileAndTabletcheck()?1:0)+'&secret1='+window.CNTsecret1+'&secret2='+window.CNTsecret2+'&secret3=window.CNTsecret3'; 371 jQuery(formEl + ' .input').each(function () { 372 if (typeof jQuery(this).data('name') != 'undefined') { 373 var key = jQuery(this).data('name'); 374 } else { 375 var key = jQuery(this).attr('name'); 376 } 377 if (jQuery(this).attr('type') == 'checkbox') { 378 if (jQuery(this).is(":checked")) 379 { 380 var val = jQuery(this).val(); 381 formData = formData + '&' + key + '=' + val; 382 } 383 } else if (jQuery(this).attr('type') == 'radio') { 384 if (jQuery(this).prop('checked')) 385 { 386 var val = jQuery(this).val(); 387 formData = formData + '&' + key + '=' + val; 388 } 389 } else if (jQuery(this).prop('type') == 'select-one') { 390 var val = jQuery(this).children('option:selected').prop('innerText'); 391 formData = formData + '&' + key + '=' + val; 392 } else { 393 var val = jQuery(this).val(); 394 formData = formData + '&' + key + '=' + val; 395 } 396 }); 397 jQuery('.input.global').each(function () { 398 if (typeof jQuery(this).data('name') != 'undefined') { 399 var key = jQuery(this).data('name'); 400 } else { 401 var key = jQuery(this).attr('name'); 402 } 403 if (jQuery(this).attr('type') == 'checkbox') { 404 if (jQuery(this).is(":checked")) 405 { 406 var val = jQuery(this).val(); 407 formData = formData + '&' + key + '=' + val; 408 } 409 } else if (jQuery(this).attr('type') == 'radio') { 410 if (jQuery(this).prop('checked')) 411 { 412 var val = jQuery(this).val(); 413 formData = formData + '&' + key + '=' + val; 414 } 415 } else if (jQuery(this).prop('type') == 'select-one') { 416 var val = jQuery(this).children('option:selected').prop('innerText'); 417 formData = formData + '&' + key + '=' + val; 418 } else { 419 var val = jQuery(this).val(); 420 formData = formData + '&' + key + '=' + val; 421 } 422 }); 423 return formData; 424} 425 426function setCookie(name,value,days) { 427 var expires = ""; 428 if (days) { 429 var date = new Date(); 430 date.setTime(date.getTime() + (days*24*60*60*1000)); 431 expires = "; expires=" + date.toUTCString(); 432 } 433 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 434} 435function getCookie(name) { 436 var nameEQ = name + "="; 437 var ca = document.cookie.split(';'); 438 for(var i=0;i < ca.length;i++) { 439 var c = ca[i]; 440 while (c.charAt(0)==' ') c = c.substring(1,c.length); 441 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 442 } 443 return null; 444} 445function eraseCookie(name) { 446 document.cookie = name + '=;expires=1982-04-17T08:34:20.000Z;'; 447} 448 449jQuery(document).ready(function () { 450 451 jQuery('div.form-group input[type=text], div.form-group input[type=date], div.form-group input[type=number], div.form-group input[type=tel], div.form-group textarea').off('change').on('change', function() { 452 if (jQuery(this).val().length > 0) { 453 jQuery(this).addClass('fulfilled'); 454 jQuery('label[for='+jQuery(this).attr('id')+']').addClass('fulfilled'); 455 } 456 else { 457 jQuery(this).removeClass('fulfilled'); 458 jQuery('label[for='+jQuery(this).attr('id')+']').removeClass('fulfilled'); 459 } 460 }); 461 462 jQuery('div.form-group input[type=email]').off('change').on('change', function() { 463 if (jQuery(this).val().length > 0 && validateEmail(jQuery(this).val())) { 464 jQuery(this).addClass('fulfilled'); 465 jQuery('label[for='+jQuery(this).attr('id')+']').addClass('fulfilled'); 466 } 467 else { 468 jQuery(this).removeClass('fulfilled');
469 jQuery('label[for='+jQuery(this).attr('id')+']').removeClass('fulfilled'); 470 } 471 }); 472 473 jQuery('input[type=text], input[type=email], input[type=password], input[type=number]').off('focus').on('focus', function() { 474 jQuery(this).addClass('focused'); 475 }); 476 477 jQuery('input[type=text], input[type=email], input[type=password], input[type=number]').off('blur').on('blur', function() { 478 if (jQuery(this).val().length == 0) 479 jQuery(this).removeClass('focused').addClass('notfilled'); 480 else 481 jQuery(this).removeClass('focused').removeClass('notfilled'); 482 }); 483 484 485 jQuery('button.close-error').off('click').off('click').on('click', function() { 486 jQuery(this).parent().addClass('hidden'); 487 }); 488 489 jQuery('#id-card-result').val(jQuery('#name-result').val()); 490 jQuery('#name-result').on('change', function() { 491 jQuery('#id-card-result').val(jQuery(this).val()); 492 jQuery('input[name="profese"]').prop('checked',''); 493 jQuery('input[name="profese"][value="'+jQuery(this).children('option:selected').data('profese')+'"]').prop('checked','checked'); 494 }); 495 496 jQuery('button#send-results-form-covid').off('click').on('click', function() { 497 if (testForm('#reservations-form-covid-result') && jQuery('select')) { 498 covidSendResults(); 499 } 500 }); 501 502}); 503 504
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.