// http://phpjavascriptroom.com/
// http://www.mikage.to/jquery/jquery_basic.html
// http://ascii.jp/elem/000/000/439/439414/
// http://webdesignrecipes.com/jquery-beginners-guide-for-web-design/

// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
//     ie === undefined
// If you're in IE (>=5) then you can determine which version:
//     ie === 7; // IE7
// Thus, to detect IE:
//     if (ie) {}
// And to detect the version:
//     ie === 6 // IE6
//     ie > 7 // IE8, IE9 ...
//     ie < 9 // Anything less than IE9
// ----------------------------------------------------------
// https://gist.github.com/527683
var IEver = (function(){
    var undef,
        v = 3,
        div = document.createElement('div'),
        all = div.getElementsByTagName('i');
    while (
        div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
        all[0]
    );
    return v > 4 ? v : undef;
}());
/*@cc_on
  @if (@_jscript_version >= 10)
    IEver = @_jscript_version;
  @end
@*/

// 引数を取得
// http://www.s-memo.net/blog/2007/03/javascriptget_1.php
function getRequest(){
  if(location.search.length > 1) {
    var get = new Object();
    var ret = location.search.substr(1).split("&");
    for(var i = 0; i < ret.length; i++) {
      var r = ret[i].split("=");
      get[r[0]] = r[1];
    }
    return get;
  } else {
    return false;
  }
}
var get_arg = getRequest();

//スマートフォンかどうか
function is_smartphone () {
  var useragents = [
    'iPhone',         // Apple iPhone
    'iPod',           // Apple iPod touch
    'Android',        // 1.5+ Android
    'dream',          // Pre 1.5 Android
    'CUPCAKE',        // 1.5+ Android
    'BlackBerry',
    'webOS',          // Palm Pre Experimental
    'incognito',      // Other iPhone browser
    'webmate'         // Other iPhone browser
  ];
  var pattern = new RegExp(useragents.join('|'), 'i');
  return pattern.test(window.navigator.userAgent);
}

// うーん、、、
var pf = window.navigator.platform;
var ua = window.navigator.userAgent;
if (pf.indexOf('Win') != -1 && ua.indexOf('Windows NT 5.') == -1) {
  document.write(
    '<style type="text/css">body{',
    'font-family:"メイリオ","Meiryo",sans-serif;',
    'font-size:90%;',
    '}</style>'
  );
}

// ---------- jQuery ----------
//google.load("jquery", "1");
google.load("jquery", "1.4.2");
google.setOnLoadCallback(function(){

/*
 http://flesler.blogspot.com/search/label/jQuery.Preload
 * jQuery.Preload - Multifunctional preloader
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Dual licensed under MIT and GPL.
 * Date: 3/25/2009
 * @author Ariel Flesler
 * @version 1.0.8
*/
;(function($){var h=$.preload=function(c,d){if(c.split)c=$(c);d=$.extend({},h.defaults,d);var f=$.map(c,function(a){if(!a)return;if(a.split)return d.base+a+d.ext;var b=a.src||a.href;if(typeof d.placeholder=='string'&&a.src)a.src=d.placeholder;if(b&&d.find)b=b.replace(d.find,d.replace);return b||null}),data={loaded:0,failed:0,next:0,done:0,total:f.length};if(!data.total)return finish();var g=$(Array(d.threshold+1).join('<img/>')).load(handler).error(handler).bind('abort',handler).each(fetch);function handler(e){data.element=this;data.found=e.type=='load';data.image=this.src;data.index=this.index;var a=data.original=c[this.index];data[data.found?'loaded':'failed']++;data.done++;if(d.enforceCache)h.cache.push($('<img/>').attr('src',data.image)[0]);if(d.placeholder&&a.src)a.src=data.found?data.image:d.notFound||a.src;if(d.onComplete)d.onComplete(data);if(data.done<data.total)fetch(0,this);else{if(g&&g.unbind)g.unbind('load').unbind('error').unbind('abort');g=null;finish()}};function fetch(i,a,b){if(a.attachEvent&&data.next&&data.next%h.gap==0&&!b){setTimeout(function(){fetch(i,a,1)},0);return!1}if(data.next==data.total)return!1;a.index=data.next;a.src=f[data.next++];if(d.onRequest){data.index=a.index;data.element=a;data.image=a.src;data.original=c[data.next-1];d.onRequest(data)}};function finish(){if(d.onFinish)d.onFinish(data)}};h.gap=14;h.cache=[];h.defaults={threshold:2,base:'',ext:'',replace:''};$.fn.preload=function(a){h(this,a);return this}})(jQuery);

/*
 jQuery Browser Plugin
 * Version 2.3
 * 2008-09-17 19:27:05
 * URL: http://jquery.thewikies.com/browser
 * Description: jQuery Browser Plugin extends browser detection capabilities and can assign browser selectors to CSS classes.
 * Author: Nate Cavanaugh, Minhchau Dang, & Jonathan Neal
 * Copyright: Copyright (c) 2008 Jonathan Neal under dual MIT/GPL license.
 * JSLint: This javascript file passes JSLint verification.
*/
//(function($){$.browserTest=function(a,z){var u='unknown',x='X',m=function(r,h){for(var i=0;i<h.length;i=i+1){r=r.replace(h[i][0],h[i][1]);}return r;},c=function(i,a,b,c){var r={name:m((a.exec(i)||[u,u])[1],b)};r[r.name]=true;r.version=(c.exec(i)||[x,x,x,x])[3];if(r.name.match(/safari/)&&r.version>400){r.version='2.0';}if(r.name==='presto'){r.version=($.browser.version>9.27)?'futhark':'linear_b';}r.versionNumber=parseFloat(r.version,10)||0;r.versionX=(r.version!==x)?(r.version+'').substr(0,1):x;r.className=r.name+r.versionX;return r;};a=(a.match(/Opera|Navigator|Minefield|KHTML|Chrome/)?m(a,[[/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/,''],['Chrome Safari','Chrome'],['KHTML','Konqueror'],['Minefield','Firefox'],['Navigator','Netscape']]):a).toLowerCase();$.browser=$.extend((!z)?$.browser:{},c(a,/(camino|chrome|firefox|netscape|konqueror|lynx|msie|opera|safari)/,[],/(camino|chrome|firefox|netscape|netscape6|opera|version|konqueror|lynx|msie|safari)(\/|\s)([a-z0-9\.\+]*?)(\;|dev|rel|\s|$)/));$.layout=c(a,/(gecko|konqueror|msie|opera|webkit)/,[['konqueror','khtml'],['msie','trident'],['opera','presto']],/(applewebkit|rv|konqueror|msie)(\:|\/|\s)([a-z0-9\.]*?)(\;|\)|\s)/);$.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||[u])[0].replace('sunos','solaris')};if(!z){$('html').addClass([$.os.name,$.browser.name,$.browser.className,$.layout.name,$.layout.className].join(' '));}};$.browserTest(navigator.userAgent);})(jQuery);

/*
 http://code.google.com/p/jquery-fontavailable/
 * fontAvailable jQuery Plugin, v1.1
 *
 * Copyright (c) 2009, Howard Rauscher
 * Licensed under the MIT License
 */
//(function(b){var a;b.fontAvailable=function(e){var d,c;if(!a){a=b(document.createElement("span")).css("visibility","hidden").css("position","absolute").css("top","-10000px").css("left","-10000px").html("abcdefghijklmnopqrstuvwxyz").appendTo(document.body)}d=a.css("font-family","__FAKEFONT__").width();c=a.height();a.css("font-family",e);return d!==a.width()||c!==a.height()}})(jQuery);


$(function(){

// 外部リンクに _blank を付ける
$('a[href^=http]').not('[href^="http://'+location.hostname+'"]').attr('target','_blank');

// いいねボタンの幅を調節
$('#like').css('font-size','11px');
$('#like').css('font-family','"lucida grande",tahoma,verdana,arial,"Hiragino Kaku Gothic Pro",Meiryo,"MS PGothic",sans-serif');
var like_w = $('#like').width() + 26;
var like_com_position = -300;
if (IEver) like_w += 1;
if (get_arg['mode'] && get_arg['mode'] == 'page') like_com_position = 0;
$('#like').html(
  '<style type="text/css">' +
  '.fb_edge_widget_with_comment iframe{' +
  'width:' + like_w + 'px !important;}' +
  'span.fb_edge_comment_widget.fb_iframe_widget iframe{' +
  'width:401px !important;margin-left:' + like_com_position + 'px !important;}' +
  '</style>'
);

// Twitterボタンを公式のようにポップアップ
// http://dev.yuichiroharai.com/post/tweet-button-no-iframe/
$(".sns-link a.tweet").click(function(){
  var w = 550; var h = 420;
  var sw = screen.width; var sh = screen.height;
  var l = 0; var t = 0;
  if (sw > w) l = Math.round(sw/2 - w/2);
  if (sh > h) t = Math.round(sh/2 - h/2);
  window.open(this.href, "Tweet","width="+w+",height="+h+",left="+l+",top="+t+",scrollbars=yes,resizable=yes,toolbar=no,location=yes");
  return false;
});

// google-code-prettify
//$('pre').addClass('prettyprint');
prettyPrint();

// rel=lightbox の画像を先読み
$("a[rel^=lightbox]").preload({ threshold:1 });

//if ($.os.name == 'win' && $.layout.name == 'webkit') {
//}
//if (!($.browser.name == 'msie' && Math.floor($.browser.versionNumber) <= 7)) {
//}

// Ubuntu以外では「apt:」のリンクを消す
//var browser_agent = navigator.userAgent.toLowerCase() ;
//if ( browser_agent.indexOf('ubuntu') == -1) {
//  $('a[href^=apt]').contents().unwrap();
//}

/*
// lightboxの枠などを先読み
jQuery.preloadImages = function(){
for(var i = 0; i<arguments.length; i++)
{jQuery("<img>").attr("src", arguments[i]);}};
$.preloadImages("/js/lightbox_plus/loading.gif", "/js/lightbox_plus/toumei.png", "/js/lightbox_plus/shrink.gif", "/js/lightbox_plus/blank.gif", "/js/lightbox_plus/prev.gif", "/js/lightbox_plus/next.gif", "/js/lightbox_plus/close.gif", "/js/lightbox_plus/toumei.png");
*/

// バージョンの確認
// alert(jQuery.fn.jquery);

});
});
// ---------- jQuery END ----------

