var listzip_element=''; function validateNumber(e) { var key = e.which || e.keyCode; // backspace, delete, enter var allowKeys = [8, 13]; if ( (allowKeys.indexOf(key) !== -1) || // Ctrl/cmd+A ((key == 65 || key == 97) && (e.ctrlKey === true || e.metaKey === true)) || // Ctrl/cmd+C ((key == 67 || key == 99) && (e.ctrlKey === true || e.metaKey === true)) || //Ctrl/cmd+X ((key == 88 || key == 120) && (e.ctrlKey === true || e.metaKey === true)) || // sipka vlavo vpravo (e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46) ) { return; } key = String.fromCharCode(key); var regex = /[0-9]/; if(!regex.test(key) ) { e.returnValue = false; if(e.preventDefault) { e.preventDefault(); } } } function show_hide_model(){ var ename = 'formparam_car_model_select'; var e = MM_findObj(ename); if(e){ var current=e.options[e.selectedIndex].text; var show=(current.indexOf('STATNÍ')>0)?true:false; showHide_not_disable('car_model',show); }else{ alert('Element ['+ename+'] not found!'); } } function show_hide_mark(){ var ename = 'formparam_car_mark_select'; var e = MM_findObj(ename); if(e){ var current=e.options[e.selectedIndex].text; var show=(current.indexOf('STATNÍ')>0)?true:false; showHide_not_disable('car_mark',show); }else{ alert('Element ['+ename+'] not found!'); } } function ajax_loader_show(nextto){ var e = MM_findObj(nextto); if(!e){ alert('Element ['+name+'] not found.'); return; } var loader = MM_findObj('ajax-loader'); if (!loader) { loader = document.createElement("img"); loader.setAttribute("id", "ajax-loader"); loader.src = '/public/images/ajax-loader.gif'; loader.style.marginBottom = '2px'; loader.style.verticalAlign = 'bottom'; e.parentNode.insertBefore(loader, e.nextSibling); } if(loader){ loader.style.display = "inline"; } } function ajax_loader_hide(){ var loader = MM_findObj('ajax-loader'); if(loader){ loader.style.display = "none"; } } function reload_partner_code(partner_code, product){ /* schovaj svaz & kraj */ showhidecstv("", product); if(partner_code=="sport") { showhidecstv(partner_code,product); /* Svaz */ var element = "formparam_svaz"; listpartner_code_element = element; ajax_loader_show(element); var url = "/service.php?service=mtpl_code_cstv&partner_code="+escape(partner_code)+"&choice=svaz"; if(typeof(http) == 'object') { http.open("GET", url, true); http.onreadystatechange = reload_svaz_codes; http.send(null); reload_partner_code_kraj(partner_code); }else{ alert('POZOR - zlyhala inicializace spojení k serveru. \nStlačte F5 (nebo CTRL+R) pro znovunačítaní stránky a zkuste znovu.\n\nUbezpečte se, že máte zapnutou podporu pro javascripty\na používate standardní prohlížeč.\n(doporučujeme Firefox 1.5+, Internet Explorer 6+ nebo Opera 8+)'); } } } function reload_partner_code_kraj(partner_code) { /* Kraj */ partner_code='sport'; var element = "formparam_kraj"; listpartner_code_element2 = element; ajax_loader_show(element); var url = "/service.php?service=mtpl_code_cstv&partner_code="+escape(partner_code)+"&choice=kraj"; if(typeof(http2) == 'object') { http2.open("GET", url, true); http2.onreadystatechange = reload_kraj_codes; http2.send(null); }else{ alert('POZOR - zlyhala inicializace spojení k serveru. \nStlačte F5 (nebo CTRL+R) pro znovunačítaní stránky a zkuste znovu.\n\nUbezpečte se, že máte zapnutou podporu pro javascripty\na používate standardní prohlížeč.\n(doporučujeme Firefox 1.5+, Internet Explorer 6+ nebo Opera 8+)'); } } function reload_svaz_codes(){ if (http.readyState == 4) { // Complete if (http.status == 200) { // OK response var results = http.responseText; if(results.lastIndexOf(':|:|:')>0){ var part = results.split(':|:|:'); var result = part[0]; var partner_code = part[1]; var label = part[2]; var list = part[3]; var e = MM_findObj(listpartner_code_element); if(e){ if(result == 'success'){ e.options.length = 0; var tmp = new Array(); if(list.indexOf('|')>0){ e[0]=new Option("Prosím, vyberte.","[none]",true,true); var items = new Array(); items = list.split('|'); for(var i=0;i0){ tmp = list.split('+'); e[0]=new Option(tmp[0],tmp[1],true,true); }else{ alert('Pozor - server vrátil neplatnú odpoveď pre partner_code ['+$partner_code+']'); } }else if(result == 'failed'){ e.options.length = 0; e[0]=new Option("Prosím, vyberte.","[none]",true,true); alert('POZOR - neplatný partner_code ['+$partner_code+']\nZadejte prosím platný $partner_code.'); }else{ alert('POZOR - server vrátil neplatnú odpoveď.'); } }else{ alert('POZOR - element ['+listpartner_code_element+'] nebyl nalezen!'); } }else{ alert('Pozor - pri vykonávaní príkazu nastala chyba.\nServer vrátil neplatnú odpoveď.'); } ajax_loader_hide(); }else{ alert("Problem: " + http.statusText); } } } function reload_kraj_codes(){ if (http2.readyState == 4) { // Complete if (http2.status == 200) { // OK response var results = http2.responseText; if(results.lastIndexOf(':|:|:')>0){ var part = results.split(':|:|:'); var result = part[0]; var partner_code = part[1]; var label = part[2]; var list = part[3]; var e = MM_findObj(listpartner_code_element2); if(e){ if(result == 'success'){ e.options.length = 0; var tmp = new Array(); if(list.indexOf('|')>0){ e[0]=new Option("Prosím, vyberte.","[none]",true,true); var items = new Array(); items = list.split('|'); for(var i=0;i0){ tmp = list.split('+'); e[0]=new Option(tmp[0],tmp[1],true,true); }else{ alert('Pozor - server vrátil neplatnú odpoveď pre partner_code ['+$partner_code+']'); } }else if(result == 'failed'){ e.options.length = 0; e[0]=new Option("Prosím, vyberte.","[none]",true,true); alert('POZOR - neplatný partner_code ['+$partner_code+']\nZadejte prosím platný $partner_code.'); }else{ alert('POZOR - server vrátil neplatnú odpoveď.'); } }else{ alert('POZOR - element ['+listpartner_code_element+'] nebyl nalezen!'); } }else{ alert('Pozor - pri vykonávaní príkazu nastala chyba.\nServer vrátil neplatnú odpoveď.'); } ajax_loader_hide(); }else{ alert("Problem: " + http2.statusText); } } } function reload_zip(zip,element){ if(zip.length==5 && zip>0){ listzip_element = element; ajax_loader_show(element); var url = "/service.php?service=mtpl_zip_code&zip="+escape(zip); if(typeof(http) == 'object'){ http.open("GET", url, true); http.onreadystatechange = reload_zip_codes; http.send(null); }else{ alert('POZOR - zlyhala inicializace spojení k serveru. \nStlačte F5 (nebo CTRL+R) pro znovunačítaní stránky a zkuste znovu.\n\nUbezpečte se, že máte zapnutou podporu pro javascripty\na používate standardní prohlížeč.\n(doporučujeme Firefox 1.5+, Internet Explorer 6+ nebo Opera 8+)'); } } else if (zip.length != 0) { alert('Neplatný kód okresu ['+zip+']!'); } } /** * Zip loader, use for load options from csv * example use -> Zip.reload('zip_element', 'zip_options_element'); * */ var Zip = { name: '', // name of zip element optionsElementName: null, optionsElementVal: null, zipVal: null, // eg 14200 useLoader: false, // use ajax loader before request reload: function(zipElement, optionsElementName) { this.optionsElementName = optionsElementName; this.name = zipElement.id.replace('formparam_', '').replace('_id', ''); this.zipVal = zipElement.value; this.useLoader = false; this.optionsElementVal = $('#' + optionsElementName).val(); if (this.zipVal.length == 5 && this.zipVal > 0) { if (this.useLoader) { ajax_loader_show(optionsElementName); } $.ajax({ url: "/service.php", data: { "service": "mtpl_zip_code", zip: escape(this.zipVal) }, cache: false, success: function(response) { Zip.reloadOptions(response); }, error: function() { alert('neocakavana chyba'); }, complete: function() { if (this.useLoader) { ajax_loader_hide(); } } }); } else if (this.zipVal.length != 0) { Zip.setError(this.name, 'Neplatné PSČ.'); Zip.clearOptions(); } }, reloadOptions: function(response) { if (response.lastIndexOf(':|:|:') > 0) { var part = response.split(':|:|:'); var result = part[0]; var zip = part[1]; var label = part[2]; var list = part[3]; var e = MM_findObj(this.optionsElementName); if (e) { if (result == 'success') { e.options.length = 0; var tmp = new Array(); if (list.indexOf('|') > 0) { e[0] = new Option("Prosím, vyberte.", "[none]", true, true); var items = new Array(); items = list.split('|'); for (var i = 0; i < items.length; ++i) { tmp = items[i].split('+'); e[i + 1] = new Option(tmp[0], tmp[1], false, false); if (tmp[1] == this.optionsElementVal) { e.value = this.optionsElementVal; } Zip.removeError(this.name); } } else if (list.indexOf('+') > 0) { tmp = list.split('+'); e[0] = new Option(tmp[0], tmp[1], true, true); Zip.removeError(this.name); } else { alert('Pozor - server vrátil neplatnú odpoveď pre PSČ [' + zip + ']'); } } else if (result == 'failed') { e.options.length = 0; e[0] = new Option("Prosím, vyberte.", "[none]", true, true); Zip.setError(this.name, 'PSČ nenalezeno. Můžete nás kontaktovat 222 100 200.'); } else { alert('POZOR - server vrátil neplatnú odpoveď.'); } } else { alert('POZOR - element [' + this.optionsElementName + '] nebyl nalezen!'); } } else { alert('Pozor - pri vykonávaní príkazu nastala chyba.\nServer vrátil neplatnú odpoveď.'); } }, clearOptions: function() { var e = MM_findObj(this.optionsElementName); e.options.length = 0; e[0] = new Option("Prosím, vyberte.", "[none]", true, true); }, setError: function(field, msg) { elem = $('#' + field); if (elem.hasClass('has-error')) { Zip.removeError(field); } elem.addClass('has-error'); $('#' + field + ' div').first().append('' + msg + ''); }, removeError: function(field) { elem = $('#' + field); elem.removeClass('has-error'); elem.find('.help-block').remove(); } }; function reload_zip_codes(){ if (http.readyState == 4) { // Complete if (http.status == 200) { // OK response results = http.responseText; if(results.lastIndexOf(':|:|:')>0){ var part = results.split(':|:|:'); var result = part[0]; var zip = part[1]; var label = part[2]; var list = part[3]; var e = MM_findObj(listzip_element); if(e){ if(result == 'success'){ e.options.length = 0; var tmp = new Array(); if(list.indexOf('|')>0){ e[0]=new Option("Prosím, vyberte.","[none]",true,true); var items = new Array(); items = list.split('|'); for(var i=0;i0){ tmp = list.split('+'); e[0]=new Option(tmp[0],tmp[1],true,true); }else{ alert('Pozor - server vrátil neplatnú odpoveď pre PSČ ['+zip+']'); } }else if(result == 'failed'){ e.options.length = 0; e[0]=new Option("Prosím, vyberte.","[none]",true,true); alert('POZOR - neplatné PSČ ['+zip+']\nZadejte prosím platné PSČ.'); }else{ alert('POZOR - server vrátil neplatnú odpoveď.'); } }else{ alert('POZOR - element ['+listzip_element+'] nebyl nalezen!'); } }else{ alert('Pozor - pri vykonávaní príkazu nastala chyba.\nServer vrátil neplatnú odpoveď.'); } ajax_loader_hide(); }else{ alert("Problem: " + http.statusText); } } } function getHTTPObject(){ var xmlHttp; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch (e) { // IE try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ alert("POZOR!\nVáš prohlížeč nepodporuje javascript AJAX!\nUbezpečte se, že máte zapnutou podporu pro javascript.\nDoporučujeme používat standardní prohlížeč, např. Firefox 1.5+, Internet Explorer 6+ nebo Opera 8+."); return false; } } } return xmlHttp; } // Initiate global HTTP Object var http = getHTTPObject(); var http2 = getHTTPObject(); function MM_findObj(n, d) { var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0 && parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p); } if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i0)&&(!flerror)) { if (RegExp!=false) { if (!value.match(new RegExp(pattern))) { if (validators[i].alertmsg != '') { msg = msg + '- Prosím, vyplňte správně polo\u017Eku ' + nevelo(validators[i].alertmsg,false) + validators[i].alertmsg+ ' \n'; } else { msg = msg + '- Prosím, vyplňte správně polo\u017Eku ' + nevelo(title,false) + title+ ' \n'; } error = true; } } } break; case "checkbox": value = eval(name+'.checked'); if (!value) { if (validators[i].alertmsg != '') { msg = msg + '- ' + validators[i].alertmsg + '\n'; } else { msg = msg + '- Prosím, označte ' + nevelo(title,false) + title+ ' \n'; } error = true; } break; case "date": flerror=false; year = parseInt(eval(name+'_year.value')+' a',10); month = parseInt(eval(name+'_month.value')+' a',10); day = parseInt(eval(name+'_day.value')+' a',10); if (!year.isNaN && !month.isNaN && !day.isNaN) { if ((year>=1902)&&(year<=2035)&&(month>=1)&&(month<=12)&&(day>=1)&&(day<=31)) { //OK! } else { flerror = true; } } else { flerror = true; } if (flerror) { msg = msg + '- Prosím, vyplňte správně polo\u017Eku ' + nevelo(title,false) + title+ ' ! (dd.mm.rrrr)\n'; error = true; } break; case "datetime": //Soon break; case "checklist": //Soon break; case "radiolist": // todo break; case "accountnumber": f1 = eval(name+'_1.value'); f2 = eval(name+'_2.value'); f3 = eval(name+'_3.value'); if ((f1.length==8) && (f2.length==8) && ((f3.length==0) || (f3.length==8))) { } else { flerror=true; } if (flerror) { msg = msg + '- Prosím, vyplňte správně polo\u017Eku ' + nevelo(title,false) + title+ ' ! (16 ill. 24 számjegy)\n'; error = true; } break; } } } if (error) { if(showMsg){ alert(msg); } return(false); } else { return(true); } } function formdisable() { for (i=0;i"); return true; } } function showhidecstv(a, product){ if(product == "pov" || product == "travel") { var oTest = MM_findObj('formparam_partner_code'); } if(product == "casco"){ var oTest = MM_findObj('formparam_casco_partner_code'); } var show = false; if (a == "") { show = false; }else if ( oTest.value == a ){ show = true; } showHide('svaz',show); showHide('kraj',show); } function showhidestorno(){ var oTest = MM_findObj('formparam_data_storno'); var show = false ; if ( oTest.checked ){ show = true ; } showHide('data_storno_amount',show); var oTest = MM_findObj('formparam_data_storno'); var show = false ; if ( oTest.checked ){ show = true ; } showHide('data_storno_date',show); } function showhidebabyincar(){ var oTest = MM_findObj('formparam_id_baby_in_car'); if(oTest){ showHide('youngest_babys_age', oTest.checked); } } function validateCarPower(){ value = $("#formparam_car_power1").val(); value = value.replace(',', '.'); if (!isNaN(value) && value.toString().indexOf('.') != -1) { $("#formparam_car_power1").val(Math.ceil(value)); } } // MONDIAL EXTRA VARS var names = { 1: "mini", 2: "plus", 3: "maxi", 4: "business", length: 4 }; var golfVisible = { 1: false, 2: true, 3: true, 4: false }; function showhidegolf(formName){ if(names[formName] === undefined) { alert("Chybne parametre!"); return; } hideInfo(); if(!golfVisible[formName]) { MM_findObj('formparam_id_extra_mondial_golf').checked = false; } else { showHide('extra_mondial_golf', true); showHide('extra_mondial_info3', true); showHide('extra_mondial_sep1', true); showHide('extra_mondial_golf_' + names[formName], true); } } function checkIsChecked() { hideInfo(); for(i = 1; i <= names.length; i++) { checkBox = MM_findObj("formparam_id_extra_mondial_cover_" + i); val = checkBox.value; if(checkBox === null) continue; if(checkBox.checked) { showHide('extra_mondial_golf', golfVisible[val]); showHide('extra_mondial_info3', golfVisible[val]); showHide('extra_mondial_sep1', golfVisible[val]); showHide('extra_mondial_golf_' + names[val], true); return; } else { showHide('extra_mondial_golf_' + names[val], false); } } } function hideInfo() { showHide('extra_mondial_golf', false); showHide('extra_mondial_info3', false); showHide('extra_mondial_sep1', false); for(i = 1; i <= names.length; i++) { showHide('extra_mondial_golf_' + names[i], false); } } function normalize(term) { var accentMap = { "á" : "a", "Á" : "A", "ä" : "a", "Ä" : "A", "č" : "c", "Č" : "C", "é" : "e", "É" : "E", "ë" : "e", "Ë" : "E", "ě" : "e", "Ě" : "E", "í" : "i", "Í" : "I", "ĺ" : "l", "Ĺ" : "L", "ó" : "o", "Ó" : "O", "Ö" : "O", "ö" : "o", "ŕ" : "r", "Ŕ" : "R", "ř" : "r", "Ř" : "R", "š" : "s", "Š" : "S", "ť" : "t", "Ť" : "T", "ú" : "u", "Ú" : "U", "ü" : "u", "Ü" : "U", "ý" : "y", "Ý" : "Y", "ž" : "z", "Ž" : "Z", }; var ret = ""; for (var i = 0; i < term.length; i++) { ret += accentMap[term.charAt(i)] || term.charAt(i); } return ret; } var requestRunning = false; var ostatni = false; function load_vehicle_model(id, product) { var ostatni = false; select = (product == 'pov') ? 'formparam_car_model_select' : 'formparam_casco_auto_model'; $("#" + select).trigger('reset'); if (requestRunning) { return; } removeOstatni = false; if ((product == 'pov' && isHAV) || product == 'hav') { removeOstatni = true; } $.ajax({ url: "/service.php", data: { "service" : "load_vehicle_model", "id" : id, "product" : product, "removeOstatni" : removeOstatni, }, cache: false, complete: function() { requestRunning = false; if (product == 'pov') { if (ostatni) { $("#combobox_car_model_select").val("OSTATNÍ"); ostatni = false; } showHideBrand(); showHideModel(); } }, success: function(response) { var obj = jQuery.parseJSON(response); if (obj.status == "success") { var models = $("#" + select); models.trigger('reset'); models.empty(); for (var i = 0; i < obj.options.length; i++) { $.each(obj.options[i], function(index, model){ models.append(""); if (model == 'OSTATNÍ' && obj.options.length == 1) { ostatni = true; } }); } if (!ostatni) { models.append(''); } } else { alert('CHYBA VE SPOJENÍ!\nZkuste prosím znovu.'); } }, error: function(){ alert('CHYBA VE SPOJENÍ!\nZkuste prosím znovu.'); } }); };