<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">var CommonScriptUtil = {
	number_format: function(num) {
		return num.toString().replace(/([0-9]+?)(?=(?:[0-9]{3})+$)/g , '$1,');
	},

	getInt: function(num) {
		return parseInt(num, 10);
	},

	getFloat: function(num) {
		return parseFloat(num);
	},

	getWindowWidth: function () {
		return window.innerWidth ? window.innerWidth : $(window).width();
	},

	getWindowHeight: function () {
		return window.innerHeight ? window.innerHeight : $(window).height();
	},

	getScrollbarWidth: function () {
		var outer = document.createElement('div');
		outer.style.visibility = 'hidden';
		outer.style.width = '100px';
		outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps

		document.body.appendChild(outer);

		var widthNoScroll = outer.offsetWidth;
		// force scrollbars
		outer.style.overflow = 'scroll';

		// add innerdiv
		var inner = document.createElement('div');
		inner.style.width = '100%';
		outer.appendChild(inner);

		var widthWithScroll = inner.offsetWidth;

		// remove divs
		outer.parentNode.removeChild(outer);

		return widthNoScroll - widthWithScroll;
	},

	replaceEmbededString: function (str, assign) {
		var pattern = '\\{%=\\$([a-zA-Z0-9_]+)=%\\}';
		var regex = new RegExp(pattern, 'g');

		return str.replace(regex, function(s, m1) { return assign[m1]; });
	},

	popup: {
		init: function(options) {
			var self = this;

			var settings = self.getSettings(options);

			if (self.settingsList == null) {
				self.settingsList = {};
			}

			if (self.settingsList[settings.trigger] != null) {
				if (settings.isHoverAction) {
					$(settings.trigger).unbind('hover', self.onClick, self.removeHandler);
				}
				else {
					$(document).off(settings.bind, settings.trigger, self.onClick);
				}
			}

			self.settingsList[settings.trigger] = settings;

			self.overlay = null;
			self.modal = null;
			self.trigger = null;

			if (settings.isHoverAction) {
				$(settings.trigger).hover(self.onClick, self.removeHandler);
			}
			else {
				$(document).on(settings.bind, settings.trigger, self.onClick);
			}
		},
		getSettings: function(options) {
			var self = this;
			var defaults = {
				bind: 'click'
				, overlay: 'div.popup-overlay'
				, trigger: '.popup-trigger'
				, close: '.popup-close'
				, closeComplete: 'popup-close-complete'
				, show: 'popup-show'
				, perspective: 'popup-perspective'
				, setperspective: 'popup-setperspective'
				, top: '#content'
				, content: ''
				, contentInnerContent: 'div.image-content'
				, overlay_type: ''
				, positionType: ''
				, isCloseEscape: true
				, isCloseContentRemove: false
				, isHoverAction: false
				, isForceLoginOpen: false
				, isModalType: false
				, disableCloseHasElem: null
				, beforeShow: function(obj) {}
				, beforeClose: function(obj) {}
			};
			var settings = $.extend({}, defaults, options);

			return settings;
		},
		remove: function(hasPerspective) {
			var self = this;
			var cur_settings = self.settings;
			var close_modal = self.modal;
			var transition_property = close_modal.find('div.popup-content-inner').css('transition-property');

			if (transition_property == null || transition_property.length &lt; 1 || transition_property === 'none') {
				afterClose();
			}
			else {
				close_modal.find('div.popup-content-inner').one('transitionEnd transitionend webkitTransitionEnd', afterClose);
			}

			function afterClose() {
				close_modal.addClass(cur_settings.closeComplete);

				if (cur_settings.isCloseContentRemove) {
					close_modal.find(cur_settings.contentInnerContent).html('');
				}
			}

			self.modal.removeClass(cur_settings.show);

			if (self.overlay != null) {
				self.overlay.removeClass(cur_settings.show);
			}

			if (hasPerspective) {
				self.modal.removeClass(cur_settings.perspective);
			}

			if (!cur_settings.isModalType) {
				$(cur_settings.top).unbind('click', self.topHandler);
			}

			$(window).unbind('keyup', self.keyHandler);
			self.modal.find(cur_settings.close).unbind('click', self.onClose);

			self.overlay = null;
			self.modal = null;
			self.trigger = null;
			self.settings = null;
		},
		removeHandler: function(event) {
			var self = CommonScriptUtil.popup;
			var cur_settings = self.settings;

			cur_settings.beforeClose({
				event: event
			});

			self.remove($(event.target).hasClass(cur_settings.setperspective));
		},
		topHandler: function(event) {
			var self = CommonScriptUtil.popup;
			var cur_settings = self.settings;
			var target = $(event.target);
			var currentTarget = $(event.currentTarget);

			// Disable close
			if (cur_settings.disableCloseHasElem != null &amp;&amp; $(cur_settings.disableCloseHasElem).has(target).length &gt; 0) {
			}
			// Same or child Trigger
			else if (self.modal != null &amp;&amp; self.trigger != null &amp;&amp; (currentTarget.is(self.trigger) || target.is(self.trigger) || self.trigger.has(target).length &gt; 0)) {
				self.removeHandler(event);
				event.stopPropagation();
			}
			// Out of Modal
			else if (self.modal.has(target).length &lt; 1) {
				cur_settings.beforeClose({
					event: event
				});

				self.remove($(event.target).hasClass(cur_settings.setperspective));
			}
		},
		keyHandler: function(event) {
			var self = CommonScriptUtil.popup;

			if (event.keyCode === 27) {
				self.removeHandler(event);
			}
		},
		onClose: function(event) {
			var self = CommonScriptUtil.popup;

			event.stopPropagation();
			self.removeHandler(event);
		},
		open: function(options) {
			var self = this;

			if (options.type != null &amp;&amp; options.type.length &gt; 0) {
				var event = options;
				var target = $(event.target);
				self.settings = self.getObjectFromList(self.settingsList, target);
			}
			else {
				// ãƒ¢ãƒ¼ãƒ€ãƒ«ãŒé–‹ã„ã¦ã„ã‚‹
				if (self.modal != null) {
					self.settings.beforeClose({
						event: event
					});

					self.remove(false);
				}

				self.settings = self.getSettings(options);
			}

			var open_settings = self.settings;
			open_settings = self.getTriggerSetting(open_settings);

			if (open_settings.content != null &amp;&amp; open_settings.content.length &gt; 0) {
				self.modal = $(open_settings.content);
			}
			else {
				self.modal = $('#' + self.trigger.attr('data-popup'));
			}

			var is_overlay_none = false;

			if (open_settings.overlay_type != null &amp;&amp; open_settings.overlay_type.length &gt; 0) {
				is_overlay_none = true;
			}

			// Need Login
			if (!open_settings.isForceLoginOpen) {
				var is_need_login = self.trigger != null ? self.trigger.attr('data-need-login') == 1 : false;

				if (is_need_login) {
					var login_status = self.trigger != null ? self.trigger.attr('data-login-status') == 1 : false;

					if (!login_status) {
						CommonScriptUtil.forceLogin();

						return;
					}
				}
			}

			var close = self.modal.find(open_settings.close);

			if (!is_overlay_none) {
				if ($(open_settings.overlay).length &gt; 0) {
					self.overlay = $(open_settings.overlay);
				}
				else {
					var overlay_class = open_settings.overlay.split('.')[1];
					var overlay_html = '&lt;div class="' + overlay_class + '"&gt;&lt;/div&gt;';
					$(open_settings.top).append(overlay_html);
					self.overlay = $(open_settings.overlay);
				}
			}

			// ä½ç½®
			if (open_settings.positionType === 'down') {
				var trigger_pos = self.trigger.offset();
				var trigger_width = self.trigger.width();
				var trigger_height = self.trigger.height();
				var modal_width = self.modal.width();

				self.modal.css({ left: trigger_pos.left - modal_width + trigger_width, top: trigger_pos.top + trigger_height });
			}

			var before_show_ret = open_settings.beforeShow({
				elem: self.trigger
				, event: event
			});

			if (typeof before_show_ret == 'boolean' &amp;&amp; before_show_ret == false) {
				return;
			}

			if (!is_overlay_none) {
				self.overlay.addClass(open_settings.show);
			}

			self.modal.show();
			self.modal.addClass(open_settings.show);
			self.modal.removeClass(open_settings.closeComplete);

//			if (is_overlay_none) {
			if (true) {
				if (!open_settings.isModalType) {
					$(open_settings.top).off('click', self.topHandler);
					$(open_settings.top).on('click', self.topHandler);
				}
			}
			else {
				self.overlay.unbind('click', self.removeHandler);
				self.overlay.click(self.removeHandler);
			}

			if (self.trigger != null &amp;&amp; self.trigger.hasClass(open_settings.setperspective)) {
				setTimeout(function() {
					$(document).addClass(open_settings.perspective);
				}, 25);
			}

			close.unbind('click', self.onClose);
			close.click(self.onClose);

			if (open_settings.isCloseEscape) {
				$(window).keyup(self.keyHandler);
			}
		},
		close: function() {
			var self = this;

			if (self.isOpen()) {
				var cur_settings = self.settings;

				cur_settings.beforeClose({
					event: null
				});

				self.remove($(self.trigger).hasClass(cur_settings.setperspective));
			}
		},
		isOpen: function() {
			var self = this;

			return self.modal != null;
		},
		getObjectFromList: function(list, target) {
			var self = this;
			var obj = null;

			var idstr = target.attr('id');

			if (idstr != null &amp;&amp; idstr.length &gt; 0 &amp;&amp; list['#' + idstr] != null) {
				obj = list['#' + idstr];
			}
			else {
				var className = target.attr('class');

				if (className != null &amp;&amp; className.length &gt; 0) {
					var classList = className.indexOf(' ') != -1 ? className.split(/\s+/) : [className];

					for (var i = 0; i &lt; classList.length; i++) {
						if (list['.' + classList[i]] != null) {
							obj = list['.' + classList[i]];

							break;
						}
					}
				}
			}

			// for ie8
			if (obj == null) {
				obj = self.getObjectFromList(list, target.parent());
			}

			return obj;
		},
		onClick: function(event) {
			var self = CommonScriptUtil.popup;

			// ãƒ¢ãƒ¼ãƒ€ãƒ«ãŒé–‹ã„ã¦ã„ã‚‹
			if (self.modal != null) {
				self.removeHandler(event);
			}

			self.trigger = $(event.currentTarget);
			self.open(event);
		},
		getTriggerSetting: function(settings) {
			var self = this;

			if (self.trigger == null) {
				return settings;
			}

			var attrs = [
				{ key: 'overlay_type', name: 'data-overlay-none', beforeValue: 1, afterValue: '1' },
				{ key: 'isModalType', name: 'data-modal-type-none', beforeValue: 1, afterValue: true },
				{ key: 'positionType', name: 'data-popup-position' }
			];
			var upd_settings = $.extend(true, {}, settings);

			for (var i = 0; i &lt; attrs.length; i++) {
				var attr = attrs[i];
				var val = self.trigger.attr(attr.name);

				if (val != null) {
					if (attr.beforeValue != null &amp;&amp; val == attr.beforeValue) {
						upd_settings[attr.key] = attr.afterValue;
					}
					else {
						upd_settings[attr.key] = val;
					}
				}
			}

			return upd_settings;
		}
	},

	forceLogin: function (options) {
		var self = this;
		var defaults = {
			overlay: 'div.popup-overlay'
			, trigger: '.popup-trigger'
			, close: '.popup-close'
			, show: 'popup-show'
			, closeComplete: 'popup-close-complete'
			, perspective: 'popup-perspective'
			, setperspective: 'popup-setperspective'
			, top: '#content'
			, content: 'div.login-area.login-popup-content'
			, contentInnerContent: ''
			, overlay_type: ''
			, positionType: ''
			, isCloseEscape: true
			, isCloseContentRemove: false
			, isForceLoginOpen: true
			, disableCloseHasElem: null
			, loginParams: null
			, loginTypeNormal: 1
			, loginTypeFacebook: 2
			, beforeShow: function(obj) {}
			, beforeClose: function(obj) {}
		};
		var settings = $.extend({}, defaults, options);

		if (settings.loginParams != null) {
			var Base64 = {
				encode: function(str) {
					return btoa(unescape(encodeURIComponent(str)));
				},
				decode: function(str) {
					return decodeURIComponent(escape(atob(str)));
				}
			};

			var redirect_url = '';
			var login_base_url = $(settings.content).attr('data-login-base-url');

			if (settings.loginParams.redirect != null &amp;&amp; settings.loginParams.redirect.url != null) {
				redirect_url += settings.loginParams.redirect.url;

				if (settings.loginParams.redirect.params != null) {
					var query = '';
					var redirect_keys = Object.keys(settings.loginParams.redirect.params);

					for (var i = 0; i &lt; redirect_keys.length; i++) {
						var key = redirect_keys[i];

						if (query.length &gt; 0) {
							query += '&amp;';
						}

						query += key + '=' + encodeURIComponent(settings.loginParams.redirect.params[key]);
					}

					if (query.length &gt; 0) {
						redirect_url += '?' + query;
					}
				}
			}

			var encode_red_url = Base64.encode(redirect_url);
			var upd_action_url = login_base_url + String(settings.loginTypeNormal) + '/' + encode_red_url + '/';
			var upd_fb_url = login_base_url + String(settings.loginTypeFacebook) + '/' + encode_red_url + '/';

			$(settings.content + ' div.account form').attr('action', upd_action_url);
			$(settings.content + ' ul.loginList li.facebook a').attr('href', upd_fb_url);
		}

		self.popup.open(settings);
	},

	slide: function (options) {
		var self = this;

		var TOP_CLASS_NAME = 'common-slide-top';
		var SLIDE_ATTR_NAME = 'data-slide-id';

		if (self.slide_cnt == null) {
			self.slide_cnt = 0;
		}

		function isie8() {
			var userAgent = window.navigator.userAgent.toLowerCase();
			var appVersion = window.navigator.appVersion.toLowerCase();

			return userAgent.indexOf('msie') != -1 &amp;&amp; appVersion.indexOf('msie 8.') != -1;
		}

		var defaults = {
			top: 'div.flick-area'
			, move: 'div.move'
			, prevClass: 'slide-prev'
			, nextClass: 'slide-next'
			, count: 0
			, movePos: 800
			, moveOffset: 0
			, animationPrevName: 'common-slide-prev'
			, animationNextName: 'common-slide-next'
			, isCssAnimation: !isie8()
			, isFullWidth: false
			, isAutoTotalWidth: false
			, isMovePosItemWidth: false
			, isAddActiveItem: false
			, isWrapWindowWidth: false
			, isDuringAnimation: false
			, isInitRecalcTotalWidth: false
			, activeItem: 0
			, autoLoadGetUrl: ''
			, autoLoadGetOptions: {}
			, autoLoadHasMore: true
			, autoLoadTotalCount: -1
			, isImageAutoLoad: false
			, isImageAutoLoadItemBg: false
		};
		var settings = $.extend({}, defaults, options);

		if (self.slideSettingsList == null) {
			self.slideSettingsList = {};
		}

		self.slideSettingsList[self.slide_cnt] = settings;

		var top = $(settings.top);
		var firstItem = top.find('div.flick-item:first-of-type');
		var itemWidth = firstItem.length &gt; 0 ? firstItem.width() : 0;
		var listElem = top.find('div.flick-inner');
		top.addClass(TOP_CLASS_NAME).attr(SLIDE_ATTR_NAME, self.slide_cnt + 1);
		//listElem.width(settings.count * itemWidth);

		// full width
		if (settings.isFullWidth) {
			settings.animationPrevName += '-100vw';
			settings.animationNextName += '-100vw';
			settings.movePos = self.getWindowWidth();
		}

		if (settings.isInitRecalcTotalWidth) {
			self.slideUtility.recalcWidth(settings);
		}

		self.slide_cnt++;

//		$(settings.top + ' ' + settings.move + ' a').unbind('click', clickHandler);
//		$(settings.top + ' ' + settings.move + ' a').click(clickHandler);
		$(document).off('click', settings.top + ' ' + settings.move + ' a');
		$(document).on('click', settings.top + ' ' + settings.move + ' a', clickHandler);

		function clickHandler(event) {
			var top = $(event.target).closest('.' + TOP_CLASS_NAME);
			var slide_id = self.getInt(top.attr(SLIDE_ATTR_NAME));

			var slide_move_options = {
				type: $(this).attr('data-type')
				, slide_id: slide_id
			};
			self.slideMove(slide_move_options);
		}
	},

	slideMove: function (options) {
		var self = this;

		var TOP_CLASS_NAME = 'common-slide-top';
		var SLIDE_ATTR_NAME = 'data-slide-id';

		var defaults = {
			type: ''
			, TOP_CLASS_NAME: TOP_CLASS_NAME
			, SLIDE_ATTR_NAME: SLIDE_ATTR_NAME
			, slide_id : 0
		};

		var settings = $.extend({}, defaults, options);

		var slideSettings = self.slideSettingsList[settings.slide_id - 1];
		var item_cnt = slideSettings.count;
		var type = settings.type;
		var top = $(slideSettings.top);
		var listElem = top.find('div.flick-inner');
//		var wrap_width = listElem.parent().width();
		var wrap_width = self.slideUtility.getElementWidth(listElem.parent());
		var total_width = listElem.width();
		var src_left = listElem.position().left;
		var add_class = '';
		var prevActiveItem = slideSettings.activeItem;

		// full width
		if (slideSettings.isFullWidth) {
			total_width = self.getWindowWidth() * slideSettings.count;
		}
		// Wrap Window Width
		else if (slideSettings.isAutoTotalWidth) {
			var last = listElem.find('div.flick-item:last-of-type');

			if (last.length &gt; 0) {
				total_width = last.position().left + last.outerWidth(true);
			}
		}

		// Wrap Window Width
		if (slideSettings.isFullWidth || slideSettings.isWrapWindowWidth) {
			wrap_width = self.getWindowWidth();
		}

		if (slideSettings.isMovePosItemWidth) {
			var activeItem = listElem.find('div.flick-item:eq(' + slideSettings.activeItem + ')');

			if (activeItem.length &gt; 0) {
				var itemWidth = self.slideUtility.getElementWidth(activeItem);
				slideSettings.movePos = itemWidth;
			}
		}

		if (total_width &lt; wrap_width) {
			return;
		}

		if (slideSettings.isImageAutoLoad) {
			var nextItem = listElem.find('div.flick-item:eq(' + (slideSettings.activeItem + 2) + ')');

			if (nextItem.length &gt; 0 &amp;&amp; nextItem.find('img').length &lt; 1) {
				var img_src = nextItem.attr('data-image-url');

				// background-imageã«è¨­å®š
				if (slideSettings.isImageAutoLoadItemBg) {
					nextItem.css('background-image', 'url(' + img_src + ')');
				}
				// imgã‚¿ã‚°ã‚’è¿½åŠ&nbsp;
				else {
					var img_elem = '&lt;img src="' + img_src + '" /&gt;';

					var link_elem = nextItem.find('a');

					if (link_elem.length &gt; 0) {
						nextItem = link_elem;
					}

					nextItem.html(img_elem);
				}
			}
		}

		if (type == 'prev') {
			src_left += slideSettings.movePos;
			var max = 0 + slideSettings.moveOffset;

			if (src_left &gt; max) {
				src_left = max;
			}
			else {
				add_class = slideSettings.prevClass;
			}

			if (!slideSettings.isDuringAnimation &amp;&amp; slideSettings.activeItem &gt; 0) {
				slideSettings.activeItem--;
			}
		}
		else if (type == 'next') {
			var min = -(total_width - wrap_width + slideSettings.moveOffset);

			if (src_left - slideSettings.movePos &lt;= min) {
				src_left = min;
			}
			else if (!slideSettings.isCssAnimation) {
				src_left -= slideSettings.movePos;
			}
			else {
				add_class = slideSettings.nextClass;
			}

			if (!slideSettings.isDuringAnimation &amp;&amp; slideSettings.activeItem &lt; slideSettings.count - 1) {
				slideSettings.activeItem++;
			}
		}

		if (type == 'next') {
			loadNext();
		}

		slideSettings.isDuringAnimation = true;

		if (!slideSettings.isCssAnimation || add_class == '') {
			listElem
				.removeClass(slideSettings.prevClass)
				.removeClass(slideSettings.nextClass)
				.animate({
					left: src_left
				}, {
					duration: 200
					, complete: function() {
						setMoveButton(type);
						slideSettings.isDuringAnimation = false;
					}
				});
		}
		else {
			listElem
				.removeClass(slideSettings.prevClass)
				.removeClass(slideSettings.nextClass)
				.addClass(add_class)
				.one('animationend webkitAnimationEnd', animationFunc)
				;
		}

		if (slideSettings.isAddActiveItem) {
			if (prevActiveItem != -1) {
				listElem.find('div.flick-item:eq(' + prevActiveItem + ')').removeClass('active');
			}

			listElem.find('div.flick-item:eq(' + slideSettings.activeItem + ')').addClass('active');
		}

		function animationFunc(event) {
			if (event.originalEvent.animationName == slideSettings.animationPrevName || event.originalEvent.animationName == slideSettings.animationNextName) {
				var dest_left = self.getInt(listElem.position().left);

				if (event.originalEvent.animationName == slideSettings.animationPrevName) {
					if (dest_left &gt; 0) {
						dest_left = 0;
					}
				}
				else if (event.originalEvent.animationName == slideSettings.animationNextName) {
					if (dest_left &lt; min) {
						dest_left = min;
					}
				}

				listElem
					.removeClass(slideSettings.prevClass)
					.removeClass(slideSettings.nextClass)
					.css({
						left: dest_left
					})
					;

				var type_name = event.originalEvent.animationName == slideSettings.animationPrevName ? 'prev' : 'next';
				setMoveButton(type_name);
				slideSettings.isDuringAnimation = false;
			}
		}

		function loadNext() {
			if (slideSettings.autoLoadGetUrl.length &gt; 0) {
				var total_width = self.slideUtility.getTotalWidth(slideSettings);
				var top = $(slideSettings.top);
				var innerElem = top.find('div.flick-inner');
				var wrap_width = self.slideUtility.getElementWidth(innerElem.parent());
				var src_left = -listElem.position().left;

				if (total_width - src_left - (slideSettings.movePos * 2) &lt;= wrap_width + 10 &amp;&amp; slideSettings.autoLoadHasMore) {
					if (self.slide_auto_load_loading) {
						return;
					}

					self.slide_auto_load_loading = true;

					if (self.slide_auto_load_next_page == null) {
						self.slide_auto_load_next_page = 2;
					}

					var except_id_str = '';

					innerElem.find('div.flick-item').each(function() {
						if (except_id_str.length &gt; 0) {
							except_id_str += ',';
						}

						var item_id = $(this).attr('data-item-id');
						except_id_str += item_id;
					});

					var autoLoadGetDefaults = {
						url: slideSettings.autoLoadGetUrl
						, data: {
							page: self.slide_auto_load_next_page
							, except: except_id_str
						}
						, success: function(data, dataType) {
							if (data.ret &amp;&amp; data.success) {
								self.slide_auto_load_next_page = data.next_page;
								slideSettings.autoLoadHasMore = data.has_more;
								listElem.append(data.html);
								self.slideUtility.recalcWidth(slideSettings);
								self.slide_auto_load_loading = false;
							}
						}
					}

					var autoLoadGetSettings = $.extend({}, autoLoadGetDefaults, slideSettings.autoLoadGetOptions);
					CommonScriptUtil.access(autoLoadGetSettings);
				}
			}

			if (slideSettings.isDataImageToBg) {
			}
		}

		function setMoveButton(type) {
			var top = $(slideSettings.top);
			var innerElem = top.find('div.flick-inner');
			var wrap_width = self.slideUtility.getElementWidth(innerElem.parent());
			var src_left = innerElem.position().left;

			if (type == 'prev') {
				top
					.attr('data-slide-prev', src_left &gt;= 0 ? 0 : 1)
					.attr('data-slide-next', 1)
					;
			}
			else if (type == 'next') {
				var is_right_side = innerElem.position().left + innerElem.width() &lt;= wrap_width;

				top
					.attr('data-slide-prev', 1)
					.attr('data-slide-next', slideSettings.autoLoadHasMore || !is_right_side ? 1 : 0)
					;
			}
		}
	},

	slideUtility: {
		getTotalWidth: function(slideSettings) {
			var self = this;
			var top = $(slideSettings.top);
			var innerElem = top.find('div.flick-inner');
			var item_cnt = top.find('div.flick-inner div.flick-item').length;
			var itemElem = top.find('div.flick-inner div.flick-item:last-of-type');
			var item_width = self.getElementWidth(itemElem);
			var margin = CommonScriptUtil.getInt(itemElem.css('margin-left').replace(/px/, ''));
			var total_width = item_cnt * item_width + (item_cnt - 1) * margin + 1;

			return total_width;
		},

		recalcWidth: function(slideSettings) {
			var self = this;
			var top = $(slideSettings.top);
			var innerElem = top.find('div.flick-inner');

			innerElem.width(self.getTotalWidth(slideSettings));
		},

		getElementWidth: function(elem) {
			var width = 0;
			var rect = elem[0].getBoundingClientRect();

			if (rect.width) {
				// `width` is available for IE9+
				width = rect.width;
			}
			else {
				// Calculate width for IE8 and below
				width = rect.right - rect.left;
			}

			return width;
		}
	},

	slideSetting: function (id, options, is_add) {
		var self = this;

		var upd_id = id - 1;

		// set
		if (options != null) {
			if (is_add) {
				var src = self.slideSettingsList[upd_id];

				self.slideSettingsList[upd_id] = $.extend({}, src, options);
			}
			else {
				self.slideSettingsList[upd_id] = settings;
			}
		}
		// get
		else {
			if (self.slideSettingsList != null) {
				return self.slideSettingsList[upd_id];
			}
			else {
				return null;
			}
		}
	},

	setCenter: function (elem) {
		var self = this;
		var el = $(elem);

		el.css({
			left: self.getWindowWidth() / 2 - el.width() / 2
			, top: self.getWindowHeight() / 2 - el.height() / 2
		});
	},

	access: function (options) {
		var defaults = {
			type: 'POST',
			url: '',
			data: {},
			dataType: 'json',
			success: function(data, dataType) {
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
			}
		};

		var settings = $.extend({}, defaults, options);

		return $.ajax(settings);
	},

	getTopElementString: function () {
		var is_safari = false;
		var userAgent = window.navigator.userAgent.toLowerCase();
		var elem_str = '';

		if (is_safari) {
			elem_str = 'body';
		}
		else {
			elem_str = 'html,body';
		}

		return elem_str;
	},

	scrollTop: function (pos) {
		if (pos == null) {
			pos = 0;
		}

		var elem = $(this.getTopElementString());
		elem.scrollTop(pos)
	},

	smoothScroll: function (pos, speed) {
		var speed = 400;
		var elem = $(this.getTopElementString());

		elem.animate({ scrollTop: pos }, speed, 'swing');
	},

	getPaddingString: function (num, digit, add) {
		var pad = '';

		if (add == null) {
			add = '0';
		}

		for (var i = 0; i &lt; digit; i++) {
			pad += add;
		}

		return (pad + num).slice(-digit);
	},

	getCountString: function (str, count, add) {
		var str_len = str.length;
		var add_str = add == null ? '...' : add;
		var add_len = add_str.length;
		var ret = '';

		if (str_len &gt; count) {
			ret = str.substr(0, count - add_len) + add_str;
		}
		else {
			ret = str;
		}

		return ret;
	},

	setupMailMagazine: function () {
		// Mail Magazine
		$('#footer div.footer-box.mailmagazine-area form').submit(function() {
			var form = $(this);
			var url = form.attr('action');
			var submit = form.find('input.submit');
			var postData = form.serializeArray();
			var top = $(this).closest('div.footer-box.mailmagazine-area');
			var mail = form.find('div.input-area div.input.text input').val();

			if (mail.length &lt; 1) {
				top.attr('data-loading-state', 4);

				setTimeout(function() {
					top.attr('data-loading-state', 0);
					submit.prop('disabled', false).removeClass('disabled');
				}, 1500);
			}
			else {
				top.attr('data-loading-state', 1);
				submit.prop('disabled', true).addClass('disabled');

				var params = {
					url: url
					, data: postData
					, success: function(data) {
						if (data.ret &amp;&amp; data.success) {
							top.attr('data-loading-state', 2);
						}
						else {
							top.attr('data-loading-state', 3);
						}

						setTimeout(function() {
							top.attr('data-loading-state', 0);
							submit.prop('disabled', false).removeClass('disabled');
						}, 1500);
					}
				};

				CommonScriptUtil.access(params);
			}

			return false;
		});
	},

	setupTranslate: function (options) {
		var defaults = {
			translate_url: '',
			req_id: '',
			translate_get_url: '',
			engine: 'watson',
			source: 'ja',
			target: '',
			target_class_list: {
				ja: 'jpn'
				, en: 'eng'
				, zh: 'zh_cn'
				, 'zh-tw': 'zh_tw'
			}
		};
		var settings = $.extend({}, defaults, options);

		function successTranslate(translations) {
			var parent = $('div.translate');
			var submit_button = parent.find('div.submit input.btn');

			for (var i = 0; i &lt; translations.length; i++) {
				var rec = parent.find('div.translate-item,td.translate-item:eq(' + i + ')');

				if (rec.length &gt; 0) {
					rec.html(translations[i].translation);
				}
			}

			parent.attr('data-loading-state', 2);

			setTimeout(function() {
				parent.attr('data-loading-state', 3);

				setTimeout(function() {
					parent.attr('data-loading-state', 0);
				}, 10);
			}, 1000);

console.log(400);
			submit_button.prop('disabled', false);
			settings.req_id = settings.req_id.replace(/-[0-9]+$/, '-' + new Date().getTime());
		}

		function error(str) {
			var parent = $('div.translate');
			var submit_button = parent.find('div.submit input.btn');

			parent.find('div.loading div.loading-item[data-loading-state="4"] div.message').text(str);
			parent.attr('data-loading-state', 4);
			submit_button.prop('disabled', false);
			settings.req_id = settings.req_id.replace(/-[0-9]+$/, '-' + new Date().getTime());

			setTimeout(function() {
				parent.attr('data-loading-state', 0);
			}, 1500);
		}

		function getTranslateResult() {
			var postData = {
				req_id: settings.req_id
			};
			var params = {
				url: settings.translate_get_url,
				data: postData,
				success: function(data) {
					if (data.ret &amp;&amp; data.success) {
						if (!data.result_exist) {
							setTimeout(function() {
								getTranslateResult();
							}, 1000);
						}
						else {
							successTranslate(data.item.SuperadminTranslateResult.result);
						}
					}
				}
			};

			CommonScriptUtil.access(params);
		}

		function translate(parent) {
			var url = settings.translate_url;
			var translate_items = [];
			var item_line_list = [];

			parent.attr('data-loading-state', 1);

			parent.find('div.translate-item,td.translate-item').each(function() {
				var text = $(this).html();
				text = text.replace(/[\t\r\n]/g, ' ');
				var lines = text.split(/&lt;br(?: ?\/)?&gt;/i);
				item_line_list.push(lines.length);
				translate_items = translate_items.concat(lines);
			});

			var postData = {
				'text': translate_items
			};

			var params = {
				url: url
				, data: postData
				, success: function(data) {
					if (data.ret &amp;&amp; data.success) {
						parent.attr('data-loading-state', 2);

						setTimeout(function() {
							parent.attr('data-loading-state', 3);

							setTimeout(function() {
								parent.attr('data-loading-state', 0);
							}, 10);
						}, 1500);

						if (data.translate &amp;&amp; data.translate.translations) {
							var seq_cnt = 0;
							var item_cnt = 0;

							parent.find('div.translate-item,td.translate-item').each(function() {
								var item_text = '';

								for (var i = 0; i &lt; item_line_list[item_cnt]; i++) {
									var tr = data.translate.translations[seq_cnt];
									var text = tr.translation;

									if (i &gt; 0) {
										item_text += '&lt;br /&gt;';
									}

									item_text += text;

									seq_cnt++;
								}

								$(this).html(item_text);

								item_cnt++;
							});
						}
					}
				}
			};

			CommonScriptUtil.access(params);
		}

		$(document).on('click', 'button.translate-button', function() {
			var parent = $(this).closest('div.translate-area');

			translate(parent);
		});
	},

	loadStyleSheet: function (url) {
		// ç”»åƒã®ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆã‚’èª­ã¿è¾¼ã¿
		var n = document.createElement('link');
		n.async = true;
		n.defer = true;
		n.type = 'text/css';
		n.rel  = 'stylesheet';
		n.href = url;
		var s = document.getElementsByTagName('script');
		var c = s[s.length - 1];
		c.parentNode.insertBefore(n, c);
	},

	addGoogleMapsApiCallback: function (callback) {
		var self = this;

		if (self.googleMapsApiCallbackList == null) {
			self.googleMapsApiCallbackList = [];
		}

		self.googleMapsApiCallbackList.push(callback);
	},

	executeGoogleMapsApiCallback: function () {
		var self = this;

		if (self.googleMapsApiCallbackList != null) {
			for (var i = 0; i &lt; self.googleMapsApiCallbackList.length; i++) {
				self.googleMapsApiCallbackList[i]();
			}
		}
	}
};
</pre></body></html>