private void searchFlights() {
		if (checkBoxRoundTrip.getChecked() && dateFieldReturn.getDate() < dateFieldDeparture.getDate()) {
			Dialog.alert("Return date should be greater or equals to departure date");
			return;
		}
		if (searchParameters.getFromAirportId() == null || searchParameters.getToAirportId() == null) {
			Dialog.alert("Select From and To");
			return;
		}

		searchParameters.setDepartureDate(dateFieldDeparture.getDate());
		if (checkBoxRoundTrip.getChecked()) {
			searchParameters.setReturnDate(dateFieldReturn.getDate());
		}

		// create process object to handle response
		ProcessSearchFlights processSearchFlights = new ProcessSearchFlights(searchParameters) {

			public void onComplete() {
				UiApplication.getUiApplication().invokeLater(new Runnable() {
					public void run() {
						if(getErrorCode() != null) {
							Dialog.alert("Error: " + errorCode);
							return;
						}
						UiApplication.getUiApplication().pushScreen(new FlightSearchResultsScreen(getResult()));
					}
				});
			}

			public String getLoadingMessage() {
				return "Searching ... Please wait.";
			}
		};

		// call search flight ws
		TravelSDK.INSTANCE.searchFlights(processSearchFlights);
	}