

















/*
*  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>Item vermeerderen</h2>',
                    '<p>Dit item bestaat al in deze Reis</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 + 'Je Reis is gedeeld met vrienden</p>',
                      "</div>"
                     ].join(''));
        $.ti.messages.settings.content = html;
        $.ti.popup.init($.ti.messages.settings);
    },


    // Trip saved
    tripSaved: function() {
        var html = $(['<div id="swapableContent">',
                    '<h2>Deze reis is opgeslagen</h2>',
                    '<p>Deze reis is nu opgeslagen met de wijzigingen die je hebt aangebracht.</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>Alle items verwijderen</h2>',
                    '<p>Weet je zeker dat je ALLE items uit je Reiskalender wilt verwijderen? Dit kan niet ongedaan worden gemaakt.</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/buttons/warn-cancel.png" height="22" id="closeClearCalender" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/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>Item verwijderen</h2>',
                    '<p>Je hebt besloten om een item dat je aan de Reiskalender hebt toegevoegd, te verwijderen</p>',
                    '<p>Hierdoor worden alle onderdelen van dit item verwijderd uit je Reiskalender. Weet je zeker dat je dit wilt doen?</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/buttons/warn-cancel.png" height="22" id="closeDeleteFromCalender" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/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>Deze optie is niet beschikbaar</h2>',
                    '<p>Sorry, deze optie is alleen beschikbaar voor Beheerders en diegenen die door de Beheerder zijn uitgenodigd om bijdragen te leveren.</p>',
                    '<p>Maak hier op Ierland.nl je eigen Reisplanner. Voeg data, overnachtingsplaatsen, bezienswaardigheden en activiteiten, aanbiedingen en goede ideeën toe aan je lijst, sleep items naar je Reiskalender, geef je Reis een naam, sla hem op en deel hem met vrienden en familie om te kijken wat zij ervan vinden! Je kunt ze zelfs uitnodigen om hem te beoordelen en opmerkingen en bijdragen te plaatsen, zodat je reis naar Ierland helemaal perfect wordt!</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>Weet je het zeker?</h2>',
                  '<p>Zorg dat je deze Reis nu opslaat, voordat je een nieuwe Reis aanmaakt, anders verlies je alle informatie die je bij elkaar hebt gezocht (Vergeet niet dat je meer dan één Reis kunt bewaren!).</p>',
                  '<p>Zeker weten dat je je Reisplanner later opnieuw kunt bekijken? Bewaar hem hier en kom zo vaak je wilt terug.</p>',
                  '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/buttons/login.png" height="22" id="loginNow" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/buttons/register.png" height="22" id="registerNow" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/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>Sommige van deze datums zijn ongeldig.</h2>',
                    '<p>Sorry, sommige items in je Reisplanner zijn ongeldig geworden. Dit komt waarschijnlijk omdat er datums zijn veranderd in deze items.</p>',
                    '<p>Deze items worden verwijderd uit je Reiskalender, maar ze blijven in je Reislijst staan, zodat je ze later weer toe kunt voegen.</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/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>Er zijn activiteiten verwijderd uit deze reis</h2>',
                    '<p>De volgende activiteiten bestaan niet meer en zijn uit deze reis verwijderd.</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>Afdrukopties</h2>',
                    '<p>Wil je een routebeschrijving bijsluiten bij het afdrukken van deze reis?</p>',
                    '<div class="inputs">',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/buttons/no-button.png" height="22" id="printNoDirections" style="padding-right: 1em" />',
                        '<input type="image" src="/shared/resource/images/itinerary_planner/nl/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('/nl/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('/nl/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);
