/*----- require timesetting.js, common.js -----*/

$(document).ready(function(){
  // 初期表示
  var time = getTime();
  formAction = $('form:eq(0)').attr('action');
  var action = '/order/cart/shopDecied/';
  $('form:eq(0)').attr('action', action);
  $.get(urlCheckSession, {time: time}, function(data) {
    if (data == 'ng') {
        tb_show(null, urlDialogueLogin + '?height=190', false);  // tb_show @thickbox.js
        $("#TB_overlay").unbind('click', tb_remove);
        $(".domino_TB_overlay").live('click', recoverFormActionUrl);     // .domino_TB_overlay added@thickbox.js
        $('#dialogueCloseButton').live('click', recoverFormActionUrl);
        $('#TB_window').css({background:"#333"});
        $('#TB_window').css({border:"0px"});
        $('#TB_title').remove();
        return false;  // for IE
    } else {
      return false;
    }
  });
  // 受取方法と時間の変更画面の初期化
  initChangeReservation();

  buttonClickedEventListener();
  // キャンセル
  $('a.cancelItem').each(function() {
    $(this).click(function() {
      $('form:eq(0)').attr('action', urlCartCancelItem);
      $('#deleteUniqId').val($(this).attr('deleteUniqId'));
      $('form:eq(0)').submit();
      return false;
    });
  });

  // お気に入りに追加
  $('a.favorite').each(function() {
    $(this).click(function() {
      $('form:eq(0)').attr('action', urlFavoriteCartItem);
      $('form:eq(0)').submit();
    });
  });

  // クーポンを使わない
  $('a.couponNoUse').each(function() {
    $(this).click(function() {
      $('form:eq(0)').attr('action', urlCartCouponNoUser);
      $('#deleteCouponC').val($(this).attr('deleteCouponC'));
      $('form:eq(0)').submit();
      return false;
    });
  });

  // 届け先切替
  $('#todokeShortNmList').change(function() {
    if ($(this).val() != -1) {
      if ($('#setRecipt').val() == 'true') {
        alert('ご指定の注文日時が取り消されます。');
      }
      location.href=urlCartSwitchTodokesaki + '?torokuSeq=' + $(this).val();
    }
  });
});

// ボタンクリック
var buttonClickedEventListener = function() {
  // 受取方法と時間を変更する
  $('#btnChangeTimeOrder').click(function() {
    $('form:eq(0)').attr('action', urlChangeReserve);
    $('form:eq(0)').attr('method', 'post');
    $('form:eq(0)').submit();
    return false;
  });
  // 明日以降のご予約
  $('#btnChangeReceive').click(function() {
    $('form:eq(0)').attr('action', urlTimeSetReload);
    $('form:eq(0)').attr('method', 'post');
    $('#forwardFuncId').val('SORD120');
    $('form:eq(0)').submit();
    return false;
  });
  // (今日)今すぐ配達してもらう
  $('#btnDeliveryNow').click(function() {
    $('#deliv_type').val(DELIVERY_NOW);
    $('form:eq(0)').attr('action', urlCart);    // urlCart @common.js
    $('form:eq(0)').submit();
    return false;
  });
  // (今日)指定の時間に配達してもらう
  $('#btnDeliveryReserve').click(function() {
    resetDialogue();
    $('#confirmTodayTakeout').hide();
    renderRangeWrap(DELIVERY_DEFER, REQUEST_DELIVER);
  });
  // (今日)お店で受け取る
  $('#btnTakeOut').click(function() {
    resetDialogue();
    $('#confirmTodayTakeout').show();
    renderRangeWrap(DELIVERY_TAKEOUT, REQUEST_TAKEOUT);
  });
  // 選択した時間でよろしいですか（はい）
  $('#selected_time_confirm ul.action li.fix_yes a.btnYes').click(function() {
    $('form:eq(0)').attr('action', urlCart);
    $('form:eq(0)').submit();
    return false;
  });

  // (明日以降)配達してもらう
  $('#btnReserveDelivery').click(function() {
    $('#deliv_type').val(DELIVERY_RESERVE_DELIVER);
    $('form:eq(0)').attr('action', urlCart);
    $('form:eq(0)').submit();
    return false;
  });
  // (明日以降)お店で受け取る
  $('#btnReserveTakeout').click(function() {
    $('div#appoint_receive div#cart_delivery_setting div#confirmTakeout').show('blind');
  });
  // (明日以降)お店で受け取る（はい）
  $('#btnReserveTakeoutYes').click(function() {
    $('#deliv_type').val(DELIVERY_RESERVE_TAKEOUT);
    $('form:eq(0)').attr('action', urlCart);
    $('form:eq(0)').submit();
    return false;
  });

  // 指定をやり直す
  $('div#appoint_time a.resetDialogue').click(resetDialogue);
  $('div#appoint_receive a.resetDialogue').click(function() {
    $('#confirmTodayTakeout').hide();
    $('div#appoint_receive div#cart_delivery_setting div#confirmTakeout').hide();
  });

  // 指定をやり直す（for map）
  //if (!$.support.objectAll) $('span.reset_setting').remove();  // IEではmapを利用、IE以外はボタン画像を利用
  $('#reset_setting').click(resetDialogue);
  $('#reset_receive').click(function() {
    $('#confirmTodayTakeout').hide();
    $('div#appoint_receive div#cart_delivery_setting div#confirmTakeout').hide();
  });

  // 確認いいえ
  $('a.cancel').click(function() {
    location.href = '/order/cart/';
    return false;
  });

  // ロールオーバー
  $('#reset_setting').hover(
    function() { $('#title_main').attr('src', '/image/SORD120/title_main_SORD120_4_on.gif'); },
    function() { $('#title_main').attr('src', '/image/SORD120/title_main_SORD120_4.gif'); }
  );
  $('#reset_receive').hover(
    function() { $('#title_receive').attr('src', '/image/SORD120/title_main_SORD120_5_on.gif'); },
    function() { $('#title_receive').attr('src', '/image/SORD120/title_main_SORD120_5.gif'); }
  );

  // ご予約から本日のご注文に変更します（はい）
  $('#btnCancelReceive').click(function() {
    $('form:eq(0)').attr('action', urlTimeSetCancelReceive);
    $('form:eq(0)').attr('method', 'post');
    $('form:eq(0)').submit();
    return false;
  });

  // プレゼント注文贈り主が決定する
  $('#openDecideSender').toggle(
    function() {
      $('#designate').show('blind');
      $('#designate_note').show('blind');
    },
    function() {
      $('#designate').hide('blind');
      $('#designate_note').hide('blind');
    }
  );
}

// 受取方法と時間の変更画面 初期化
function initChangeReservation()
{
  if ($('#target_ymd').val())
  {
    $('#appoint_time').show(); return;
  }
  $('#appoint_receive').show(); return;
}

// ダイアログリセット
function resetDialogue()
{
  $('#confirmTodayTakeout').hide();
  $('div#appoint_time div.range').hide();
  $('div#appoint_time div.time_segment').hide();
  $('div#appoint_time div#selected_time_confirm').hide();
  $('div#appoint_receive p.alert').hide();
  $('div#appoint_receive div#delivery_fix_btn').hide();
  $('div#appoint_receive div#cart_delivery_setting div#confirmTakeout').hide();
}

// 大枠時間帯指定描画ラッパー
function renderRangeWrap(delivType, rangeType)
{
  type = rangeType;
  ymd  = $('input#target_ymd').val();
  $('#type').val(type);
  $('#deliv_type').val(delivType);
  $.getJSON(urlJsonReserve, { type:type, target_ymd:ymd }, renderRange);  // urlJsonReserve @common.js, renderRange @timesetting.js
}

function reload(){
  location.href = urlCartReload;
}
