/* */ /** * Odešle formulář s hodnotami filtrovacích kriterií první fáze rezervace * Volitelně před odesláním změní datum */ function aktualizujMoznosti(datum) { // ---------------------------------------------------------------------------- /* * Před odesláním změň datum */ if (typeof datum != 'undefined') { document.formular.datum.value = datum; } document.formular.submit(); } /** * Vymaže hodnotu zadaného atributu a odešle formulář s hodnotami filtrovacích kriterií první fáze rezervace */ function vymazHodnotu(atribut) { // ---------------------------------------------------------------------------- /* * Před odesláním změň datum */ if (typeof atribut != 'undefined') { element = document.getElementById(atribut); element.value = ''; } document.formular.submit(); } function getSelectedRadio(nazevSkupiny) { // ---------------------------------------------------------------------------- skupina = document.getElementsByName(nazevSkupiny); if (skupina[0]) { for (var i=0; i < skupina.length; i++) { if (skupina[i].checked) { return skupina[i]; } } } else { if (skupina.checked) { return skupina; } } return -1; } /** * Odešle formulář první fáze rezervace a pokročí tak do druhé fáze */ function rezervaceFazeDetaily(salonId, cas) { // ---------------------------------------------------------------------------- /* * Pokud salón není zvolen, zvol ho v combo boxu * Pokud selectbox elementSalon neexistuje, je již zvolen a uložen v hidden proměnné */ elementSalon = document.getElementById('salon'); if (elementSalon) { for (i = 0; i < elementSalon.options.length; i++) { if (elementSalon.options[i].value == salonId) elementSalon.selectedIndex = i; } } elementCas = document.getElementById('cas'); elementCas.value = cas; document.formular.akce.value = 'ulozit'; document.formular.submit(); } function prepniViditelnost(radioButton) { // ---------------------------------------------------------------------------- if (radioButton == -1) return; elements = new Array('online', 'voucher', 'hotovost'); for (i = 0; i < elements.length; i++) { element = document.getElementById('formular_' + elements[i]); if (elements[i] == radioButton.value) element.style.display = ''; else element.style.display = 'none'; } } var emptyFieldFound; var emptyCheckboxFound; /** * Highlights obligatory fields that have been left empty * Uses array that is defined in the parent page (index.php) */ function testEmptyFields() { // ---------------------------------------------------------------------------- emptyFieldFound = false; emptyCheckboxFound = false; with (document.formular) { for (var i = 0; i < elements.length; i++) { testOneEmptyField(elements[i], povinneZaklad); elementZpusobPlatby = document.getElementById('zpusobPlatbyPayMuzo'); // if not found then elementZpusobPlatby === null, not undefined if (elementZpusobPlatby && elementZpusobPlatby.checked) testOneEmptyField(elements[i], povinneFaktura); elementZpusobPlatby = document.getElementById('zpusobPlatbyVoucher'); if (elementZpusobPlatby && elementZpusobPlatby.checked) testOneEmptyField(elements[i], povinneVoucher); } } if (emptyFieldFound) { alert('Fill in all highlighted columns.'); return false; } if (emptyCheckboxFound) { alert('To continue, you have to agree with our business conditions.'); return false; } return testujSpravneHodnoty(); } function testOneEmptyField(element, obligatoryFields) { // ---------------------------------------------------------------------------- for (field in obligatoryFields) { /* * if the element is disabled it means we`ll get its value from elsewhere */ if ( (element.name == field) && (element.disabled == false) ) { markField(false, element); switch (obligatoryFields[field]) { case "radio": /* too awkward to check and mark unselected radio buttons sets */ break; case "checkbox": if (element.checked == false) { emptyCheckboxFound = true; return false; } break; case "select": if (element.selectedIndex == -1) { markField(true, element, false); return false; } break; case "textarea": case "text": if (element.value == '') { markField(true, element, false); return false; } break; } } } } /** * Optional setBackground is for checkboxes that don`t have border */ function markField(state, element, setBackground) { // ---------------------------------------------------------------------------- if (state) { element.style.borderWidth = "3"; /* pixels are understood */ emptyFieldFound = true; } else { element.style.borderWidth = "1"; } } function testujSpravneHodnoty() { // ---------------------------------------------------------------------------- var email = document.formular.email.value; if (typeof email != 'undefined') { var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!filter.test(email)) { alert('Please control / revise your email address.'); return false; } } var telefon = document.formular.telefon.value; if (typeof telefon != 'undefined') { var filter = /^([0-9 \+])+$/; if (!filter.test(telefon)) { alert('Please control / revise your phone number.'); return false; } } return true; } /** * Zkopíruje adresu místa masáže do fakturační adresy */ function kopirujAdresu() { // ---------------------------------------------------------------------------- mistoUlice = document.getElementById('mistoUlice'); mistoMesto = document.getElementById('mistoMesto'); mistoPSC = document.getElementById('mistoPSC'); fakturaUlice = document.getElementById('fakturaUlice'); fakturaMesto = document.getElementById('fakturaMesto'); fakturaPSC = document.getElementById('fakturaPSC'); fakturaUlice.value = mistoUlice.value; fakturaMesto.value = mistoMesto.value; fakturaPSC.value = mistoPSC.value; } /** * Zkopíruje adresu partnerské lokality do adresy místa masáže */ function kopirujPartnera(selectPartner) { // ---------------------------------------------------------------------------- partner = selectPartner.options[ selectPartner.selectedIndex ].value; if (partner > 0) { mistoUlice = document.getElementById('mistoUlice'); mistoMesto = document.getElementById('mistoMesto'); mistoPSC = document.getElementById('mistoPSC'); mistoUlice.value = partneriAdresy[partner].ulice; mistoMesto.value = partneriAdresy[partner].mesto; mistoPSC.value = partneriAdresy[partner].psc; } } /** * Skryje tlačítka pro pohyb v rezervaci/objednávce a zobrazí místo nich hlášku "čekejte" */ function deaktivujTlacitka() { // ---------------------------------------------------------------------------- tlacitka = document.getElementById('overeniTlacitka'); hlaska = document.getElementById('overeniCekejte'); tlacitka.style.display = 'none'; hlaska.style.display = ''; }