

















/*
*  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>Elemento duplicado</h2>',
                    '<p>Este elemento ya existe en este Viaje</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 + 'Tu viaje se ha compartido con amigos</p>',
                      "</div>"
                     ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.popup.init($.ti.messages.settings);
    },


    // Trip saved
    tripSaved: function() {
        var html = $(['<div id="swapableContent">',
                    '<h2>Viaje guardado</h2>',
                    '<p>Viaje y cambios guardados de forma permanente</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>Borrar todos los elementos</h2>',
                    '<p>Confirma que quieres eliminar TODOS los elementos del calendario de viaje. No podrás recuperarlos una vez eliminados.</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/buttons/warn-cancel.png" height="22" id="closeClearCalender" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/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>Borrar elemento</h2>',
                    '<p>Vas a borrar un elemento que habías añadido al plan de viaje</p>',
                    '<p>Borrarás todos los datos de este elemento en tu plan de viaje. ¿Estás seguro de que quieres seguir adelante con esta acción?</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/buttons/warn-cancel.png" height="22" id="closeDeleteFromCalender" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/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>Esta opción no es posible</h2>',
                    '<p>Lo sentimos, esta opción sólo está disponible para propietarios de viaje y aquellos a quien el propietario de viaje haya invitado para contribuir.</p>',
                    '<p>Crea tu propio plan de viaje aquí mismo en Turismo de Irlanda. Añade fechas, alojamiento, lugares de interés, actividades, ofertas e ideas a tu lista del plan de viaje, arrastra cada elemento e introdúcelo en el calendario del plan de viaje, luego pon nombre a tu viaje, guárdalo y compártelo con tus amigos y familia para que te den su opinión. También puedes invitarles a que contribuyan y comenten para que tu viaje a la isla de Irlanda sea absolutamente perfecto. </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>¿Estás seguro?</h2>',
                  '<p>No olvides guardar este viaje antes de crear uno nuevo, si no perderás toda la información compilada (Recuerda, puedes guardar más de un viaje cada vez)</p>',
                  '<p>¿Quieres volver a visitar tu plan de viaje siempre que quieras? Guárdalo aquí y lo tendrás siempre disponible. </p>',
                  '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/buttons/login.png" height="22" id="loginNow" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/buttons/register.png" height="22" id="registerNow" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/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>Alguna de estas fechas no es válida</h2>',
                    '<p>Lo sentimos, algunos de los elementos que aparecen en tu plan de viaje ya no son válidos. Probablemente las fechas han cambiado. </p>',
                    '<p>Retiraremos estos elementos de tu calendario de viaje, pero seguirán estando en tu lista de viaje, para que puedas volverlos a introducir más adelante. </p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/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>Actividades eliminadas de este viaje.</h2>',
                    '<p>Estas actividades ya no existen y se han eliminado de este viaje.</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>Opciones de impresión</h2>',
                    '<p>¿Quieres incluir direcciones al imprimir este viaje? </p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/buttons/no-button.png" height="22" id="printNoDirections" style="padding-right: 1em" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/es/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('/es/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('/es/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);
