Event.onDOMReady(function() { // pri vyberu zeme v selectu oznaci vsechny prislusny kraje // pri odoznaceni kraje zrusi oznaceni zeme /* nepouziva se, protoze to nefunguje v debilnim IE var items = $H({ 'filter-country-cz': 'filter-district-cz', 'filter-country-sk': 'filter-district-sk' }); var selects = $$('.district-multiselect'); //alert(selects); selects.each(function(select) { //alert('select: ' + select); items.each(function(item) { var country = select.down('.' + item.key); var districts = select.getElementsByClassName(item.value); //alert('country: ' + country); Event.observe(country, 'click', function(event) { if(country.selected) { //alert('country selected. districts: ' + districts.length); districts.each(function(district) { district.selected = true; }); } }); districts.each(function(district) { Event.observe(district, 'click', function(event) { if(! district.selected) { //alert('district deselected. country: ' + country); country.selected = false; } }); }); }); }); */ // zobrazovani formularu na pozadani var filterlink = $$('a.filter'); if(filterlink.size() > 0) { Event.observe(filterlink[0], 'click', function(event) { $('filter').toggle(); Event.stop(event); }); } var newadlink = $$('a.newad'); if(newadlink.size() > 0) { Event.observe(newadlink[0], 'click', function(event) { $('newad').toggle(); Event.stop(event); }); } }); /* * funkce pro praci s formularem bazaru */ var bazaar_errors = { 'errors': 'Vo formulári sú následujúce chyby, prosím, opravte ich:', 'missing-subject': 'Nie je uvedený Predmet inzerátu', 'missing-name': 'Nie je vyplnené meno', 'missing-surname': 'Nie je vyplnené priezvisko', 'missing-district': 'Nie je zvolený kraj', 'missing-advert': 'Nie je uvedený text inzerátu', 'missing-reply': 'Nie je uvedený text odpovedi', 'missing-tel-email': 'Nie je vyplněný telefon ani e-mail, prosím udajte alespoň jeden z nich', 'missing-type': 'Nie je vybraný typ inzerátu, vyberte Ponuka alebo Požiadavka', 'missing-auth': 'Nie je vyplnený autorizačný kód, prosím prepište číslo z obrázku', 'invalid-email': 'Neplatná e-mailová adresa, použijte formát meno@domena.sk', 'invalid-tel': 'Neplatné telefonné číslo, použijte formát +XXX XXX XXX XXX' }; /* * kontrola zakladnich povinnych prvku formulare */ function checkBazaarForm(status,anonymous) { var ok = true; var error = ""; // povinna pole if(status == 'new' && ! $('bazaar-type-supply').checked && ! $('bazaar-type-demand').checked) { ok = false; error += '\n' + bazaar_errors['missing-type']; } if(status == 'new') { var reqs = ['subject', 'name', 'surname', 'advert', 'district']; } else { var reqs = ['name', 'surname', 'reply']; } if(anonymous) { reqs.push("auth"); } for(i = 0; i < reqs.length; i++) { var req = reqs[i]; var value = $F('bazaar-' + req).trim(); if(value == '') { ok = false; error += '\n' + bazaar_errors['missing-' + req]; } } // telefon nebo email if($F('bazaar-tel').trim() == '' && $F('bazaar-email').trim() == '') { ok = false; error += '\n' + bazaar_errors['missing-tel-email']; } // kontrola telefonu // var tel = $F('bazaar-tel').trim(); // if(tel != "" && ! checkTel(tel)) { // ok = false; // error += '\n' + bazaar_errors['invalid-tel']; // } // kontrola e-mailu var email = $F('bazaar-email').trim(); if(email != '' && ! checkEmail(email)) { ok = false; error += '\n' + bazaar_errors['invalid-email']; } if(! ok) { alert(bazaar_errors['errors'] + error); return false; } return true; } /* * prepnuti z vkladaciho formulare na odpoved */ function bazaarReply(id) { var obj = $('bazaar_item_' + id); var author = obj.down('.author').innerHTML; var tel = obj.down('.tel').innerHTML; var email = obj.down('.email').innerHTML; var text = obj.down('.text').innerHTML; var type = obj.down('.type').innerHTML; var date = obj.down('.inserted').innerHTML; $('bazaar-reply-author').innerHTML = author; $('bazaar-reply-date').innerHTML = date; $('bazaar-reply-type').innerHTML = type; $('bazaar-reply-text').innerHTML = text; $('bazaar-reply-id').value = id; $('bazaar-new-form').hide(); $('bazaar-reply-form').show(); } /* * prepnuti z odpovedi na novy inzerat */ function bazaarNew() { $('bazaar-new-form').show(); $('bazaar-reply-form').hide(); } /* * prepinani typu inzeratu ve filtru */ function bazaarFilterTypeSwitch(cb) { if($(cb).checked) return; $('bazaar-filter-type-supply').checked = true; $('bazaar-filter-type-demand').checked = true; $(cb).checked = false; }