﻿/* ------------------------------------------------------------ */
/*                                                              */
/*                         global param                         */
/*                                                              */
/* ------------------------------------------------------------ */

var _loc      = location.pathname;
var _pathName = _loc.substring(0,_loc.lastIndexOf('/')+1);
var _fileName = _loc.substring(_loc.lastIndexOf('/')+1);
var _swfAry   = new Array();

function _(p,q) {q=new Image;q.src=p;p=q.src;q.src='#';return p}
var _absPath  = (_(document.getElementsByTagName('script')[0].src.split('_global')[0]));

var $j = jQuery.noConflict();





/* ------------------------------------------------------------ */
/*                                                              */
/*                       import libraries                       */
/*                                                              */
/* ------------------------------------------------------------ */

document.write('<script type="text/javascript" src="'+_absPath+'_global/js/core/swfobject.js"></script>');
document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.cookie.js"></script>');
document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.imghover.js"></script>');
document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.flatheights.js"></script>');
document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.super-selectors.js"></script>');
document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.maphilight.js"></script>');

// document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.easing.js"></script>');
// document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.innerfade2.js"></script>');
// document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/jquery.newsticker.js"></script>');
// document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/iepngfix/iepngfix_tilebg.js"></script>');
// document.write('<script type="text/javascript" src="'+_absPath+'_global/js/lib/thickbox/thickbox.js"></script>');
// document.write('<link rel="stylesheet" type="text/css" href="'+_absPath+'_global/js/lib/thickbox/thickbox.css" media="screen" />');





/* ------------------------------------------------------------ */
/*                                                              */
/*                           IEPNGFix                           */
/*                                                              */
/* ------------------------------------------------------------ */

document.write('<style type="text/css">.transparent { behavior:url('+_absPath+'_global/js/lib/iepngfix/iepngfix.htc) }</style>');





/* ------------------------------------------------------------ */
/*                                                              */
/*               jsconf : [jsfile].js?key=value&...             */
/*                                                              */
/* ------------------------------------------------------------ */

function jsconf(jsfile){
  var ret = new Object();
  var scripts = document.getElementsByTagName('script');
  for(var i=0;i<scripts.length;i++){
    var sr = scripts[i].getAttribute("src");
    if(sr!=null && sr.indexOf(jsfile)!=-1) {prms=sr.replace(/.+\?/,'');break;}
  }
  if(typeof prms == 'undefined') return ret;
  prms = prms.split('&');
  for(var i=0;i<prms.length;i++){
    var prm = prms[i].split('=');
    ret[prm[0]] = unescape(prm[1]);
  }
  return ret;
}





/* ------------------------------------------------------------ */
/*                                                              */
/*                      jQuery initialize                       */
/*                                                              */
/* ------------------------------------------------------------ */

try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}  // ie6 background-image reload issue

$j(function($){

  // jsconf -----------------------------------------------------
  // var js = jsconf('common');

  // tabs --------------------------------------------------------
  if($('#tabs').size()) $.fn.tabs('#tabs');

  // fontsize switcher ------------------------------------------------------------
  $.fn.setFontsize(($.cookie('fsize')) ? $.cookie('fsize'):'fs-small');
  $('#fontsize a').click(function(){$.fn.setFontsize(this.id)});
  
  // _blank window -----------------------------------------------------
  $('a.blank, area.blank').click(function(){ window.open(this.href, '_blank'); return false; });

  // gotop smooth scroll ------------------------------------------------------------
  $('p.gotop a[href="#container"]').click(function() {
    var duration = (Math.floor($(this).position().top/5)>800) ? Math.floor($(this).position().top/5):800;
    $('html,body').animate({scrollTop:0}, duration, 'easeOutCirc');
    return false;
  });

  // img hover -------------------------------------------
  $('.imghover').imghover();

  // map hilight -------------------------------------------
  $('.map').maphilight();

  // odd-even -------------------------------------------
  $('li:first-child').addClass('first');
  $('li:last-child').addClass('last');
  $('#contentarea ul,#contentarea ol').each(function(j) {
    $(this).children('li:even').addClass('even');
    $(this).children('li:odd').addClass('odd');
  });
  $('.stripe').each(function(j) {
    $('li:even,tr:even',this).addClass('even');
    $('li:odd,tr:odd',this).addClass('odd');
  });

  // current menu -------------------------------------------
  $('div#nav-main li#nm-' + _pathName.split('/')[1]+' a').addClass('on');
  $('div#nav-main li#nm-' + _pathName.split('/')[2]+' a').addClass('on');

  // centered ------------------------------------------------------------
  $('.centered').each(function(j){
    var marginL = ($(this).parent().width() - $(this).width())/2;
    $(this).css({'margin-left':marginL+'px'});
  });

  // dl-column ------------------------------------------------------------
  $('dl.dt-left,dl.dt-right').each(function(j) {
    $(this).each(function() {
      var maxW = 0;
      $('dt',this).each(function(i) {
        maxW = ($(this).width() > maxW) ? $(this).width() : maxW;
      });
      maxW+=10;
      if($(this).attr('class').indexOf('dt-left')>-1) $('dd',this).css({'margin-left':maxW+'px'});
      if($(this).attr('class').indexOf('dt-right')>-1) $('dd',this).css({'margin-right':maxW+'px'});
    });
  });

  // flat-heights -------------------------------------------  
  $('.col2,.col3').each(function(i) {
    $(this).children().flatHeights();
  });

  // flash player ------------------------------------------------------------
  $('.flvplayer').click(function(){
    _swf({type:'flvplayer',flv:this.rel});
    tb_show(null,'#TB_inline?height=380&width=620&inlineId=flvPlayerHolder',false);
    this.blur();
    return false;
  });

  // ------------------------------------------------------------
  if($('#schedules').size()) {
    $('#schedules').datepicker({
      hideIfNoPrevNext: 'true',
      showMonthAfterYear: 'true',
      yearSuffix: '年',
      monthNames: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
      dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
      numberOfMonths: [2,3],
      minDate: new Date(dateFrom[0],dateFrom[1]-1,1),
      maxDate: new Date(dateFrom[0],dateFrom[1]-1+6,0),
      beforeShowDay: function(date){
        for (i = 0; i < closeday.length; i++) {
          if (date.getMonth() == closeday[i][0] - 1 && date.getDate() == closeday[i][1]) return [false,'schedule_close','休講日'];
        }
        for (i = 0; i < nightday.length; i++) {
          if (date.getMonth() == nightday[i][0] - 1 && date.getDate() == nightday[i][1]) {
            if (date.getDay() == 2) {
              return [false,'schedule_aqua schedule_night','アクアエクササイズ／ナイトスイム'];
            } else {
              return [false,'schedule_night','ナイトスイム'];
            }
          }
        }
        if (date.getDay() == 2) return [false,'schedule_aqua','アクアエクササイズ'];
        if (date.getDay() == 0) return [false,'schedule_powerup','パワーアップ'];
        
        return [false,'','水泳スクール'];
      }
    });
  };

  if($('body#home,body#news').size()) getNewslist();
});





/* ------------------------------------------------------------ */
/*                                                              */
/*                         Newslist                             */
/*                                                              */
/* ------------------------------------------------------------ */

(function($){
  getNewslist = function() {
    $.ajax({
      url: _absPath+'/news.xml',
      data: '',
      cache: false,
      dataType: 'xml',
      timeout: 30000,
      error: function() {
      },
      success: function(xml) {
        ajaxXML = xml;
        setNewslist();
      }
    });
  };

  var setNewslist = function() {
    var targ = $('div#newslist');
    var cnt = 0;
    targ.empty();
    $(ajaxXML).find('news').each(function(j) {
      cnt++;
      if (cnt>5 && $('body#home').size()) return false;
      var date = $('date',this).text();
      var dateval = (date) ? date.substr(0,4)+'/'+date.substr(4,2)+'/'+date.substr(6,2) : '';
      var link = (($('link',this).text().length)&&($('link',this).text()!='cms')) ? $('link',this).text() : 'javascript:void(0);';
      var prefix = (link.substr(4)=='http') ? '' : _absPath;
      var window = (link.substr(-4)!='.pdf') ? '' : ' target="_blank"';
      targ.append('\
        <dt>'+dateval+'</dt>\
        <dd><a href="'+prefix+link+'"'+window+'>'+$('title',this).text()+'</a></dd>\
      ');
    });
    if ($('news',ajaxXML).size()<1) targ.append('<p class="text message">現在、お知らせはありません。</p>');
    targ.wrap('<dl class="list-news">','</div>');
  };

  getNewsDetail = function(news_id) {
    $.ajax({
      url: _absPath + 'news.xml',
      data: '',
      cache: false,
      dataType: 'xml',
      timeout: 30000,
      success: function(xml) {
        detailXML = xml;
      }
    });
  };
})(jQuery);





/* ------------------------------------------------------------ */
/*                                                              */
/*                           tabs                               */
/*                                                              */
/* ------------------------------------------------------------ */

(function($){
  $.fn.extend({
    tabs: function(containerId) {
      var start = (location.search) ? parseInt(location.search.split('?')[1]) : 1;
      var ON_CLASS = 'on';
      var id = containerId;
      var i = (typeof start == "number") ? start - 1 : 0;
      $(id + '>div').css({display:"none"});
      $(id + '>div:eq(' + i + ')').css({display:"block"});
      var tabWidth = Math.floor($(id + '>ol#tabsnav').width() / $(id + '>ol#tabsnav>li').size());
      $(id + '>ol#tabsnav>li').each(function(){
//        $(this).css({'width':tabWidth+'px','margin-left':'0px'});
      });
      var tabHeight = $(id + '>ol#tabsnav').height();
      $(id + '>ol#tabsnav>li').each(function(){
        $(this).height(tabHeight);
      });
      $(id + '>ol#tabsnav>li:nth-child(' + (i+1) + ')>a').addClass(ON_CLASS);
      $(id + '>ol#tabsnav>li>a').click(function() {
        if (!$(this).is('.' + ON_CLASS)) {
          var re = /([_\-\w]+$)/i;
          var target = $('#' + re.exec(this.href)[1]);
          if (target.size() > 0) {
            $(id + '>div:visible').css({display:"none"});
            target.css({display:"block"});
            $(id + '>ol#tabsnav>li>a').removeClass(ON_CLASS);
            $(this).addClass(ON_CLASS);
          }
        }
        return false;
      });
    }
  });
})(jQuery);





/* ------------------------------------------------------------ */
/*                                                              */
/*                     fontsize switcher                        */
/*                                                              */
/* ------------------------------------------------------------ */
(function($){
  $.fn.extend({
    setFontsize: function(fsize) {
      $('#fontsize a').removeClass('on');
      switch (fsize) {
        case 'fs-large' : fsize_val='100%'; $('#fontsize a#fs-large').addClass('on'); break;
        case 'fs-medium': fsize_val='90%';  $('#fontsize a#fs-medium').addClass('on'); break;
        default         : fsize_val='78%';  $('#fontsize a#fs-small').addClass('on');
      }
      $('body').css('font-size',fsize_val);
      $.cookie('fsize',fsize,{expires:30,path:'/'});
    }
  });
})(jQuery);





/* ------------------------------------------------------------ */
/*                                                              */
/*                 doShuffle : ( randomize [li] )               */
/*                                                              */
/* ------------------------------------------------------------ */
(function($){
  $.fn.extend({
    doShuffle: function() {
      var shuffled = this.find('li').get().sort(function(){
        return Math.round(Math.random())-0.5; //just a random number between -0.5 and 0.5
      });
      $(shuffled).appendTo(this);
      return this;
    }
  });
})(jQuery);





/* ------------------------------------------------------------ */
/*                                                              */
/*         delay  : ( delay a jQuery animation or func.)        */
/*                                                              */
/* ------------------------------------------------------------ */
(function($){
  $.fn.extend({
    delay: function(time, callback){
      // Empty function:
      jQuery.fx.step.delay = function(){};
      // Return meaningless animation, (will be added to queue)
      return this.animate({delay:1}, time, callback);
    }
  });
})(jQuery);





/* ------------------------------------------------------------ */
/*                                                              */
/*                           Utility                            */
/*                                                              */
/* ------------------------------------------------------------ */
Array.prototype.max = function(){
    return Math.max.apply(null,this);
}
Array.prototype.min = function(){
    return Math.min.apply(null,this);
}
Array.prototype.shuffle = function(){
    var i   = this.length;
    var ary = this.concat();
    var ret = [];
    while(i) ret.push(ary.splice(Math.floor(Math.random()*i--),1));
    return ret
}





/* ------------------------------------------------------------ */
/*                                                              */
/*                      Flash  -  showNews                      */
/*                                                              */
/* ------------------------------------------------------------ */
function showNews() {
  $j('#module-news').show();
}





/* ------------------------------------------------------------ */
/*                                                              */
/*                      Flash  -  SWFObject                     */
/*                                                              */
/* ------------------------------------------------------------ */
// <div id="swf1Holder"></div>
// <script type="text/javascript">_swf({type:'promo'});</script>
// <script type="text/javascript">_swf({w:'940',h:'210',id:'swf2',swf:_absPath+'_global/swf/feature.swf',param:'_v=Fp&flag=1',bgcolor:'#990000'});</script>

function _swf(obj) {
  if (typeof obj == 'undefined') return null;
  if (_swfAry.toString().indexOf(obj.type)>-1) return null;

  var expressInstall = _absPath+'_global/swf/expressInstall.swf';
  var flvars = {};
  var params = {};
  var attrib = {};

  switch (obj.type) {
    case 'feature':
      prm    = {w:570,h:100,id:'swf1',swf:_absPath+'_global/swf/feature.swf'};
      flvars = {_a:_absPath,_f:_fileName};
      params = {wmode:'window',bgcolor:'#009900',scale:'showAll'};
      break;
    default:
      prm    = obj;
      if (prm.param) { var pAry=prm.param.split('&'); for (var i=0;i<pAry.length;i++) {var a=pAry[i].split('='); flvars[a[0]] = a[1];} };
      params = {bgcolor:obj.bgcolor,scale:obj.scale,salign:obj.salign,wmode:obj.wmode};
  }
  if (typeof prm == 'undefined') return null;

  /* --- [4] swf version --- */
  prm.v = (obj.v) ? obj.v : '9.0.28';
  if(!swfobject.hasFlashPlayerVersion(prm.v)){
  }

  /* --- [6] flvars --- */
  flvars._p = _pathName;
  if (location.search) { var sAry=location.search.substr(1).split('&'); for (var i=0;i<sAry.length;i++) {var a=sAry[i].split('='); flvars[a[0]] = a[1];} };

  /* --- [7] params --- */
  params.bgcolor = (params.bgcolor) ? params.bgcolor : '#ffffff';
  params.scale   = (params.scale)   ? params.scale :   'noScale';
  params.salign  = (params.salign)  ? params.salign :  'TL';
  params.wmode   = (params.wmode)   ? params.wmode :  'transparent';
  params.allowFullScreen = 'true';

  /* --- [8] attrib --- */
  attrib.id = prm.id;

  swfobject.embedSWF(prm.swf, prm.id+'Holder', prm.w, prm.h, prm.v, expressInstall, flvars, params, attrib);
}
