//
// 「カートに入れる」ボタンの無効化
//
function ds2_disable_add_button(){
  $('#ds2_add_button_enable').css('display', 'none');
  $('#ds2_add_button_disable').css('display', 'block');
}

//
// 「カートに入れる」ボタンの有効化
//
function ds2_enable_add_button(){
  $('#ds2_add_button_disable').css('display', 'none');
  $('#ds2_add_button_enable').css('display', 'block');
}

//
// CSを選択した際に数量・CSステータスを更新する
//
$(document).ready(function(){
  var default_select_quantity = $('#ds2_select_quantity').html();

  $('#ds2_select_cs').change(function(){
    var cs_id = $('#ds2_select_cs').val();
    if (cs_id) {
      $.ajax({
        //ds2_get_select_cs_ajax_url() は、viewSuccess.phpで定義
        url:        ds2_get_select_cs_ajax_url($('#ds2_product_id').val(), cs_id),
        dataType:   'json',
        cache:      false,
        beforeSend: ds2_disable_add_button,
        success:    function(result) {
                      $('#ds2_select_quantity').html(result.quantity).change();
                      $('#ds2_select_cs > option[value='+cs_id+']').html(result.cs_option);
                      $('.ds2_button_add_watchlist').removeAttr('disabled');
                      $('#regist_rearrival_mail').css('display', result.regist_mail ? 'block' : 'none');
                      if(result.is_mobile){
                        $('#carrier_1').click();
                      }else{
                        $('#carrier_2').click();
                      }
                      $('#mail_address').val(result.mail_address);
                      $('#mail_account').val(result.mail_account);
                      $('#mail_domain').val(result.mail_domain);
                      $('#msg').html('').change();
                    },
        error:      function(XMLHttpRequest, textStatus, errorThrown) {
                      location.reload();
                    }
      });
    } else {
      ds2_disable_add_button();
      $('.ds2_button_add_watchlist').attr('disabled', 'disabled');
      $('#ds2_select_quantity').html(default_select_quantity);
      $('#regist_rearrival_mail').css('display', 'none');
      $('#msg').html('').change();
    }
  });
  $('.ds2_button_add_watchlist').click(function(){
    location.replace(
      ds2_get_add_watch_list_url($('#ds2_product_id').val(), $('#ds2_select_cs').val())
    );
  });
  $('#ds2_select_cs').change();
});


//
// 数量の変更に合わせ、カートボタンの有効・無効を切り替える
//
$(document).ready(function(){
  $('#ds2_select_quantity').change(function(){
    if ($(this).val() >= 1) {
      ds2_enable_add_button();
      $('.ds2_button_add_watchlist').css('display', 'block');
    } else {
      ds2_disable_add_button();
      $('.ds2_button_add_watchlist').css('display', 'none');
    }
  });
});

//
// カートに入れるボタンを押したとき、ボタンを無効にする（連打防止）。
//
$(document).ready(function(){
  $('#ds2_form_cs_selector').submit(function(){
    ds2_disable_add_button();
  });
});

//
//PC/携帯メール選択の切り替え
//
$(document).ready(function(){
  $('#carrier_1').click(function(){
    $('#pc_mail').css('display', 'none');
    $('#mobile_mail').css('display', 'block');
    $('#msg').html('').change();
  });
  $('#carrier_2').click(function(){
    $('#pc_mail').css('display', 'block');
    $('#mobile_mail').css('display', 'none');
    $('#msg').html('').change();
  });
});

//
//再入荷メール登録
//
$(document).ready(function(){
  $('#btn_regist_rearrival_mail').click(function(){
    var is_mobile = $("input[name='carrier']:checked").val();
    var mail_address = '';
    if (is_mobile == 1) {
      mail_address = $('#mail_account').val() + '@' + $('#mail_domain').children(':selected').text();
    } else {
      mail_address = $('#mail_address').val();
    }
    $.ajax({
      url:        ds2_regist_rearrival_mail_url($('#ds2_select_cs').val(), mail_address, is_mobile),
      dataType:   'json',
      cache:      false,
      success:    function(result) {
                    $('#msg').html(result.msg).change();
                  },
      error:      function(XMLHttpRequest, textStatus, errorThrown) {
                    location.reload();
                  }
    });
  });
});

