1function MM_preloadImages() { 2 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 3 var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) 4 if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} 5} 6 7 8function MM_swapImgRestore() { 9 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; 10} 11 12 13function MM_findObj(n, d) { 14 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 15 d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 16 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 17 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 18 if(!x && d.getElementById) x=d.getElementById(n); return x; 19} 20 21 22function MM_swapImage() { 23 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) 24 if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} 25} 26 27function MM_reloadPage(init) { 28 if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { 29 document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} 30 else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); 31} 32MM_reloadPage(true); 33 34function LinkSelect(form, sel) 35{ 36 adrs = sel.options[sel.selectedIndex].value; 37 if (adrs != "-" ) parent.location.href=adrs; 38} 39 40function MakeWin(a, target_name, x_size, y_size) { 41var attb = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=' + x_size + ',height=' + y_size; 42var str_js = (a.href.indexOf('.html') != -1) ? '' : ''; 43var subWin = window.open(a.href + str_js, target_name, attb); 44var check = ((navigator.appName.charAt(0) == "M") && (navigator.appVersion.charAt(0) <= 3)); 45if (!check) {subWin.focus();} 46} 47 48function MakeWin2(a, target_name, x_size, y_size) { 49var attb = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=' + x_size + ',height=' + y_size; 50var str_js = (a.href.indexOf('.html') != -1) ? '' : ''; 51var subWin = window.open(a.href + str_js, target_name, attb); 52var check = ((navigator.appName.charAt(0) == "M") && (navigator.appVersion.charAt(0) <= 3)); 53if (!check) {subWin.focus();} 54} 55 56function closewin(url) { 57 w = window.close(url, 'win','width=450,height=350,status=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,toolbar=no'); 58} 59 60function win_open(url, name, width, height){ 61 name = name.replace('-', '_');// for IE9 62 var subWin = window.open(url, name, 'width=' + width + ',height=' + height + ',location=yes,resizable=yes,scrollbars=yes'); 63 64 var check = ((navigator.appName.charAt(0) == "M") && (navigator.appVersion.charAt(0) <= 3)); 65 66 if (!check) {subWin.focus();} 67} 68 69function OpenMessage(page){ 70 if(document.all){ 71 menu = document.all('message'); 72 flag = menu.style.display; 73 if(flag == "block"){ 74 menu.style.display = "none"; 75 document.cookie="OpenMessage["+page+"]=0; expires=Thu, 1-Jan-2099 0:0:0; path=/;"; 76 document.all['change_show'].style.display = "block"; 77 } 78 else{ 79 menu.style.display = "block"; 80 document.cookie="OpenMessage["+page+"]=1; expires=Thu, 1-Jan-2099 0:0:0; path=/;"; 81 document.all['change_show'].style.display = "none"; 82 } 83 84 } 85 else if(document.getElementById){ 86 menu = document.getElementById('message'); 87 flag = menu.style.display; 88 if(flag == "block"){ 89 menu.style.display = "none"; 90 document.cookie="OpenMessage["+page+"]=0; expires=Thu, 1-Jan-2099 0:0:0; path=/;"; 91 document.getElementById('change_show').style.display = "block"; 92 } 93 else{ 94 menu.style.display = "block"; 95 document.cookie="OpenMessage["+page+"]=1; expires=Thu, 1-Jan-2099 0:0:0; path=/;"; 96 document.getElementById('change_show').style.display = "none"; 97 } 98 } 99} 100 101function openShop(path, subscription = false) 102{ 103 var auth = 'auth=t'; 104 if (subscription) { 105 auth = 'authSubscription=t'; 106 } 107 window.open(homeURL+'?go=move-shop&'+auth+'&path='+path); 108 return false;
109} 110 111var globalObj = { 112 htmlEditorWindowWidth: 780, 113 htmlEditorWindowHeight: 866, 114}; 115if (window.jQuery) { 116 jQuery(function () { 117 jQuery('#to_page_top').on('click', function (e) { 118 jQuery('html,body').animate({scrollTop: 0}, {duration: 800}); 119 return false; 120 }); 121 if (jQuery.fn.ahPlaceholder) { 122 jQuery('.jq-placeholder').ahPlaceholder({ 123 placeholderColor: 'rgb(153, 153, 153)', 124 placeholderAttr : 'placeholder', 125 likeApple : false 126 }); 127 } 128 if (document.documentMode && document.documentMode === 5) { 129 // IE5 Quirks (* without W3C url in DTD string) 130 jQuery('.main_area_page_title .page_title_circle').hide(); 131 } 132 if (jQuery.fn.optimizeImagePixelRatio) { 133 jQuery('img[data-x2], input[type="image"][data-x2]').optimizeImagePixelRatio({'forceHD': (globalObj.getCookie('forceHD') === '1')}); 134 } 135 globalObj.setModalImageEditor(); 136 globalObj.setImageModalDisplay('.popup_img'); 137 globalObj.setOpenImageManager('.open_image_manager'); 138 globalObj.setDropdownMenu(); 139 globalObj.setPhoneTooltipDesc(); 140 globalObj.setupSmoothAnchorLink(); 141 }); 142 globalObj.setImageModalDisplay = function (selector) { 143 if (typeof jQuery.fn.on == 'function') { 144 jQuery('body').on('click', selector, function () { 145 var $linkElem = jQuery(this); 146 var url = $linkElem.attr('href'); 147 if (url.match(/\.(jpe?g|gif|png|ico)$/i)) { 148 url += "?" + new Date().getTime(); 149 } 150 // group setting 151 const imageGroup = $linkElem.data('group'); 152 const groupSelector = imageGroup ? `[data-image-group="${imageGroup}"]` : null; 153 const urlAttr = $linkElem.data('url-attr'); 154 const groupUrlAttr = urlAttr ? urlAttr : 'href'; 155 const groupCaptionWrapSelector = $linkElem.data('caption-wrapper') ?? ''; 156 const groupCaptionElemSelector = $linkElem.data('caption-selector') ?? ''; 157 const groupCaptionAttr = $linkElem.data('caption-attr') ?? ''; 158 const isEn = jQuery('#admin_wrapper_table').hasClass('admin_english'); 159 // open dialog 160 (new DialogImage({ 161 dialogId: 'dialog_image', 162 prevButtonInnerHTML: `<i class="fa fa-chevron-left" aria-hidden="true"></i>`, 163 prevButtonTitle: isEn ? 'Previous' : 'åã¸', 164 nextButtonInnerHTML: `<i class="fa fa-chevron-right" aria-hidden="true"></i>`, 165 nextButtonTitle: isEn ? 'Next' : '次ã¸', 166 zoomInButtonInnerHTML: '<i class="fa fa-search-plus" aria-hidden="true" style="font-size: 17px;"></i>', 167 zoomInButtonTitle: isEn ? 'Zoom in' : 'æ¡å¤§ãã', 168 zoomOutButtonInnerHTML: '<i class="fa fa-search-minus" aria-hidden="true" style="font-size: 17px;"></i>', 169 zoomOutButtonTitle: isEn ? 'Zoom out' : '縮å°ãã', 170 closeButtonInnerHTML: '<i class="fa fa-times" aria-hidden="true" style="font-size: 16px;"></i>', 171 imageSizeVisible: true, 172 closeButtonTitle: isEn ? 'Close' : 'éãã', 173 groupSelector, 174 groupUrlAttr, 175 groupCaptionWrapSelector, 176 groupCaptionElemSelector, 177 groupCaptionAttr, 178 })).open({ 179 url, 180 caption: $linkElem.attr('title'), 181 }); 182 return false; 183 }); 184 } 185 }; 186 globalObj.setCookie = function(cookie_name, cookie_value, effective_days, cookie_path) { 187 var exp_str = ''; 188 var cookie_str; 189 if (effective_days) { 190 var exp = new Date(); 191 exp.setTime(exp.getTime()+1000*60*60*24*effective_days); 192 exp_str = '; expires=' + exp.toUTCString(); 193 } 194 cookie_str = encodeURIComponent(cookie_value); 195 document.cookie = cookie_name + '=' + cookie_str + exp_str + '; path=' + cookie_path; 196 }; 197 globalObj.getAllCookies = function () { 198 var cookies = {}; 199 var all = document.cookie; 200 if (all !== '') { 201 var lists = all.split('; '); 202 var cnt = lists.length; 203 for (var i = 0; i < cnt; i++) { 204 var cookie = lists[i]; 205 var p = cookie.indexOf('='); 206 var name = cookie.substring(0,p); 207 var value = cookie.substring(p+1); 208 value = decodeURIComponent(value); 209 cookies[name] = value; 210 } 211 } 212 return cookies; 213 }; 214 globalObj.getCookie = function(cookie_name) { 215 var allCookies = globalObj.getAllCookies(); 216 if (!allCookies[cookie_name] && allCookies[cookie_name] === undefined) { 217 return null 218 } else { 219 return allCookies[cookie_name]; 220 } 221 }; 222 globalObj.autoFitTextareaHeight = function(elem, key, fit) { 223 var padding = 5; 224 // backspace or delete or onblur 225 if (key === 'Backspace' || key === 'Delete' || fit) { 226 elem.style.height = 'auto'; 227 } 228 if(elem.scrollHeight > elem.offsetHeight){ 229 elem.style.height = (elem.scrollHeight + padding) + 'px'; 230 } 231 }; 232 globalObj.setAutoFitTextareaHeight = function (class_name) { 233 var selector = 'textarea'; 234 if (class_name) { 235 selector += '.' + class_name; 236 } 237 jQuery(selector).each(function(index, elem) { 238 globalObj.autoFitTextareaHeight (elem); 239 jQuery(elem).on('keyup', function(event) { 240 globalObj.autoFitTextareaHeight (event.target, event.key, false); 241 }); 242 jQuery(elem).on('blur', function(event) { 243 globalObj.autoFitTextareaHeight (event.target, null, false); 244 }); 245 }); 246 }; 247 globalObj.moveAnchor = function (selector, space, animation) { 248 var elem, targetOffset; 249 elem = jQuery(selector)[0]; 250 if (!elem) { 251 return false;
252 } 253 targetOffset = jQuery(elem).offset().top - space; 254 if (animation) { 255 jQuery('html,body').animate({scrollTop: (targetOffset)}, 'fast'); 256 } else { 257 setTimeout(function() { 258 window.scrollTo(0, targetOffset); 259 }, 10); 260 } 261 return true; 262 }; 263 globalObj.checkDateSelect = function (yElem, mElem, dElem, emptyLabel, useZeroPad) { 264 var y, 265 m, 266 d, 267 selectedDateIndex, 268 dateObj, 269 nextYear, 270 nextMonth, 271 lastDateObj, 272 lastDay, 273 optionCnt; 274 y = parseInt(yElem.value, 10); 275 m = parseInt(mElem.value, 10); 276 d = parseInt(dElem.value, 10); 277 selectedDateIndex = dElem.selectedIndex; 278 dateObj = new Date(y, (m - 1), d); 279 if (m === 12) { 280 nextYear = y + 1; 281 nextMonth = 1; 282 } else { 283 nextYear = y;d 284 nextMonth = m + 1; 285 } 286 lastDateObj = new Date(nextYear, (nextMonth - 1), 0); 287 lastDay = lastDateObj.getDate(); 288 optionCnt = isNaN(lastDay) ? 31 : lastDay; 289 dElem.options.length = 0; 290 if (typeof emptyLabel === 'undefined') { 291 emptyLabel = '--'; 292 } 293 dElem.options[0] = new Option(emptyLabel, ''); 294 for (var i = 1; i <= optionCnt; i++) { 295 var dayVal = i; 296 if (useZeroPad && i < 10) { 297 dayVal = '0' + i; 298 } 299 dElem.options[i] = new Option(i, dayVal); 300 } 301 dElem.selectedIndex = (optionCnt < 31 && lastDay < d) ? 0 : selectedDateIndex; 302 }; 303 globalObj.addSelectDateCheck = function (param) { 304 var defaults = { 305 selectors : null, // [{y:'',m:'',d:''}, ...] 306 emptyLabel : '--', 307 useZeroPad : false 308 }, 309 config; 310 config = jQuery.extend(defaults, param); 311 if (config.selectors === null || (!config.selectors.length || config.selectors.length === 0)) { 312 return false; // no selecter 313 } 314 var _setDateCheck = function (ySelector, mSelector, dSelector) { 315 globalObj.checkDateSelect( 316 jQuery(ySelector)[0], 317 jQuery(mSelector)[0], 318 jQuery(dSelector)[0], 319 config.emptyLabel, 320 config.useZeroPad 321 ); 322 jQuery(ySelector + ',' + mSelector).on('change', function (e) { 323 globalObj.checkDateSelect( 324 jQuery(ySelector)[0], 325 jQuery(mSelector)[0], 326 jQuery(dSelector)[0], 327 config.emptyLabel, 328 config.useZeroPad 329 ); 330 }); 331 }; 332 jQuery(config.selectors).each(function (index, obj) { 333 var ySelector, mSelector, dSelector; 334 ySelector = obj.y; 335 mSelector = obj.m; 336 dSelector = obj.d; 337 if (jQuery(ySelector)[0] && jQuery(mSelector)[0] && jQuery(dSelector)[0]) { 338 _setDateCheck(ySelector, mSelector, dSelector); 339 } 340 }); 341 return true; 342 }; 343 globalObj.disableEnterSubmit = function (parentSelector, targetSelector = 'input[type!=image]' + 'input[type!=submit]' + 'input[type!=button]') { 344 jQuery(parentSelector).on('keydown', targetSelector, function (e) { 345 if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) { 346 return false; 347 } 348 }); 349 }; 350 351 globalObj.setDisableOnSubmit = function (formSelector, timeoutSpeed) { 352 var formObj = jQuery(formSelector)[0]; 353 if (!formObj) { 354 return false; 355 } 356 var formButtons = jQuery(':submit, :image'); 357 var diableForm = function () { 358 return false; 359 }; 360 var timerID; 361 var resetAttr = function (elem) { 362 jQuery(elem).css({'cursor': '', 'opacity': '', 'filter': ''}); 363 jQuery(elem).off('click', diableForm); 364 clearTimeout(timerID); 365 }; 366 var escPress = function (e) { 367 if (e.keyCode === 27) { // ESC key 368 resetAttr(formButtons); 369 jQuery(document).off('keyup', escPress); 370 } 371 return true; 372 }; 373 var timeoutSec; 374 if (timeoutSpeed === 'fast') { 375 timeoutSec = 5; 376 } else if (timeoutSpeed === 'slow') { 377 timeoutSec = 15; 378 } else { 379 if (String(timeoutSpeed).match(/^[0-9]+$/)) { 380 timeoutSec = timeoutSpeed; 381 } else { 382 timeoutSec = 10; 383 } 384 } 385 var timeout = timeoutSec * 1000; 386 jQuery(formObj).on('submit', function (event) { 387 formButtons.css({'cursor': 'progress', 'opacity': '0.7', 'filter': 'alpha(opacity=70)'}); 388 jQuery(formButtons).on('click', diableForm); 389 timerID = setTimeout(function(){ 390 resetAttr(formButtons); 391 }, timeout);
392 // BFCacheã«ä¿åãããå ´åãå«ãã¦å¿ ãæ»ãã 393 // ä¿ååã«è¦ãç®ã¨ã¯ãªãã¯ææ¢ãè§£é¤ãã¦ãããªãã¨ã 394 // ãã©ã¦ã¶ããã¯ã§å¾©å ããã¨ãã«éä¿¡ãã¿ã³ãæ¼ããªãã¾ã¾ã«ãªãã 395 jQuery(window).on('pagehide', function () { 396 resetAttr(formButtons); 397 }); 398 if (timeoutSec < 15) { 399 jQuery(document).on('keyup', escPress); 400 } 401 }); 402 } 403 404 globalObj.resizeImageSquare = function (imgElem, wrapSelector, size) { 405 var $imgElem = jQuery(imgElem); 406 var imgPath; 407 var tmpImg; 408 var resizeAfterLoading = function ($imgElem, wrapSelector, size) { 409 var $wrapElem = $imgElem.closest(wrapSelector); 410 var computedWidth = $imgElem.width(); 411 var computedHeight = $imgElem.height(); 412 $wrapElem.css({ 413 width: size + 'px', 414 height: size + 'px', 415 padding: '0', 416 margin: '0', 417 display: 'table-cell', 418 lineHeight: size + 'px', 419 verticalAlign: 'middle', 420 textAlign: 'center' 421 }); 422 if (computedWidth < computedHeight) { 423 $imgElem.css({width: 'auto', height: size + 'px'}); 424 } else if (computedHeight < computedWidth) { 425 $imgElem.css({width: size + 'px', height: 'auto'}); 426 } 427 }; 428 imgPath = $imgElem.attr('src'); 429 tmpImg = new Image(); 430 tmpImg.onload = function (e) { 431 resizeAfterLoading($imgElem, wrapSelector, size); 432 }; 433 tmpImg.src = imgPath; 434 }; 435 globalObj.setWideWidthSelection = function () { 436 var self = this; 437 self.wideClassName = 'wide_ver'; 438 self.cookieKey = 'reduceAdminPageWidth'; 439 self.fullWidthTitle = ''; 440 self.reduceTitle = ''; 441 self.duration = 0; 442 self.setTitleString = function () { 443 if (jQuery('#admin_wrapper_table').hasClass('admin_japanese')) { 444 self.fullWidthTitle = "100%å¹ è¡¨ç¤º"; 445 self.reduceTitle = "è¡¨ç¤ºå¹ ãçãã"; 446 } else { 447 self.fullWidthTitle = "Use full-width page"; 448 self.reduceTitle = "Reduce page width"; 449 } 450 }; 451 self.setDuration = function () { 452 if (window.addEventListener === undefined || 'ontouchend' in window || document.selection) { 453 // touch device, ie10 or lower 454 self.duration = 0; 455 } else { 456 self.duration = 'normal'; 457 } 458 }; 459 self.isWideVerDefault = function () { 460 return !globalObj.getCookie(self.cookieKey); 461 }; 462 self.setCookieFlag = function (value) { 463 globalObj.setCookie(self.cookieKey, value, 365, '/admin/'); 464 }; 465 self.setBodyClassName = function (useWideClassName) { 466 if (useWideClassName) { 467 jQuery('body').addClass('liquid_width').removeClass('wide_fixed_width'); 468 } else { 469 jQuery('body').addClass('wide_fixed_width').removeClass('liquid_width'); 470 } 471 }; 472 self.animateWidth = function (useWideClassName) { 473 var $buttonElem = jQuery('.btn_windowsize'); 474 $buttonElem.hide(); 475 if (useWideClassName) { 476 jQuery('.main_admin_content').animate({width: '90%'}, self.duration, function () { 477 self.setBodyClassName(useWideClassName); 478 jQuery('.main_admin_content').css({width: ''}); 479 $buttonElem.show(); 480 }); 481 } else { 482 jQuery('.main_admin_content').animate({width: '1300px'}, self.duration, function () { 483 self.setBodyClassName(useWideClassName); 484 jQuery('.main_admin_content').css({width: ''}); 485 $buttonElem.show(); 486 }); 487 } 488 }; 489 self.changeAdminWith = function (useWideClassName) { 490 if (self.duration) { 491 self.animateWidth(useWideClassName); 492 } else { 493 self.setBodyClassName(useWideClassName); 494 } 495 }; 496 self.switchAdminWidth = function ($targetElem) { 497 var cookieValue; 498 if ($targetElem.hasClass(self.wideClassName)) { 499 // change reduce width 500 self.changeAdminWith(true); 501 $targetElem.removeClass(self.wideClassName); 502 $targetElem.attr({title: self.reduceTitle}); 503 cookieValue = ''; 504 } else { 505 // change full width 506 self.changeAdminWith(false); 507 $targetElem.addClass(self.wideClassName); 508 $targetElem.attr({title: self.fullWidthTitle}); 509 cookieValue = '1'; 510 } 511 self.setCookieFlag(cookieValue); 512 }; 513 self.setSwitchEvent = function ($elem) { 514 $elem.on("click", function (e) { 515 self.switchAdminWidth(jQuery(e.currentTarget)); 516 }); 517 }; 518 self.createSwitchButton = function (isWide, defaultTitle) { 519 var $buttonElem = jQuery('<span>').addClass('btn_windowsize'); 520 var $wrapElem = jQuery('<div>').addClass('windowsize'); 521 if (!isWide) { 522 $buttonElem.addClass(self.wideClassName); 523 } 524 $buttonElem.attr({title: defaultTitle}); 525 self.setSwitchEvent($buttonElem); 526 $wrapElem.append($buttonElem); 527 return $wrapElem; 528 }; 529 self.setSwitchButton = function () { 530 var $mainElem = jQuery('#admin_main'); 531 var isWide; 532 var defaultTitle; 533 var $buttonWrapElem; 534 if ($mainElem.length === 0) { 535 return false;
536 } 537 self.setTitleString(); 538 self.setDuration(); 539 isWide = self.isWideVerDefault(); 540 if (self.isWideVerDefault()) { 541 defaultTitle = self.reduceTitle; 542 } else { 543 defaultTitle = self.fullWidthTitle; 544 } 545 self.setBodyClassName(isWide); 546 $buttonWrapElem = self.createSwitchButton(isWide, defaultTitle); 547 $mainElem.prepend($buttonWrapElem); 548 return true; 549 }; 550 self.setSwitchButton(); 551 }; 552 globalObj.setSideMenuToggle = function () { 553 var hiddenCookieKey = 'hiddenAdminLeftMenu'; 554 var $closeElem = jQuery('#close_left_admin_menu'); 555 var $openElem = jQuery('#open_left_admin_menu'); 556 var $menuElem = jQuery('#admin_left_menu_list'); 557 var openedMenuClassName = 'admin_left_menu_opened'; 558 var closedMenuClassName = 'admin_left_menu_closed'; 559 if ($closeElem.length === 0 || $openElem.length === 0 || $menuElem.length === 0) { 560 return false; 561 } 562 $closeElem.css({display: 'block'}).on("click", function (e) { 563 var duration = (window.addEventListener === undefined || 'ontouchend' in window) ? 0 : 'normal'; 564 var $tdElem = jQuery(e.target).parents('.main_table_color'); 565 $tdElem.attr({width: 10}); 566 jQuery('#admin_left_menu_list').hide(duration, function () { 567 jQuery('#admin_left_open_btn').show(); 568 }); 569 jQuery('html').removeClass(openedMenuClassName).addClass(closedMenuClassName); 570 globalObj.setCookie(hiddenCookieKey, '1', 365, '/admin/'); 571 }); 572 $openElem.css({display: 'block'}).on("click", function (e) { 573 var duration = (window.addEventListener === undefined || 'ontouchend' in window) ? 0 : 'normal'; 574 var $tdElem = jQuery(e.target).parents('.main_table_color'); 575 $tdElem.attr({width: 190}); 576 jQuery('#admin_left_open_btn').hide(); 577 jQuery('#admin_left_menu_list').slideDown(duration); 578 jQuery('html').removeClass(closedMenuClassName).addClass(openedMenuClassName); 579 if (window.addEventListener === undefined) { 580 // for legacy ie 581 setTimeout(function () { 582 jQuery('#admin_left_menu_list').hide().show(); 583 }, 200); 584 } 585 globalObj.setCookie(hiddenCookieKey, '', 365, '/admin/'); 586 }); 587 if (globalObj.getCookie(hiddenCookieKey)) { 588 jQuery('html').removeClass(openedMenuClassName).addClass(closedMenuClassName); 589 } else { 590 jQuery('html').removeClass(closedMenuClassName).addClass(openedMenuClassName); 591 } 592 return true; 593 }; 594 globalObj.setHoverBoxClassName = function (hoverName, boxSelector, $checkedElem, $wrapElem) { 595 $wrapElem.find(boxSelector).removeClass(hoverName); 596 $checkedElem.closest(boxSelector).addClass(hoverName); 597 }; 598 globalObj.setHoverBoxClickEvent = function (config) { 599 var defaults = { 600 hoverName: 'hover_box', 601 boxSelector: 'image_box', 602 radioName: '', 603 clickSelector: 'img', 604 wrapSelector: '', 605 finished: false 606 }; 607 var options = jQuery.extend({}, defaults, config); 608 var $wrapElements = jQuery(options.wrapSelector); 609 if ($wrapElements.length === 0 || !options.radioName) { 610 return false; 611 } 612 $wrapElements.each(function (index, elem) { 613 var $wrapElem = jQuery(elem); 614 if (options.finished) { 615 globalObj.setHoverBoxClassName(options.hoverName, options.boxSelector, $wrapElem.find('input[name="' + options.radioName + '"]'), $wrapElem); 616 } else { 617 globalObj.setHoverBoxClassName(options.hoverName, options.boxSelector, $wrapElem.find('input[name="' + options.radioName + '"]:checked'), $wrapElem); 618 } 619 $wrapElem.find(options.boxSelector + ' ' + options.clickSelector + ', ' + 'input[name="' + options.radioName + '"]').on("click", function (e) { 620 jQuery(e.currentTarget).closest(options.boxSelector).find('input[name="' + options.radioName + '"]').attr({checked: true}).focus();
621 globalObj.setHoverBoxClassName(options.hoverName, options.boxSelector, $wrapElem.find('input[name="' + options.radioName + '"]:checked'), $wrapElem); 622 }); 623 }); 624 return true; 625 }; 626 globalObj.setToggleDisplay = function ($wrapElem, action, cookieKey) { 627 var $closeBtnElem = jQuery('.data_close'); 628 var $openBtnElem = jQuery('.data_open'); 629 var cookieValue; 630 if (action === 'close') { 631 $wrapElem.removeClass('extension_view').addClass('minimum_view'); 632 $closeBtnElem.hide(); 633 $openBtnElem.show(); 634 cookieValue = ''; 635 } else if (action === 'open') { 636 $wrapElem.removeClass('minimum_view').addClass('extension_view'); 637 $closeBtnElem.show(); 638 $openBtnElem.hide(); 639 cookieValue = '1'; 640 } 641 if (cookieKey) { 642 globalObj.setCookie(cookieKey, cookieValue, 365, '/admin/'); 643 } 644 }; 645 globalObj.setToggleDisplayEvent = function (defaultAction, cookieKey) { 646 var $wrapElem = jQuery('.beginner_setting_mode'); 647 if ($wrapElem.length === 0) { 648 return false; 649 } 650 globalObj.setToggleDisplay($wrapElem, defaultAction); 651 jQuery('.data_close a').on("click", function () { 652 globalObj.setToggleDisplay($wrapElem, 'close', cookieKey); 653 }); 654 jQuery('.data_open a').on("click", function () { 655 globalObj.setToggleDisplay($wrapElem, 'open', cookieKey); 656 }); 657 return true; 658 }; 659 globalObj.setOpenField = function (config) { 660 var self = globalObj.setOpenField; 661 var defaults = { 662 linkSelector: '#open_meta_settings', 663 hiddenSelector: '.meta_settings', 664 buttonWrapSelector: '.standard_toggle_btn' 665 }; 666 var options = jQuery.extend({}, defaults, config); 667 self.openElem = function ($targetElem, options) { 668 jQuery(options.hiddenSelector).show(); 669 $targetElem.closest(options.buttonWrapSelector).remove(); 670 }; 671 jQuery(options.linkSelector).on("click", function (e) { 672 self.openElem(jQuery(e.currentTarget), options); 673 }); 674 }; 675 globalObj.setOpenCloseField = function (options) { 676 var self = globalObj.setOpenCloseField; 677 self.toggleElem = function ($targetElem, options) { 678 jQuery(options.showSelector).show(); 679 jQuery(options.hideSelector).hide(); 680 }; 681 jQuery(options.linkSelector).on("click", function (e) { 682 self.toggleElem(jQuery(e.currentTarget), options); 683 if (options.recordPage && options.recordKey) { 684 globalObj.openRecordAjax(options.recordPage, options.recordKey, options.recordValue); 685 } 686 }); 687 }; 688 globalObj.openRecordAjax = function (page, key, value) { 689 var request_data = 'go=open-selector-record&page='+page+'&key='+key+'&open='+value; 690 jQuery.ajax({ 691 dataType: 'text', 692 url : ajaxRequestBase, 693 type : 'get', 694 data : request_data 695 }); 696 return false; 697 }; 698 699 globalObj.adminImagePath = '/admin/res/new/img'; 700 globalObj.setTagMatchValidation = function (selector, buttonWrapperSelector) { 701 if (jQuery.fn.tagMatchValidation) { 702 var lang; 703 if (jQuery('#admin_wrapper_table').hasClass('admin_japanese')) { 704 lang = 'japanese'; 705 } else { 706 lang = 'english'; 707 } 708 jQuery(selector).tagMatchValidation({ 709 lang: lang, 710 buttonWrapClassName: 'admin_tagcheck_btn', 711 buttonClassName: 'global_square_smallest_btn global_square_blue_btn', 712 buttonWrapperSelector: buttonWrapperSelector, 713 okIcon: '<img src="' + globalObj.adminImagePath + '/icon_ok_x2.png" width="16" height="16" alt="" class="vami" />', 714 messageIcon: '<img src="' + globalObj.adminImagePath + '/icon_note_x2.png" width="16" height="16" alt="" class="vami" />' 715 }); 716 } 717 }; 718
719 globalObj.closeBackgroundId = 'black_out_background'; 720 globalObj.setCloseBackgroundSize = function ($divElem) { 721 var $bodyElem = jQuery('body'); 722 var height = $bodyElem[0].scrollHeight; 723 var width = $bodyElem[0].scrollWidth; 724 $divElem.css({width: width, height: height}); 725 return $divElem; 726 }; 727 globalObj.resizeCloseBackground = function () { 728 var $closeBackgroundElem = jQuery('#' + globalObj.closeBackgroundId); 729 if (0 < $closeBackgroundElem.length) { 730 globalObj.setCloseBackgroundSize($closeBackgroundElem); 731 } 732 }; 733 globalObj.setResizeCloseBackground = function () { 734 jQuery(window).resize(function (e) { 735 globalObj.resizeCloseBackground(); 736 }); 737 }; 738 globalObj.appendCloseBackground = function (popupSelector, hidingCssObj, callback) { 739 var $bgElem = jQuery('#' + globalObj.closeBackgroundId); 740 if ($bgElem.length === 0) { 741 var $divElem = jQuery('<div>').attr({id: globalObj.closeBackgroundId}); 742 globalObj.setCloseBackgroundSize($divElem); 743 $divElem.on("click", function (e) { 744 globalObj.removeCloseBackground(popupSelector, hidingCssObj, callback); 745 }); 746 jQuery('body').append($divElem); 747 } else { 748 $bgElem.on("click", function (e) { 749 globalObj.removeCloseBackground(popupSelector, hidingCssObj, callback); 750 }); 751 } 752 }; 753 globalObj.removeCloseBackground = function (popupSelector, hidingCssObj, callback) { 754 var $popupElem = jQuery(popupSelector); 755 $popupElem.css(hidingCssObj); 756 if (typeof callback === 'function') { 757 callback(); 758 } 759 jQuery('#' + globalObj.closeBackgroundId).remove(); 760 }; 761 globalObj.clickCloseBackground = function () { 762 jQuery('#' + globalObj.closeBackgroundId).trigger('click'); 763 }; 764 globalObj.setPageHideEvent = function () { 765 jQuery(window).on('pagehide', function (e) { 766 globalObj.clickCloseBackground(); 767 }); 768 }; 769 globalObj.setBalloonPopUp = function (wrapSelector, linkSelector, boxSelector) { 770 if (jQuery.fn.on) { 771 var self = this.setBalloonPopUp; 772 self.setReversePosition = function ($boxElem, isReverse) { 773 if (isReverse) { 774 var boxHeight = $boxElem[0].clientHeight; 775 $boxElem.css({top: '-' + boxHeight + 'px'}); 776 } 777 }; 778 self.show = function ($boxElem, $linkElem) { 779 $boxElem.css({visibility: 'visible'}); 780 $linkElem.addClass('hover'); 781 if ($boxElem.data('anchor') === 'on') { 782 globalObj.moveAnchor($boxElem, 10, true); 783 } 784 }; 785 self.hide = function ($boxElem, $linkElem) { 786 $boxElem.css({visibility: 'hidden'}); 787 $linkElem.removeClass('hover'); 788 }; 789 self.toggle = function ($boxElem, $linkElem) { 790 if ($boxElem.css('visibility') === 'visible') { 791 self.hide($boxElem, $linkElem); 792 globalObj.clickCloseBackground(); 793 } else if ($boxElem.css('visibility') === 'hidden') { 794 var callback = function () { 795 self.hide($boxElem, $linkElem); 796 }; 797 self.show($boxElem, $linkElem); 798 if ($boxElem.closest('#ajax_form').length === 0) { 799 globalObj.appendCloseBackground($boxElem, {visibility : 'hidden'}, callback); 800 } 801 } 802 }; 803 self.createCloseButton = function () { 804 var $divElem = jQuery('<div>').addClass('upper_right_close'); 805 var $btnElem = jQuery('<span>').addClass('close_button').on("click", function (e) { 806 var $closeElem = jQuery(e.currentTarget); 807 var $wrapElem = $closeElem.closest(wrapSelector); 808 var $linkElem = $wrapElem.find(linkSelector); 809 var $boxElem = $wrapElem.find(boxSelector); 810 var callback = function () { 811 self.hide($boxElem, $linkElem); 812 };
813 globalObj.removeCloseBackground($boxElem, {visibility : 'hidden'}, callback); 814 }); 815 $divElem.append($btnElem); 816 return $divElem; 817 }; 818 self.setCloseButton = function ($boxElem, isInit) { 819 if (globalObj.touchDevice) { 820 if (isInit || $boxElem.find('.close_button').length === 0) { 821 $boxElem.append(self.createCloseButton()); 822 } 823 } 824 }; 825 self.setEvent = function () { 826 jQuery(document).on('click', linkSelector, function (e) { 827 var $linkElem = jQuery(e.currentTarget); 828 var $wrapElem = $linkElem.closest(wrapSelector); 829 var $boxElem = $wrapElem.find(boxSelector); 830 if (0 < $linkElem.length && 0 < $boxElem.length) { 831 self.setCloseButton($boxElem, false); 832 if (globalObj.touchDevice) { 833 self.toggle($boxElem, $linkElem); 834 } else { 835 self.show($boxElem, $linkElem); 836 } 837 } 838 return false; 839 }); 840 if (!globalObj.touchDevice) { 841 jQuery(document).on('mouseover', linkSelector, function (e) { 842 var $linkElem = jQuery(e.currentTarget); 843 var $wrapElem = $linkElem.closest(wrapSelector); 844 var $boxElem = $wrapElem.find(boxSelector); 845 if (0 < $linkElem.length && 0 < $boxElem.length) { 846 self.setCloseButton($boxElem, false); 847 self.show($boxElem, $linkElem); 848 } 849 return false; 850 }); 851 jQuery(document).on('mouseleave', wrapSelector, function (e) { 852 var $wrapElem = jQuery(e.currentTarget); 853 var $linkElem = $wrapElem.find(linkSelector); 854 var $boxElem = $wrapElem.find(boxSelector); 855 if (0 < $linkElem.length && 0 < $boxElem.length) { 856 self.setCloseButton($boxElem, false); 857 self.hide($boxElem, $linkElem); 858 } 859 }); 860 } 861 }; 862 self.prepare = function ($wrapElem) { 863 $wrapElem.each(function (index, elem) { 864 var $elem = jQuery(elem); 865 var $linkElem = $elem.find(linkSelector); 866 var $boxElem = $elem.find(boxSelector); 867 if (0 < $linkElem.length && 0 < $boxElem.length) { 868 self.setCloseButton($boxElem, true); 869 } 870 }); 871 }; 872 self.init = function () { 873 var $wrapElem = jQuery(wrapSelector); 874 if ($wrapElem.length === 0) { 875 return false; 876 } 877 self.setEvent(); 878 self.prepare($wrapElem); 879 return true; 880 }; 881 return self.init(); 882 } else { 883 return false; 884 } 885 }; 886 887 globalObj.setDatePicker = function (config, selector, toSelector, required) { 888 if (!jQuery.fn.datepicker) { 889 console.error('ERROR :: globalObj.setDatePicker() :: undefined jQuery.fn.datepicker'); 890 return; 891 } 892 if (!selector) { 893 console.error('ERROR :: globalObj.setDatePicker() :: undefined selector'); 894 return; 895 } 896 globalObj.overwriteDatepicker(); 897 var isJapanese = jQuery('#admin_wrapper_table').hasClass('admin_japanese'); 898 var showAdditionalButton = function (input) { 899 if (typeof input !== 'object') { 900 return; 901 } 902 setTimeout(function() { 903 var $buttonPaneElem = jQuery(input).datepicker('widget').find('.ui-datepicker-buttonpane'); 904 var clearLabel = isJapanese ? 'ã¯ãªã¢' : 'Clear'; 905 var $btnElem = jQuery('<button class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" type="button">' + clearLabel + '</button>'); 906 $btnElem 907 .off('click') 908 .on('click', function () { 909 jQuery(input).val('').datepicker('hide'); 910 }); 911 912 $btnElem.appendTo($buttonPaneElem); 913 }, 1 ); 914 }; 915 var defaults = { 916 dateFormat: 'yy/mm/dd', 917 showButtonPanel: true, 918 changeYear: true, 919 changeMonth: true, 920 showMonthAfterYear: true, 921 hideIfNoPrevNext: true, 922 firstDay: 0, // [0, 1] * Sunday is 0, Monday is 1 923 defaultDate: null, 924 minDate: null, 925 maxDate: null 926 }; 927 var options; 928 var toOptions; 929 if (!required) { 930 defaults.beforeShow = showAdditionalButton; 931 defaults.onChangeMonthYear = showAdditionalButton; 932 } 933 if (isJapanese) { 934 defaults.monthNames = ['1æ', '2æ', '3æ', '4æ', '5æ', '6æ', '7æ', '8æ', '9æ', '10æ', '11æ', '12æ']; 935 defaults.monthNamesShort = ['1æ', '2æ', '3æ', '4æ', '5æ', '6æ', '7æ', '8æ', '9æ', '10æ', '11æ', '12æ']; 936 defaults.dayNamesMin = ['æ¥', 'æ', 'ç«', 'æ°´', 'æ¨', 'é', 'å']; 937 defaults.yearSuffix = 'å¹´'; 938 defaults.weekHeader = 'é±';
939 defaults.closeText = 'éãã'; 940 defaults.prevText = '«å'; 941 defaults.nextText = '次»'; 942 defaults.currentText = '仿¥'; 943 } 944 options = jQuery.extend({}, defaults, config); 945 if (toSelector) { 946 toOptions = jQuery.extend({}, options); 947 toOptions.onClose = function(selectedDate) { 948 jQuery(selector).datepicker('option', 'maxDate', (selectedDate ? selectedDate : options.maxDate)); 949 }; 950 options.onClose = function (selectedDate) { 951 jQuery(toSelector).datepicker('option', 'minDate', (selectedDate ? selectedDate : options.minDate)); 952 }; 953 } 954 jQuery(selector).datepicker(options); 955 if (toSelector) { 956 jQuery(toSelector).datepicker(toOptions); 957 } 958 }; 959 960 961 globalObj.openImageManager = function (url) { 962 var height = jQuery(window).height(); 963 var width = jQuery(window).width(); 964 if (width < 1000) { 965 width = 1000; 966 } else { 967 width = width * 0.92; 968 } 969 if (height < 800) { 970 height = 800; 971 } else { 972 height = height * 0.95; 973 } 974 win_open(url, 'image-manager', width, height); 975 }; 976 977 globalObj.setOpenImageManager = function (selector) { 978 if (typeof jQuery.fn.on == 'function') { 979 jQuery('body').on('click', selector, function (e) { 980 var folder = window.imageManagerFolder ? '&folder=' + window.imageManagerFolder : ''; 981 var linkUrl = jQuery(this).attr('href'); 982 var url = linkUrl.match(/&folder=/) === null ? linkUrl + folder : linkUrl; 983 globalObj.openImageManager(url); 984 return false; 985 }); 986 } 987 }; 988 989 globalObj.setOpenWindow = function (selector) { 990 if (typeof jQuery.fn.on == 'function') { 991 jQuery('body').on('click', selector, function (e) { 992 var url = jQuery(this).attr('href'); 993 window.open(url); 994 return false; 995 }); 996 } 997 }; 998 999 globalObj.allSelectTextBody = function(textElem) { 1000 if (!textElem) { 1001 return; 1002 } 1003 if (globalObj.touchDevice) { 1004 setTimeout(function() { 1005 if (textElem) { 1006 var end = textElem.value.length; 1007 textElem.focus(); 1008 textElem.setSelectionRange(0, end); 1009 } 1010 }, 200); 1011 } else { 1012 textElem.select(); 1013 } 1014 }; 1015 1016 globalObj.overwriteDatepicker = function () { 1017 if (!jQuery.fn.datepicker) { 1018 return; 1019 } 1020 jQuery.datepicker._gotoToday = function(id) { 1021 var target = jQuery(id); 1022 var inst = this._getInst(target[0]); 1023 if (this._get(inst, 'gotoCurrent') && inst.currentDay) { 1024 inst.selectedDay = inst.currentDay; 1025 inst.drawMonth = inst.selectedMonth = inst.currentMonth; 1026 inst.drawYear = inst.selectedYear = inst.currentYear; 1027 } 1028 else { 1029 var date = new Date(); 1030 inst.selectedDay = date.getDate(); 1031 inst.drawMonth = inst.selectedMonth = date.getMonth(); 1032 inst.drawYear = inst.selectedYear = date.getFullYear(); 1033 // the below two lines are new 1034 this._setDateDatepicker(target, date); 1035 this._selectDate(id, this._getDateDatepicker(target)); 1036 } 1037 this._notifyChange(inst); 1038 this._adjustDate(target); 1039 }; 1040 }; 1041 1042 globalObj.setModalImageEditor = function () { 1043 if (typeof jQuery.fn.on == 'function') { 1044 jQuery('body').on('click', '.modal_image_editor', function () { 1045 var $selfElem = jQuery(this); 1046 var href = $selfElem.attr('href'); 1047 var params = globalObj.parseParameter(href); 1048 if (params.img.match(/(jpg|jpeg|png)$/i)) { 1049 globalObj.showModalImageEditor(href); 1050 } else { 1051 //change to fancybox 1052 var imgUrl = $selfElem.find('img').attr('src'); 1053 $selfElem 1054 .attr('href', imgUrl) 1055 .removeClass('modal_image_editor') 1056 .addClass('popup_img'); 1057 $selfElem.trigger('click'); 1058 } 1059 return false;
1060 }); 1061 } 1062 }; 1063 1064 globalObj.getModalWindowHeight = function() { 1065 var windowHeight = (window.innerHeight||document.documentElement.clientHeight||700); 1066 if (windowHeight > 700) { 1067 windowHeight = 700; 1068 } 1069 return windowHeight; 1070 }; 1071 1072 globalObj.setResizeModalWindow = function () { 1073 jQuery(window).on('orientationchange.editor_orientation resize.editor_resize', function() { 1074 jQuery('#iframe-image-editor').attr('height', globalObj.getModalWindowHeight()); 1075 }); 1076 }; 1077 1078 globalObj.setResizeModalWindow = function () { 1079 jQuery(window).on('orientationchange.editor_orientation resize.editor_resize', function() { 1080 jQuery('#iframe-image-editor').attr('height', globalObj.getModalWindowHeight()); 1081 }); 1082 }; 1083 1084 globalObj.unsetResizeModalWindow = function () { 1085 jQuery(window).off('orientationchange.editor_orientation resize.editor_resize'); 1086 }; 1087 1088 globalObj.showModalImageEditor = function (url, config) { 1089 const defaults = { 1090 wrapClassName: 'image-editor', 1091 iframeId: 'iframe-image-editor', 1092 }; 1093 const options = jQuery.extend({}, defaults, config); 1094 var windowHeight = globalObj.getModalWindowHeight(); 1095 var isHeightHigh = false; 1096 if ('ontouchend' in window) { 1097 isHeightHigh = true; 1098 } 1099 new ModalWindow({ 1100 mode: 'default', 1101 isHeightHigh: isHeightHigh, 1102 innerHtmlStr: '<iframe src="'+url+'" width="100%" height="'+windowHeight+'" id="'+options.iframeId+'"></iframe>', 1103 closeBtnHtml: '<span class="close_btn_box" role="button" title="close"><img src="'+adminImgPath+'btn_close_x2.png" width="25" height="25" /></span>', 1104 cancelBtnSelector: '', 1105 additionalWrapClassName: options.wrapClassName, 1106 useEscKeyCancel: true, 1107 fadeInSpeed: 200, 1108 openedCallback: function () { 1109 globalObj.setResizeModalWindow(); 1110 }, 1111 destroyCallback: function () { 1112 globalObj.unsetResizeModalWindow(); 1113 } 1114 }); 1115 return false; 1116 }; 1117 1118 /** 1119 * ç»åç·¨éã¢ã¼ãã«(photoEditer)ãéãã 1120 * éãã¦ããªãå ´åã¯ä½ãããªã 1121 * @returns {void} 1122 * @example globalObj.closeModalImageEditor(); 1123 */ 1124 globalObj.closeModalImageEditor = function () { 1125 const modalElem = document.querySelector('.overlay_area.image-editor'); 1126 if (modalElem === null) { 1127 return; 1128 } 1129 // ModalWindowã®ã¤ã³ã¹ã¿ã³ã¹åç §ãä¿æãã¦ããªããããéãããã¿ã³çµç±ã§æ¢åã®ç ´æ£å¦çãèµ°ããã 1130 const closeButtonElem = modalElem.querySelector('.close_btn_box'); 1131 if (closeButtonElem === null) { 1132 return; 1133 } 1134 // ç ´æ£å¦çã¯ãã§ã¼ãã¢ã¦ããä¼´ããç´å¾ã«alertçã§ãããã¯ãããã¨è¡¨ç¤ºãæ®ãããå ã«é表示ã«ãã 1135 modalElem.style.display = 'none'; 1136 closeButtonElem.click(); 1137 }; 1138 1139 globalObj.showModalInnerFrame = function (config) { 1140 const defaults = { 1141 url: '', 1142 wrapClassName: '', 1143 iframeId: '', 1144 }; 1145 const options = jQuery.extend({}, defaults, config); 1146 const classNames = ['modal_inner_frame']; 1147 if (options.wrapClassName) { 1148 classNames.push(options.wrapClassName); 1149 } 1150 return globalObj.showModalImageEditor(options.url, { 1151 wrapClassName: classNames.join(' '), 1152 iframeId: options.iframeId, 1153 }); 1154 }; 1155 1156 globalObj.setupInnerFrameHeightMessage = function (wrapSelector, fromSelector) { 1157 const postIframeHeight = () => { 1158 const wrapElement = document.querySelector(wrapSelector); 1159 if (wrapElement === null) { 1160 return; 1161 } 1162 const height = wrapElement.offsetHeight; 1163 window.parent.postMessage({ iframeHeight: height }, location.origin); 1164 }; 1165 // onload 1166 postIframeHeight(); 1167 // resize 1168 window.addEventListener('resize', postIframeHeight); 1169 // destroy 1170 if (!fromSelector) { 1171 return; 1172 } 1173 const formElement = document.querySelector(fromSelector); 1174 formElement.addEventListener('submit', function () { 1175 window.removeEventListener('resize', postIframeHeight); 1176 }); 1177 }; 1178 1179 globalObj.getParameter = function() { 1180 //get url 1181 var url = location.href; 1182 return globalObj.parseParameter(url); 1183 }; 1184 1185 globalObj.parseParameter = function(url) { 1186 var paramsObj = {}; 1187 var parser = document.createElement('a'); 1188 parser.href = url; 1189 var parameters = parser.search; 1190 1191 if(parameters != '') { 1192 parameters = parameters.replace(/^\?/, ''); 1193 var params = parameters.split("&"); 1194 for ( i = 0; i < params.length; i++ ) { 1195 var paramItem = params[i].split("="); 1196 paramsObj[paramItem[0]] = paramItem[1]; 1197 } 1198 } 1199 return paramsObj; 1200 }; 1201 1202 globalObj.isImageEditable = function(img) { 1203 var extension = img.split(".").pop(); 1204 return extension.match(/^(jpg|jpeg|png)$/i); 1205 }; 1206 1207 globalObj.touchDevice = false;
1208 globalObj.msTouch = false; 1209 globalObj.forceTouch = (globalObj.getCookie('forceTouch') === '1'); 1210 globalObj.setTouchDevice = function () { 1211 var touchDevice = false; 1212 var msTouch = false; 1213 if (globalObj.forceTouch) { 1214 touchDevice = true; 1215 msTouch = true; 1216 } else { 1217 if ('ontouchend' in window) { 1218 touchDevice = true; 1219 } else { 1220 if ((navigator.maxTouchPoints && 1 < navigator.maxTouchPoints) || (navigator.msMaxTouchPoints && 1 < navigator.msMaxTouchPoints)) { 1221 touchDevice = true; 1222 msTouch = true; 1223 } 1224 } 1225 } 1226 globalObj.touchDevice = touchDevice; 1227 globalObj.msTouch = msTouch; 1228 }; 1229 globalObj.setTouchDevice(); 1230 1231 globalObj.setDropdownMenu = function () { 1232 if (!jQuery.dropdownMenu) { 1233 return; 1234 } 1235 jQuery.dropdownMenu({ 1236 menuWrapSelector: 'ul.dropmenu', 1237 hoverClassName : 'nav_on', 1238 subMenuClassName : 'submenu', 1239 forceClickEvent: (globalObj.forceTouch || adminMenu === 'click' ? true : false), 1240 useSubTitle: true, 1241 closeBackgroundId: 'menu_close_background', 1242 closeHtml: '<button type="button"><i class="fa fa-times" aria-hidden="true"></i></button>', 1243 headerNavClassName: 'navigation_menu', 1244 unnecessaryCloseButton : true 1245 }); 1246 if (globalObj.touchDevice || globalObj.forceTouch || adminMenu === 'click') { 1247 var $mainAdminNavElem = jQuery('.main_admin_navigation'); 1248 $mainAdminNavElem.find('.parent_link').attr({href: 'javascript:void(0);'}); 1249 $mainAdminNavElem.find('.parent_link, .close_all_menu').on('click', function () { 1250 var windowWidth = window.innerWidth || document.documentElement.clientWidth || 980; 1251 if (windowWidth <= 700) { 1252 globalObj.moveAnchor('.main_admin_navigation', 0, false); 1253 } 1254 }); 1255 } 1256 }; 1257 1258 globalObj.setupSmoothAnchorLink = function() { 1259 jQuery('a[href^="#"].smooth_anchor_link').on('click', function(event) { 1260 const id = jQuery(event.currentTarget) 1261 .attr('href') 1262 .replace(/^#/, ''); 1263 const $destinationElem = jQuery(`#${id}`); 1264 if ($destinationElem.length === 0) { 1265 return; 1266 } 1267 $destinationElem[0].scrollIntoView({ behavior: "smooth", block: "start" }); 1268 event.preventDefault(); 1269 }); 1270 }; 1271 1272 globalObj.setPhoneTooltipDesc = function () { 1273 jQuery('#hint a').on("click", function (event) { 1274 event.preventDefault(); 1275 new ModalWindow({ 1276 mode: 'default', 1277 innerHtmlStr: '<div id="button_hint_desc"></div>', 1278 }); 1279 }); 1280 }; 1281 1282 globalObj.setCompleteMessageFadeOut = function (selector = '.good_box') { 1283 jQuery(selector).animate({opacity: 1}, 200, 'linear', function() { 1284 jQuery(this).delay(3000).animate({opacity: 0}, 400, 'linear') 1285 }); 1286 }; 1287 1288 globalObj.formatOrdinal = function (value, jaSuffix) { 1289 const adminWrapperElem = document.querySelector('#admin_wrapper_table'); 1290 const isAdminEN = Boolean(adminWrapperElem?.classList.contains('admin_english')); 1291 if (!isAdminEN) { 1292 // Japanese 1293 return `${value}${jaSuffix}`; 1294 } 1295 // English 1296 const pr = new Intl.PluralRules('en-US', { type: 'ordinal' }); 1297 const suffixes = new Map([ 1298 ['one', 'st'], 1299 ['two', 'nd'], 1300 ['few', 'rd'], 1301 ['other', 'th'], 1302 ]); 1303 const rule = pr.select(value); 1304 const suffix = suffixes.get(rule); 1305 return `${value}${suffix}`; 1306 }; 1307 1308 globalObj.setupViewport = function () { 1309 if (window.innerWidth > 700) { 1310 jQuery('meta[name="viewport"]').attr('content', ''); 1311 } 1312 }; 1313 globalObj.setupViewport(); 1314 1315 globalObj.setupPhotoSwipe = function (params) { 1316 if (window.PhotoSwipeLightbox === undefined || window.PhotoSwipe === undefined) { 1317 console.error('ERROR :: undefined PhotoSwipeLightbox or PhotoSwipe'); 1318 return; 1319 } 1320 const isEnglish = jQuery('#container').hasClass('admin_english'); 1321 const defaults = { 1322 gallerySelector: '.pswp_gallery_list', 1323 childrenSelector: 'a.popup_img_fullscreen', 1324 errorMessage: isEnglish ? 'This file cannot be previewed.' : 'ãã¬ãã¥ã¼ã§ããªããã¡ã¤ã«ã§ã',
1325 padding: { top: 50, bottom: 50, left: 0, right: 0 }, 1326 }; 1327 const options = jQuery.extend(defaults, params); 1328 // init PhotoSwipe 1329 const lightbox = new PhotoSwipeLightbox({ 1330 gallery: options.gallerySelector, 1331 children: options.childrenSelector, 1332 errorMsg: options.errorMessage, 1333 padding: options.padding, 1334 // dynamic import is not supported in UMD version 1335 pswpModule: window.PhotoSwipe 1336 }); 1337 lightbox.on('uiRegister', function() { 1338 // show caption in PhotoSwipe 1339 lightbox.pswp.ui.registerElement({ 1340 name: 'custom-caption', 1341 order: 9, 1342 isButton: false, 1343 appendTo: 'root', 1344 html: 'Caption text', 1345 onInit: (el, pswp) => { 1346 pswp.on('change', () => { 1347 // create caption 1348 const currSlideElement = pswp.currSlide.data.element; 1349 const imgElement = currSlideElement.querySelector('img'); 1350 const filenameText = imgElement 1351 ? imgElement.getAttribute('alt') 1352 : currSlideElement.getAttribute('title') 1353 const width = currSlideElement.dataset.pswpWidth; 1354 const height = currSlideElement.dataset.pswpHeight; 1355 const sizeText = (width && height) ?`(${width}x${height})` : ''; 1356 el.innerHTML = `<span class="file_name_text">${filenameText}</span> 1357 <span class="file_size_text">${sizeText}</span>`; 1358 }); 1359 } 1360 }); 1361 }); 1362 lightbox.init(); 1363 }; 1364} 1365 1366window.globalObj = globalObj;
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.