/* **************************************************************************** * File : prototype.ranking.js 1.28 * * Copyright (C) 2005-2008 http://bizcaz.com/ All rights reserved. **************************************************************************** */ /**************************************************************************** * Cookie有効/無効フラグ(0:無効、1:有効) * ※Cookieを無効にすると、ページにアクセスされるたびにカウントアップされます。 * また、当然PHPスクリプトはその都度実行されます。 ****************************************************************************/ var pagerank_enable_cookie = 1; /**************************************************************************** * アクセスログを取りたいブログID * ※複数のブログの集計を行いたい場合には 0 を指定してください。 * 0 というブログ ID は存在しませんので。 ****************************************************************************/ var pagerank_blogid = 28; /**************************************************************************** * アクセスランキングを表示するIDタグ名称 ****************************************************************************/ var pagerank_view_box = 'ranking-view'; /**************************************************************************** * ブログ URL(index.html がある場所)/アップロード先相対パス * ※pagerank_blog_url: トップページ(index.html)のURL * ※pagerank_home_url: アップロード先をトップページからの相対パス ****************************************************************************/ var pagerank_blog_url = 'http://www.doplaza.jp/life/'; var pagerank_home_url = 'js/pagerank/'; /**************************************************************************** * アクセスログ保存/表示スクリプト/ローダーイメージ ****************************************************************************/ var pagerank_post_url = [pagerank_blog_url, pagerank_home_url, 'rank_post.php' ].join(''); var pagerank_view_url = [pagerank_blog_url, pagerank_home_url, 'rank_view.php' ].join(''); var pagerank_loader = [pagerank_blog_url, pagerank_home_url, 'ajax-loader.gif'].join(''); /**************************************************************************** * トップページ除外フラグ(0:カウント、1:除外) ****************************************************************************/ var pagerank_exclude_top = 1; /**************************************************************************** * 任意ページ除外フラグ(0:カウント、1:除外) ****************************************************************************/ var pagerank_exclude = 0; /**************************************************************************** * ランキング表示数 * ※上位何位まで表示するか設定します。0を指定するとすべて表示します。 ****************************************************************************/ var pagerank_ranking_max = 6; /**************************************************************************** * ランキング表示形式(0:非表示、1:カウンタ表示、2:パーセンテージ表示) * ※カウンタの表示/非表示を設定します。 ****************************************************************************/ var pagerank_ranking_type = 0; /* -------------------------------------------------------------------------- */ /* - Related Access Page Ranking - */ /* -------------------------------------------------------------------------- */ /* - pagerank_safari_escape() - */ /* - pagerank_espace() - */ /* - pagerank_show_ajaxloader() - */ /* - pagerank_fix_date() - */ /* - pagerank_set_cookie() - */ /* - pagerank_get_cookie() - */ /* - pagerank_clear_cookie() - */ /* - pagerank_get_datestr() - */ /* - pagerank_check_cookie() - */ /* - pagerank_view() - */ /* -------------------------------------------------------------------------- */ function pagerank_safari_escape(req) { var text = req.responseText; if (navigator.appVersion.indexOf("KHTML") > -1) { var esc = escape(text); if (esc.indexOf("%u") < 0 && esc.indexOf("%") > -1) { text = decodeURIComponent(esc); } } return text; } function pagerank_espace(str) { str = str.split("&").join("&"); str = str.split("<").join("<"); str = str.split(">").join(">"); str = str.split('"').join("""); str = str.split("{").join("{"); str = str.split("}").join("}"); str = str.split("'").join("'"); return str; } function pagerank_show_ajaxloader(divid, enable) { if (enable) { divid.innerHTML = ''; divid.style.height = '100px'; divid.style.background = 'transparent url('+pagerank_loader+') no-repeat center center'; } else { divid.style.height = 'auto'; divid.style.background = 'none'; } } function pagerank_fix_date(date) { date.setHours(0); date.setMinutes(0); date.setSeconds(0); } function pagerank_set_cookie(name, value, expire) { expire = expire.toGMTString(); var cookieval = escape(name) + '=' + escape(value) + '; path=/; expires=' + expire; document.cookie = cookieval; } function pagerank_get_cookie(name) { var prefix = escape(name) + '='; var c = document.cookie; var nullstring = ''; var cookieStartIndex = c.indexOf(prefix); if (-1 == cookieStartIndex) { return nullstring; } var cookieEndIndex = c.indexOf(';', cookieStartIndex + prefix.length); if (-1 == cookieEndIndex) { cookieEndIndex = c.length; } return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex)); } function pagerank_clear_cookie(name) { if (pagerank_get_cookie(name)) { document.cookie = escape(name) + '=; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT'; } } function pagerank_get_datestr(date) { var yy = date.getYear(); if (yy < 1900) { yy += 1900; } var mm = date.getMonth() + 1; if (mm < 10) { mm = '0' + mm; } var dd = date.getDate(); if (dd < 10) { dd = '0' + dd; } var str = yy + mm + dd; return str; } function pagerank_check_cookie(name) { var now = new Date(); pagerank_fix_date(now); var str = pagerank_get_datestr(now); var expires = pagerank_get_cookie(name); if (expires) { if (expires > str) { return false; } } now.setTime(now.getTime() + 1 * 24 * 60 * 60 * 1000); pagerank_set_cookie(name, pagerank_get_datestr(now), now); return true; } function pagerank_view() { pagerank_show_ajaxloader($(pagerank_view_box), true); var pars = 'blogid='+pagerank_blogid+'&max='+pagerank_ranking_max+'&type='+pagerank_ranking_type; // for Safari Browser new Ajax.Request(pagerank_view_url, { method: 'post', parameters: pars, onComplete: function(req) { var elem = $(pagerank_view_box); pagerank_show_ajaxloader(elem, false); elem.innerHTML = pagerank_safari_escape(req); } }); // for Otherwise // new Ajax.Updater(pagerank_view_box, pagerank_view_url, { // method: 'post', // parameters: pars, // onComplete: function() { // pagerank_show_ajaxloader($(pagerank_view_box), false); // } // }); return false; } function pagerank_post(id, title, uri, desc) { if (pagerank_exclude) { return false; } var location = encodeURI(document.location.href).replace(/#.*/,''); if (pagerank_exclude_top && (uri == location || 0 <= location.indexOf(uri+'index'))) { return false; } if (pagerank_enable_cookie) { if (!pagerank_check_cookie(location)) { return false; } } var pars = 'blogid='+id+'&url='+location+'&title='+encodeURIComponent(pagerank_espace(title))+'&referer='+encodeURI(document.referrer); if ('' != desc) { pars += '&desc='+encodeURIComponent(pagerank_espace(desc)); } new Ajax.Request(pagerank_post_url, { method: 'post', parameters: pars, onComplete: function(req) { // 確認用 // $(pagerank_view_box).innerHTML = pagerank_safari_escape(req); } }); return false; } Event.observe(window, 'load', function() { var title = encodeURIComponent(document.title.replace('-ケータイ生活-DoPlaza::携帯電話情報サイト', '')); pagerank_post(pagerank_blogid, title, pagerank_blog_url, ''); });