/*
 * yuga.js 0.7.1 - 優雅なWeb制作のためのJS
 *
 * Copyright (c) 2009 Kyosuke Nakamura (kyosuke.jp)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Since:     2006-10-30
 * Modified:  2009-01-27
 *
 * jQuery 1.3.1
 * ThickBox 3.1
 */


(function($) {

  $(function() {
    //$.yuga.selflink();
$.yuga.selflink({
  selfLinkAreaSelector: '#main_menu'
});
$.yuga.selflink({
  selfLinkAreaSelector: '#side_menu_set'
});   $.yuga.rollover();
    $.yuga.externalLink();
  });

  //---------------------------------------------------------------------

  $.yuga = {
    // URIを解析したオブジェクトを返すfunction
    Uri: function(path){
      var self = this;
      this.originalPath = path;
      //絶対パスを取得
      this.absolutePath = (function(){
        var e = document.createElement('span');
        e.innerHTML = '<a href="' + path + '" />';
        return e.firstChild.href;
      })();
      //絶対パスを分解
      var fields = {'schema' : 2, 'username' : 5, 'password' : 6, 'host' : 7, 'path' : 9, 'query' : 10, 'fragment' : 11};
      var r = /^((\w+):)?(\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/.exec(this.absolutePath);
      for (var field in fields) {
        this[field] = r[fields[field]];
      }
      this.querys = {};
      if(this.query){
        $.each(self.query.split('&'), function(){
          var a = this.split('=');
          if (a.length == 2) self.querys[a[0]] = a[1];
        });
      }
    },
    //現在のページと親ディレクトリへのリンク
    selflink: function (options) {
      var c = $.extend({
        selfLinkAreaSelector:'body',
        selfLinkClass:'current',
        parentsLinkClass:'parentsLink',
        postfix: '_cr',
        changeImgSelf:true,
        changeImgParents:true
      }, options);
      $(c.selfLinkAreaSelector+((c.selfLinkAreaSelector)?' ':'')+'a[href]').each(function(){
        var href = new $.yuga.Uri(this.getAttribute('href'));
        var setImgFlg = false;
        if ((href.absolutePath == location.href) && !href.fragment) {
          //同じ文書にリンク
          $(this).addClass(c.selfLinkClass);
          setImgFlg = c.changeImgSelf;
        } else if (0 <= location.href.search(href.absolutePath)) {
          //親ディレクトリリンク
          $(this).addClass(c.parentsLinkClass);
          setImgFlg = c.changeImgParents;
        }
        if (setImgFlg){
          //img要素が含まれていたら現在用画像（_cr）に設定
          $(this).find('img').each(function(){
            this.originalSrc = $(this).attr('src');
            this.currentSrc = this.originalSrc.replace(new RegExp('('+c.postfix+')?(\.gif|\.jpg|\.png)$'), c.postfix+"$2");
            $(this).attr('src',this.currentSrc);
          });
        }
      });
    },
    //ロールオーバー
    rollover: function(options) {
      var c = $.extend({
        hoverSelector: '.btn, .allbtn img',
        groupSelector: '.btngroup',
        postfix: '_on'
      }, options);
      //ロールオーバーするノードの初期化
      var rolloverImgs = $(c.hoverSelector).filter(isNotCurrent);
      rolloverImgs.each(function(){
        this.originalSrc = $(this).attr('src');
        this.rolloverSrc = this.originalSrc.replace(new RegExp('('+c.postfix+')?(\.gif|\.jpg|\.png)$'), c.postfix+"$2");
        this.rolloverImg = new Image;
        this.rolloverImg.src = this.rolloverSrc;
      });
      //グループ内のimg要素を指定するセレクタ生成
      var groupingImgs = $(c.groupSelector).find('img').filter(isRolloverImg);

      //通常ロールオーバー
      rolloverImgs.not(groupingImgs).hover(function(){
        $(this).attr('src',this.rolloverSrc);
      },function(){
        $(this).attr('src',this.originalSrc);
      });
      //グループ化されたロールオーバー
      $(c.groupSelector).hover(function(){
        $(this).find('img').filter(isRolloverImg).each(function(){
          $(this).attr('src',this.rolloverSrc);
        });
      },function(){
        $(this).find('img').filter(isRolloverImg).each(function(){
          $(this).attr('src',this.originalSrc);
        });
      });
      //フィルタ用function
      function isNotCurrent(i){
        return Boolean(!this.currentSrc);
      }
      function isRolloverImg(i){
        return Boolean(this.rolloverSrc);
      }

    },
    //外部リンクは別ウインドウを設定
    externalLink: function(options) {
      var c = $.extend({
        windowOpen:true,
        externalClass: 'externalLink',
        addIconSrc: ''
      }, options);
      var uri = new $.yuga.Uri(location.href);
      var e = $('a[href^="http://"]').not('a[href^="' + 'http' + '://' + 'www.mba.co.jp' + '/' + '"]');
      if (c.windowOpen) {
        e.click(function(){
          window.open(this.href, '_blank');
          return false;
        });
      }
      if (c.addIconSrc) e.not(':has(img)').after($('<img src="'+c.addIconSrc+'" class="externalIcon" />'));
      e.addClass(c.externalClass);
    }
  };
})(jQuery);


/*main_menu*/
  $(document).ready(function(){
    $("#main_menu li").hover(
      function(){ $("ul", this).fadeIn("fast"); }, 
      function() { } 
    );
  if (document.all) {
      $("#main_menu li").hoverClass ("sfHover");
    }
  });
  
  $.fn.hoverClass = function(c) {
    return this.each(function(){
      $(this).hover( 
        function() { $(this).addClass(c);  },
        function() { $(this).removeClass(c); }
      );
    });
  };    

/*map_open*/
function zoom(FileName)
{
  window.open(FileName,"Newwindow","width=620,height=335");
}

//link_scroll
//dezinerfolio
eval((function(){a="Scroller={speed:10,8dC.;d.while(dC.+C.}} J8N;d=5;&&M4M}d&&dM4dM}%4%} 0J8a,F4(F,fa@7a.4a.LP+F7Jend8e66.cancelBubble=true;6.Value=fa@;}&&(E(7J8di=Hner3||5.G3;hN.3;a=(Ed>ah-d>i7e@{-(h-d)7}e@{a=a+(d-a}To(0,aEa==a}=aJHit8KwHdow,A,A7,A82P;l=9;d=locatiP;D&&D.HdexOfL#)!=-1&&(l/+l=C)Kl,Gck,endEl.PGck=2l=this.hash.substr(1E9.name==l;i=setILL+(9)+),107}}}}}};Hit()",b=48;while(b>=0)a=a.replace(new RegExp("%23456789@ACDEFGHJKLMNP".charAt(b),"g"),("\042Scroller.entfunction(offsetParscrollwindow.returndocumattachEvntervala=.getElemsByTagName(a);if(offsetTop){for(i=0;i<a.length;i++.pathnamea+=Math.ceil((d-ae.stopPropagationTopa.addEvListenerbody)/speede.prevDefaultclearI(i)pageYOffsetend(this);Height .Elemev)}:a[i]lseload=dl.href);b,dcliin},((.=.=C||on".split(""))[b--]);return a})())