1/* 2 * This file is part of EC-CUBE 3 * 4 * Copyright(c) 2000-2013 LOCKON CO.,LTD. All Rights Reserved. 5 * 6 * http://www.lockon.co.jp/ 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License 10 * as published by the Free Software Foundation; either version 2 11 * of the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 */ 22 23(function( window, undefined ){ 24 25 26 // åå空éã®éè¤ãé²ã 27 if (window.eccube === undefined) { 28 window.eccube = {}; 29 } 30 31 var eccube = window.eccube; 32 33 eccube.defaults = { 34 formId:'form1', 35 windowFeatures:{ 36 scrollbars:'yes', 37 resizable:'yes', 38 toolbar:'no', 39 location:'no', 40 directories:'no', 41 status:'no', 42 focus:true, 43 formTarget:'' 44 } 45 }; 46 47 eccube.openWindow = function(URL,name,width,height,option) { 48 var features = "width="+width+",height="+height; 49 if (option === undefined) { 50 option = eccube.defaults.windowFeatures; 51 } else { 52 option = $.extend(eccube.defaults.windowFeatures, option); 53 } 54 features = features + ",scrollbars=" + option.scrollbars + 55 ",resizable=" + option.resizable + 56 ",toolbar=" + option.toolbar + 57 ",location=" + option.location + 58 ",directories=" + option.directories + 59 ",status=" + option.status; 60 if (option.hasOwnProperty('menubar')) { 61 features = features + ",menubar=" + option['menubar']; 62 } 63 var WIN = window.open(URL,name,features); 64 if (option.formTarget !== "") { 65 document.forms[option.formTarget].target = name; 66 } 67 if (option.focus) { 68 WIN.focus(); 69 } 70 }; 71 72 // 親ã¦ã£ã³ãã¦ã®åå¨ç¢ºèª. 73 eccube.isOpener = function() { 74 var ua = navigator.userAgent; 75 if( window.opener ) { 76 if( ua.indexOf('MSIE 4') !== -1 && ua.indexOf('Win') !== -1 ) { 77 if (window.opener.hasOwnProperty('closed')) { 78 return !window.opener['closed']; 79 } else { 80 return false; 81 } 82 } else { 83 return typeof window.opener.document === 'object'; 84 } 85 } else { 86 return false; 87 } 88 }; 89 90 // éµä¾¿çªå·å ¥åå¼ã³åºã. 91 eccube.getAddress = function(php_url, tagname1, tagname2, input1, input2) { 92 var zip1 = document['form1'][tagname1].value; 93 var zip2 = document['form1'][tagname2].value; 94 95 if(zip1.length === 3 && zip2.length === 4) { 96 $.get( 97 php_url, 98 {zip1: zip1, zip2: zip2, input1: input1, input2: input2}, 99 function(data) { 100 var arrData = data.split("|"); 101 if (arrData.length > 1) { 102 eccube.putAddress(input1, input2, arrData[0], arrData[1], arrData[2]); 103 } else { 104 window.alert(data); 105 } 106 } 107 ); 108 } else { 109 window.alert("éµä¾¿çªå·ãæ£ããå ¥åãã¦ä¸ããã"); 110 } 111 }; 112 113 // éµä¾¿çªå·ããæ¤ç´¢ããä½æãæ¸¡ã. 114 eccube.putAddress = function(input1, input2, state, city, town) { 115 if(state !== "") { 116 // é ç®ã«å¤ãå ¥åãã. 117 document['form1'][input1].selectedIndex = state; 118 document['form1'][input2].value = city + town; 119 } 120 }; 121 122 eccube.setFocus = function(name) { 123 if(document['form1'].hasOwnProperty(name)) { 124 document['form1'][name].focus(); 125 } 126 }; 127 128 // ã¢ã¼ãã¨ãã¼ãæå®ãã¦SUBMITãè¡ãã 129 eccube.setModeAndSubmit = function(mode, keyname, keyid) { 130 switch(mode) { 131 case 'delete_category': 132 if(!window.confirm('鏿ããã«ãã´ãªã¨ã«ãã´ãªå ã®å ¨ã¦ã®ã«ãã´ãªãåé¤ãã¾ã')){ 133 return; 134 } 135 break; 136 case 'delete': 137 if(!window.confirm('ä¸åº¦åé¤ãããã¼ã¿ã¯ãå ã«æ»ãã¾ããã\nåé¤ãã¦ãå®ããã§ããï¼')){ 138 return; 139 } 140 break; 141 case 'confirm': 142 if(!window.confirm('ç»é²ãã¦ãå®ããã§ãã')){ 143 return; 144 } 145 break; 146 case 'delete_all': 147 if(!window.confirm('æ¤ç´¢çµæãå ¨ã¦åé¤ãã¦ãå®ããã§ãã')){ 148 return; 149 } 150 break; 151 default: 152 break; 153 } 154 document['form1']['mode'].value = mode; 155 if(keyname !== undefined && keyname !== "" && keyid !== undefined && keyid !== "") { 156 document['form1'][keyname].value = keyid; 157 } 158 document['form1'].submit(); 159 }; 160 161 eccube.fnFormModeSubmit = function(form, mode, keyname, keyid) { 162 switch(mode) { 163 case 'delete': 164 if(!window.confirm('ä¸åº¦åé¤ãããã¼ã¿ã¯ãå ã«æ»ãã¾ããã\nåé¤ãã¦ãå®ããã§ããï¼')){ 165 return; 166 } 167 break; 168 case 'confirm': 169 if(!window.confirm('ç»é²ãã¦ãå®ããã§ãã')){ 170 return; 171 } 172 break; 173 case 'regist': 174 if(!window.confirm('ç»é²ãã¦ãå®ããã§ãã')){ 175 return; 176 } 177 break; 178 default: 179 break; 180 } 181 var values = {mode:mode}; 182 if(keyname !== undefined && keyname !== "" && keyid !== undefined && keyid !== "") { 183 values[keyname] = keyid; 184 } 185 eccube.submitForm(values, form); 186 }; 187 188 eccube.setValueAndSubmit = function(form, key, val, msg) { 189 var ret; 190 if (msg !== undefined) { 191 ret = window.confirm(msg); 192 } else { 193 ret = true; 194 } 195 if (ret) { 196 var values = {}; 197 values[key] = val; 198 eccube.submitForm(values, form); 199 } 200 return false;
201 }; 202 203 eccube.setValue = function(key, val, form) { 204 var formElement = eccube.getFormElement(form); 205 formElement.find("*[name=" + key + "]").val(val); 206 }; 207 208 eccube.changeAction = function(url, form) { 209 var formElement = eccube.getFormElement(form); 210 formElement.attr("action", url); 211 }; 212 213 // ãã¼ã¸ããã§ä½¿ç¨ããã 214 eccube.movePage = function(pageno, mode, form) { 215 var values = {pageno: pageno}; 216 if (mode !== undefined) { 217 values.mode = mode; 218 } 219 eccube.submitForm(values, form); 220 }; 221 222 /** 223 * ãã©ã¼ã ãéä¿¡ãã. 224 * 225 * @param values 226 * @param form 227 */ 228 eccube.submitForm = function(values, form){ 229 var formElement = eccube.getFormElement(form); 230 if (values !== undefined && typeof values === "object") { 231 $.each(values, function(index, value) { 232 eccube.setValue(index, value, formElement); 233 }); 234 } 235 formElement.submit(); 236 }; 237 238 /** 239 * ãã©ã¼ã ãç¹å®ãã¦ã¨ã¬ã¡ã³ããè¿ã. 240 * 241 * @param form 242 * @returns {*} 243 */ 244 eccube.getFormElement = function(form){ 245 var formElement; 246 if (form !== undefined && typeof form === "string" && form !== "") { 247 formElement = $("form#" + form); 248 } else if (form !== undefined && typeof form === "object") { 249 formElement = form; 250 } else { 251 formElement = $("form#" + eccube.defaults.formId); 252 } 253 return formElement; 254 }; 255 256 // ãã¤ã³ãå ¥åå¶éã 257 eccube.togglePointForm = function() { 258 if(document['form1']['point_check']) { 259 var list = ['use_point']; 260 var color; 261 var flag; 262 263 if(!document['form1']['point_check'][0].checked) { 264 color = "#dddddd"; 265 flag = true; 266 } else { 267 color = ""; 268 flag = false; 269 } 270 271 var len = list.length; 272 for(var i = 0; i < len; i++) { 273 if(document['form1'][list[i]]) { 274 var current_color = document['form1'][list[i]].style.backgroundColor; 275 if (color !== "#dddddd" && (current_color === "#ffe8e8" || current_color === "rgb(255, 232, 232)")) 276 { 277 continue; 278 } 279 document['form1'][list[i]].disabled = flag; 280 document['form1'][list[i]].style.backgroundColor = color; 281 } 282 } 283 } 284 }; 285 286 // å¥ã®ãå±ãå å ¥åå¶éã 287 eccube.toggleDeliveryForm = function() { 288 if(!document['form1']) { 289 return; 290 } 291 if(document['form1']['deliv_check']) { 292 var list = [ 293 'shipping_name01', 294 'shipping_name02', 295 'shipping_kana01', 296 'shipping_kana02', 297 'shipping_pref', 298 'shipping_zip01', 299 'shipping_zip02', 300 'shipping_addr01', 301 'shipping_addr02', 302 'shipping_tel01', 303 'shipping_tel02', 304 'shipping_tel03', 305 'shipping_company_name', 306 'shipping_country_id', 307 'shipping_zipcode', 308 'shipping_fax01', 309 'shipping_fax02', 310 'shipping_fax03' 311 ]; 312 313 if(!document['form1']['deliv_check'].checked) { 314 eccube.changeDisabled(list, '#dddddd'); 315 } else { 316 eccube.changeDisabled(list, ''); 317 } 318 } 319 }; 320 321 // æåã«è¨å®ããã¦ããè²ãä¿åãã¦ããã 322 eccube.savedColor = []; 323 324 eccube.changeDisabled = function(list, color) { 325 var len = list.length; 326 327 for(var i = 0; i < len; i++) { 328 if(document['form1'][list[i]]) { 329 if(color === "") { 330 // æå¹ã«ããã 331 document['form1'][list[i]].removeAttribute('disabled'); 332 document['form1'][list[i]].style.backgroundColor = eccube.savedColor[list[i]]; 333 } else { 334 // ç¡å¹ã«ããã 335 document['form1'][list[i]].setAttribute('disabled', 'disabled'); 336 eccube.savedColor[list[i]] = document['form1'][list[i]].style.backgroundColor; 337 document['form1'][list[i]].style.backgroundColor = color;//"#f0f0f0"; 338 } 339 } 340 } 341 }; 342 343 // ãã°ã¤ã³æã®å ¥åãã§ã㯠344 eccube.checkLoginFormInputted = function(form, emailKey, passKey) { 345 var formElement = $("form#" + form); 346 var checkItems = []; 347 348 if (typeof emailKey === 'undefined') { 349 checkItems[0] = 'login_email'; 350 } else { 351 checkItems[0] = emailKey; 352 } 353 if (typeof passKey === 'undefined') { 354 checkItems[1] = 'login_pass'; 355 } else { 356 checkItems[1] = passKey; 357 } 358 359 var max = checkItems.length; 360 var errorFlag = false;
361 362 //ãå¿ é é ç®ã®ãã§ã㯠363 for(var cnt = 0; cnt < max; cnt++) { 364 if(formElement.find("input[name=" + checkItems[cnt] + "]").val() === "") { 365 errorFlag = true; 366 break; 367 } 368 } 369 370 // å¿ é é ç®ãå ¥åããã¦ããªãå ´å 371 if(errorFlag === true) { 372 window.alert('ã¡ã¼ã«ã¢ãã¬ã¹/ãã¹ã¯ã¼ããå ¥åãã¦ä¸ããã'); 373 return false; 374 } else { 375 return true; 376 } 377 }; 378 379 //親ã¦ã£ã³ãã¦ã®ãã¼ã¸ã夿´ãã. 380 eccube.changeParentUrl = function(url) { 381 // 親ã¦ã£ã³ãã¦ã®åå¨ç¢ºèª 382 if(eccube.isOpener()) { 383 window.opener.location.href = url; 384 } else { 385 window.close(); 386 } 387 }; 388 389 //æåæ°ãã«ã¦ã³ãããã 390 //弿°1ï¼ãã©ã¼ã åç§° 391 //弿°2ï¼æåæ°ã«ã¦ã³ã対象 392 //弿°3ï¼ã«ã¦ã³ãçµææ ¼ç´å¯¾è±¡ 393 eccube.countChars = function(form,sch,cnt) { 394 var formElement = $("form#" + form); 395 formElement.find("input[name="+cnt+"]").val(formElement.find("*[name="+sch+"]").val().length); 396 }; 397 398 // ããã¹ãã¨ãªã¢ã®ãµã¤ãºã夿´ãã. 399 eccube.toggleRows = function(buttonSelector, textAreaSelector, max, min) { 400 if ($(textAreaSelector).attr('rows') <= min) { 401 $(textAreaSelector).attr('rows', max); 402 $(buttonSelector).text('縮å°'); 403 } else { 404 $(textAreaSelector).attr('rows', min); 405 $(buttonSelector).text('æ¡å¤§'); 406 } 407 }; 408 409 /** 410 * è¦æ ¼2ã®ãã«ãã¦ã³ãè¨å®ãã. 411 */ 412 eccube.setClassCategories = function($form, product_id, $sele1, $sele2, selected_id2) { 413 if ($sele1 && $sele1.length) { 414 var classcat_id1 = $sele1.val() ? $sele1.val() : ''; 415 if ($sele2 && $sele2.length) { 416 // è¦æ ¼2ã®é¸æè¢ãã¯ãªã¢ 417 $sele2.children().remove(); 418 419 var classcat2; 420 421 // ååä¸è¦§æ 422 if (eccube.hasOwnProperty('productsClassCategories')) { 423 classcat2 = eccube['productsClassCategories'][product_id][classcat_id1]; 424 } 425 // 詳細表示æ 426 else { 427 classcat2 = eccube['classCategories'][classcat_id1]; 428 } 429 430 // è¦æ ¼2ã®è¦ç´ ãè¨å® 431 for (var key in classcat2) { 432 if (classcat2.hasOwnProperty(key)) { 433 var id = classcat2[key]['classcategory_id2']; 434 var name = classcat2[key]['name']; 435 var option = $('<option />').val(id ? id : '').text(name); 436 if (id === selected_id2) { 437 option.attr('selected', true); 438 } 439 $sele2.append(option); 440 } 441 } 442 eccube.checkStock($form, product_id, $sele1.val() ? $sele1.val() : '__unselected2', 443 $sele2.val() ? $sele2.val() : ''); 444 } 445 } 446 }; 447 448 /** 449 * è¦æ ¼ã®é¸æç¶æ ã«å¿ãã¦, ãã£ã¼ã«ããè¨å®ãã. 450 */ 451 eccube.checkStock = function($form, product_id, classcat_id1, classcat_id2) { 452 453 classcat_id2 = classcat_id2 ? classcat_id2 : ''; 454 455 var classcat2; 456 457 // ååä¸è¦§æ 458 if (eccube.hasOwnProperty('productsClassCategories')) { 459 classcat2 = eccube['productsClassCategories'][product_id][classcat_id1]['#' + classcat_id2]; 460 } 461 // 詳細表示æ 462 else { 463 classcat2 = eccube['classCategories'][classcat_id1]['#' + classcat_id2]; 464 } 465 466 // ååã³ã¼ã 467 var $product_code_default = $form.find('[id^=product_code_default]'); 468 var $product_code_dynamic = $form.find('[id^=product_code_dynamic]'); 469 if (classcat2 && typeof classcat2['product_code'] !== 'undefined') { 470 $product_code_default.hide(); 471 $product_code_dynamic.show(); 472 $product_code_dynamic.text(classcat2['product_code']); 473 } else { 474 $product_code_default.show(); 475 $product_code_dynamic.hide(); 476 } 477 478 // å¨åº«(ååã) 479 var $cartbtn_default = $form.find('[id^=cartbtn_default]'); 480 var $cartbtn_dynamic = $form.find('[id^=cartbtn_dynamic]'); 481 if (classcat2 && classcat2['stock_find'] === false) { 482 483 $cartbtn_dynamic.text('ç³ã訳ãããã¾ããããåªä»ååãä¸ã§ãã').show(); 484 $cartbtn_default.hide(); 485 } else { 486 $cartbtn_dynamic.hide(); 487 $cartbtn_default.show(); 488 } 489 490 // éå¸¸ä¾¡æ ¼ 491 var $price01_default = $form.find('[id^=price01_default]'); 492 var $price01_dynamic = $form.find('[id^=price01_dynamic]'); 493 if (classcat2 && typeof classcat2['price01'] !== 'undefined' && String(classcat2['price01']).length >= 1) { 494 495 $price01_dynamic.text(classcat2['price01']).show(); 496 $price01_default.hide(); 497 } else { 498 $price01_dynamic.hide(); 499 $price01_default.show(); 500 } 501 502 // è²©å£²ä¾¡æ ¼ 503 var $price02_default = $form.find('[id^=price02_default]'); 504 var $price02_dynamic = $form.find('[id^=price02_dynamic]'); 505 if (classcat2 && typeof classcat2['price02'] !== 'undefined' && String(classcat2['price02']).length >= 1) { 506 507 $price02_dynamic.text(classcat2['price02']).show(); 508 $price02_default.hide(); 509 } else { 510 $price02_dynamic.hide(); 511 $price02_default.show(); 512 } 513 514 // ãã¤ã³ã 515 var $point_default = $form.find('[id^=point_default]'); 516 var $point_dynamic = $form.find('[id^=point_dynamic]'); 517 if (classcat2 && typeof classcat2['point'] !== 'undefined' && String(classcat2['point']).length >= 1) { 518 519 $point_dynamic.text(classcat2['point']).show(); 520 $point_default.hide(); 521 } else { 522 $point_dynamic.hide(); 523 $point_default.show(); 524 } 525 526 // ååè¦æ ¼ 527 var $product_class_id_dynamic = $form.find('[id^=product_class_id]'); 528 if (classcat2 && typeof classcat2['product_class_id'] !== 'undefined' && String(classcat2['product_class_id']).length >= 1) { 529 $product_class_id_dynamic.val(classcat2['product_class_id']); 530 } else { 531 $product_class_id_dynamic.val(''); 532 } 533 }; 534 535 // ã°ãã¼ãã«ã«ä½¿ç¨ã§ããããã«ãã 536 window.eccube = eccube; 537 538 /** 539 * Initialize. 540 */ 541 $(function() { 542 // è¦æ ¼1鏿æ 543 $('select[name=classcategory_id1]') 544 .change(function() { 545 var $form = $(this).parents('form'); 546 var product_id = $form.find('input[name=product_id]').val(); 547 var $sele1 = $(this); 548 var $sele2 = $form.find('select[name=classcategory_id2]'); 549 550 // è¦æ ¼1ã®ã¿ã®å ´å 551 if (!$sele2.length) { 552 eccube.checkStock($form, product_id, $sele1.val(), '0'); 553 // è¦æ ¼2ããã®å ´å 554 } else { 555 eccube.setClassCategories($form, product_id, $sele1, $sele2); 556 } 557 }); 558 559 // è¦æ ¼2鏿æ 560 $('select[name=classcategory_id2]') 561 .change(function() { 562 var $form = $(this).parents('form'); 563 var product_id = $form.find('input[name=product_id]').val(); 564 var $sele1 = $form.find('select[name=classcategory_id1]'); 565 var $sele2 = $(this); 566 eccube.checkStock($form, product_id, $sele1.val(), $sele2.val()); 567 }); 568 569 // ãã¦ã¹ãªã¼ãã¼ã§ç»ååãæ¿ã 570 $(".hover_change_image").each(function(){ 571 var target = $(this); 572 var srcOrig = target.attr("src"); 573 var srcOver = srcOrig.substr(0, srcOrig.lastIndexOf('.')) + '_on' + srcOrig.substr(srcOrig.lastIndexOf('.')); 574 target.hover( 575 function(){ 576 target.attr("src", srcOver); 577 }, 578 function(){ 579 target.attr("src", srcOrig); 580 } 581 ); 582 }); 583 584 // ã¢ã¼ãã«ã¦ã£ã³ã㦠585 if ($('a.expansion').length) { 586 $('a.expansion').colorbox(); 587 } 588 }); 589})(window);
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.