(function(d){ var SITE = "//omt.shinobi.jp/"; var CKEY = "QJ2PZEt"; var CLS = "buzzurl:delicious:evernote:facebook:favorite:feedly:google:gree:grow:hatena:instapaper:ldrpocket:line:live:livedoor:mailto:mixi:mixifavorite:ninja:pinterest:plusone:pocket:readitlater:rss:tumblr:tweet:tweethashtag:tweetmention:twitter:yahoo:youtube"; var SOURCEKEY = "f49d7fc8bd7a0a16216a9100c351fdac"; var w = window; var ob = "NT_OMT_BTN_" + SOURCEKEY; var QRY = "__ntomt"; var obsk = "NINJA_CO_JP_ONETAG_BUTTON_" + SOURCEKEY; var eUC = encodeURIComponent; var ANLZ = Boolean(false); var useCanonical = Boolean(false); var designType = 1; var buttonClassName; switch (designType) { case 5: buttonClassName = ' onebtn_responsive_large'; break; case 6: buttonClassName = ' onebtn_responsive_large_left'; break; case 7: buttonClassName = ' onebtn_responsive_small'; break; case 8: buttonClassName = ' onebtn_responsive_small_left'; break; default : break; } var ORIGINAL_BUTTON = {}; var isSmartPhone = (/iPhone|Android|Windows Phone/.test(navigator.userAgent)); try { var link = d.createElement("link"); link.rel = "stylesheet"; link.href = SITE + "css/ninja_onetag.css?201702230344"; d.getElementsByTagName("head")[0].appendChild(link); } catch(e) {} var asumi = { minSize: 0, height: function() { var height = 0; var elements = Array.prototype.slice.call(document.querySelectorAll('div[id^="asumi"]')); for (var index = 0; elements.length !== index; index++) { if (elements[index].style.position === 'absolute') { height = Math.max(asumi.minSize, elements[index].offsetHeight, elements[index].clientHeight, elements[index].scrollHeight, height); } } return height === 0 ? null : height; } }; var display = { isLandscape: function() { if (window.hasOwnProperty('orientation')) { return (window.orientation % 180 !== 0 || window.innerWidth > window.innerHeight); } return window.innerWidth > window.innerHeight; }, margin: function() { if (/iPhone OS 9.+?/.test(navigator.userAgent) && window.hasOwnProperty('devicePixelRatio') && window.window.devicePixelRatio === 3 && window.innerHeight < 414 && window.innerHeight > 337) { return 44; } else if (window.innerHeight <= 337) { return 77; } else { return 0; } } }; ///////////////////////////////// NINJA_CO_JP_ONETAG_BUTTON ///////////////////////////////// if (typeof(w[ob]) == 'undefined') { w[ob] = { CKEY : CKEY, SITE : SITE, CLS : CLS, SOURCEKEY : SOURCEKEY, Recorder : function (type, o){ if (o.classname != 'undefined') { var head = o.classname = o.classname.split(" ")[0]; var cls = w[ob].CLS.split(":"); var matchflg = 0; for (var i=0; i < cls.length; i++ ) { if (head.split("_")[0] == cls[i]) {matchflg = 1; break;} } if (!matchflg) { return; } } o.type = type; var params = new Array(); for (var i in o) { params.push( i+"="+encodeURIComponent(o[i]) ); } var url = w[ob].SITE + "l/" + w[ob].SOURCEKEY + "?" + params.join("&"); var script = d.createElement('script'); script.src = url; script.type = "text/javascript"; script.defer = "defer"; var e = d.getElementsByTagName("script")[0]; e.parentNode.insertBefore(script, e); }, analyzeHref: function(url){ var anc = url.split("#"); if (anc.length != 2) { return {original_url:url,ckey:""}; } return {original_url: anc[0],ckey:anc[1]}; }, checkView: function(){ if (!ANLZ) {return;} var ckey = ""; var original_url = ""; var title = d.title; if (location.href.indexOf("fb_ref=") != -1) { var parseQuery = function(s){ var ret = {}; var vs = s.split("&"); for (var i=0; i < vs.length; i++) { var v = vs[i].split("="); ret[v[0]] = decodeURIComponent(v[1]); } return ret; }; var o = parseQuery(location.href.split("?")[1]); if (typeof(o.fb_ref) != 'undefined') { ckey = o.fb_ref.substr(1); original_url = location.href; } }else if (location.href.indexOf("#") != -1) { var href = w[ob].analyzeHref(location.href); original_url = href.original_url; ckey = href.ckey; } else{ return; } if (ckey == "undefined" || ckey == "") {return;} var s = ckey.split("\."); if (s.length != 2 || s[0] == "" || s[0] == "undefined" || s[1] == "" || s[1] == "undefined") { return;} w[ob].Recorder("v", {url: original_url,title: title, ckey: s[0], classname: s[1]}); }, getCanonicalUrl: function() { var canonical = (function() { return Array.prototype.slice.call(document.getElementsByTagName('link')).filter(function(linkNode) { return linkNode.getAttribute('rel') === 'canonical' }); })()[0]; switch (true) { case canonical === undefined: return null; case /^http/.test(canonical.getAttribute('href')): return canonical.getAttribute('href'); case /^\/{2}/.test(canonical.getAttribute('href')): return window.location.protocol + canonical.getAttribute('href'); } }, getURL: function(url, className, isOriginlUrl) { var isOriginlUrl = typeof (isOriginlUrl) === 'undefined' ? false : isOriginlUrl; var original_url = w[ob].analyzeHref(url).original_url; var canonicalUrl; if (isOriginlUrl && useCanonical && (canonicalUrl = w[ob].getCanonicalUrl()) !== null) { return canonicalUrl; } else if (useCanonical && (canonicalUrl = w[ob].getCanonicalUrl()) !== null) { return !ANLZ ? canonicalUrl : canonicalUrl + "#" + CKEY + "." + className; } if (isOriginlUrl) { return original_url; } return !ANLZ ? url : original_url + "#" + CKEY + "." + className; }, getSnsShareURL: function(provider, url, title) { switch (provider) { case 'facebook': return 'http://www.facebook.com/sharer/sharer.php?u='+ encodeURIComponent(url) +'&t=' + encodeURIComponent(title); case 'twitter': return 'https://twitter.com/share?original_referer='+encodeURIComponent(url)+'&url='+encodeURIComponent(url)+'&text=' + encodeURIComponent(title) + '&source=tweetbutton'; case 'hatena': return 'https://b.hatena.ne.jp/add?url=' + encodeURIComponent(url); case 'google-plus': return 'https://plus.google.com/share?url=' + encodeURIComponent(url); case 'mail': return 'mailto:?subject='+encodeURIComponent(title)+'&body='+encodeURIComponent(title+"\n"+url); case 'pocket': return 'https://getpocket.com/edit?url='+ url + '&title='+ title; case 'feedly': return 'http://cloud.feedly.com/#subscription%2Ffeed%2F' + encodeURIComponent(''); case 'tumblr': return 'https://www.tumblr.com/widgets/share/tool?shareSource=legacy&url=' + encodeURIComponent(url); case 'line': return 'http://line.me/R/msg/text/?'+ encodeURIComponent(title+"\n")+encodeURIComponent(url); default : break; } }, getNext : function(n){ if (!n) return null; var y = n.nextSibling; while (y && (y.nodeType != 1)) { y=y.nextSibling; } return y; }, clicked: new Array(), processIFrameClick :function(e) { if(w[ob].activeDiv == null) { return; } try{ if (w[ob].activeDiv.tagName == 'undefined' || w[ob].activeDiv.tagName != "IFRAME") { w[ob].activeDiv = document.activeElement; } }catch(er){ w[ob].activeDiv = document.activeElement; } if (w[ob].activeDiv.tagName == 'undefined' || w[ob].activeDiv.tagName != "IFRAME") { return; } for (var i=0;i < w[ob].clicked.length; i++) { if (w[ob].clicked[i] === w[ob].activeDiv) { return; } } w[ob].clicked.push(w[ob].activeDiv); var i = 0; var parent = w[ob].activeDiv.parentNode || w[ob].activeDiv.parentElement; while(i < 5 && parent.getAttribute('data-onetagbutton') != "true") { parent = parent.parentNode || parent.parentElement; i++; } var url = parent.getAttribute('data-url'); var title = parent.getAttribute('data-title'); var cn = parent.className; w[ob].Recorder("c", {classname: cn.split(" ")[0], url: url,ckey: w[ob].CKEY, title: title}); }, getAttribute: function(e){ return e.target || e.srcElement; }, clickInterceptor : function () { if (!ANLZ) {return;} if (typeof window.attachEvent != 'undefined') { top.attachEvent('onblur', w[ob].processIFrameClick); } else if (typeof window.addEventListener != 'undefined') { top.addEventListener('blur', w[ob].processIFrameClick, false); } for (var tc=1; tc <= w[obsk]["ONETAGButton_Count"]; tc++) { var obj = d.getElementById(obsk + "_" +tc); if (!obj || tc > 50) { break; } var url = location.href; var title = d.title; var urlObj = (function(current) { while (current.parentNode !== null) { var element = current.parentNode.querySelector('.ninja_onebutton > .ninja_onebutton_hidden'); if (element !== null) { return element; } current = current.parentNode; } })(obj); var titleObj = w[ob].getNext(urlObj); if (urlObj && titleObj) { if ((urlObj.innerHTML != '') && (titleObj.innerHTML != '') && (/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(urlObj.innerHTML))) { url = urlObj.innerHTML; title = titleObj.innerHTML; } } var elements = obj.childNodes; for (var i=0; i < elements.length; i++) { var cn = elements[i].className; if(cn =='undefined' || !cn|| cn == null || cn == "ninja_onebutton_clear" || cn == "ninja_onebutton_ninja") { continue; } elements[i].setAttribute("data-url", url); elements[i].setAttribute("data-title", title); elements[i].setAttribute("data-onetagbutton", "true"); w[ob].watchIframeLoaded(elements[i]); } } for (var tc=1; tc <= w[obsk]["ONETAGButton_Count"]; tc++) { var obj = document.getElementById('ninja_omatome_button_output_type_overlay'); if (!obj || tc > 50) { break; } var url = location.href; var title = d.title; var urlObj = w[ob].getNext(obj); var titleObj = w[ob].getNext(urlObj); if (urlObj && titleObj) { if ((urlObj.innerHTML != '') && (titleObj.innerHTML != '') && (/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(urlObj.innerHTML))) { url = urlObj.innerHTML; title = titleObj.innerHTML; } } var elements = obj.childNodes; for (var i=0; i < elements.length; i++) { var cn = elements[i].className; if(cn =='undefined' || !cn|| cn == null || cn == "ninja_onebutton_clear" || cn == "ninja_onebutton_ninja") { continue; } elements[i].setAttribute("data-url", url); elements[i].setAttribute("data-title", title); elements[i].setAttribute("data-onetagbutton", "true"); w[ob].watchIframeLoaded(elements[i]); } } }, watchIframeLoaded: function(element){ var type = element.getAttribute('data-type'); if (type != 'undefined' && type == 'iframe') { var click_timer = null; var check_num = 0; var iframe = element.getElementsByTagName("iframe"); if (iframe.length > 0) { w[ob].setClickInterceptor(element); }else{ click_timer = setInterval(function() { var iframe = element.getElementsByTagName("iframe"); check_num++; if (iframe.length > 0) { clearTimeout(click_timer); w[ob].setClickInterceptor(element); } else if (check_num>50) { clearTimeout(click_timer); } }, 200); } }else{ w[ob].setClickInterceptor(element); } }, setClickInterceptor: function (element) { var type = element.getAttribute('data-type'); if (type != 'undefined' && type == 'iframe') { w[ob].iframeClickInterceptor(element); }else{ w[ob].divClickInterceptor(element); } }, divClickInterceptor: function(element){ var cn = element.className; var click_done = false; var frameClicker = function(evt) { if (click_done) return; click_done = true; var obj = evt.target || evt.srcElement; var i = 0; while(i < 5 && obj.getAttribute('data-onetagbutton') != "true") { obj = obj.parentNode || obj.parentElement; i++; } var url = obj.getAttribute('data-url'); var title = obj.getAttribute('data-title'); w[ob].Recorder("c", {classname: cn, url: url,ckey: w[ob].CKEY, title: title}); } if (w.addEventListener) { element.addEventListener("click", frameClicker, false); }else if (w.attachEvent) { element.attachEvent("onclick", frameClicker); } }, activeDiv : null, iframeClickInterceptor: function(element) { var className = element.className; var iframe = element.getElementsByTagName("iframe"); var ninja_frame = iframe[0]; var iframeMouseOut = function(e) { w[ob].activeDiv = null; top.focus(); }; var iframeMouseOver = function(e) { w[ob].activeDiv = this; var obj = e.target || e.srcElement;; var i = 0; while(i < 5 && obj.getAttribute('data-onetagbutton') != "true") { obj = obj.parentNode || obj.parentElement; i++; } var cn = obj.className; }; if (w.addEventListener) { ninja_frame.addEventListener("mouseover", iframeMouseOver, false); ninja_frame.addEventListener("mouseout", iframeMouseOut, false); }else if (w.attachEvent) { ninja_frame.attachEvent("onmouseover", iframeMouseOver); ninja_frame.attachEvent("onmouseout", iframeMouseOut); } }, clickShareInterceptor :function(className, url, title){ if (!ANLZ) {return;} w[ob].Recorder("c", {classname:className,url:url,ckey:w[ob].CKEY,title:title}); return true; }, clickSmartInterceptor :function(obj){ if (!ANLZ) {return;} w[ob].Recorder("c", {classname: obj.getAttribute("data-class"),url: obj.getAttribute("data-url"),ckey:w[ob].CKEY,title: obj.getAttribute("data-title")}); return true; }, ONETAGButton_Tag : new Array(), ONETAGButton_RunFlg : false, ONETAGButton_Output : function () { if (w[ob].ONETAGButton_RunFlg) { return; } w[ob].ONETAGButton_RunFlg = true; w[ob].checkView(); for (var i = 0; i< w[ob].ONETAGButton_Tag.length; i++) { if (w[w[ob].ONETAGButton_Tag[i]]) { w[w[ob].ONETAGButton_Tag[i]].ONETAGButton_Pre(); } } for (var i = 0; i< w[ob].ONETAGButton_Tag.length; i++) { if (w[w[ob].ONETAGButton_Tag[i]]) { w[w[ob].ONETAGButton_Tag[i]].ONETAGButton_Render(); } } for (var i = 0; i< w[ob].ONETAGButton_Tag.length; i++) { if (w[w[ob].ONETAGButton_Tag[i]]) { w[w[ob].ONETAGButton_Tag[i]].ONETAGButton_Post(); } } w[ob].clickInterceptor(); } }; ///////////////////////////////// NINJA_CO_JP_ONETAG_BUTTON ///////////////////////////////// if (d.addEventListener) { w[ob].u = function (){ d.removeEventListener("DOMContentLoaded", w[ob].u, false); w[ob].ONETAGButton_Output(); }; } else if (d.attachEvent) { w[ob].u = function () { if (d.readyState === "complete") { d.detachEvent("onreadystatechange", w[ob].u); w[ob].ONETAGButton_Output(); } }; } w[ob].a = function () { if (d.readyState !== "complete") { try { d.documentElement.doScroll("left") } catch (j) { setTimeout(w[ob].a, 64); return } d.detachEvent("onreadystatechange", w[ob].u); w[ob].ONETAGButton_Output(); } } if (d.readyState === "complete") { w[ob].ONETAGButton_Output(); } if (d.addEventListener) { d.addEventListener("DOMContentLoaded", w[ob].u, false); } else if (window.document.attachEvent) { d.attachEvent("onreadystatechange", w[ob].u); w[ob].a(); } }; ///////////////////////////////// NINJA_CO_JP_ONETAG_BUTTON+SOURCEKEY ///////////////////////////////// if (typeof(w[obsk]) == 'undefined') { w[ob].ONETAGButton_Tag.push(obsk); w[obsk] = { ONETAGButton_Count : 0, LoadJsonp: function(url,provider,domobj){ var t = new Date(); var tm = t.getTime() +""+ t.getMilliseconds(); var script = document.createElement("script"); var api = null; var identifier = null; var objName = null; switch (provider) { case 'facebook': identifier = "NT"+CKEY+"OMT_FBCB" + crc32(encodeURIComponent(url)); objName = "share.share_count"; api = "//graph.facebook.com/" + encodeURIComponent(url) + "?callback=window." + identifier + "&_=" + tm; break; case 'hatena': identifier = "NT"+CKEY+"OMT_HTCB" + crc32(encodeURIComponent(url)); objName = "count"; api = "//b.hatena.ne.jp/entry/jsonlite/?callback=window." + identifier + "&url=" + encodeURIComponent(url) + "&_=" + tm; break; case 'feedly': identifier = "NT"+CKEY+"OMT_FDLY" + crc32(encodeURIComponent(url)); objName = "subscribers"; api = '//ajax-proxy.shinobi.jp/feedly/v3/feed?format=json&callback=window.' + identifier +'&url=' + encodeURIComponent(url); break; } if (typeof(w[identifier]) === 'undefined') { w[identifier] = function(obj) { var count = 0; switch (objName) { case 'share.share_count': if (typeof(obj) !== 'undefined' && obj !== null && typeof (obj.share) !== 'undefined' && typeof(obj.share.share_count) !== 'undefined') { count += obj.share.share_count; } break; case 'subscribers': if (typeof(obj) !== 'undefined' && obj !== null && typeof(obj.subscribers) !== 'undefined') { count = obj.subscribers; } break; default: if (typeof(obj) !== 'undefined' && obj !== null && typeof(obj[objName]) !== 'undefined') { count = obj[objName]; } } if (typeof(domobj.getElementsByClassName("count")[0]) !== 'undefined' && domobj.getElementsByClassName("count")[0].childNodes[2].nodeName == "#text") { domobj.getElementsByClassName("count")[0].childNodes[2].nodeValue = count; } else if (typeof(domobj.getElementsByClassName("count_responsive")[0]) !== 'undefined' && domobj.getElementsByClassName("count_responsive")[0].childNodes[0].nodeName == "#text") { domobj.getElementsByClassName("count_responsive")[0].childNodes[0].nodeValue = count; } else if (typeof(domobj.getElementsByClassName("count_responsive_br")[0]) && domobj.getElementsByClassName("count_responsive_br")[0].childNodes[0].nodeName == "#text") { domobj.getElementsByClassName("count_responsive_br")[0].childNodes[0].nodeValue = count; } eval("window."+identifier + "=" + count + ";"); } } else { var check_num = 0; var click_timer = setInterval(function() { check_num++; if (typeof(w[identifier]) != "function") { clearTimeout(click_timer); if (typeof(domobj.getElementsByClassName("count")[0]) !== 'undefined' && domobj.getElementsByClassName("count")[0].childNodes[2].nodeName == "#text") { domobj.getElementsByClassName("count")[0].childNodes[2].nodeValue = w[identifier]; } else if (typeof(domobj.getElementsByClassName("count_responsive")[0]) !== 'undefined' && domobj.getElementsByClassName("count_responsive")[0].childNodes[0].nodeName == "#text") { domobj.getElementsByClassName("count_responsive")[0].childNodes[0].nodeValue = w[identifier]; } else if (typeof(domobj.getElementsByClassName("count_responsive_br")[0]) !== 'undefined' && domobj.getElementsByClassName("count_responsive_br")[0].childNodes[0].nodeName == "#text") { domobj.getElementsByClassName("count_responsive_br")[0].childNodes[0].nodeValue = w[identifier]; } return; } else if (check_num>200) { clearTimeout(click_timer); } }, 50); return; } script.src = api; script.type = "text/javascript"; script.defer = "defer"; var target = document.getElementsByTagName("script")[0]; target.parentNode.insertBefore(script, target); }, ONETAGButton_Load:function() { w[obsk].ONETAGButton_Count ++; d.write('
'); }, ONETAGButton_Render:function() { for (var tc=1; tc <= w[obsk].ONETAGButton_Count; tc++) { var obj = d.getElementById(obsk + "_" +tc); if (!obj || tc > 50) { break; } var url = location.href; var title = d.title; var urlObj = (function(current) { while (current.parentNode !== null) { var element = current.parentNode.querySelector('.ninja_onebutton > .ninja_onebutton_hidden'); if (element !== null) { return element; } current = current.parentNode; } })(obj); var titleObj = getNext(urlObj); if (urlObj && titleObj) { if ((urlObj.innerHTML != '') && (titleObj.innerHTML != '') && (/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(urlObj.innerHTML))) { url = urlObj.innerHTML.replace(/(^[\s ]+)|([\s ]+$)/g, ""); title = titleObj.innerHTML.replace(/(^[\s ]+)|([\s ]+$)/g, ""); } } (function(url, absoluteUrl, obj, title, original_url, lang) { var ele = document.createElement('div'); ele.className = 'facebook_like_button_count'; ele.setAttribute("data-type", "iframe"); var fb_ref = ""; if (ANLZ == "1") { fb_ref = '&ref=' + encodeURIComponent('.'+ w[ob].CKEY + '.facebook_like_button_count'); } ele.innerHTML = ''; obj.appendChild(ele); })( w[ob].getURL(url, "facebook_like_button_count"), w[ob].getURL(url, "facebook_like_button_count", true), obj, title, url, getLanguage() ); (function(url, absoluteUrl, obj, title, original_url, lang) { var ele = document.createElement('iframe'); ele.frameBorder = 0; ele.setAttribute("allowtransparency", "true"); ele.setAttribute("scrolling", "no"); ele.src = "//platform.twitter.com/widgets/tweet_button.html?count=none&lang="+lang+"&url=" + encodeURIComponent(url) + "&text=" + encodeURIComponent(title); var ele2 = document.createElement('div'); ele2.className = "twitter_tweet_count_no_m"; ele2.setAttribute("data-type", "iframe"); ele2.appendChild(ele); obj.appendChild(ele2); })( w[ob].getURL(url, "twitter_tweet_count_no_m"), w[ob].getURL(url, "twitter_tweet_count_no_m", true), obj, title, url, getLanguage() ); (function(url, absoluteUrl, obj, title, original_url, lang) { var ele = document.createElement('div'); ele.className = "g-plusone"; ele.setAttribute("data-href", original_url); ele.setAttribute("data-size","medium"); ele.setAttribute("data-lang", lang); ele.setAttribute("data-count", "true"); var ele2 = document.createElement('div'); ele2.className = "google_plusone_m"; ele2.setAttribute("data-type", "iframe"); ele2.appendChild(ele); obj.appendChild(ele2); })( w[ob].getURL(url, "google_plusone_m"), w[ob].getURL(url, "google_plusone_m", true), obj, title, url, getLanguage() ); var ele2 = d.createElement("div"); ele2.className = 'ninja_onebutton_clear'; obj.appendChild(ele2); } }, ONETAGButton_Pre:function() { }, ONETAGButton_Post:function() { if (typeof(window.gapi) == 'undefined') { window.gapi=window.gapi||{}; if (typeof(window.gapi.plusone) == 'undefined') { if (document.getElementsByTagName("body")[0]) { var ele = document.createElement('script'); ele.type = 'text/javascript'; ele.src = 'https://apis.google.com/js/platform.js'; ele.text = "{lang: 'ja'}"; document.getElementsByTagName("body")[0].insertBefore(ele, document.getElementsByTagName("body")[0].firstChild); } } } }, ONETAGButton_Overlay:function() { //スマホ設定 if (!isSmartPhone) { return ; } window.NINJA_CO_JP_ONETAG_BUTTON_SMART = "0"; } }; ///////////////////////////////// NINJA_CO_JP_ONETAG_BUTTON+SOURCEKEY ///////////////////////////////// w[obsk].ONETAGButton_Load(); //スマホ設定フラグが入っている場合は、以下が実行される w[obsk].ONETAGButton_Overlay(); function getNext(n) { if (!n) { return null; } var y = n.nextSibling; while (y && (y.nodeType != 1)) { y=y.nextSibling; } return y; } function getLanguage() { try { var raw_lang = "ja,en-US;q=0.8,en;q=0.6".toLowerCase(); if (raw_lang.length < 2) { return "en";} var lang = raw_lang.substr(0,2); if (lang == "zh") { var zhstr = raw_lang.match(/^zh-[a-z]{2}/); if (zhstr) { return zhstr; } } return lang; } catch(e) { return "en"; } } function getElementPosition(elem){ var html = document.documentElement; var body = document.body; var scrollLeft = (body.scrollLeft || html.scrollLeft); var scrollTop = (body.scrollTop || html.scrollTop); var pos = getElementScreenPosition(elem); var left = pos.left + scrollLeft; var top = pos.top + scrollTop; return {left:left, top:top}; } function getElementScreenPosition(elem){ var html = document.documentElement; var rect = elem.getBoundingClientRect(); var left = rect.left - html.clientLeft; var top = rect.top - html.clientTop; return {left:left, top:top}; } function rmHash(str) { return str; //return str.replace( /#.*$/, ""); } function crc32(s/*, polynomial = 0x04C11DB7, initialValue = 0xFFFFFFFF, finalXORValue = 0xFFFFFFFF*/) { s = String(s); var polynomial = arguments.length < 2 ? 0x04C11DB7 : arguments[1], initialValue = arguments.length < 3 ? 0xFFFFFFFF : arguments[2], finalXORValue = arguments.length < 4 ? 0xFFFFFFFF : arguments[3], crc = initialValue, table = [], i, j, c; function reverse(x, n) { var b = 0; while (n) { b = b * 2 + x % 2; x /= 2; x -= x % 1; n--; } return b; } for (i = 255; i >= 0; i--) { c = reverse(i, 32); for (j = 0; j < 8; j++) { c = ((c * 2) ^ (((c >>> 31) % 2) * polynomial)) >>> 0; } table[i] = reverse(c, 32); } for (i = 0; i < s.length; i++) { c = s.charCodeAt(i); if (c > 255) { throw new RangeError(); } j = (crc % 256) ^ c; crc = ((crc / 256) ^ table[j]) >>> 0; } return (crc ^ finalXORValue) >>> 0; } function htmlentities(str) { return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, '''); } function getOriginalButton(button_info_obj, className){ var isTwitterButton = className.indexOf("twitter") !== -1; var text = ""; var addClass = ""; var icon_name = ""; var icon_size = ""; if (className.indexOf("twitter") != -1) { text = "ツイート"; icon_name = "twitter"; } else if (className.indexOf("facebook") != -1) { text = "シェア"; icon_name = "facebook"; } else if (className.indexOf("hatena") != -1) { text = "Bookmark"; icon_name = "hatena"; } if (className.indexOf("icon") == -1) { if (className.indexOf("vertical") != -1) { addClass = "vertical"; } }else{ addClass = "icon"; text = ""; if (className.indexOf("medium") != -1) { icon_size = "medium"; } else if (className.indexOf("small") != -1) { icon_size = "small"; } else if (className.indexOf("large") != -1) { icon_size = "large"; } } var div_wrap_omatome_icon_font_button = document.createElement('div'); div_wrap_omatome_icon_font_button.className = "wrap-omatome-icnfont-button"; if (addClass != "") { div_wrap_omatome_icon_font_button.className += " " + addClass; if (icon_size != "") { div_wrap_omatome_icon_font_button.className += " " + icon_size; } } var span_gradient = document.createElement('span'); if (button_info_obj['gradient']) { span_gradient.className = "gradient"; } var span_omatome_icn_font = document.createElement('span'); span_omatome_icn_font.className = "omatome-icnfont " + "omatome-icn-" + icon_name; //< TODO var span_omatome_icn_font_button = document.createElement('span'); span_omatome_icn_font_button.className = "omatome-icnfont-button"; span_omatome_icn_font_button.style.borderRadius = button_info_obj['radius']+"px"; span_omatome_icn_font_button.style.color = button_info_obj['icon_color']; span_omatome_icn_font_button.style.backgroundColor = button_info_obj['back_color']; span_omatome_icn_font_button.style.borderColor = button_info_obj['border_color']; if (addClass != "icon") { var span_text = document.createElement('span'); span_text.appendChild(document.createTextNode(text)); span_text.className = "text"; span_text.style.color = button_info_obj['text_color']; span_omatome_icn_font.appendChild(span_text); } span_gradient.appendChild(span_omatome_icn_font); span_omatome_icn_font_button.appendChild(span_gradient); if (addClass != "icon") { var span_wrap_count = document.createElement('span'); span_wrap_count.className = "wrap-count"; span_wrap_count.style.color = button_info_obj['baloon_text_color']; var i_front = document.createElement('i'); if (addClass == "vertical") { i_front.className = "balloon-bottom-front"; i_front.style.borderTopColor = button_info_obj['baloon_border_color']; }else{ i_front.className = "balloon-left-front"; i_front.style.borderRightColor = button_info_obj['baloon_border_color']; } var i_back = document.createElement('i'); if (addClass == "vertical") { i_back.className = "balloon-bottom-back"; i_back.style.borderTopColor = button_info_obj['baloon_back_color']; }else{ i_back.className = "balloon-left-back"; i_back.style.borderRightColor = button_info_obj['baloon_back_color']; } var textnode; textnode = !isTwitterButton ? document.createTextNode("0") : document.createTextNode("見る"); var span_count = document.createElement('span'); span_count.className = "count"; span_count.style.backgroundColor = button_info_obj['baloon_back_color']; span_count.style.borderColor = button_info_obj['baloon_border_color']; span_count.appendChild(i_front); span_count.appendChild(i_back); span_count.appendChild(textnode); span_wrap_count.appendChild(span_count); if (addClass == "vertical") { div_wrap_omatome_icon_font_button.appendChild(span_wrap_count); div_wrap_omatome_icon_font_button.appendChild(span_omatome_icn_font_button); }else{ div_wrap_omatome_icon_font_button.appendChild(span_omatome_icn_font_button); div_wrap_omatome_icon_font_button.appendChild(span_wrap_count); } }else{ div_wrap_omatome_icon_font_button.appendChild(span_omatome_icn_font_button); } return div_wrap_omatome_icon_font_button; } function getAppendElement(className, appendType) { var text; switch (true) { case className.indexOf("twitter") !== -1: text = "ツイート"; break; case className.indexOf("facebook") !== -1: text = "シェア"; break; case className.indexOf("hatena") !== -1: text = "追加"; break; case className.indexOf("line") !== -1: text = "送る"; break; case className.indexOf("ninja") !== -1: text = "共有"; break; case className.indexOf("feedly") !== -1: text = "フォロー"; break; case className.indexOf("google_plusone") !== -1: text = "共有"; break; case className.indexOf("tumblr") !== -1: text = "ポスト"; break; case className.indexOf("pocket") !== -1: text = "あとで"; break; case className.indexOf("mailto") !== -1: text = "送る"; break; } switch (appendType) { case 'count': var textNode_count = document.createTextNode("0"); var span_count = document.createElement('span'); span_count.className = 'count_responsive'; span_count.appendChild(textNode_count); return span_count; case 'text': var textNode_text = document.createTextNode(text); var span_text = document.createElement('span'); span_text.className = 'share_text'; span_text.appendChild(textNode_text); return span_text; } } } else { w[obsk].ONETAGButton_Load(); } (new Image()).src = '//omt.shinobi.jp/tsumugi?location='+ encodeURIComponent(window.location.href) + '&source_key=' + SOURCEKEY; })(document); (function(d) { var script = d.createElement('script'); script.defer = 'defer'; script.src = '//x9.shinobi.jp/ufo/453134534'; d.body.appendChild(script); })(document); (function() { if (typeof window.__NINJA_CO_JP_ONETAG_BUTTON_LOAD__ === 'undefined') { window.__NINJA_CO_JP_ONETAG_BUTTON_LOAD__ = 'loaded'; (new Image()).src = '//omt.shinobi.jp/pv?t=' + (new Date).getTime() } })();