/**
 * JavaScript for onetwogo calculator
 *
 * @author Ondra Mandik <ondramandik@gmail.com>
 */


var calculator = {

  isInit: 'true',

    init : function() {
      calculator.calculate();

      $('#calculator input,#calculator select').change(calculator.calculate);

      $("#calculatorDiv").show();
    },

    calculate : function() {
      //$('#calculatorPrice').html('');
      $("#calculatorPriceDiv").hide();
      $('#calculatorPriceLoading').show();
      $.getJSON(
        "/calculation",
        calculator._getSendData(),
        calculator._receiveData
      );
      calculator.isInit = 'false';
    },

    _receiveData : function(json) {
      $('#calculatorPriceLoading').hide();
      $('#calculatorPriceDiv').show();
      $('#calculatorPrice').html(json.price);
      $('#calculatorCaution').html(json.caution);
    },

    _getSendData : function() {
      var equipment = [];
      $('input[name="equipment[]"]:checked').each(function() {
        equipment.push($(this).val());
      });

      var data = {
        "init" : calculator.isInit,
        "car" : $('#calculatorCarSelect').val(),
        "days" : $('#calculatorDaySelect').val(),
        "type" : $('input[name=type]:checked').val(),
        "equipment[]" : equipment,
        "carPickUp" : $('#calculatorCarPickUp:checked').val(),
        "carDelivery" : $('#calculatorCarDelivery:checked').val(),
        "driver" : $('#calculatorDriver:checked').val()
      };

      return data;
    }
}

