//Define array with all form elements var aElements = ['country', 'province']; var aValues = new Array(); window.addEvent("domready", function() { // Nieuwsbrief form var form = $('nieuwsbrief-form'); if(form) { var validator = new FormValidator(form, { onFormValidate: function(passed) { if(!passed) { alert('Indirizzo di posta elettronica non corretto!'); } else { form.submit(); } } }); var submitButton = form.getElement('.submitbutton'); if(submitButton) { submitButton.addEvent('click', function(event) { event.preventDefault(); validator.validate(); }); } var isEmpty = new InputValidator('email', { errorMsg: 'This field is required.', test: function(field){ return ((field.get('value') == null) || (field.get('value').length == 0)); } }); } $$('.labelled').each(function(element){ new Acsi_Form_Input_Label(element); }); // Parent/Child selector for country-province new ParentChildSelect('country', 'province', { sFirstOption : 'Tutte le regioni', type : 'getProvinceByLand', iLanguageID : '5', iChildSelectedValue : $('province').get('value'), onDataserviceEnd: function() { oFilter.removeFilter('country'); oFilter.removeFilter('province'); oFilter.addFilter('country', $('country').get('value')); //Add filter oFilter.updateResult(); } }); //Initialize filter object oFilter = new Filter({ dynamicfilters : false, resultlist : false, debug: false, async: false, multipleselect: false, availablefilters: aElements, updateafterchange: false, sFormID: 'searchform', onRequestStart: function() { $('searchform').getElements("input, select").setProperty('disabled', true); }, onRequestComplete: function() { $('searchform').getElements("input, select").each(function(el) { if (el.get('tag') == 'select' && (el.options.length == 0 || el.options[0].value == '')) el.setProperty('disabled', true); else el.setProperty('disabled', false); }); } }); //Event for filter form elements $('province').addEvent('change', function() { oFilter.removeFilter('province'); oFilter.addFilter('province', this.value); //Add filter oFilter.updateResult(); }); $('search').addEvent('click', function(e) { if (oFilter.getResultCount() == 0) { e.stop(); return false; } }); $('searchform').getElements('.acco_group').addEvent('click', function() { switch(this.value) { case '1' : aAccoTypes = [1]; break; //Kampeerplaatsen case '2' : aAccoTypes = [2,3,4,6]; break; //Accommodaties default : return; } if (this.get('checked')) { oFilter.addFilter('accommodationtype', aAccoTypes); } else { oFilter.removeFilter('accommodationtype', aAccoTypes); } oFilter.updateResult(); }); // Initialize datepickers aDP = []; $$('input.DatePicker').each( function(el) { aDP[el.id] = new DatePicker(el, { format : sDateFormat, sLanguage : sLocale, bOnlyFuture : true, iMonthRange : 15, sStartDate : '2012-02-12', onDateClick : function() { if(el.id == 'arrival_date') { setDepartureDateValue(); //Set departure date week ahead } if (validateVoyageDates($('arrival_date').value, $('departure_date').value)) { oFilter.addMultipleFilters(new Hash({'arrival_date' : $('arrival_date_mysql').value, 'departure_date' : $('departure_date_mysql').value})); } oFilter.updateResult(true); } }); }); var oSlideshow = new Slideshow('slideshow', {}, { captions: true, loader: false, morphcaptions: false, controller: true, delay: 0, duration: 0, width: 639, height: 290 }); var oFreeSearchInput = $('keyword'); oFreeSearchInput.addEvents({ 'focus': function() { this.set('value', ''); } }); //Zoeken op kaart div clickable $('zoekopkaart').addEvent('click', function(e) { window.location = this.getElement('a').get('href'); }); });