CAFE21 = {};
CAFE21.currently_selected_menu_item = null;

/* English/Australia initialisation for the jQuery UI date picker plugin. */
/* Based on the en-GB initialisation. */
jQuery(function($){
	$.datepicker.regional['en-AU'] = {
		closeText: 'Done',
		prevText: 'Prev',
		nextText: 'Next',
		currentText: 'Today',
		monthNames: ['January','February','March','April','May','June',
		'July','August','September','October','November','December'],
		monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
		'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
		dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
		dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
		dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
		weekHeader: 'Wk',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['en-AU']);
});


CAFE21.setupMenuItemHandlers = function() {

  //toggle css based on quantity being added to the form input
  var toggleFormStatus = function(item) {
    var item_input = $(item).find('input')[0];
    var item_container = $(item).find('span.qty')[0];

    if (item_input.value === undefined || item_input.value === null || item_input.value === '0' || item_input.value === '') {
      //make the qty box disappear
      $(item_container).hide();

      item.addClass('menu-item-hovery');
      item.removeClass('menu-item-selected');
      item.removeClass('menu-item-ordered');
    } else {
      $(item_container).show();
      item.addClass('menu-item-ordered');
      item.removeClass('menu-item-selected');
    }
  };


  $("li.menu-item-hovery").each(function(index, value) {
    toggleFormStatus($(value));
  });


  //make with box selection on click
  $("li.menu-item-hovery").click(function(event) {
    if (CAFE21.currently_selected_menu_item !== event.currentTarget) {
      if (CAFE21.currently_selected_menu_item) {
        toggleFormStatus($(CAFE21.currently_selected_menu_item));
      }

      //deal with new selection
      CAFE21.currently_selected_menu_item = event.currentTarget;
      
      var qty_p = $(event.currentTarget).find('span.qty')[0];
      $(qty_p).show();
      $(qty_p).find('input')[0].select();
           
      $(event.currentTarget).addClass('menu-item-selected');
      $(event.currentTarget).removeClass('menu-item-hovery');
    }
  });
};

CAFE21.formatCurrency = function(num) {
  num = isNaN(num) || num === '' || num === null ? 0.00 : num;
  return parseFloat(num).toFixed(2);
};

CAFE21.updateCourierFee = function(combo) {
  var courier_fee_id = $("select#courier-fee").val();

  if (courier_fee_id !== "") {
    $.ajax({
      url: 'courier_fee.php?fee=' + courier_fee_id,
      success: function(data) {
        $('#courier-fee-display').html(data);

        var grand_total = CAFE21.order_total;
        var courier_total = $('tr#courier-fee-display td.item-total').html().split('$')[1];

        var new_total = parseFloat(grand_total) + parseFloat(courier_total);
        $('#total').html("$" + CAFE21.formatCurrency(new_total));
      }
    });
  }
};
