// --------------------------------------------------
Function.prototype.later=function(ms){
 var s=this;
 return function(){
  var a=arguments;
  var o=this;
  var r={complete:false,cancel:function(){clearTimeout(Me);},notify:function(){clearTimeout(Me);f();}};
  var f=function(){s.apply(o,a);r.complete=true;};
  var Me=setTimeout(f,ms);
  return r;
 };
};

// Namespace
if(typeof(ISMEDIAns)=='undefined'){
 var ISMEDIAns={
  util:{},	// Other Utility Function
  cls:{},	// Class
  show:{},	// Element show Function
  mv:{},	// Element move Function
  cb:{},	// Callback Function
  eom:null	// End Mark
 };
}
// Cookie Read
ISMEDIAns.util.getCookieValue = function(_name){
 var neq = _name + '=';
 var ca = document.cookie.split(';');
 for(var i=0; i<ca.length; i++) {
  var c = ca[i];
  while (c.charAt(0)==' ') {
   c = c.substring(1,c.length);
  }
  if (c.indexOf(neq) == 0) {
   return c.substring(neq.length,c.length);
  }
 }
 return null;
};

// Font Style Switch
ISMEDIAns.util.setFontStyleSheet = function(_title){
 var a;	// スタイルシートエレメント
 // フォント大
 if ($('#altstylel').length) {
  a = $('#altstylel')[0];
  a.disabled = (a.getAttribute('title') == _title) ? false : true;
 }
 // フォント小
 if ($('#altstyles').length) {
  a = $('#altstyles')[0];
  a.disabled = (a.getAttribute('title') == _title) ? false : true;
 }
 var d = new Date();
 d.setTime(d.getTime()+(365*24*60*60*1000));
 var expires = '; expires=' + d.toGMTString();
 var domain = '; domain=' + location.hostname;
 document.cookie = 'im-style=' + _title + expires + domain + '; path=/';
};

// Font Style Initialize
ISMEDIAns.util.initFontStyle = function(){
 if (($('#altstylel').length)&&($('#altstyles').length)) {
  var v = ISMEDIAns.util.getCookieValue('im-style');
  var f = v ? v : 'Small';
  ISMEDIAns.util.setFontStyleSheet(f);
 }
};
// Social Book Mark
ISMEDIAns.util.bm = {
 'delicious': function(_url,_title){
  var f='http://delicious.com/save?url='+_url+'&title='+_title+'&v=5&';
  var a=function(){if(!window.open(f+'noui=1&jump=doclose','deliciousuiv5','location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550'))location.href=f+'jump=yes'};
  if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0);}else{a()}
 },
 'digg': function(_url,_title){
  var w=window.open('http://digg.com/submit?phase=2&url='+_url+'&title='+_title, 'DiggSubmit','');
 },
 'hatena': function(_url,_title){
  var w=window.open('http://b.hatena.ne.jp/append?'+_url, 'HatenaBookmark','');
 },
 'newsing': function(_url,_title){
  var w=window.open('http://newsing.jp/add?url='+_url, 'newsingIt','');
 },
 'yahoo': function(_url,_title){
  var w=window.open('http://bookmarks.yahoo.co.jp/bookmarklet/showpopup?u='+_url+'&t='+_title+'&ei=UTF-8', 'YahooBookmark','width=550,height=480,left=100,top=50,scrollbars=1,resizable=1');
 },
 'goo': function(_url,_title){
  var w=window.open('http://bookmark.goo.ne.jp/add/detail?url='+_url, 'Gooブックマーク','');
 },
 'livedoor': function(_url,_title){
  var w=window.open('http://clip.livedoor.com/clip/add?link='+_url+'&title='+_title, 'livedoorClip','');
 },
 'furl': function(_url,_title){
  var w=window.open('http://www.furl.net/items/new?u='+_url+'&t='+_title, 'FurlThisPage','');
 },
 'stumpleupon': function(_url,_title){
  var w=window.open('http://www.stumbleupon.com/submit?url='+_url+'&title='+_title, 'StumbleIt','');
 },
 'google': function(){
  var a=document,b=a.createElement('script'),w=window,g={};
  g.altWindow=w.open('','_blank','height=370px,width=720px,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');
  setTimeout(function(){g.altWindow.focus()},1000);
  function f(o){
   try{
    var d=new google.share.EmailWidget(g);
    d.display();
   }catch(e){
    if(o>20) return;
    setTimeout(function(){f(o+1)},o<10?1<<o:1000);
   }
  }
  b.src='http://www.google.com/s2/sharing/js?script=socialsharing&key=&hl=ja';
  a.body.appendChild(b);
  f(0);
 },
 'googleR': function(){
  var b=document.body;
  window.GR________bookmarklet_domain='http://www.google.co.jp';
  if(b&&!document.xmlVersion){
   void(z=document.createElement('script'));
   void(z.src='http://www.google.co.jp/reader/ui/link-bookmarklet.js');
   void(b.appendChild(z));
  }else{}
 },
 'friendfeed': function(_url,_title){
  try{
   var a=document.createElement('script');
   a.setAttribute('type','text/javascript');
   a.setAttribute('src','http://friendfeed.com/share/bookmarklet/javascript?url='+_url+'&title='+_title);
   document.body.appendChild(a);
  }catch(e){}
 },
 'buzzurl': function(_url,_title){
  try{
   var w=window.open('http://buzzurl.jp/config/add/confirm?url='+_url+'&title='+_title, 'buzzurl','');
  }catch(e){}
 },
 'fc2':function(_url,_title){
  try{
   var w=window.open('http://bookmark.fc2.com/user/post??url='+_url+'&title='+_title, 'fc2','');
  }catch(e){}
 },
 'iza':function(_url,_title){
  try{
   var w=window.open('http://www.iza.ne.jp/bookmark/add/regist/back/'+_url, 'iza','');
  }catch(e){}
 }
};

// Open Window
ISMEDIAns.util.openWindow = function(_url,_w,_h){
 var opt = 'width=' + _w + ',height=' + _h + 'location=yes,menubar=no,status=no,scrollbars=yes';
 var w = window.open(_url,null,opt);
};

// delay script loading special thanks bizcaz.com
(function ($) {
$.fn.LazyDocWrite = function(src, before, after) {
 var LazyScript  = function(elem, src, before, after) {
  this.elem   = elem;
  this.src    = src;
  this.before = before;
  this.after  = after;
  this.html   = [];
  this.next   = function() {
   var objs = $.fn.LazyDocWrite.stash;
   objs.shift();
   if (objs.length) {
    objs[0].lazy();
   }
   else {
    $.fn.LazyDocWrite.start = false;
   }
  };
  this.lazy = function() {
   var me = this;
   document._write = document.write;
   document.write = function(s){ me.html.push(s); };
   if ('function' == typeof(me.before)) me.before(me.elem);
   me.elem.ajaxError(function(ev, req, ops, err) {
    me.next();
   });
   $.getScript(me.src, function() {
    if ('function' == typeof(me.after)) me.after(me.elem);
    document.write = document._write;
    me.elem.html(me.html.join(''));
    me.next();
   });
  };
 };
 var ours = $(this);
 var objs = $.fn.LazyDocWrite.stash;
 ours.each(function() {
  objs.push(new LazyScript($(this), src, before, after));
 });
 if (objs.length && !$.fn.LazyDocWrite.start) {
  $.fn.LazyDocWrite.start = true;
  objs[0].lazy();
 }
};
$.fn.LazyDocWrite.start = false;
$.fn.LazyDocWrite.stash = [];
}) (jQuery);

$(function(){
 // ページ内リンク移動スクロール処理
  $('a[href*=#]').click(function() {
    if ($(this).hasClass('noscroll')) {
    } else {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
    && location.hostname == this.hostname) {
      var $target = $(this.hash);
      $target = $target.length && $target
      || $('[name=' + this.hash.slice(1) +']');
      if ($target.length) {
        var targetOffset = $target.offset().top;
        $('html,body')
        .animate({scrollTop: targetOffset}, 600);
       return false;
      }
    }
    }
  });
});
