Mini Kabibi Habibi
DXTravel.Attraction = function(params) {
var trip = ko.observable();
var currentTraveler = ko.observable();
var formatDate = function (date) {
return new Date(date.replace(/-/g, "/"));
};
DXTravel.tripModelById(params.tripId, function(result) {
result.selectedSection = "schedule";
trip(result);
var user = $.grep(trip().tripTravelers(), function(traveler, index) {
return traveler.owner == true;
});
currentTraveler(user[0]);
});
var attraction = DXTravel.LOCAL_DATA.attractions.new_york[params.id];
attraction.id = Number(params.id) + 1;
var model = {
attraction: attraction,
trip: trip,
backAction: trip().attractionsAction,
backText: "Attractions",
dateWhen: ko.observable(),
dateTime: ko.observable(Globalize.format(new Date, "h:mm tt")),
hasDateWhen: ko.observable(true),
hasDateTime: ko.observable(true)
};
model.dateWhen.subscribe(function(value) {
model.hasDateWhen(true);
});
model.dateTime.subscribe(function() {
model.hasDateTime(true);
});
model.sendToGroup = function() {
if(!model.dateWhen())
model.hasDateWhen(false);
if(!model.dateTime())
model.hasDateTime(false);
if(!model.dateWhen() || !model.dateTime())
return;
var dateString = String(model.dateWhen() + " " + model.dateTime());
DXTravel.db.appointments.insert({
trip_id: trip().id,
name: attraction.name,
address: attraction.address,
date: new Date(formatDate(dateString)),
user: currentTraveler().user,
pending: false,
imageUrl: attraction.smallImageUrl
});
var scheduleUri = DXTravel.app.router.format(trip().scheduleAction);
DXTravel.app.navigate(scheduleUri);
};
return model;
};