var blBookmarks; blBookmarks = (function() { var blBookmarks, deliciousBookmarks, diggBookmarks, diigoBookmarks, facebookBookmarks, facebookHeightBookmarks, hatenaBookmarks, hatenaHeightBookmarks, outputBookMarks, redditBookmarks, stumbleuponBookmarks, twitterBookmarks, twitterHeightBookmarks, greeiineBookmarks, mixicheckBookmarks, googleplusoneBookmarks, mixiiine2Bookmarks; var __merge, __slice, __bind, __uncurry_this, __async_call; var baseDetectingBrowser, ieDetectingBrowser, isIE; var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; }, __indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (__hasProp.call(this, i) && this[i] === item) return i; } return -1; }; __slice = Array.prototype.slice; __bind = Function.prototype.bind || function(_obj){ var _this, _args; _this = this; _args = __slice.call(arguments, 1); return function(){ var _arg; _arg = __slice.call(arguments); return _this.apply(_obj, _args.concat(_arg)); }; }; __uncurry_this = __bind.call(__bind, Function.prototype.call); __async_call = function(){ var _slice, _bind, _apply; _slice = __uncurry_this(__slice); _bind = __uncurry_this(__bind); _apply = __uncurry_this(Function.prototype.apply); return typeof setImmediate === "function"? function(){ var _args; _args = _slice(arguments); setImmediate( _apply( _bind, null, _args)); }: typeof MessageChannel === "function"? function(){ var ch, queue; ch = new MessageChannel(); queue = []; ch.port1.onmessage = function(){ queue.shift()(); }; return function(){ var _args; _args = _slice(arguments); queue.push(_apply(_bind, null, _args)); ch.port2.postMessage(0); }; }(): function(){ var _args; _args = _slice(arguments); setTimeout(_apply(_bind, null, _args), 0); }; }(); /* base detecting browser::super */ baseDetectingBrowser = (function() { function baseDetectingBrowser(){ // constructor var _this; this.isBrowser = false; this.version = null; this.options = { navigator:null, browser_name:null, version_scrap_string:null }; _this = this; _this._set_navigator(); _this._set_browser(); _this.set_version(); } baseDetectingBrowser.prototype._set_navigator = function(){ this.options.navigator = window.navigator; }; /* override default::lower case */ baseDetectingBrowser.prototype.set_browser_name = function(){ this.options.browser_name = null; }; /* overide default::lower case */ baseDetectingBrowser.prototype._get_ua = function(){ return this.options.navigator.userAgent.toLowerCase(); }; baseDetectingBrowser.prototype._set_browser = function(){ var _browser_name, _this, _options, ua; _this = this; _options = _this.options; _this.set_browser_name(); _browser_name = _options.browser_name; ua = _this._get_ua(); if( _browser_name !== null){ if( ua.indexOf( _browser_name ) !== -1 ){ this.isBrowser = true; } } }; /* override */ baseDetectingBrowser.prototype.set_version = function(){ var _options, ua, _scrap_string, match, _this; _this = this; if(_this.isBrowser === true){ _this.set_version_scrap_string(); _options = _this.options; _scrap_string = _options.version_scrap_string; if( _scrap_string !== null){ ua = _this._get_ua(); match = ua.match(_scrap_string); if(match !== null){ this.version = parseFloat(match[1].replace("_", ".")); } } } }; /* override */ baseDetectingBrowser.prototype.set_version_scrap_string = function(){ this.options.version_scrap_string = null; }; return baseDetectingBrowser; })(); /* ie */ ieDetectingBrowser = (function() { __extends(ieDetectingBrowser, baseDetectingBrowser); function ieDetectingBrowser() { ieDetectingBrowser.__super__.constructor.apply(this, arguments); } ieDetectingBrowser.prototype.set_browser_name = function(){ this.options.browser_name = "msie"; }; ieDetectingBrowser.prototype.set_version_scrap_string = function(){ this.options.version_scrap_string = /msie\s([^\s]*)/; }; return ieDetectingBrowser; })(); isIE = new ieDetectingBrowser(); __merge = function(destination, source) { var key, value; for (key in source) { value = source[key]; if (source.hasOwnProperty(key) === true) destination[key] = source[key]; } return destination; }; /* # ブックマーク表示処理クラス:super */ outputBookMarks = (function() { function outputBookMarks() { this.opts = {}; this.script_options = {}; this.api_id = null; } outputBookMarks.prototype.default_options = { base_url: "", index: null, element: null, media_key: "", url: "", subject: "", blog_url: "" }; outputBookMarks.prototype.default_script_options = { id: null, element: "script", type: "text/javascript", async: true, charaset: "utf-8", src: null, style_tag: null }; /* # 出力用オブション値の初期値を設定::オーバライド */ outputBookMarks.prototype.get_html_options = function() { var _this, _opts, _img; _this = this; _opts = _this.opts; _img = _this.get_icon_img(); return { url: _opts.url, subject: _opts.subject, img: _img, title: "" }; }; /* # 出力用HTMLを設定::オーバライド */ outputBookMarks.prototype.get_html = function(html_options) { var _this, img, title, url; _this = this; url = _this.escape_html(html_options.url); img = _this.escape_html(html_options.img); title = _this.escape_html(html_options.title); return "\"""; }; /* # Script用設定::オーバーライド */ outputBookMarks.prototype.set_script_options = function() { this.script_options.src = null; }; /* # Api ID用設定::オーバーライド */ outputBookMarks.prototype.set_api_id = function() { this.api_id = null; }; outputBookMarks.prototype.get_script_options = function() { var _this; _this = this; _this.set_api_id(); _this.set_script_options(); return __merge( _this.default_script_options, _this.script_options); }; outputBookMarks.prototype.add_script = function() { var _this, id_element, s, script, script_options; _this = this; script_options = _this.get_script_options(); id_element = document.getElementById(script_options.id); if ((id_element === null) && (script_options.src !== null)) { script = document.createElement(script_options.element); script.type = script_options.type; script.async = script_options.async; script.charaset = script_options.charaset; script.src = script_options.src; script.setAttribute("id", script_options.id); s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s); if (script_options.hasOwnProperty("style_tag") === true && script_options.style_tag !== "" && script_options.style_tag !== null) { _this.add_style(script_options.id, script_options.style_tag); } } }; outputBookMarks.prototype.reload_script = function() { var _this, id_element, script_options; _this = this; script_options = _this.get_script_options(); id_element = document.getElementById(script_options.id); if ( id_element === null) { _this.add_script(); } else { _this.remove_script(id_element); _this.add_script(); } }; outputBookMarks.prototype.remove_script = function(obj) { var obj_parent; obj_parent = obj.parentNode; obj_parent.removeChild(obj); }; outputBookMarks.prototype.add_style = function(script_id, tags) { var id_element, sheet, style, style_id, tags_list; if( isIE.isBrowser === true ){ document.createStyleSheet().cssText = tags; }else{ style_id = "" + script_id + "_style"; id_element = document.getElementById(style_id); if (id_element === null) { style = document.createElement("style"); style.setAttribute("type", "text/css"); style.setAttribute("id", style_id); document.getElementsByTagName("head")[0].appendChild(style); style.sheet.insertRule(tags, style.sheet.cssRules.length); } } }; outputBookMarks.prototype.get_icon_img = function() { var _opts, img; _opts = this.opts; img = "" + _opts.blog_url + "/img/bookmark/" + _opts.media_key + "_ico.gif"; return img; }; outputBookMarks.prototype.escape_html = function(str) { var obj; obj = document.createElement("pre"); if (typeof obj.textContent !== "undefined") { obj.textContent = str; } else { obj.innerText = str; } return obj.innerHTML; }; outputBookMarks.prototype.get = function(options) { var _this, _html_options, html; _this = this; if (options === null) options = {}; this.opts = __merge(_this.default_options, options); _html_options = _this.get_html_options(); html = _this.get_html(_html_options); return html; }; outputBookMarks.prototype.add_external_script = function(src) { var script; script = document.createElement("script"); script.type = "text/javascript"; script.src = src; document.getElementsByTagName("head")[0].appendChild(script); }; return outputBookMarks; })(); /* # hatena */ hatenaBookmarks = (function() { __extends(hatenaBookmarks, outputBookMarks); function hatenaBookmarks() { hatenaBookmarks.__super__.constructor.apply(this, arguments); } hatenaBookmarks.prototype.get_html_options = function() { var _opts; _opts = this.opts; return { url: _opts.url, subject: _opts.subject, img: null, title: "このエントリーをはてなブックマークに追加" }; }; hatenaBookmarks.prototype.get_html = function(html_options) { return '' + html_options.title + ''; }; hatenaBookmarks.prototype.set_script_options = function() { this.script_options = { id: "hatena-js", src: "http://b.st-hatena.com/js/bookmark_button.js", charset: "utf-8", async: "async" }; }; return hatenaBookmarks; })(); /* # hatena type height. */ hatenaHeightBookmarks = (function() { __extends(hatenaHeightBookmarks, outputBookMarks); function hatenaHeightBookmarks() { hatenaHeightBookmarks.__super__.constructor.apply(this, arguments); } hatenaHeightBookmarks.prototype.get_html_options = function() { var _opts; _opts = this.opts; return { url: _opts.url, subject: _opts.subject, img: null, title: "このエントリーをはてなブックマークに追加" }; }; hatenaHeightBookmarks.prototype.get_html = function(html_options) { return ''+ html_options.title +''; }; hatenaHeightBookmarks.prototype.set_script_options = function() { this.script_options = { id: "hatena-js", src: "http://b.st-hatena.com/js/bookmark_button.js", charset: "utf-8", async: "async" }; }; return hatenaHeightBookmarks; })(); /* # facebook type width. */ facebookBookmarks = (function() { __extends(facebookBookmarks, outputBookMarks); function facebookBookmarks() { facebookBookmarks.__super__.constructor.apply(this, arguments); } facebookBookmarks.prototype.get_html_options = function() { return { url: this.opts.url, subject: null, img: null, title: null }; }; facebookBookmarks.prototype.get_html = function(html_options) { return "
"; }; facebookBookmarks.prototype.set_api_id = function() { this.api_id = 216026118496977; }; facebookBookmarks.prototype.set_script_options = function() { var src; src= "//connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v2.6&appId=" + this.api_id; this.script_options = { id: "facebook-jssdk", src: src }; }; return facebookBookmarks; })(); /* # facebook type height. */ facebookHeightBookmarks = (function() { __extends(facebookHeightBookmarks, facebookBookmarks); function facebookHeightBookmarks() { facebookHeightBookmarks.__super__.constructor.apply(this, arguments); } facebookHeightBookmarks.prototype.get_html = function(html_options) { return "
"; }; return facebookHeightBookmarks; })(); /* # twitter */ twitterBookmarks = (function() { __extends(twitterBookmarks, outputBookMarks); function twitterBookmarks() { twitterBookmarks.__super__.constructor.apply(this, arguments); } twitterBookmarks.prototype.get_html_options = function() { var _opts; _opts = this.opts; return { url: _opts.url, subject: _opts.subject, img: null, title: null }; }; twitterBookmarks.prototype.get_html = function(html_options) { return ""; }; twitterBookmarks.prototype.set_script_options = function() { var protocol, src; protocol = /^http:/.test(document.location)?"http":"https"; src = protocol + "://platform.twitter.com/widgets.js"; this.script_options = { id: "twitter-wjs", src: src, style_tag: ".twitterHeightBookmark { margin: 43px 0 0; }" }; }; return twitterBookmarks; })(); /* # twitter type height. */ twitterHeightBookmarks = (function() { __extends(twitterHeightBookmarks, twitterBookmarks); function twitterHeightBookmarks() { twitterHeightBookmarks.__super__.constructor.apply(this, arguments); } twitterHeightBookmarks.prototype.get_html = function(html_options) { return ""; }; return twitterHeightBookmarks; })(); /* # delicious */ deliciousBookmarks = (function() { __extends(deliciousBookmarks, outputBookMarks); function deliciousBookmarks() { deliciousBookmarks.__super__.constructor.apply(this, arguments); } deliciousBookmarks.prototype.get_html_options = function() { var _this, _opts, title, url, img; _this = this; _opts = _this.opts; title = encodeURIComponent(_opts.subject); url = "http://del.icio.us/post?url=" + _opts.url + "&title=" + title; img = _this.get_icon_img(); return { url: url, subject: null, img: img, title: "エントリをDeliciousに追加する" }; }; return deliciousBookmarks; })(); /* # reddit */ redditBookmarks = (function() { __extends(redditBookmarks, outputBookMarks); function redditBookmarks() { redditBookmarks.__super__.constructor.apply(this, arguments); } redditBookmarks.prototype.get_html_options = function() { var _this, _opts, title, url, img; _this = this; _opts = _this.opts; title = encodeURIComponent(_opts.subject); url = "http://reddit.com/submit?url=" + _opts.url + "&title=" + title; img = _this.get_icon_img(); return { url: url, subject: null, img: img, title: "reddit" }; }; return redditBookmarks; })(); /* # digg */ diggBookmarks = (function() { __extends(diggBookmarks, outputBookMarks); function diggBookmarks() { diggBookmarks.__super__.constructor.apply(this, arguments); } diggBookmarks.prototype.get_html_options = function() { var _this, _opts, title, url, img; _this = this; _opts = _this.opts; title = encodeURIComponent(_opts.subject); url = "http://digg.com/submit?phase=2&url=" + _opts.url + "&title=" + title; img = _this.get_icon_img(); return { url: url, subject: null, img: img, title: "Digg" }; }; return diggBookmarks; })(); /* # diigo */ diigoBookmarks = (function() { __extends(diigoBookmarks, outputBookMarks); function diigoBookmarks() { diigoBookmarks.__super__.constructor.apply(this, arguments); } diigoBookmarks.prototype.get_html_options = function() { var _this, _opts, title, url; _this = this; _opts = _this.opts; title = encodeURIComponent(this.opts.subject); url = "http://www.diigo.com/post?url=" + _opts.url + "&title=" + title; return { url: url, subject: null, img: "http://www.diigo.com/images/ii_blue.gif", title: "Add to diigo" }; }; return diigoBookmarks; })(); /* # greeiine */ greeiineBookmarks = (function() { __extends(greeiineBookmarks, outputBookMarks); function greeiineBookmarks() { greeiineBookmarks.__super__.constructor.apply(this, arguments); } greeiineBookmarks.prototype.get_html_options = function() { var url; url = encodeURIComponent(this.opts.url); return { url: url, subject: null, img: null, title: null }; }; greeiineBookmarks.prototype.get_html = function(html_options) { return ""; }; return greeiineBookmarks; })(); /* # mixicheck */ mixicheckBookmarks = (function() { __extends(mixicheckBookmarks, outputBookMarks); function mixicheckBookmarks() { mixicheckBookmarks.__super__.constructor.apply(this, arguments); } mixicheckBookmarks.prototype.get_html_options = function() { var _opts, url, subject; _opts = this.opts; url = _opts.url; subject = _opts.subject; return { url: url, subject: subject, img: null, title: null }; }; mixicheckBookmarks.prototype.get_html = function(html_options) { return ""; }; return mixicheckBookmarks; })(); /* # stumbleupon */ stumbleuponBookmarks = (function() { __extends(stumbleuponBookmarks, outputBookMarks); function stumbleuponBookmarks() { stumbleuponBookmarks.__super__.constructor.apply(this, arguments); } stumbleuponBookmarks.prototype.get_html_options = function() { return { url: this.opts.url, subject: null, img: null, title: null }; }; stumbleuponBookmarks.prototype.get_html = function(html_options) { return ""; }; return stumbleuponBookmarks; })(); /* # googleplusone */ googleplusoneBookmarks = (function() { __extends(googleplusoneBookmarks, outputBookMarks); function googleplusoneBookmarks() { googleplusoneBookmarks.__super__.constructor.apply(this, arguments); } googleplusoneBookmarks.prototype.get_html_options = function() { return { url: this.opts.url, subject: null, img: null, title: null }; }; googleplusoneBookmarks.prototype.get_html = function(html_options) { return ""; }; return googleplusoneBookmarks; })(); mixiiine2Bookmarks = (function() { __extends(mixiiine2Bookmarks, outputBookMarks); function mixiiine2Bookmarks() { mixiiine2Bookmarks.__super__.constructor.apply(this, arguments); } mixiiine2Bookmarks.prototype.get_html_options = function() { return { url: this.opts.url, subject: null, img: null, title: null }; }; mixiiine2Bookmarks.prototype.get_html = function(html_options) { return ""; }; return mixiiine2Bookmarks; })(); function blBookmarks(options) { var _opts; if (options === null) options = {}; this.opts = _opts = __merge(this.default_options, options); this.appendBalloonBox(); this.opts.bookmark_button_img = _opts.blog_url + _opts.bookmark_button_img; this.opts.bookmark_services = this.conversion_bookmark_services_string(_opts.bookmark_services, _opts.conversion_bookmark_services_string_list); } blBookmarks.prototype.default_options = { blog_url: "", bookmark_services: [], order_bookmark_services: ["hatena", "hatenaHeight", "facebook", "facebookHeight", "twitter", "twitterHeight", "delicious", "reddit", "digg", "stumbleupon", "diigo", "mixicheck", "greeiine", "googleplusone", "mixiiine2", "mixiiine1"], conversion_bookmark_services_string_list: { "ha": "hatena", "hah": "hatenaHeight", "de": "delicious", "re": "reddit", "dig": "digg", "st": "stumbleupon", "dii": "diigo", "tw": "twitter", "twh": "twitterHeight", "fb": "facebook", "fbh": "facebookHeight", "go": "googleplusone", "mi2": "mixiiine2", "gr": "greeiine", "mi": "mixicheck" }, sns_box_class: "sns_box", bookmark_button_class:"seesaaBookmarks", now_push_elem: null, init_sns_list: ["hatena", "hatenaHeight", "facebook", "facebookHeight", "twitter", "twitterHeight", "googleplusone"], height_sns_list: ["hatenaHeight", "facebookHeight", "twitterHeight"], add_init_script_list: ["hatena", "hatenaHeight", "facebook", "facebookHeight", "twitter", "twitterHeight", "stumbleupon", "mixicheck", "googleplusone"], balloon_elem: "balloonBox", balloon_close_elem: "balloonClose", bookmark_button_elem: "bookmark_button", bookmark_button_img: "/img/bookmark/bookmark.gif", base_tag: "div", base_elem: "bookmark", data_url: "data-url", data_subject: "data-subject", balloon:null, timer:null, stop_time: 5000, sns_list: { hatena: hatenaBookmarks, hatenaHeight: hatenaHeightBookmarks, facebook: facebookBookmarks, facebookHeight: facebookHeightBookmarks, twitter: twitterBookmarks, twitterHeight: twitterHeightBookmarks, delicious: deliciousBookmarks, reddit: redditBookmarks, digg: diggBookmarks, stumbleupon: stumbleuponBookmarks, diigo: diigoBookmarks, greeiine: greeiineBookmarks, mixicheck: mixicheckBookmarks, googleplusone: googleplusoneBookmarks, mixiiine2: mixiiine2Bookmarks } }; blBookmarks.prototype.exe = function() { var _this, class_list; _this = this; __async_call(function(){ if( isIE.isBrowser === true && isIE.version === 6){} else { //if (this.userAgent.indexOf("msie") !== -1 && this.appVersion.indexOf("msie 6.") !== -1) {} else { class_list = this.get_class_list(this.opts.base_tag, this.opts.base_elem); this.add_scripts_init(); if(this.opts.bookmark_services.length > 0){ this.drow_bookmarks(class_list); } } }, _this); }; blBookmarks.prototype.conversion_bookmark_services_string = function(bookmark_services, conversion_bookmark_services_string_list) { var response_bookmark_services, bookmark_service, conversion_bookmark, i, _len, order_bookmark_services; response_bookmark_services = []; order_bookmark_services = this.opts.order_bookmark_services; for(i = 0, _len = bookmark_services.length; i < _len; i++){ bookmark_service = bookmark_services[i]; if( conversion_bookmark_services_string_list.hasOwnProperty(bookmark_service) === true){ conversion_bookmark = conversion_bookmark_services_string_list[bookmark_service]; }else{ conversion_bookmark = bookmark_service; } if( __indexOf.call(order_bookmark_services, conversion_bookmark) >= 0 && __indexOf.call(response_bookmark_services, conversion_bookmark) < 0){ response_bookmark_services.push(conversion_bookmark); } } return response_bookmark_services; }; blBookmarks.prototype.sort_bookmark_services = function(bookmark_services, order_bookmark_services) { var key, response_bookmark_services, _i, _len; response_bookmark_services = []; for (_i = 0, _len = order_bookmark_services.length; _i < _len; _i++) { key = order_bookmark_services[_i]; if (__indexOf.call(bookmark_services, key) >= 0) { response_bookmark_services.push(key); } } return response_bookmark_services; }; blBookmarks.prototype.add_scripts_init = function() { var bookmark_list, bookmark_process, key, _i, _len, _ref; bookmark_list = __merge({}, this.opts.sns_list); _ref = this.opts.add_init_script_list; for (_i = 0, _len = _ref.length; _i < _len; _i++) { key = _ref[_i]; bookmark_process = new bookmark_list[key](); if ("add_script" in bookmark_process) bookmark_process.add_script(); } }; blBookmarks.prototype.drow_bookmarks = function(class_list) { var bookmark_button_obj, bookmark_services, element, height_obj_height, height_sns_list, init_sns_list, key, opts, sns_obj, subject, url, _i, _j, _len, _len2, _fragment; opts = this.opts; bookmark_services = this.opts.bookmark_services; init_sns_list = this.opts.init_sns_list; height_sns_list = opts.height_sns_list; _fragment = document.createDocumentFragment(); for (_i = 0, _len = class_list.length; _i < _len; _i++) { element = class_list[_i]; url = element.getAttribute(opts.data_url); subject = element.getAttribute(opts.data_subject); height_obj_height = null; for (_j = 0, _len2 = init_sns_list.length; _j < _len2; _j++) { key = init_sns_list[_j]; if (__indexOf.call(bookmark_services, key) >= 0) { sns_obj = this.sns_object(key, url, subject); if (sns_obj !== null) { _fragment.appendChild(sns_obj); if (height_obj_height === null) { if (__indexOf.call(height_sns_list, key) >= 0) { height_obj_height = sns_obj.offsetHeight; } } } } } if(this.get_append_bookmark_flag() === true){ bookmark_button_obj = this.bookmark_button(); if (height_obj_height !== null) { bookmark_button_obj.style.height = "63px"; } _fragment.appendChild(bookmark_button_obj); } element.appendChild(_fragment); } }; blBookmarks.prototype.get_append_bookmark_flag = function(){ var init_sns_list, sns_list, bookmark_services, key; init_sns_list = this.opts.init_sns_list; bookmark_services = this.opts.bookmark_services; sns_list = []; for (var _i = 0, _len = bookmark_services.length; _i < _len; _i++) { key = bookmark_services[_i]; if (__indexOf.call(init_sns_list, key) >= 0) { } else { return true; } } return false; }; blBookmarks.prototype.sns_object = function(key, url, subject) { var element, html, opts, sns_class, sns_list, sns_obj; opts = this.opts; sns_list = opts.sns_list; if (sns_list.hasOwnProperty(key) === true) { sns_obj = new sns_list[key](); html = sns_obj.get({ blog_url: opts.blog_url, media_key: key, url: url, subject: subject }); if (html !== null) { element = document.createElement("div"); sns_class = "" + opts.sns_box_class + " " + key + "Bookmark"; if(element.getAttribute("className") !== null){ element.setAttribute("className", sns_class); } else { element.setAttribute("class", sns_class); } element.innerHTML = html; return element; } else { return null; } } else { return null; } }; blBookmarks.prototype.balloon_timer = function(flag) { var opts; opts = this.opts; if (flag === true) { this.timerID = setTimeout(function() { if (opts.balloon !== null) { opts.balloon.style.display = "none"; opts.now_push_elem = null; } }, opts.stop_time); return; } else { clearTimeout(this.timerID); return; } }; blBookmarks.prototype.push_bookmark_button = function(self) { var element, init_sns_list, key, obj, opts, parent, selfHeight, selfX, selfY, sns_list, sns_obj, subject, url, _i, _len, _this, bookmark_services, _obj; bookmark_services = this.opts.bookmark_services; this.balloon_timer(false); opts = this.opts; _this = this; parent = self.parentNode; url = parent.getAttribute(opts.data_url); subject = parent.getAttribute(opts.data_subject); if (opts.balloon === null) { opts.balloon = document.getElementById(opts.balloon_elem); } opts.balloon.innerHTML = ""; if (opts.now_push_elem === self) { opts.balloon.style.display = "none"; opts.now_push_elem = null; } else { if(isIE.isBrowser === true && isIE.version < 8){ selfY = self.offsetTop - 10; selfX = self.offsetLeft; obj = self; while (obj = obj.offsetParent) { selfX += obj.offsetLeft; selfY += obj.offsetTop; selfHeight += obj.offsetHeight; } } else if( isIE.isBrowser === true && isIE.version === 9){ obj = self; selfY = self.offsetTop - 10; selfX = self.offsetLeft; while (obj = obj.offsetParent) { selfY += obj.offsetTop; selfX += obj.offsetLeft; } } else { selfX = self.offsetLeft; selfY = self.offsetTop - 10; if(self.offsetParent !== document.body){ obj = self.offsetParent; while(true){ selfY += obj.offsetTop; selfX += obj.offsetLeft; if(obj.offsetParent === document.body){ break; }else{ obj = obj.offsetParent; } } } } selfHeight = self.offsetHeight; element = document.createElement("div"); element.innerHTML = "
x
"; init_sns_list = this.opts.init_sns_list; sns_list = this.opts.sns_list; for (_i = 0, _len = bookmark_services.length; _i < _len; _i++) { key = bookmark_services[_i]; if (__indexOf.call(init_sns_list, key) >= 0) {} else { if((key === "stumbleupon" || key === "googleplusone") && isIE.isBrowser === true && isIE.version < 8){ sns_obj = null; } else { sns_obj = this.sns_object(key, url, subject); } if (sns_obj != null) { element.appendChild(sns_obj); if (sns_list.hasOwnProperty(key) === true) { _obj = new sns_list[key](); _obj.reload_script(); } } } } opts.balloon.appendChild(element); opts.balloon.style.top = selfY + selfHeight + "px"; opts.balloon.style.left = selfX + "px"; opts.balloon_close = document.getElementById(opts.balloon_close_elem); this.balloon_timer(true); opts.balloon.style.display = "block"; opts.now_push_elem = self; opts.balloon_close.onclick = function() { _this.push_balloon_close(self); _this.balloon_timer(false); }; opts.balloon.onmouseout = function() { _this.balloon_timer(true); }; opts.balloon.onmouseover = function() { _this.balloon_timer(false); }; } }; blBookmarks.prototype.push_balloon_close = function(self) { var balloon, opts, _this; opts = this.opts; _this = this; balloon = document.getElementById(opts.balloon_elem); balloon.innerHTML = ""; balloon.style.display = "none"; self.onclick = function() { _this.push_bookmark_button(self); }; }; blBookmarks.prototype.bookmark_button = function() { var element, opts, self; self = this; opts = this.opts; element = document.createElement("div"); if(isIE.isBrowser === true && isIE.version < 8){ element.setAttribute("className", opts.bookmark_button_class); } else { element.setAttribute("class", opts.bookmark_button_class); } element.onclick = function() { self.push_bookmark_button(this); }; element.style.position = "relative"; // element.style.height = "80px"; element.innerHTML = "\"ブックマークボタン\""; return element; }; blBookmarks.prototype.appendBalloonBox = function() { var element, objBody, opts, balloon_elem; opts = this.opts; balloon_elem = opts.balloon_elem; element = document.getElementById(balloon_elem); if(!element){ element = document.createElement("div"); element.id = balloon_elem; element.style.display = "none"; objBody = document.getElementsByTagName("body").item(0); objBody.appendChild(element); } }; blBookmarks.prototype.get_class_list = function(tag, elem) { var class_list, element, elements, _i, _len; class_list = []; elements = document.getElementsByTagName(tag); for (_i = 0, _len = elements.length; _i < _len; _i++) { element = elements[_i]; if (element.className === elem) class_list.push(element); } return class_list; }; return blBookmarks; })();