document.observe('dom:loaded', function() {
	getSearchForm();
});

function getSearchForm(event) {
	urlExtended = '';
	if (undefined != event) {
		elem = event.element();
		if ('field_13' == elem.identify()) {
			urlExtended = '/forceMonth/1'; 
		}

		// pilotage de la carte flash
		/*if ('field_22' == elem.identify() && '' != elem.value) {
			changerCarte(elem.value);
		}*/
		
		// pilotage gmap
		/*if ('field_23' == elem.identify() && '' != elem.value) {
			loadGmapFor(elem.value);
		}*/

	}

	formValues = null;
	if (null != $('ajaxSearchForm')) {
		formValues = $('ajaxSearchForm').serialize(true);
	}

	new Ajax.Request(
		_fxcv4_url_root + '/direct/b2f/get-search-form/format/html/site_id/' + _fxcv4_site_id + urlExtended,
		{
			method: 'get',
			parameters: formValues,
			onCreate: function() {
				if ((undefined != event) && (null != $('searchResults'))) {
					createListingWait();
				}
				
				if (null != $('ajaxSearchForm')) {
					$('ajaxSearchForm').disable();
				} else {
					waitImg = new Element('img', {
						'src': _fxcv4_url_root + '/' + _fxcv4_images_folder + '/summer/b2f/search_wait.gif',
						'alt': '',
						'class': 'wait'});
					$('ajax-search-container').insert({ top: waitImg });
				}
			},
			onSuccess: function(transport) {
				$('ajax-search-container').update(transport.responseText);

				if (null != $('ajaxSearchForm')) {
					formElems = $('ajaxSearchForm').getElements();
					
					if (0 < formElems.length) {
						formElems.each(function(formElem) {
							eventType = 'click';
							if ('select' == formElem.tagName.toLowerCase()) {
								eventType = 'change';
							}
							formElem.observe(eventType, observeAjaxSearchForm);
						});
					}
				}

				if ((undefined != event) && Object.isFunction(getResults)) {
					getResults(true);
				}
			},
			onFailure: function() {
				alert('An error has occured, the request failed.');
			},
			onComplete: function() {
				if ((undefined != event) && (undefined != _fxcv4_b2f_listing)) {
					window.location = _fxcv4_b2f_listing;
				}
			}
		}
	);
}

function observeAjaxSearchForm(event) {
	event.stop();
	getSearchForm(event);
}
