Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXTREME 13.1 Demos/DXTravel/DXTravel.Tablet/views/
Upload File :
Current File : C:/Users/Public/Documents/DXTREME 13.1 Demos/DXTravel/DXTravel.Tablet/views/Attraction.js

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;
};