

try {
	$(document).ready(function() {
		
		// Chrome autosubmit fix
		$("#avia_search").submit(function(evt){return false});

		function getFlightFormInputs(obj, formId) {
			var $searchMode = $('input[name=FlightSearchForm.routeType]:checked');
			
			var $form = $('.' + formId);
			
			$('input, textarea, select', $form).each(function(i, el) {
				
		        switch (this.type) {
		        case "radio":
		        		if (this.checked)
		        			obj[el.name] = $(el).val();
		        	break;
		        case "checkbox":
		        	if (this.checked)
		    			obj[el.name] = $(el).val();
		        	break;
		        default:
	    			if (!$(this).parents('tr').hasClass('multi_dest')) {
	    				obj[el.name] = $(el).val();
	    			}
		        	break;
		        }
				
			});
			return obj;
		}
				
		/**
		 * search form validation 
		 */
		
		$('.search_btn').click(function() {
			var redirectParam = $('input[name=partner_code]');
			var partner_code = '';
			if (redirectParam.length > 0 && redirectParam.val() != '' && redirectParam.val() != 'null') {
				partner_code = '?partner_code=' + redirectParam.val();
			}
			$('.indLocationError').hide();			
			var obj = {};
			obj['cmd'] = 'validate_avia_form';
			obj['do_search'] = true;
			$.post("/booking/system/modules/com.gridnine.opencms.modules.myreis/pages/ajax_provider_avia.jsp",
					getFlightFormInputs(obj, 'form')
				,
				function(data){
					var $errors_area = "";
					if (data.status == 'success') {
						if (data.action == 'search') {
							location.href = '/booking/ru/avia/step2.html' + partner_code;							
							return false;
						} else if (data.action == 'show_errors') {
							$errors_area += 'Ошибки:' + '\n';
							var errors = data.errors;
							var error_cnt = 1;
							for (var error in errors) {
								$errors_area += error_cnt +') ' + errors[error] + '\n';
								error_cnt++;
							}
							alert($errors_area);
						} else if (data.action == 'indicate_location') {
							var input = null;
							var value = '';
							if (data.field == 'arrival') {
								input = $('input[name=FlightSearchForm.arrivalLocation.0]');
							} else if (data.field == 'departure') {
								input = $('input[name=FlightSearchForm.departureLocation.0]');
							}
							var error_message = '';
							for (var error in data.errors) {
								error_message += data.errors[error];
							}
							$('.indLocationError strong.message').empty();
							$('.indLocationError strong.message').append(error_message);
							$('.indLocationError').show();
							
							input.attr('indicate_location', true);
							input.change();
							input.attr('indicate_location', false);
						} else {
							alert('Wrong action:' + data.action);
						}
					} else {
						alert('Wrong command!');
					}
				}, "json");
			return false;
		});
		
		/**
		 * EOF search form validation 
		 */
		
	});
} catch (e) {
	// TODO: handle exception
	alert(e);
}
