//ロールオーバー
$(function(){
     $('a img').hover(function(){
        $(this).attr('src', $(this).attr('src').replace('_off', '_on'));
          }, function(){
             if (!$(this).hasClass('currentPage')) {
             $(this).attr('src', $(this).attr('src').replace('_on', '_off'));
        }
   });
});

//擬似クラス

$(function(){
     $("tr:odd").addClass("odd");
});

$(function(){
     $("tr:even").addClass("odd");
});


$(function(){
			$("li:last-child").addClass("lastChild");
	});

$(function(){
			$("li:first-child").addClass("firstChild");
	});

$(function(){
			$("ul:last-child").addClass("lastChild");
	});

$(function(){
			$("ul:first-child").addClass("firstChild");
	});

$(function(){
     $("li:even").addClass("even");
});

$(function(){
     $("li:odd").addClass("odd");
});



//画像ロールオーバー
function smartRollover() {
	if(document.getElementsByTagName) {
		var images = document.getElementsByTagName("img");

		for(var i=0; i < images.length; i++) {
			if(images[i].getAttribute("src").match("_off."))
			{
				images[i].onmouseover = function() {
					this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
				}
				images[i].onmouseout = function() {
					this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
				}
			}
		}
	}
}

if(window.addEventListener) {
	window.addEventListener("load", smartRollover, false);
}
else if(window.attachEvent) {
	window.attachEvent("onload", smartRollover);
}

//タブが画像ver
/**
@prefix : <http://purl.org/net/ns/doas#> .
<http://factory.yusukenakanishi.com/javascript/jquery/plugin/imagetabs/js/imageTabs.js> a :JavaScript;
 :shortdesc "imageTabs.js";
 :created "2010-06-10";
 :release [:revision "1.0"; :created "2010-06-10"];
 :author [:name "Yusuke. Nakanishi"; :homepage <http://yusukenakanishi.com/> ];
 :license <http://creativecommons.org/licenses/GPL/2.0/>;
 :dependencies "none" .
*/

(function($){

    $.fn.imageTabs = function(options){
    
        // 引数のデフォルト値を渡す
        var conf = $.extend({
            animate: 'show',
            duration: '',
            opentab: ''
        }, options); // optionsに値があれば上書きする
        
        // 初期設定
        var target = this;
        var tabPanel = $('div.tabPanel', target);
        tabPanel.hide();
        var handler = $('ul.tab li a', target);
        
        // ウィンドウを開いた時のタブの位置
        if(conf.opentab) {
            tabPanel.each(function() {
                if($(this).attr('id') == conf.opentab) {
                    $(this).show();
                }
            });
            handler.each(function() {
                if($(this).attr('href') == '#' + conf.opentab) {
                    var imgSrc = $(this).children('img').attr('src');
                    var imgDot = imgSrc.lastIndexOf('.');
                    var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
                    $(this).children('img').attr('src',onSrc).addClass('active');
                }
            });
        } else {
            $('div.tabPanel:first', target).show();
            var imgSrc = $('ul.tab li:first a', target).children('img').attr('src');
            var imgDot = imgSrc.lastIndexOf('.');
            var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
            $('ul.tab li:first a', target).children('img').attr('src',onSrc).addClass('active');
        }
        
        // クリック時の動作
        handler.click(function() {
            var classJudgment = $(this).children('img').attr('class');
            if(classJudgment !== 'active') {
                // タブ画像の切り替え
                var imgSrc = $(this).children('img').attr('src').replace(/_on/g, ""); // _onが複数付かないように
                var imgDot = imgSrc.lastIndexOf('.');
                var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
                $(this).children('img').attr('src',onSrc);
                var imgOff = $('ul.tab li img.active', target).attr('src').replace(/_on/g, "");
                $('ul.tab li img.active', target).attr('src',imgOff);
                $('ul.tab li img.active', target).removeClass('active');
                $(this).children('img').addClass('active');
                // コンテンツの切り替え
                var clickAttr = $(this).attr('href');
                var boxHeight = $('div.tabPanelGroup').height();
                $('div.tabPanelGroup').css('height', boxHeight);
                $('div.tabPanel:visible', target).stop(true, true).hide();
                $('div#' + clickAttr)[conf.animate](conf.duration);
                $('div.tabPanelGroup').css('height', 'auto');
            }
            return false;
        });
        
        // ロールオーバー
        handler.hover(function() {
            var classJudgment = $(this).children('img').attr('class');
            if(classJudgment !== 'active') {
                var imgSrc = $(this).children('img').attr('src');
                var imgDot = imgSrc.lastIndexOf('.');
                var onSrc = imgSrc.substr(0, imgDot) + '_on' + imgSrc.substr(imgDot, 4);
                $(this).children('img').attr('src',onSrc);
            }
        }, function() {
            var classJudgment = $(this).children('img').attr('class');
            if(classJudgment !== 'active') {
                var imgOff = $(this).children('img').attr('src').replace(/_on/g, "");
                $(this).children('img').attr('src',imgOff);
            }
        });
        
    }
    
})(jQuery);




//画像ロールオーバーのもういっこ
(function($){

	//プラグイン実行
	$(function(){
		$("img.ro").imgOvAnime(); //実行する要素を記述。オプションあり。
	});

	//プラグイン
	$.fn.imgOvAnime = function(option){

		var o = $.extend({
			ovStr: "_on",
			speed: 300,
			type: "fadeSlideTop"
		},option);
		var overElements = $(this);

		//フェード関数
		function fade(){
			var ovElm = overElements;
			var ovStr = o.ovStr;
			var speed = o.speed;
			ovElm.css({position:"relative"}).each(function(){
				var self = $(this);
				var url = self.attr("src").replace(/^(.+)(\.[a-z]+)$/,"$1"+ovStr+"$2");
				var ovImg = $("<img>").attr("src",url).css({position: "absolute"});
				function anime(a_alp){
					self.stop().animate({opacity:a_alp},speed);
				}
				self.before(ovImg).hover(
				function(){
					anime("0");
				},
				function(){
					anime("1");
				});
			});
		}

		//スライドトップ関数
		function slideTop(){
			var ovElm = overElements;
			var ovStr = o.ovStr;
			var speed = o.speed;
			ovElm.css({position:"relative",opacity:"0"}).each(function(){
				var self = $(this);
				var urlDef = self.attr("src");
				var urlChange = urlDef.replace(/^(.+)(\.[a-z]+)$/,"$1"+ovStr+"$2");
				var imgBack = $("<img>").attr("src",urlDef).css({position:"absolute"});
				$(window).bind("load",function(){
					var w = self.width()+"px";
					var h = self.height()+"px";
					var ovImg = $("<span>").css({
						width: w,
						height: "0",
						backgroundImage: "url("+urlChange+")",
						position: "absolute",
						fontSize: "0"
					});
					function anime(a_h){
						self.prev().stop().animate({height:a_h},speed);
					}
					self.before(imgBack).before(ovImg).hover(
					function(){
						anime(h);
					},
					function(){
						anime("0");
					});
				});
			});
		}

		//スライドレフト関数
		function slideLeft(){
			var ovElm = overElements;
			var ovStr = o.ovStr;
			var speed = o.speed;
			ovElm.css({position:"relative",opacity:"0"}).each(function(){
				var self = $(this);
				var urlDef = self.attr("src");
				var urlChange = urlDef.replace(/^(.+)(\.[a-z]+)$/,"$1"+ovStr+"$2");
				var imgBack = $("<img>").attr("src",urlDef).css({position:"absolute"});
				$(window).bind("load",function(){
					var w = self.width()+"px";
					var h = self.height()+"px";
					var ovImg = $("<span>").css({
						width: "0",
						height: h,
						backgroundImage: "url("+urlChange+")",
						position: "absolute"
					});
					function anime(a_w){
						self.prev().stop().animate({width:a_w},speed);
					}
					self.before(imgBack).before(ovImg).hover(
					function(){
						anime(w);
					},
					function(){
						anime("0");
					});
				});
			});
		}

		//フェードスライドトップ関数
		function fadeSlideTop(){
			var ovElm = overElements;
			var ovStr = o.ovStr;
			var speed = o.speed;
			ovElm.css({position:"relative",opacity:"0"}).each(function(){
				var self = $(this);
				var urlDef = self.attr("src");
				var urlChange = urlDef.replace(/^(.+)(\.[a-z]+)$/,"$1"+ovStr+"$2");
				var imgBack = $("<img>").attr("src",urlDef).css({position:"absolute"});
				$(window).bind("load",function(){
					var w = self.width()+"px";
					var h = self.height()+"px";
					var ovImg = $("<span>").css({
						width: w,
						height: "0",
						backgroundImage: "url("+urlChange+")",
						position: "absolute",
						opacity: "0",
						fontSize: "0"
					});
					function anime(a_h,a_alp){
						self.prev().stop().animate({height:a_h,opacity:a_alp},speed);
					}
					self.before(imgBack).before(ovImg).hover(
					function(){
						anime(h,"1");
					},
					function(){
						anime("0","0");
					});
				});
			});
		}

		//スライドトップ2関数
		function slideTop2(){
			var ovElm = overElements;
			var ovStr = o.ovStr;
			var speed = o.speed;
			ovElm.css({position:"relative",opacity:"0"}).each(function(){
				var self = $(this);
				var urlDef = self.attr("src");
				var urlChange = urlDef.replace(/^(.+)(\.[a-z]+)$/,"$1"+ovStr+"$2");
				$(window).bind("load",function(){
					var w = self.width()+"px";
					var h = self.height()+"px";
					var imgBack = $("<span>").css({
						width: w,
						height: h,
						backgroundImage: "url("+urlDef+")",
						position: "absolute",
						fontSize: "0"
					});
					var ovImg = $("<span>").css({
						width: w,
						height: "0",
						backgroundImage: "url("+urlChange+")",
						position: "absolute",
						fontSize: "0"
					});
					function anime(a_h1,a_h2){
						var selfOvImg = self.prev();
						selfOvImg.animate({height: a_h1},speed);
						selfOvImg.prev().stop().animate({height: a_h2},speed);
					}
					self.before(imgBack).before(ovImg).hover(
					function(){
						anime(h,"0");
					},
					function(){
						anime("0",h);
					});
				});
			});
		}

		//フェード拡大縮小関数
		function fadeSizing(){
			var ovElm = overElements;
			var ovStr = o.ovStr;
			var speed = o.speed;
			ovElm.css({position:"relative",opacity:"0"}).each(function(){
				var self = $(this);
				var urlDef = self.attr("src");
				var urlChange = urlDef.replace(/^(.+)(\.[a-z]+)$/,"$1"+ovStr+"$2");
				$(window).bind("load",function(){
					var w = self.width()+"px";
					var h = self.height()+"px";
					var imgBack = $("<span>").css({
						width: w,
						height: h,
						backgroundImage: "url("+urlDef+")",
						position: "absolute",
						fontSize: "0"
					});
					var ovImg = $("<span>").css({
						width: "0",
						height: "0",
						backgroundImage: "url("+urlChange+")",
						position: "absolute",
						opacity: "0",
						fontSize: "0"
					});
					function anime(a_w1,a_w2,a_h1,a_h2,a_alp1,a_alp2){
						var selfOvImg = self.prev();
						selfOvImg.stop().animate({width: a_w1,height: a_h1,opacity: a_alp1},speed);
						selfOvImg.prev().stop().animate({width: a_w2,height: a_h2,opacity: a_alp2},speed);
					}
					self.before(imgBack).before(ovImg).hover(
					function(){
						anime(w,"0",h,"0","1","0");
					},
					function(){
						anime("0",w,"0",h,"0","1");
					});
				});
			});
		}

		//アニメーションタイプ確認
		switch(o.type){
		case "fade":
			fade();
			break;
		case "slideTop":
			slideTop();
			break;
		case "slideLeft":
			slideLeft();
			break;
		case "fadeSlideTop":
			fadeSlideTop();
			break;
		case "slideTop2":
			slideTop2();
			break;
		case "fadeSizing":
			fadeSizing();
			break;
		}

	}

})(jQuery);


// UTF-8
/**
 * scrollsmoothly.js
 * Copyright (c) 2008 KAZUMiX
 * http://d.hatena.ne.jp/KAZUMiX/20080418/scrollsmoothly
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * 更新履歴
 * 2009/02/12
 * スクロール先が画面左上にならない場合の挙動を修正
 * 2008/04/18
 * 公開
 *
*/

(function(){
   var easing = 0.25;
   var interval = 20;
   var d = document;
   var targetX = 0;
   var targetY = 0;
   var targetHash = '';
   var scrolling = false;
   var splitHref = location.href.split('#');
   var currentHref_WOHash = splitHref[0];
   var incomingHash = splitHref[1];
   var prevX = null;
   var prevY = null;

   // ドキュメント読み込み完了時にinit()を実行する
   addEvent(window, 'load', init);

   // ドキュメント読み込み完了時の処理
   function init(){
     // ページ内リンクにイベントを設定する
     setOnClickHandler();
     // 外部からページ内リンク付きで呼び出された場合
     if(incomingHash){
       if(window.attachEvent && !window.opera){
         // IEの場合はちょっと待ってからスクロール
         setTimeout(function(){scrollTo(0,0);setScroll('#'+incomingHash);},50);
       }else{
         // IE以外はそのままGO
         scrollTo(0, 0);
         setScroll('#'+incomingHash);
       }
     }
   }

   // イベントを追加する関数
   function addEvent(eventTarget, eventName, func){
     if(eventTarget.addEventListener){
       // モダンブラウザ
       eventTarget.addEventListener(eventName, func, false);
     }else if(window.attachEvent){
       // IE
       eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);});
     }
   }
   
   function setOnClickHandler(){
     var links = d.links;
     for(var i=0; i<links.length; i++){
       // ページ内リンクならスクロールさせる
       var link = links[i];
       var splitLinkHref = link.href.split('#');
       if(currentHref_WOHash == splitLinkHref[0] && d.getElementById(splitLinkHref[1])){
         addEvent(link, 'click', startScroll);
       }
     }
   }

   function startScroll(event){
     // リンクのデフォルト動作を殺す
     if(event){ // モダンブラウザ
       event.preventDefault();
       //alert('modern');
     }else if(window.event){ // IE
       window.event.returnValue = false;
       //alert('ie');
     }
     // thisは呼び出し元になってる
     setScroll(this.hash);
   }

   function setScroll(hash){
     // ハッシュからターゲット要素の座標をゲットする
     var targetEle = d.getElementById(hash.substr(1));
     if(!targetEle)return;
     //alert(scrollSize.height);
     // スクロール先座標をセットする
     var ele = targetEle;
     var x = 0;
     var y = 0;
     while(ele){
       x += ele.offsetLeft;
       y += ele.offsetTop;
       ele = ele.offsetParent;
     }
     var maxScroll = getScrollMaxXY();
     targetX = Math.min(x, maxScroll.x);
     targetY = Math.min(y, maxScroll.y);
     targetHash = hash;
     // スクロール停止中ならスクロール開始
     if(!scrolling){
       scrolling = true;
       scroll();
     }
   }

   function scroll(){
     var currentX = d.documentElement.scrollLeft||d.body.scrollLeft;
     var currentY = d.documentElement.scrollTop||d.body.scrollTop;
     var vx = (targetX - currentX) * easing;
     var vy = (targetY - currentY) * easing;
     var nextX = currentX + vx;
     var nextY = currentY + vy;
     if((Math.abs(vx) < 1 && Math.abs(vy) < 1)
       || (prevX === currentX && prevY === currentY)){
       // 目標座標付近に到達していたら終了
       scrollTo(targetX, targetY);
       scrolling = false;
       location.hash = targetHash;
       prevX = prevY = null;
       return;
     }else{
       // 繰り返し
       scrollTo(parseInt(nextX), parseInt(nextY));
       prevX = currentX;
       prevY = currentY;
       setTimeout(function(){scroll()},interval);
     }
   }
   
   function getDocumentSize(){
     return {width:Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), height:Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)};
   }

   function getWindowSize(){
     var result = {};
     if(window.innerWidth){
       var box = d.createElement('div');
       with(box.style){
         position = 'absolute';
         top = '0px';
         left = '0px';
         width = '100%';
         height = '100%';
         margin = '0px';
         padding = '0px';
         border = 'none';
         visibility = 'hidden';
       }
       d.body.appendChild(box);
       var width = box.offsetWidth;
       var height = box.offsetHeight;
       d.body.removeChild(box);
       result = {width:width, height:height};
     }else{
       result = {width:d.documentElement.clientWidth || d.body.clientWidth, height:d.documentElement.clientHeight || d.body.clientHeight};
     }
     return result;
   }
   
   function getScrollMaxXY() {
     if(window.scrollMaxX && window.scrollMaxY){
       return {x:window.scrollMaxX, y:window.scrollMaxY};
     }
     var documentSize = getDocumentSize();
     var windowSize = getWindowSize();
     return {x:documentSize.width - windowSize.width, y:documentSize.height - windowSize.height};
   }
   
 }());


  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-3220335-9']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
