Mini Kabibi Habibi
DXTravel.Index = function(params) {
var model = {
greatTravelPackages: DXTravel.LOCAL_DATA.suggestedLocations,
recommendedTravels: DXTravel.LOCAL_DATA.suggestedLocations.slice(0, 3),
airportAutocompleteSource: DXTravel.FlightUtils.airportAutocompleteSource,
outboundDate: ko.observable(),
inboundDate: ko.observable(),
fromAirportLocation: ko.observable(""),
toAirportLocation: ko.observable(""),
fromAirport: ko.observable(""),
toAirport: ko.observable(""),
navigation: DXTravel.navigation,
searchIsCompleted: DXTravel.FlightUtils.searchIsCompleted,
viewShowing: DXTravel.viewShowing
};
model.fromNotFill = ko.observable(false);
model.departureDateNotFill = ko.observable(false);
model.toNotFill = ko.observable(false);
model.returnDateNotFill = ko.observable(false);
model.fromAirportLocation.subscribe(function (value) {
if (!model.fromAirport())
model.fromAirport(value);
});
model.toAirportLocation.subscribe(function (value) {
if (!model.toAirport())
model.toAirport(value);
});
model.fromAirportSelectCallback = function(event, ui) {
model.fromAirport(ui.item.code);
sessionStorage.setItem("fromAirportLocation", ui.item.value);
model.fromNotFill(false);
};
model.toAirportSelectCallback = function(event, ui) {
model.toAirport(ui.item.code);
sessionStorage.setItem("toAirportLocation", ui.item.value);
model.toNotFill(false);
};
model.outboundDate.subscribe(function(date) {
if(date)
model.departureDateNotFill(false);
});
model.inboundDate.subscribe(function(date) {
if(date)
model.returnDateNotFill(false);
});
model.findFlights = function() {
if(!model.fromAirport())
model.fromNotFill(true);
if(!model.outboundDate())
model.departureDateNotFill(true);
if(!model.toAirport())
model.toNotFill(true);
if(!model.inboundDate())
model.returnDateNotFill(true);
if(model.fromNotFill() || model.departureDateNotFill() || model.toNotFill() || model.returnDateNotFill())
return;
var url = "FindFlight/" + model.fromAirport().toUpperCase() +
"/" + model.toAirport().toUpperCase() +
"/" + Globalize.format(new Date(model.outboundDate()), "yyyy-MM-dd") +
"/" + Globalize.format(new Date(model.inboundDate()), "yyyy-MM-dd");
DXTravel.app.navigate(url);
};
return model;
};