

















/*
*  Various error and warning pop ups controlled here.
*/

(function($) {
$.ti.messages = {

    settings: {
       width: '400px',
       callback: false
    },

    // ** Already Exists ** //
    // warning for when trying to add an already existing activity to the bag
    alreadyExists: function() {
        var html = $(['<div id="swapableContent" class="warning">',
                    '<h2>Dupliquer l&#39;élément</h2>',
                    '<p>Cet élément existe déjà dans le projet de voyage</p>',
                '</div>'
                ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.popup.init($.ti.messages.settings);
    },

    // shown wehn the trip has been shared successfully...
    tripShared: function(emailAddr) {
        var html = $(["<div id='swapableContent'>",
                      '<h2>Your trip has been shared</h2>',
                      '<p>' + emailAddr + 'Vous avez partagé votre projet avec vos amis</p>',
                      "</div>"
                     ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.popup.init($.ti.messages.settings);
    },


    // Trip saved
    tripSaved: function() {
        var html = $(['<div id="swapableContent">',
                    '<h2>Ce projet a été sauvegardé</h2>',
                    '<p>Ce projet de voyage et tous les changements que vous avez effectués ont désormais été enregistrés.</p>',
                  '</div>'
                ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.popup.init($.ti.messages.settings);
    },

    // ** Clear Calender ** //
    // warning for when the Clear Calender button is pressed
    clearCalender: function() {
        var html = $(['<div id="swapableContent" class="warning">',
                    '<h2>Effacer tous les éléments</h2>',
                    '<p>Merci de confirmer que vous souhaitez supprimer TOUS les éléments de votre Trip Calendar. Cette action ne pourra plus être annulée ensuite.</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/warn-cancel.png" height="22" id="closeClearCalender" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/warn-confirm.png" height="22" id="confirmClearCalender" />',
                    '</div>',
                  '</div>'
                ].join(''));
        // Create settings
        $.ti.messages.settings.content = html;
        $.ti.messages.settings.closeButton = ['#close', '#closeClearCalender'];
        $.ti.messages.settings.callback = $.ti.messages.clearCalenderEvents;
        // Call popup
        $.ti.popup.init($.ti.messages.settings);
    },

    // Events for the confirm button on Clear Calender
    clearCalenderEvents: function() {
        $('#confirmClearCalender').unbind('click.clearCalender');
        $('#confirmClearCalender').bind('click.clearCalender', function() {
            $.ti.recalculateCalendarActivities.clearActivities();
            $.ti.createMap.createMap();
            $.ti.popup.close();
        });
    },

    // ** Delete from Calender ** //
    // Warning for when user deletes bag item that has instanced on the calender //
    deleteFromCalender: function(listItem) {
        var html = $(['<div id="swapableContent" class="warning">',
                    '<h2>Supprimer l&#39;élément</h2>',
                    '<p>Vous avez choisi de supprimer un élément que vous aviez ajouté au Trip Calendar</p>',
                    '<p></p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/warn-cancel.png" height="22" id="closeDeleteFromCalender" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/warn-confirm.png" height="22" id="confirmDeleteFromCalender" />',
                    '</div>',
                '</div>'
                ].join(''));

        // Store the list Item reference as data in the confirm button
		$.ti.messages.deleteFromCalenderEvents.elem = listItem

        $.ti.messages.settings.content = html;

        $.ti.messages.settings.closeButton = ['#close', '#closeDeleteFromCalender'];
        $.ti.messages.settings.callback = $.ti.messages.deleteFromCalenderEvents;
        $.ti.popup.init($.ti.messages.settings);
    },

    deleteFromCalenderEvents: function() {
        $('#confirmDeleteFromCalender').unbind('click.DeleteFromCalender');
        $('#confirmDeleteFromCalender').bind('click.DeleteFromCalender', function(event) {
			$.ti.bag.deleteActivity($.ti.messages.deleteFromCalenderEvents.elem);
            $.ti.popup.close();
        });
    },

    // Single catch all message for reviewers attempting to trigger forbidden events.
    notForReviewer: function() {
        var html = $(['<div id="swapableContent" class="warning">',
                    '<h2>Cette option n&#39;est pas disponible</h2>',
                    '<p>Désolé, cette option n&#39;est disponible que pour les personnes qui ont enregistré un projet ou celles qui ont été invitées à contribuer au projet.</p>',
                    '<p>Créez votre propre Trip Planner juste ici sur irlande-tourisme.fr. Ajoutez à votre liste des dates, des hébergements, des choses à voir et à faire, des offres et des idées brillantes de visites. C&#39;est très simple, il vous suffit de glisser et déposer chaque élément dans votre Trip Calendar. Ensuite renommez votre projet de voyage, enregsitrez-le et partagez-le avec vos amis et votre famille pour savoir ce qu&#39;ils en pensent! Vous pouvez aussi les inviter à corriger, commenter, contribuer à ce projet, pour faire en sorte que votre voyage sur l&#39;île d&#39;Irlande soit parfait!</p>',
                  '</div>'
                ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.popup.init($.ti.messages.settings);
    },

    // When a not logged in trip Owner requests a new trip
    getNewTrip: function() {
        var html = $(['<div id="swapableContent" class="warning">',
                  '<h2>Etes-vous sûr(e)?</h2>',
                  '<p>N&#39;oubliez pas d&#39;enregistrer votre projet en cours avant d&#39;en créer un nouveau, sinon vous perdrez toutes les informations collectées. (Souvenez-vous que vous pouvez sauvegarder plus d&#39;un projet de voyage!)</p>',
                  '<p>Vous voulez être sûr(e) de pouvoir accéder à nouveau à votre projet de voyage, enregistrez-le ici et revenez autant que vous le souhaitez.</p>',
                  '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/login.png" height="22" id="loginNow" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/register.png" height="22" id="registerNow" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/get-new-trip.png" height="22" id="getNewTrip" />',
                    '</div>',
                  '</div>'
                ].join(''));

        $.ti.messages.settings.content = html;
        $.ti.messages.settings.callback = $.ti.messages.getNewEvents;
        $.ti.popup.init($.ti.messages.settings);
    },

    // Events fro the getNewTrip warning overlay
    getNewEvents: function() {
        // Get new trip button event
        $('#getNewTrip').bind('click.getNewTrip', function() {
            $.ti.trips.getNewTrip();
            $.ti.popup.close();
        });
        // Login button event
        $('#loginNow').bind('click.loginNow', function() {
            $.ti.popup.swapContent($.ti.login.loginHTML, '360px', $.ti.login.events);
        });
        // Register button event
        $('#registerNow').bind('click.registerNow', function() {
            $.ti.popup.swapContent($.ti.login.registerHTML, '360px', $.ti.login.registerEvents);
        })
    },

    // When a calender contians activities with dates that have become errored
    hasErrors: function() {
        var html = $(['<div id="swapableContent" class="warning">',
                    '<h2>Certaines de ces dates ne sont pas valides</h2>',
                    '<p>Désolé, certains des éléments listés dans votre Trip  Planner ne sont plus valides. Les dates ont certainement dû changer sur ces éléments.</p>',
                    '<p>Nous allons supprimer ces éléments de votre Trip Calendar, mais ils resteront dans la liste du trip Planner pour que vous puissiez les ajouter à nouveau plus tard.</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/warn-confirm.png" height="22" id="removeErrors" />',
                    '</div>',
                  '</div>'
                ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.messages.settings.callback = $.ti.messages.hasErrorsEvents;
        $.ti.popup.init($.ti.messages.settings);
    },

	hasErrorsEvents: function() {
		$('#removeErrors').bind('click.removeErrors', function() {
			$.ti.calendarErrors.remove();
			$.ti.popup.close();
		});
	},

    // When a calender contians activities with dates that have become errored
    hasProductErrors: function() {

        // determine how many products have been deleted
        productErrorCount = $.ti.utils.objectLength($.ti.calendarErrors.errorProducts);
        // loop over the errors and build a list of deleted products

        var errorListItems = '';

        for (count=0;count<productErrorCount;count++){
            var listItem = '<li>' + $.ti.calendarErrors.errorProducts[count][1] + '</li>';
            errorListItems = errorListItems + listItem;
        }

        var errorList = '<ul class="messageList">' + errorListItems + '</ul>';



        var html = $(['<div id="swapableContent" class="warning">',
                    '<h2>Les activités ont été retirées de ce projet</h2>',
                    '<p>les activités suivantes n&#39;existent plus et ont été retirées de ce projet</p>',
                    errorList,
                  '</div>'
                ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.messages.settings.callback = $.ti.messages.hasProductErrorsEvents;
        $.ti.popup.init($.ti.messages.settings);
    },

	hasProductErrorsEvents: function() {

	},

    // ** Check Print Options ** //
    // User offered choice as to whether or not to include directions in the print page //
    printOptions: function(listItem) {
        var html = $(['<div id="swapableContent">',
                    '<h2>Options d&#39;impression</h2>',
                    '<p>Souhaitez-vous rajouter les indications de direction sur l&#39;impression de ce projet de voyage?</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/no-button.png" height="22" id="printNoDirections" style="padding-right: 1em" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/fr/buttons/warn-confirm.png" height="22" id="printDirections" />',
                    '</div>',
                '</div>'
                ].join(''));

        $.ti.messages.settings.content = html;
        $.ti.popup.init($.ti.messages.settings);

        $('#printNoDirections').click(function(){
            $.ti.popup.close();
            var printWindow = window.open('/fr/trip/listings/print-trip/?id=' + $.ti.tripData.trip.id, 'printWindow', 'menubar=0,location=0,status=1,resizable=1,scrollbars=1,width=1050,height=640');
		});
        $('#printDirections').click(function(){
            $.ti.popup.close();
            var printWindow = window.open('/fr/trip/listings/print-trip/?id=' + $.ti.tripData.trip.id + '&directions=true', 'printWindow', 'menubar=0,location=0,status=1,resizable=1,scrollbars=1,width=1050,height=640');
		});

    }

};
})(jQuery);
