// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var dineInPrice = 50;
var costaPrice = 55;
var totalDonation = 0;
var dineOutTotal = 0;
var costaTotal = 0;
var dineInTotal = 0;


$(document).ready(function() {

Externals();
    $(':input','#booking_form')
 .not(':button, :submit, :reset, :hidden')
 .val('')
 .removeAttr('checked')
 .removeAttr('selected');


    $('#booking_howdid').bind("change", function()
    {

        if ($(this).val()=='Other (Please specify)')
        {

            $('#altsrc').show();

        }
        else {

            $('#altsrc').hide();
        }

    });


    $('#booking_costa_num').bind("change load keypress", function()

    {
            var vouchers = $(this).val();

            costaTotal = vouchers * costaPrice;

            $('#booking_costa_total').val(costaTotal);
            updateTotalPayable($('#booking_brunch_total').val(),costaTotal,$('#booking_donation_amount').val());

        });


    $('#booking_dining_out_num_adults').bind("change load keypress", function()

    {
            dineOutTotal = 0;
            dineInTotal = 0;
            var children = $('#booking_dining_out_num_kids').val();

            totalDiners = parseInt($(this).val()) + parseInt($('#booking_dining_out_num_kids').val());

        
            $.getJSON("/booking/filter_outlets/?id=" + totalDiners + '&children=' + children, function(data){



                var options = '';
                for (var i = 0; i < data.length; i++) {
                    options += '<option value="'
                    + data[i].attributes.id + '">'
                    + data[i].attributes.name + ' - '
                    + data[i].attributes.hotel + ' - '
                    + data[i].attributes.area  +
                    ' (AED ' + data[i].attributes.price + ')' +
                    '</option>';
                }
                
                $("select#booking_outlet_id").html(options);
  
            });


        });


  $('#booking_dining_out_num_kids').bind("change load keypress", function()

    {
            dineOutTotal = 0;
            dineInTotal = 0;
            var children = $('#booking_dining_out_num_kids').val();

            totalDiners = parseInt($(this).val()) + parseInt($('#booking_dining_out_num_adults').val());


            $.getJSON("/booking/filter_outlets/?id=" + totalDiners + '&children=' + children, function(data){



                var options = '';
                for (var i = 0; i < data.length; i++) {
                    options += '<option value="'
                    + data[i].attributes.id + '">'
                    + data[i].attributes.name + ' - '
                    + data[i].attributes.hotel + ' - '
                    + data[i].attributes.area  +
                    ' (AED ' + data[i].attributes.price + ')' +
                    '</option>';
                }

                $("select#booking_outlet_id").html(options);

            });


        });





    $('#booking_dining_in_num').bind("change load keypress", function()

    {
            var people = $(this).val();

            dineInTotal = people * dineInPrice;
       
            $('#booking_brunch_total').val(dineInTotal);

            updateTotalPayable( $('#booking_brunch_total').val(),costaTotal,$('#booking_donation_amount').val());
              

        });


    $("#booking_form").validate();


    $('#booking_diningoption').bind("change keypress", function()
    {


        switch($(this).val())
        {
            case 'Brunch In':
                $('#booking_brunch_total').val(0);
                $('#out_numdining').hide();
                $('#out_numdining_kids').hide();
                $('#outletSelection').hide();
                $('#in_numdining').show();
                $('#in_text').show();
                $('#out_text').hide();
                $('#booking_donation_amount').val(0);
                $('#booking_costa_num').val(0);
                $('#brunch_total').show();
                break;

            case 'Brunch Out':
                $('#booking_brunch_total').val(0);
                $('#out_numdining').show();
                $('#out_numdining_kids').show();
                $('#outletSelection').show();
                $('#in_numdining').hide();
                $('#in_text').hide();
                $('#out_text').show();
                $('#booking_donation_amount').val(0);
                $('#booking_costa_num').val(0);
                $('#brunch_total').show();
                break;


            case 'Donation Only':
                $('#booking_brunch_total').val(0);
                $('#out_numdining').hide();
                 $('#out_numdining_kids').hide();
                $('#outletSelection').hide();
                $('#in_numdining').hide();
                $('#in_text').hide();
                $('#out_text').hide();
                $('#booking_donation_amount').val(0);
                $('#booking_costa_num').val(0);
                $('#brunch_total').hide();
                break;

            default:
                $('#booking_brunch_total').val(0);
                $('#out_numdining').hide();
                           $('#out_numdining_kids').hide();
                $('#outletSelection').hide();
                $('#in_numdining').hide();
                $('#in_text').hide();
                $('#booking_costa_num').val(0);
                $('#brunch_total').hide();
                break;

        }

    });
 
function updateTotalPayable(brunch,costa,donation)
{

    $('#booking_payable').val(parseInt(brunch) + parseInt(costa) + parseInt(donation));

}

$('#booking_donation_amount').bind("change", function()
{
   updateTotalPayable( $('#booking_brunch_total').val(),costaTotal,$('#booking_donation_amount').val());

});


    $('#booking_outlet_id').bind("change load keypress", function()
    {
        var noAdults = $('#booking_dining_out_num_adults').val();
        var noChildren = $('#booking_dining_out_num_kids').val();
        $('#booking_brunch_total').val(0);

        $.getJSON("/booking/getoutlet/" + $(this).val(), function(data){

            // Check if children allowed at restaurant
            if (data.attributes.kids == 1)
            {

                dineOutTotal = (parseInt(noAdults) * parseInt(data.attributes.price)) + (parseInt(noChildren) * parseInt(data.attributes.child_price));

            }
            else

            {

                dineOutTotal = parseInt(noAdults) * parseInt(data.attributes.price);
            }
         
            $('#booking_brunch_total').val(dineOutTotal);
            updateTotalPayable( $('#booking_brunch_total').val(),costaTotal,$('#booking_donation_amount').val());
            
        });
    });

 

});

function Externals()
 {
  $("a[rel='external']")
  .bind("click",function(){this.target="_blank";});
  
 } 
