﻿//リストの全選択/全解除用function
//
//@param obj チェックボックスのオブジェクト
//
function checkAll(obj){
  var n = '';
  if (document.getElementById) {
    var type = document.getElementById("checkType").value;
    if (type == "" || type == "allCheck") {
      n = 1;
      document.getElementById("checkType").value = "unCheck";
    } else {
      n = 0;
      document.getElementById("checkType").value = "allCheck";
    }
  }
  if (obj == null) {
    //through
  } else if (obj.type == "checkbox") {
    obj.checked = (n == 1);
  } else {
    for (var i = 0; i < obj.length; i++) {
      obj[i].checked = (n == 1);
    }
  }
}
// EDTMD008-00 2010_02_17 【変更】ここから
//function chagePage(mode, curr_page, next_page){
//  if (mode == 'ranking') {
//    $(curr_page).style.display = 'none';
//    $(next_page).style.display = 'block';
//  } else if (mode == 'recommendA') {
//    $(curr_page).style.display = 'none';
//    $(next_page).style.display = 'block';
//  } else if (mode == 'recommendB') {
//    $(curr_page).style.display = 'none';
//    $(next_page).style.display = 'block';
//  }
//}

function chagePage(mode, curr_page, next_page){
  if (mode == 'ranking') {
    document.getElementById(curr_page).style.display = 'none';
    document.getElementById(next_page).style.display = 'block';
  } else if (mode == 'recommendA') {
    document.getElementById(curr_page).style.display = 'none';
    document.getElementById(next_page).style.display = 'block';
  } else if (mode == 'recommendB') {
    document.getElementById(curr_page).style.display = 'none';
    document.getElementById(next_page).style.display = 'block';
  }
}
// EDTMD008-00 2010_02_17 【変更】ここまで
/*
 （表示切替）
 */
function showhide(id){
  if (document.getElementById) {
    if (document.getElementById(id).style.display == "block") {
      document.getElementById(id).style.display = "none";
    } else {
      document.getElementById(id).style.display = "block";
    }
  }
}

// EDTMD008-00 2011_04_13 【削除】 ここから
/* 
 SSL保護ページへのURLを動的に生成する
 */
//function sendSSLAction(action){
//  var skuCode = document.forms['cart'].selectSkuCode.value;
//  var shopCode = document.forms['cart'].shopCode.value;
//  var commodityCode = document.forms['cart'].commodityCode.value;
//  var contextPath = document.forms['cart'].contextPath.value;
//  var path = contextPath + '/app/catalog/detail/' + action + "/" + shopCode + "/" + commodityCode + "/" + skuCode;
//  document.forms["cart"].action = path;
//  document.forms["cart"].submit();
//}
// EDTMD008-00 2011_04_13 【削除】 ここまで

//何も処理を行わないダミー関数
function dummy(){

}

// 初期表示時に、最初の入力項目(パスワード、テキスト、テキストエリアのみ)にフォーカスを当てる
function onFocus(){
  //form要素タイプ
  var types1 = ["text", "textarea", "password", "checkbox", "radio", "select-one"];
  //form要素のうち、フォーカスするもの
  var types2 = ["text", "textarea", "password"];
  try {
    for (var f = 0; f < document.forms.length; f++) {
      var fm = document.forms[f];
      for (var i = 0; i < fm.elements.length; i++) {
        var item = fm.elements[i];
        if (types1.indexOf(item.type) >= 0) {
          if (types2.indexOf(item.type) >= 0 && item.value == "") {
            fm.elements[i].focus();
          }
          return;
        }
      }
    }
  } catch (e) {
    // フォーカスを当てる要素がない場合、何もしない。
  }
}


// ページロード時にonFocusイベントを追加
function addEvent(){
  // Firefox用の処理
  if (window.addEventListener) {
    window.addEventListener("load", onFocus, false);
    // IE用の処理
  } else if (window.attachEvent) {
    window.attachEvent("onload", onFocus);
  }
}

addEvent();

/* 
 ボタン二度押し制御
 */
function blockDoubleSubmit(formName){
  with (formName) {
    var links = document.getElementsByTagName('a');
    for (var i = 0; i < links.length; i++) {
      links[i].removeAttribute('href');
    }
    submit();
  }
}

/* 
 JavaScript テキストエリアの入力文字数を制限する
 ※文字数をカットしたことをアノテーションで知らせるために、
   10001文字までを許可する(Lengthチェックの最大が10000文字)
 */
function checkLength(id){
//10.1.1 10008 修正 ここから
//　nMaxLength = 10001; //表示する最大文字数
//　strTemp = $(id).value;
//　nLength = strTemp.length;
//　if (nLength > nMaxLength){
//　　$(id).value = strTemp.substring(0, nMaxLength);
//　}

// EDTMD008-00 2010_02_17 【変更】ここから

//  nMaxLength = 10001; //表示する最大文字数
//  strTemp = $(id).value;
//  nLength = strTemp.length;
//  if (nLength > nMaxLength){
//    $(id).value = strTemp.substring(0, nMaxLength);
//  }
////10.1.1 10008 修正 ここまで
//}

  nMaxLength = 10001; //表示する最大文字数
  strTemp = document.getElementById(id).value;
  nLength = strTemp.length;
  if (nLength > nMaxLength){
    document.getElementById(id).value = strTemp.substring(0, nMaxLength);
  }
//10.1.1 10008 修正 ここまで
}

// 10.2.0 X20020 追加 ここから
// 配送先選択画面用
BEFORE_SHOW_AREA_INDEX_NO = 10000;
//function changeAddCommodityList(targetIndex) {
//  
//  var hideTarget = $("compositionContent_" + BEFORE_SHOW_AREA_INDEX_NO);
//  if(hideTarget) {
//    hideTarget.style.display = "none";
//  }
//  
//  var targetDiv = $("compositionContent_" + targetIndex);
//  if(targetDiv) {
//    targetDiv.style.display = "block";
//  }
//  BEFORE_SHOW_AREA_INDEX_NO = targetIndex;
//}
//
//function initAddCommodityComposition() {
//  changeAddCommodityList($("commodityKey").value);
//}

function changeAddCommodityList(targetIndex) {
  
  var hideTarget = document.getElementById("compositionContent_" + BEFORE_SHOW_AREA_INDEX_NO);
  if(hideTarget) {
    hideTarget.style.display = "none";
  }
  
  var targetDiv = document.getElementById("compositionContent_" + targetIndex);
  if(targetDiv) {
    targetDiv.style.display = "block";
  }
  BEFORE_SHOW_AREA_INDEX_NO = targetIndex;
}

function initAddCommodityComposition() {

  // EDTMD008-00 2011_06_04 【変更】ここから
  if(document.getElementById("commodityKey") !=null){
  changeAddCommodityList(document.getElementById("commodityKey").value);
  }
  // EDTMD008-00 2011_06_04 【変更】ここまで
}

// EDTMD008-00 2010_02_17 【変更】ここまで
// 10.2.0 X20020 追加 ここまで

// 10.2.0 X20010 追加 ここから
//function checkBeforeOrder(methodNo) {
//  $("cardNo_" + methodNo).disabled = $("cardNo_" + methodNo).disabled ? false : true;
//  $("cardExpirationMonth_" + methodNo).disabled = $("cardExpirationMonth_" + methodNo).disabled ? false : true;
//  $("cardExpirationYear_" + methodNo).disabled = $("cardExpirationYear_" + methodNo).disabled ? false : true;
//  $("cardUserName_" + methodNo).disabled = $("cardUserName_" + methodNo).disabled ? false : true;
//}


// EDTMD008-00 2010_02_17 【変更】ここから
//function checkBeforeOrder(methodNo) {
//  $("cardNo_" + methodNo).disabled = $("cardNo_" + methodNo).disabled ? false : true;
//  $("cardExpirationMonth_" + methodNo).disabled = $("cardExpirationMonth_" + methodNo).disabled ? false : true;
//  $("cardExpirationYear_" + methodNo).disabled = $("cardExpirationYear_" + methodNo).disabled ? false : true;
//  $("cardUserName_" + methodNo).disabled = $("cardUserName_" + methodNo).disabled ? false : true;
//}
function checkBeforeOrder(methodNo) {
  document.getElementById("cardNo_" + methodNo).disabled = document.getElementById("cardNo_" + methodNo).disabled ? false : true;
  document.getElementById("cardExpirationMonth_" + methodNo).disabled = document.getElementById("cardExpirationMonth_" + methodNo).disabled ? false : true;
  document.getElementById("cardExpirationYear_" + methodNo).disabled = document.getElementById("cardExpirationYear_" + methodNo).disabled ? false : true;
  document.getElementById("cardUserName_" + methodNo).disabled = document.getElementById("cardUserName_" + methodNo).disabled ? false : true;
}
// EDTMD008-00 2010_02_17 【変更】ここまで

//10.2.0 X20010 追加 ここまで

// EDTMD008-00 【追加】 ここから
/*
数量変更
 */
function changeAmount(form,act){
  with(document.forms[form]){
    action = act;
    submit();
  }
}

// EDTMD008-00 【追加】 ここまで

//  EDTMD008-00 2011_05_09 【追加】ここから
function hasAnyCheck(name,text){
  var checkBox = document.getElementsByName(name);
  if(checkBox.length == 0){
    return true;
  }
  for(i=0;i<checkBox.length;i++){
    if(checkBox[i].checked){
      return true;
    }
  }
  
  alert(text);
  return false;
}

// フロア表示順
var floorList = new Array('8F', '7F', '6F', '5F', '4F', '3F', '2F','1F','B1', 'B2', 'w');

function searchShopList(searchType, searchToken) {
  if (searchType == 'alpha') {
    $('#alpha', $('#shoplisttab')).addClass('ui-tabs-selected');
    $('#floor', $('#shoplisttab')).removeClass();
    $('#taste', $('#shoplisttab')).removeClass().addClass('last');
  } else if (searchType == 'floor') {
    $('#alpha', $('#shoplisttab')).removeClass();
    $('#floor', $('#shoplisttab')).addClass('ui-tabs-selected');
    $('#taste', $('#shoplisttab')).removeClass().addClass('last');
  } else {
    $('#alpha', $('#shoplisttab')).removeClass();
    $('#floor', $('#shoplisttab')).removeClass();
    $('#taste', $('#shoplisttab')).addClass('ui-tabs-selected');
  }
  $.ajax({
    dataType: 'json',
    data: {
      'searchType' : searchType,
      'searchToken': searchToken
    },
    cache: true,
    url: pageInfo.contextPath + '/shoplist',
    success: function (data, dataType) {
        // alert(data.dictionary.length);
        if (data) {
          $('#shoplistarea').empty();
          // 表示エリア生成
          var listArea =  $(document.createElement('div'));
          if (searchType != 'taste') {
            listArea.attr('id', 'shoplist02');
          } else {
            listArea.attr('id', 'shoplist03');
          }
          listArea.addClass('clearfix noborder ui-tabs-panel');
          // 表示リスト生成
          var list = $(document.createElement('ul'));
          var a = $(document.createElement('a'));
          // アルファベット別
          if (searchType == 'alpha') {
            list.addClass('abclist');
            var beforeAlpha = '1';
            var listEl = null;
            var alphaCount = 0;
            for (var i = 0; i < data.dictionary.length; i++) {
              if (beforeAlpha != data.dictionary[i].alphabet) {
                // 前回のアルファベットと違う場合は要素をリスト設定し、次の要素を生成する
                if (listEl) {
                  list.append(listEl);
                  alphaCount++;
                  // 1列のアルファベットが10種を越えたら二列目を生成
                  if (alphaCount == 9) {
                    listArea.append(list);
                    list = $(document.createElement('ul')).addClass('abclist');
                  }
                }
                listEl = $(document.createElement('li'));
                listEl.addClass('shop' + data.dictionary[i].alphabet);
              }
              a = $(document.createElement('a'));
              // a.attr('href', pageInfo.contextPath + '/shop/' + data.dictionary[i].shopcode);
              a.attr('href', pageInfo.contextPath + '/app/catalog/list/init?searchShopCode=' + data.dictionary[i].shopcode + '&detailSearch=true&ranking=category');
              a.text(decodeURIComponent(data.dictionary[i].shopname) + '（'+decodeURIComponent(data.dictionary[i].shopnamekana)+'）');
              listEl.append(a);
              listEl.append(document.createElement('br'));
              beforeAlpha = data.dictionary[i].alphabet;
            }
            list.append(listEl);
            listArea.append(list);
          // フロア別
          } else if (searchType == 'floor') {
            list.addClass('floorguide');
            var beforeAlpha = '';
            var listEl = null;
            for (var f = 0; f < floorList.length ; f++) {
              for (var i = 0; i < data.dictionary.length; i++) {
                if (floorList[f] == decodeURIComponent(data.dictionary[i].floor)) {
                  if (beforeAlpha != data.dictionary[i].floor) {
                    // 前回のフロアと違う場合は要素をリスト設定し、次の要素を生成する
                    if (listEl) {
                      list.append(listEl);
                    }
                    listEl = $(document.createElement('li'));
                    listEl.append($(document.createElement('span')).attr('class', 'floor')
                        .append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/top/floor' + data.dictionary[i].floor + '.png')))
                        .append($(document.createElement('span')).attr('class', 'txt'));
                  }
                  var a = $(document.createElement('a'));
                  // a.attr('href', pageInfo.contextPath + '/shop/' + data.dictionary[i].shopcode);
                  a.attr('href', pageInfo.contextPath + '/app/catalog/list/init?searchShopCode=' + data.dictionary[i].shopcode + '&detailSearch=true&ranking=category');
                  a.text(decodeURIComponent(data.dictionary[i].shopname) + '（'+decodeURIComponent(data.dictionary[i].shopnamekana)+'）');
                  $('.txt', listEl).append(a).append(' / ');
                  beforeAlpha = data.dictionary[i].floor;
                }
              }
            }
            list.append(listEl);
            listArea.append(list);
          // テイスト別
          } else {
            list.addClass('tasteguide');
            var beforeAlpha = '';
            var listEl = null;
            for (var i = 0; i < data.dictionary.length; i++) {
              if (beforeAlpha != data.dictionary[i].tastecode) {
                // 前回のテイストと違う場合は要素をリスト設定し、次の要素を生成する
                if (listEl) {
                  list.append(listEl);
                }
                listEl = $(document.createElement('li'));
                listEl.append($(document.createElement('strong')).append(decodeURIComponent(data.dictionary[i].tastename)));
              }
              var a = $(document.createElement('a'));
              // a.attr('href', pageInfo.contextPath + '/shop/' + data.dictionary[i].shopcode);
              a.attr('href', pageInfo.contextPath + '/app/catalog/list/init?searchShopCode=' + data.dictionary[i].shopcode + '&detailSearch=true&ranking=category');
              a.text(decodeURIComponent(data.dictionary[i].shopname) + '（'+decodeURIComponent(data.dictionary[i].shopnamekana)+'）');
              $(listEl).append(a).append(' / ');
              beforeAlpha = data.dictionary[i].tastecode;
            }
            list.append(listEl);
            listArea.append(list);
          }
          $('#shoplistarea').append(listArea);
        }
      }
  });
      
}

function searchRankingList(rankingId, searchToken) {
    for (var i = 0; i < $('li', '#rankingtabs').length; i++) {
      if ($('li', '#rankingtabs')[i].id == ('ranking_' + rankingId)) {
        $($('li', '#rankingtabs')[i]).addClass('ui-tabs-selected');
      } else {
        $($('li', '#rankingtabs')[i]).removeClass();
      }
    }
    $('li:last', '#rankingtabs').addClass('last');
    $.ajax({
    dataType: 'json',
    data: {
      'rankingId' : rankingId,
      'searchToken': searchToken
    },
    cache: true,
    url: pageInfo.contextPath + '/rankinglist',
    success: function (data, rankingId) {
      if (data) {
        $('#rankinglist').empty();
        var listArea =  $(document.createElement('div'));
        listArea.attr('id', 'rank01');
        listArea.addClass('clearfix ui-tabs-panel');
        var list = $(document.createElement('ul'));
        list.addClass('archive');
        var listEl;
        var count = 1;
        for (var i = 0; i < data.dictionary.length; i++) {
          listEl = $(document.createElement('li'));
          listEl.append($(document.createElement('span')));
          $('span', listEl).addClass('icons');
          // new
          if (data.dictionary[i].newproduct == 'true') {
            $('.icons', listEl).append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/item_new.gif'));
          }
          // 再入荷
          if (data.dictionary[i].repeat == 'true') {
            $('.icons', listEl).append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_sainyuka.gif'));
          }
          // 福袋
          if (data.dictionary[i].fukubukuro == 'true') {
            $('.icons', listEl).append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_fukubukuro.gif'));
          }
          // 予約
          if (data.dictionary[i].reserve == 'true') {
            $('.icons', listEl).append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_reserve.gif'));
          }
          // SALE
          if (!(data.dictionary[i].outlet == 'true') && data.dictionary[i].discount == 'true') {
            $('.icons', listEl).append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/img/saleflg/sale_icon_' + currentSale + '_1.jpg'));
          }
          // outlet
          if (data.dictionary[i].outlet == 'true' && data.dictionary[i].discount == 'true') {
            //$('.icons', listEl).append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_outlet.gif'));
            $('.icons', listEl).append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_specialsale.gif'));
          }
          // 重ねる系
          if (data.dictionary[i].comingsoon == 'true') {
            listEl.append($(document.createElement('p')).addClass('overlay')
                .append($(document.createElement('a')).attr('href', pageInfo.contextPath + '/commodity/' + decodeURIComponent(data.dictionary[i].shopcode) + '/' + decodeURIComponent(data.dictionary[i].commoditycode) + '/').append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_cs.gif'))));
          } else {
            if (data.dictionary[i].hasStock != 'true') {
              if (data.dictionary[i].arrivalgoods != 'true') {
                listEl.append($(document.createElement('p')).addClass('overlay')
                    .append($(document.createElement('a')).attr('href', pageInfo.contextPath + '/commodity/' + decodeURIComponent(data.dictionary[i].shopcode) + '/' + decodeURIComponent(data.dictionary[i].commoditycode) + '/').append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_so.gif'))));
              } else {
                listEl.append($(document.createElement('p')).addClass('overlay')
                    .append($(document.createElement('a')).attr('href', pageInfo.contextPath + '/commodity/' + decodeURIComponent(data.dictionary[i].shopcode) + '/' + decodeURIComponent(data.dictionary[i].commoditycode) + '/').append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/icon_so2.gif'))));
              }
            }
          }
          // 商品画像
          listEl.append($(document.createElement('a')).attr('href', pageInfo.contextPath + '/commodity/' + decodeURIComponent(data.dictionary[i].shopcode) + '/' + decodeURIComponent(data.dictionary[i].commoditycode) + '/')
              .append($(document.createElement('img')).attr('src',  pageInfo.contextPath + '/img/commodity/shop/' + data.dictionary[i].shopcode + '/commodity/' + decodeURIComponent(data.dictionary[i].imagename) + '_1_t.jpg')
                  .attr('width', '130').attr('height', '170')));
          // 順位画像
          listEl.append($(document.createElement('span')).addClass('rank').append($(document.createElement('a')).attr('href', pageInfo.contextPath + '/commodity/' + decodeURIComponent(data.dictionary[i].shopcode) + '/' + data.dictionary[i].commoditycode + '/')
              .append($(document.createElement('img')).attr('src', pageInfo.contextPath + '/images/common/rank0' + count + '.gif'))));
          // ショップ名
          listEl.append($(document.createElement('a')).addClass('Cmdty_ShopName_Cell').attr('href', pageInfo.contextPath + '/app/catalog/list/init?searchShopCode=' + data.dictionary[i].shopcode + '&ranking=true')
              .append($(document.createElement('strong')).append(decodeURIComponent(data.dictionary[i].shopname))));
          // 商品名
          listEl.append($(document.createElement('a')).attr('href', pageInfo.contextPath + '/commodity/' + data.dictionary[i].shopcode + '/' + data.dictionary[i].commoditycode + '/')
              .append(decodeURIComponent(data.dictionary[i].commodityname)).append($(document.createElement('br'))));
          // 商品コード
          listEl.append($(document.createElement('span')).addClass('code').append(decodeURIComponent(data.dictionary[i].commoditycode)).append($(document.createElement('br'))));
          // 商品金額
          // セール期間中なら割引き表示
          if (data.dictionary[i].discount == 'true') {
            listEl.append($(document.createElement('span')).addClass('discount').append(decodeURIComponent(data.dictionary[i].unitprice)))
              .append('→').append($(document.createElement('span')).addClass('price').append(decodeURIComponent(data.dictionary[i].discountprice)));
          } else {
            listEl.append($(document.createElement('span')).addClass('normalPrice').append(decodeURIComponent(data.dictionary[i].unitprice)));
          }
          // 販売期間外の場合表示せず、繰り上げ
          if (data.dictionary[i].forsale == 'true') {
            list.append(listEl);
            count++;
            if (count > 3) {
              break;
            }
          }
        }
      list.append($(document.createElement('p')).addClass('toDetail').append($(document.createElement('span'))
            .append($(document.createElement('a')).attr('href', pageInfo.contextPath + '/app/catalog/ranking_list').append($('.ui-tabs-selected', '#rankingtabs').text() + 'を全部見る'))));
      $('#rankinglist').append(listArea.append(list));
      }
    }
  });
}

function pickupSelect(selected) {
  if (selected == 'new') {
    $('#pickNew').css('display', 'block');
    $('#pickRpeat').css('display', 'none');
    $('#new', $('#pickup')).addClass('ui-tabs-selected');
    $('#repeat', $('#pickup')).removeClass();
    $('a', $('span' ,$('.toDetail', $('#pickup')))).attr('href', pageInfo.contextPath + '/app/catalog/list/init?searchCommodityDivision=' + selected).text('新商品を全部見る');
  } else {
    $('#pickNew').css('display', 'none');
    $('#pickRpeat').css('display', 'block');
    $('#new', $('#pickup')).removeClass();
    $('#repeat', $('#pickup')).addClass('ui-tabs-selected');
    $('a', $('span' ,$('.toDetail', $('#pickup')))).attr('href', pageInfo.contextPath + '/app/catalog/list/init?searchCommodityDivision=' + selected).text('再入荷アイテムを全部見る');
  }
}
//  EDTMD008-00 2011_05_09 【追加】ここまで

// EDTMD008-00 20120131 ADD FROM
window.document.onkeydown = keys;
//Firefox以外
function keys(){
  switch (event.keyCode ){
  case 116: 
  case 82: 
    alert("画面を最新にします。よろしいですか？");
  break;
 }
}

//Firefox
function keys(eve){
  var winjudge = false ;
  if(eve==null){
    eve = window.event ;
    winjudge = true ;
  }
  var keyCode = eve.which ? eve.which : eve.keyCode ;
  switch ( keyCode ){
    case 116: // F5
      if(winjudge) eve.keyCode = 0;
      alert("画面を最新にします。よろしいですか？");
    case 82: // Ctrl + R
      if( eve.ctrlKey ){
        if(winjudge) eve.keyCode = 0;
      alert("画面を最新にします。よろしいですか？");
      }
    break;
  }
}
// EDTMD008-00 20120131 ADD TO
