PageSourceSearch

https://shop.gesharycoffee.com/js/gccart_210804.js

js gesharycoffee.com collected 2026-09-26 00:05:37 UTC 10,677 bytes, 294 lines download raw bytes

1$(function($) {
2var elements = null;
3var i = 0;
4
5if ( document.querySelector('.deliv_item')) {
6  elements = document.getElementsByClassName('deliv_item');
7  if ( elements.length >= 2){
8    elements[1].innerHTML = '<span class="deliv_item">別の住所へ送る</span>';
9  }
10}
11
12elements = null;
13// レジ画面
14if ( document.querySelector('.SPS-regi-enq-List')) {
15  elements = document.getElementsByClassName('SPS-regi-enq-List');
16  for ( i = 0; i< elements.length; i++){
17    if ( elements[i].textContent.indexOf('以下のアンケートにお答えください') !== -1){
18      // 自分を削除
19      elements[i].parentNode.removeChild(elements[i]);
20    }
21  }
22}
23
24elements = null;
25// 入力確認画面
26if ( document.querySelector('.SPS-regi-confirm_enq')) {
27  elements = document.getElementsByClassName('SPS-regi-confirm_enq');
28  for ( i = 0; i< elements.length; i++){
29    if ( elements[i].textContent.indexOf('以下のアンケートにお答えください') !== -1){
30      //自分を削除
31      elements[i].parentNode.removeChild(elements[i]);
32    }
33  }
34}
35
36var count_quantity = 0;
37var table, tr, td;
38table = document.getElementsByTagName('table');
39// table ループ
40for (i = 0; i < table.length; i++) {
41  tr = table[i].getElementsByTagName("tr");
42  // tr ループ
43  for ( var j = 0; j < tr.length; j++) {
44    // データ取得を容易にするためクラス名等追加
45    td = tr[j].getElementsByTagName("td")[0];
46    if ( td) {
47      // cartItem クラスのテーブルのみ(一番外側のtableで2重評価されないように)
48      if ( table[i].classList.contains('cartItem')) {
49        // 商品画像の td だった場合
50        if ( td.classList.contains("itemPic")) {
51          var td_item;
52          // 商品名は商品画像の次のtd
53          td_item = tr[j].getElementsByTagName("td")[1];
54          td_item.classList.add('itemTd');
55
56          var td_quantity;
57          // 数量は商品画像の次次次のtd
58          td_quantity = tr[j].getElementsByTagName("td")[3];
59          td_quantity.classList.add('quantityTd');
60
61          // 注文個数の計算
62          var str = td_quantity.textContent;
63          var num = Number(str.replace(/[^0-9]/g, '')); // 整数以外の文字列を削除
64          // ギフトセット除外
65          if ( ( td_item.innerText.indexOf( "ギフトセット") === -1)
66          // ボトルコーヒー除外
67              && ( td_item.innerText.indexOf( "THE GEISHA BOTTLE") === -1)
68              && ( td_item.innerText.indexOf( "GEISHA ICED") === -1)
69              && ( td_item.innerText.indexOf( "GEISHA au lait Base") === -1)) {
70            count_quantity += num;
71          }
72          console.log( num);
73          console.log( count_quantity);
74        }
75
76        // 特殊行にクラス名追加
77        if ( ( td.textContent == '商品合計') 
78            || ( td.textContent == '送料')
79            || ( td.textContent == '手数料')
80            || ( td.textContent == '合計金額')){
81          tr[j].classList.add('summaryTr');
82        }
83      }
84
85      // お届け希望日の table の処理
86      if ( td.textContent == 'お届け希望日') {
87        var td_doc;
88        // 対象とする table に class="border" が含まれているかで判別
89        if ( table[i].classList.contains("border")) {
90          // 親の div 要素にクラス名追加
91          table[i].parentNode.classList.add('senddateDiv');
92
93          // 説明文はお届け希望日の次の tr の td
94          td_doc = tr[j + 1].getElementsByTagName("td")[0];
95          // クラス名付与
96          td_doc.classList.add('senddatedocTd');
97        }
98      }
99
100      // ドメイン受信案内
101      if ( table[i].className.match( 'sps-inputTable')){
102        // 別お届け先入力画面でも同じクラスが使われているため、メールアドレス入力があるかで判別
103        if ( td.textContent.indexOf( 'メールアドレス') !== -1){ 
104            var tr_new = table[i].insertRow( -1);
105            var td_new = tr_new.insertCell();
106            td_new.colSpan = "2";
107            td_new.classList.add( 'sps-inputItem', 'backcolor2');
108            td_new.setAttribute( 'id', 'mail-alert');
109            td_new.insertAdjacentHTML( 'afterbegin', '<div style="display: block;"> ※ご注文に関するご連絡はメールにてお送りいたします。お手数ですが「@gesharycoffee.com」ドメインからのメールが受信できるよう設定をお願いいたします。</div>');
110        }
111      }
112
113    }
114  }
115}
116
117//elements = document.getElementsByTagName('td');
118//for ( var i = 0; i< elements.length; i++){
119//  if ( elements[i].textContent.indexOf('商品合計') !== -1){
120//    elements[i].parentNode.classList.add( 'summaryTr');
121//  }
122//}
123
124elements = null;
125// Amazon Pay 別住所時のボタン消去
126if ( document.querySelector('#otherAddress')) {
127  elements = document.getElementById('otherAddress');
128  //自分を削除
129  elements.parentNode.removeChild(elements);
130}
131
132// アドレス帳の情報を購入者情報に反映するチェックをディフォルトでチェック
133if ( document.querySelector("#amazonV2Overwrite1")){
134  document.getElementById("amazonV2Overwrite1").checked = true;
135}
136if ( document.querySelector("#amazonV2Overwrite2")){
137  document.getElementById("amazonV2Overwrite2").checked = true;
138}
139
140// お届け希望日 option の最初のselect の文字列を変更
141if ( document.querySelector("#recvDateList")){
142  document.getElementById('recvDateList').options[0].textContent = '指定なし';
143}
144
145// 市区郡 input の maxlength を 64 から 12 へ
146elements = null;
147elements = document.getElementsByName("ADDR1");
148// getElementsByName は要素で返ってくるので取得した配列分処理
149for( i = 0; i < elements.length; i++){
150  elements[i].setAttribute("maxlength","16");
151}
152
153// 市区郡 input の maxlength を 64 から 16 へ
154elements = null;
155elements = document.getElementsByName("ADDR1");
156// getElementsByName は要素で返ってくるので取得した配列分処理
157for( i = 0; i < elements.length; i++){
158  elements[i].setAttribute("maxlength","16");
159}
160
161// 町村字番地 input の maxlength を 64 から 16 へ
162elements = null;
163elements = document.getElementsByName("ADDR2");
164// getElementsByName は要素で返ってくるので取得した配列分処理
165for( i = 0; i < elements.length; i++){
166  elements[i].setAttribute("maxlength","16");
167}
168
169// 建物名(部屋番号) input の maxlength を 64 から 16 へ
170elements = null;
171elements = document.getElementsByName("ADDR3");
172// getElementsByName は要素で返ってくるので取得した配列分処理
173for( i = 0; i < elements.length; i++){
174  elements[i].setAttribute("maxlength","16");
175}
176
177// 銀行振込を非表示に
178elements = null;
179if ( document.querySelector("#PAYTYPE_2")){
180  elements = document.getElementById('PAYTYPE_2');
181  // 親の td を非表示にする
182  elements.parentNode.style.display ="none";
183}
184
185elements = null;
186// 商品名取得(クラス名で存在チェック)
187if ( document.querySelector(".itemTd")){
188  elements = document.getElementsByClassName('itemTd');
189  // getElementsByClassName は要素で返ってくるので取得した配列分処理
190  for( i = 0; i < elements.length; i++){
191
192    // 商品名に ★ が含まれている場合
193    if ( elements[i].innerText.indexOf("★") !== -1){
194      console.log("TRUE2");
195
196      var element;
197      // お届け先選択 div要素(IDで存在チェック)
198      if ( document.querySelector('#selectaddressee')) {
199        element = document.getElementById('selectaddressee');
200        // 自分を非表示
201        element.style.display ="none";
202      }
203
204      element = null;
205      // お届け希望日の div を非表示
206      if ( document.querySelector(".senddateDiv")){
207        element = document.getElementsByClassName('senddateDiv');
208        // getElementsByClassName は要素で返ってくるので取得した配列分処理
209        for( j = 0; j < elements.length; j++){
210          element[j].style.display ="none";
211        }
212      }
213    }
214
215    // GEISHA ICED予約対応(2012.7.29)
216//    if ( ( elements[i].innerText.indexOf("8/5以降発送テスト商品") !== -1)
217//        || ( elements[i].innerText.indexOf( "GEISHA ICED") !== -1)){
218//      console.log("TRUE1");
219
220      // 配送日指定説明文変更
221//      element = null;
222//      element = document.getElementsByClassName('senddatedocTd');
223      // getElementsByClassName は要素で返ってくるので取得した配列分処理
224//      for( j = 0; j < elements.length; j++){
225//        console.log( element[j].innerHTML);
226//        element[j].innerHTML = element[j].innerHTML.replace( '※ご指定の無ã
226„場合は最短で発送いたします。', '<span style="color:red;">※本商品は8月6日(金)以降の発送となります。<br>※お届け希望日指定が必須の商品です。</span>');
227//      }
228
229//      element = null;
230      // 配送日指定 select 要素
231//      element = document.getElementsByName("RECV_DATE_LIST");
232      // getElementsByName は要素で返ってくるので取得した配列分処理
233//      for( j = 0; j < element.length; j++){
234//        // 指定なし option を削除
235//          element[j].children[0].remove();
236//          element[j].children[0].selected = true;
237//      }
238//    }
239  }
240}
241
242// 商品数と同じ手提げ袋の数しか選べないように
243elements = null;
244elements = document.getElementsByName("BIKOU29008");
245// getElementsByName は要素で返ってくるので取得した配列分処理
246for( i = 0; i < elements.length; i++){
247  // option を削除
248  if ( count_quantity < 14) {
249    elements[i].children[15].remove();
250  }
251  if ( count_quantity < 13) {
252    elements[i].children[14].remove();
253  }
254  if ( count_quantity < 12) {
255    elements[i].children[13].remove();
256  }
257  if ( count_quantity < 11) {
258    elements[i].children[12].remove();
259  }
260  if ( count_quantity < 10) {
261    elements[i].children[11].remove();
262  }
263  if ( count_quantity < 9) {
264    elements[i].children[10].remove();
265  }
266  if ( count_quantity < 8) {
267    elements[i].children[9].remove();
268  }
269  if ( count_quantity < 7) {
270    elements[i].children[8].remove();
271  }
272  if ( count_quantity < 6) {
273    elements[i].children[7].remove();
274  }
275  if ( count_quantity < 5) {
276    elements[i].children[6].remove();
277  }
278  if ( count_quantity < 4) {
279    elements[i].children[5].remove();
280  }
281  if ( count_quantity < 3) {
282    elements[i].children[4].remove();
283  }
284  if ( count_quantity < 2) {
285    elements[i].children[3].remove();
286  }
287  if ( count_quantity < 1) {
288    elements[i].children[2].remove();
289    elements[i].children[1].selected = true;
290  }
291}
292
293});
294

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.