function setGlobalVar(name, value, is_persistent) {if (is_persistent === undefined) is_persistent = true;setCookie(name, value, ((is_persistent)? 30 : false));} function getGlobalVar(name, defaultVal) {var value = getCookie(name);return (value === undefined)? defaultVal : value;} function setCookie(name,value,days) {if (days) {var date = new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expire_str = "; expires="+date.toGMTString();} else {var expire_str = "";}document.cookie = name+"="+encodeURIComponent(value)+expire_str+"; path=/fukuro2016/";} function getCookie(name) {var allcookies = document.cookie;if( allcookies != '' ) {var cookies = allcookies.split( ';' );for( var i = 0; i < cookies.length; i++ ) {var cookie = cookies[ i ].split( '=' );if ( trim(cookie[ 0 ]) == name ) { return trim(decodeURIComponent( cookie[ 1 ] )); }}}return undefined;} function trim(str) {return str.replace(/(^\s+)|(\s+$)/g, "");} function hasClass(ele,cls) {return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));}; function addClass(ele,cls) {if (!this.hasClass(ele,cls)) ele.className += " "+cls;}; function removeClass(ele,cls) {if (hasClass(ele,cls)) {var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)', 'g');ele.className=ele.className.replace(reg,' ');if (hasClass(ele,cls)) removeClass(ele,cls);}}; function appendOnload(func) {if (window.addEventListener) {window.addEventListener("load", func, false);} else if (window.attachEvent) {window.attachEvent("onload", func);} else {window.onload = func;}} function getSelectTagValue(selectElement) {var optionElement = getSelectedOptionTag(selectElement);var val = getOptionTagValue(optionElement);return val;}function getSelectedOptionTag(selectElement) {var idx = selectElement.selectedIndex;var optionElement = selectElement.options[idx];return optionElement;}function getOptionTagValue(optionElement) {var val = undefined;if (optionElement) {val = optionElement.value;if (typeof val === "undefined") {val = optionElement.getAttribute("value");}}return val;} function setVisible(elem, show_flag) {if (show_flag) {elem.style.visibility = "visible";} else {elem.style.visibility = "hidden"; }} function setDisplay(elem, show_flag) {if (show_flag) {elem.style.display = "block";} else {elem.style.display = "none";}} function easeOut(t, d){ return 1 - Math.pow(1 - (t / d), 5); } window.scrollTimer = undefined; //var scrollTimer = undefined; function smoothScroll(b, c, msec){ var start = new Date().valueOf(); //Date.now(); var total = 1000; // ミリ秒 var delay = 8; // FPS 16で60FPS, 24で30FPSになる。負荷が無ければ var d = 1; if (msec !== undefined && msec > 0) total = msec; //scrollTopの値を保持する要素をセット var html = document.documentElement; // IE, Firefox用 var body = document.body; // Chrome, Edge用 window.scrollTimer = window.setInterval(function() { var now = new Date().valueOf(); //Date.now(); var t = (now - start) / total; var result = easeOut(t, d); var y = b + result * c; //htmlとbodyの両方にscrollTopをセットする(無効な方にはセットしても何も起こらない) html.scrollTop = y; body.scrollTop = y; if (t >= d) { clearInterval(window.scrollTimer); } }, 16); }function scrollToAnchor(anchor, msec, highlight) { if (anchor) { var elem = document.getElementById(anchor); if (elem === undefined) { var elements = document.getElementsByName(anchor); elem = elements[0]; } if (elem) { var fromY = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; var toY = elem.offsetTop; if (toY === undefined) { //IE8?でoffsetTopがとれない時の対応 var rect = elem.getBoundingClientRect(); toY = rect.top; } var scrollHeight = document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight; var contentsHeight = Math.max.apply(null, [document.body.clientHeight , document.body.scrollHeight, document.documentElement.scrollHeight, document.documentElement.clientHeight]); //var contentsHeight = document.documentElement.scrollHeight || document.body.scrollHeight; //toYがdocumentの末尾付近でtoYを画面の上端にできない場合、一番下にスクロールした場合のscrollTop値をtoYにセット if (toY > (contentsHeight - scrollHeight)) { toY = contentsHeight - scrollHeight; } var dY = toY - fromY; clearInterval(window.scrollTimer); smoothScroll(fromY, dY, msec); //highlightがtrueなら、0.8秒間(もしくは指定されたミリ秒間)だけ highlighted クラスを追加する if (highlight !== undefined && highlight) { var duration = 700; addClass(elem, 'highlighted'); setTimeout("removeClass(document.getElementsByName(\'"+anchor+"\')[0], 'highlighted');", duration); } } } } function setOpacity(element, opacity) {if (opacity > 1) { opacity = opacity / 100; }element.style.opacity = opacity;element.style.MozOpacity = opacity;element.style.filter = "alpha(opacity="+(opacity*100)+")";} function exitApp() {}; function exitAppIfExpired(expire_date) {var ymd = expire_date_str.split('/');var expire_date_str = sprintf("%04d%02d%02d", ymd[0], ymd[1], ymd[2]);var now = new Date();var today_str = sprintf("%04d%02d%02d", now.getFullYear(), now.getMonth()+1, now.getDate());alert(expire_date_str + " vs " + today_str);if (today_str > expire_date_str) { exitApp(); }}; function isIE8(){var ua = window.navigator.userAgent;return (ua.match(/MSIE(\s+)8\./));};