

$().ready(function(){

  //$('#contact').inputHelper({label : 'Контактное лицо'});
  //$('#phone').inputHelper({label : 'Телефон'});
  //$('#email').inputHelper({label : 'Электронный адрес'});
  //$('#text').inputHelper({label : 'Дополнительная информация'});

  function getHelpers() {
    $('input[name^="first_name"]').inputHelper({label : 'Латинскими'});
    $('input[name^="last_name"]').inputHelper({label : 'Латинскими'});
    $('input[name^="birthday"]').inputHelper({label : 'дд.мм.гггг'});
    $('input[name^="passport"]').inputHelper({label : 'серия, номер'});
    $('input[name^="nation"]').inputHelper({label : 'Россия'});
    $('input[name^="srok"]').inputHelper({label : 'дд.мм.гггг'});
  }

  //form
  $('#form-send').validate({errorLabelContainer: $("#error-hide")});

  // init
  $('.date-out').hide();
  $('.date-in').hide();

  $('.aitems').hide();
  $('.aitems:first').show();
  $('#to-step-2-na').hide();
  $('#add-more-na').hide();

  $('.aitems:first').find('.delete-item').hide();

  // change napravlen
  change_napravlenie();
  change_date_out();
  
  change_date_in();

  $('#add-more').click(function(){
    $('#this-perelet').clone().appendTo('#aritems-list');
    change_napravlenie();
    change_date_out();
	change_date_in();
    delete_aitem();
    $('.aitems').find('.delete-item').show();
    $('.aitems:first').find('.delete-item').hide();
    return false;
  });


  function delete_aitem() {
    $('.delete-item').click(function(){
      $(this).parents('.aitems').remove();
      return false;
    });
  }

  $('#back-2').click(function(){
    $('#second').hide();
    $('.napravlenie, .date-out, .date-in, .flyer').removeAttr('disabled');
    $('.delete-item').show();
    $('#to-step-2').show();
    $('#to-step-2-na').hide();
    $('#add-more-na').hide();
    $('#add-more').show();
    $('.aitems:first').find('.delete-item').hide();
    $('#full_sum_euro').text('0 €');
    $('#full_sum_rub').text('0');
    $('#user-data').empty();
    $('#step-3').hide();
    return false;
  });

  $('#to-step-2').click(function(){
    $('#content-step-2').empty();
    $('#step-3').hide();
    $('.aitems').each(function(i){

      var perelet_id = $(this).find('select[name^="napravlenie"]').val();
      var perelet_text = $(this).find('select[name="napravlenie"] option:selected').text();

      var out_id = $(this).find('select[name="date_out['+perelet_id+']"] option:selected').attr('id');
	  
	  var perevozchik_object = $(this).find('.flyer-selected');
      var perevozchik_text = $(perevozchik_object).find('option:selected').text();
      var perevozchik_price = $(perevozchik_object).find('option:selected').val();

      //var date_in = $(this).find('select[name="date_in['+out_id+']"] option:selected');
      var date_in = $(this).find('select[name="date_in['+out_id+']"] option:selected');
      var date_in_sum = 0;
      if (parseInt($(date_in).val())) {date_in_sum = parseInt($(date_in).val());}
	  if (perevozchik_price > 0) {
		date_in_sum = parseInt(perevozchik_price);
	  }
      //var price_adult = parseInt($(this).find('select[name="date_out['+perelet_id+']"]').val()) + date_in_sum;
      var price_adult = date_in_sum;      
                        
      var price_children = price_adult;
      var price_infante = 50;
      var price_animal = 50;
      var date_in_text = $(this).find('select[name="date_in['+out_id+']"] option:selected').text();
      var date_out_text = $('#'+out_id).text();


      if (perelet_id == 0) {return false;}
      $('#second').show();
      $('.napravlenie, .date-out, .date-in, .flyer').attr("disabled", "disabled");
      $('.delete-item').hide();
      $('#to-step-2').hide();
      $('#to-step-2-na').show();
      $('#add-more-na').show();
      $('#add-more').hide();

      $('#content-step-2').append(step2, {
        i: i,
        perelet_text: perelet_text,
        perelet_out: date_out_text,
        perelet_in: date_in_text,
        price_adult: price_adult,
        price_children: price_children,
        price_infante: price_infante,
        price_animal: price_animal,
        perevozchik_text: perevozchik_text,
        perevozchik_price: perevozchik_price
      });


    });

    dpopDownRefresh();

    return false;
  });

  function deteOutEvent() {
    $('select[name^="date_out"]').change(function(){
      var cont = $(this).parents('.aitems');
      var active_item = $(this).find('option:selected').attr('id');
      $(cont).find('.date-in').hide();
      $(cont).find('.in-disabled').hide();
      if ($(cont).find('select[name="date_in['+active_item+']"]').length ) {
        $(cont).find('select[name="date_in['+active_item+']"]').show();
		$(cont).find('select[name="date_in['+active_item+']"]').change();
      }
      else {
        $(cont).find('.in-disabled').show();
      }
    });
  }

  /*
   * change napravlenie
   */
  function change_napravlenie() {
    $('select[name^="napravlenie"]').change(function(){
      var cont = $(this).parents('.aitems');
      var val = $(this).val();

      $(cont).find('.in-disabled').hide();
      $(cont).find('.out-disabled').hide();
      $(cont).find('.date-in, .date-out').hide();
      if (val != 0) {
        var dete_out = $(cont).find('select[name="date_out['+val+']"]');
        $(dete_out).show();
        var active_item = $(dete_out).find('option:selected').attr('id');
        if ($(cont).find('select[name="date_in['+active_item+']"]').length ) {
          $(cont).find('select[name="date_in['+active_item+']"]').show();
        }
        else {
          $(cont).find('.in-disabled').show();
        }

        deteOutEvent();
        $(dete_out).change();

        if ($(cont).find('select[name="date_in['+active_item+']"]').length ) {
          $(cont).find('select[name="date_in['+active_item+']"]').show();
          $(cont).find('select[name="date_in['+active_item+']"]').change();
        }
        /*if ($(cont).find('select[name="date_in['+val+']"]').length) {
          $(cont).find('select[name="date_in['+val+']"]').show();
        }
        else {
          $(cont).find('.in-disabled').show();
        }*/
      }
      else {
        $(cont).find('.in-disabled').show();
        $(cont).find('.out-disabled').show();
        $(cont).find('.flyer-disabled').show();
        $(cont).find('select[name^="flyer"]').hide();
      }
    });
  }

function change_date_out() {
     $('select[name^="date_out"]').change(function(){
        var cont = $(this).parents('.aitems');
		$(cont).find('.flyer').hide();
		$(cont).find('.flyer-disabled').show();
        var cont = $(this).parents('.aitems');
        var id = $(this).find('option:selected').attr('id');
		var obj = $(cont).find('select[name="flyer[' + id + ']"]');
        if ($(obj).length) {
            $(cont).find('.flyer-disabled').hide();
            $(cont).find('.flyer-selected').removeClass('flyer-selected');
            $(cont).find('.flyer').hide();
            $(cont).find('select[name="flyer[' + id + ']"]').show().addClass('flyer-selected');
			
        }
        else {

			$(cont).find('.flyer').hide();
            $(cont).find('.flyer-disabled').show();
        }
    });
}

function change_date_in() {
    $('select[name^="date_in"]').change(function(){

        var cont = $(this).parents('.aitems');
        var id = $(this).find('option:selected').attr('id');

       var obj = $(cont).find('select[name="flyer[' + id + ']"]');
		if ($(obj).length) {
            $(cont).find('.flyer-disabled').hide();
            $(cont).find('.flyer-selected').removeClass('flyer-selected');
            $(cont).find('.flyer').hide();
            $(cont).find('select[name="flyer[' + id + ']"]').show().addClass('flyer-selected');
        }
        else {
		$(cont).find('.flyer').hide();
            $(cont).find('.flyer-disabled').show();
			
        }
    });
}

  /**
   * step 2
   */

 function dpopDownRefresh() {
  $('a.dropdown').click(function(){
    var pos = $(this).position();
    var obj = $(this);
    var text = $(this).find('span');
    var type = $(this).attr('rel');
       
    //var number = $(this).parents('tr').find('input[name^="number"]').val();
    var number = $(this).attr('name');
    var count = $('#content-step-2').find('input[name="count_'+type+'['+number+']"]');

    if(type == 'animal') {
        $('.count-popup').find('.right').hide();
        $('.count-popup').find('.left').find('a').eq(1).nextAll().hide();        
    } else {
        $('.count-popup').find('.right').show();
        $('.count-popup').find('.left').find('a').eq(1).nextAll().show();        
    }

    $('.count-popup')
    .css({
      top: pos.top,
      left: pos.left
    })
    .show();

    $('#title-title').text(get_title(obj, type, count.val()));

    if (count.val() > 0) {$('#reset').show();} else {$('#reset').hide();}

    $('#count-popup').find('a').bind('click', function(){
      hide_popup();
      var num = $(this).text();
      $(count).val(num);
      switch (type) {
        case 'adult':
          if (num == 1) {$(text).text(num + ' взрослый');}
          else {$(text).text(num + ' взрослых');}
          break;
        case 'children':
          if (num == 1) {$(text).text(num + ' ребенок');}
          else if (num < 5 ) {$(text).text(num + ' ребенка');}
          else {$(text).text(num + ' детей');}
          break;
        case 'infante':
          if (num == 1) {$(text).text(num + ' инфант');}
          else if (num < 5 ) {$(text).text(num + ' инфанта');}
          else {$(text).text(num + ' инфантов');}
          break;
        case 'animal':              
          if (num == 1) {$(text).text(num + ' pet');}
          else if (num < 2 ) {$(text).text(num + ' pets');}
          else {$(text).text(num + ' pets');}
          break;          
      }
      set_final_sum();
      return false;
    });

    $('#reset').bind('click', function(){
      $(count).val(0);
      hide_popup();
      $(text).text(get_title(obj, type, 0));
      set_final_sum();
      return false;
    });

    return false;
  });
 }

  /*
   * get_title
   */
  function get_title(obj, type, number) {
    var text = $(obj).find('span').text();
    if (number == 0) {
      switch (type) {
        case 'adult':
          text = 'Взрослые';
          break;
        case 'children':
          text = 'Дети от 2 до 12 лет';
          break;
        case 'infante':
          text = 'Инфант';
          break;
        case 'animal':
          text = 'Pets';
          break;          
      }
    }
    return text;
  }


  /*
   *
   */
  function hide_popup() {
    $('#count-popup').hide().find('a').unbind('click');
    $('#reset').unbind('click');
  }


  $(document).click(function(e) {
		var $clicked = $(e.target);
		if ( !$clicked.parents().hasClass('count-popup') ) {
      hide_popup();
    }
	});

  function set_count(el, type, num) {
    alert(type);
  }


  /*
   * Calc sum
   *
   *
   *
   */

  /*
   * types
   */
  var types = [
    'adult',
    'children',
    'infante',
    'animal'
  ];

  /*
   * get_final_sum()
   */
  function get_final_sum() {
    var sum = 0;
    $.each($('input[name^="number"]'), function(){
      var curr = $(this).val();
      $.each(types, function(i, el){
        var loc = $('input[name="one_'+el+'['+curr+']"]').val() * $('input[name="count_'+el+'['+curr+']"]').val();
        if (!loc) loc = 0;
        $('#sum_'+el+'_'+curr).text(parseFloat(loc) + ' €');
        $('input[name="sum_'+el+'['+curr+']"]').val(parseFloat(loc));
        sum += loc;
      });

    });
    return sum;
  }

  /*
   * get_count()
   */
  function get_count() {
    return $('input[name^="number"]:last').val();
  }

  /*
   * set_final_sum()
   */
  function set_final_sum() {
    sum = get_final_sum();
    if (!sum) {sum = 0;}
    var euro = parseFloat($('#EURO').val());
    $('#full_sum_euro').text(number_format(sum, 0, ',', ' ') + ' €');
    $('#full_sum_rub').text(number_format(sum * euro, 0, ',', ' '));
    return;
  }


  /**
   * ----------------------------- to-step-3 ---------------------
   */
  $('#to-step-3').click(function(){
    $('#user-data').empty();        

    $('#content-step-2 tr').each(function(i){
      var perelet_text = $(this).find('.perelet_text').text();

      var date_in = $(this).find('.date_in').text();
      if (date_in) {date_in = ' - ' + date_in;}
      var date_out = $(this).find('.date_out').text();
	  
	  var count_adult = parseInt($(this).find('input[name^="count_adult"]').val()) ? parseInt($(this).find('input[name^="count_adult"]').val()) : 0;
      var count_infante = parseInt($(this).find('input[name^="count_infante"]').val()) ? parseInt($(this).find('input[name^="count_infante"]').val()) : 0;
      var count_animal = parseInt($(this).find('input[name^="count_animal"]').val()) ? parseInt($(this).find('input[name^="count_animal"]').val()) : 0;            
      var count_children = parseInt($(this).find('input[name^="count_children"]').val()) ? parseInt($(this).find('input[name^="count_children"]').val()) : 0;

      var perevozchik_text = $(this).find('input[name^="perevozchik_text"]').val();
      var perevozchik_price = $(this).find('input[name^="perevozchik_price"]').val();

      var sum_adult = parseInt($(this).find('input[name^="sum_adult"]').val());
      var sum_infante = parseInt($(this).find('input[name^="sum_infante"]').val());
      var sum_animal = parseInt($(this).find('input[name^="sum_animal"]').val());
      var sum_children = parseInt($(this).find('input[name^="sum_children"]').val());

      var sum_count = count_adult + count_infante + count_children;            
      var final_sum = sum_adult + sum_infante + sum_children + sum_animal;

	  var euro = parseFloat($('#EURO').val());
      var final_rub = final_sum * euro;

      if (sum_count != 0) {$('#step-3').show();}
      if (sum_count == 0) {return true;}

      $('#user-data').append(step3, {
        i: i,
        perelet_text: perelet_text,
        date_out: date_out,
        date_in: date_in,
        perelet_price: final_sum,
		perelet_price_rub: final_rub,
        perevozchik_text: perevozchik_text,
        perevozchik_price: perevozchik_price
      });

      for (var j = 0; j < sum_count; j++) {
        $('#step3items-'+i).append(step3item, {
          i: i,
          j: j
        });
      }
      
      if(count_animal>0)
         $('#step3items-'+i).append('<tr><td colspan="7">Уточните вид животного:</td></tr>');
             
      for (var j = 0; j < count_animal; j++) {
        $('#step3items-'+i).append(step3item_animal, {
          i: i,
          j: j
        });
      }            

      getHelpers();

    });

    return false;
  });

});

