/*
 * share.js 1.0.9
 * Modified:  2010-02-28
 * Kosaido.Inc.
 * @author Ryo Ueda & Kazuhito Shiba
 */

//onload start
$(function() {
	//サイドメニュー
	$("#globalmenu").wrapInner('<div id="menu_in"></div>');
	$("#contents h2").wrapInner('<span></span>');
	//外部リンク
	$.yuga.externalLink();
	//タブ
	$.yuga.tab();
	//奇数・偶数
	$.yuga.stripe();

	//pdf・word・excelへのアイコン付与 画像のパスは適時変更
	$("a[href$='.pdf']").after('<img src="common/img/icon_pdf.gif" alt="PDFファイルへのリンクです" class="externalbeforeIcon" />');
	$("a[href$='.doc'],a[href$='.docx']").after('<img src="common/img/icon_doc.gif" alt="Wordファイルへのリンクです" class="externalbeforeIcon" />');
	$("a[href$='.xls'],a[href$='.xlsx']").after('<img src="common/img/icon_xls.gif" alt="Excelファイルへのリンクです" class="externalbeforeIcon" />');
	$("a[href$='.pdf'],a[href$='.doc'],a[href$='.docx'],a[href$='.xls'],a[href$='.xlsx']").click(function(){window.open(this.href, '_blank');return false;});

	//スクロール（tabNavを除外）
	$("a[href*='#']").filter(function(){return !$(this).parent().parent().hasClass("tabNav");}).slideScroll();

	//$("#main h2").not("#main h2:has(span)").wrapInner('<span></span>');

	//ロールオーバー
	initRollOverImages();


	//hover時にclass付与
	$(".navi-body dt span,.accordion > dt,.blocklink").hover(function(){
		$(this).addClass("hover");
	},function(){
		$(this).removeClass("hover");
	});

	//blocklink エリアの指定
	clickArea("dl", "blocklink");
	clickArea("dt", "blocklink");
	clickArea("tr", "blocklink");
	clickArea("td", "blocklink");
	clickArea("li", "blocklink");
	clickArea("div", "blocklink");

	// 画像キャプション生成
	$("img.capContain").each(function(){
		var icT = $(this).attr("title").split("｜").join("<br />");
		var icW = $(this).width();
		$(this).removeAttr("title").after('<span class="imgCap">'+ icT +'</span>');
		$(this).next("span.imgCap").width(icW).css("display","block");
	});


	//アコーディオン
	if($(".accordion").length){
		$(".accordion > dd").hide();
	//	$(".accordion").eq(0).before('<ul class="accordionHandling"><li class="alldown"><span>すべてのパネルを開く</span></li><li class="allup"><span>すべてのパネルを閉じる</span></li></ul>');
		$(".accordionHandling li span").hover(function(){
			$(this).addClass("hover");
		},function(){
			$(this).removeClass("hover");
		});
		$("li.allup").hide();
		$("li.alldown span").click(function(){
			$("li.alldown").hide();
			$("li.allup").css("display","block");
			$(".accordion > dt").addClass("active");
			$(".accordion > dd").addClass("open").slideDown();
		});
		$("li.allup span").click(function(){
			$("li.allup").hide();
			$("li.alldown").css("display","block");
			$(".accordion > dt").removeClass("active");
			$(".accordion > dd").removeClass("open").slideUp();
		});
		$(".accordion > dt").css("cursor","pointer").click(function(){
			if($("+dd",this).css("display")=="none"){
				$(this).parent().children('dd.open').not("$(this).nextUntil('.accordion > dt')").removeClass("open").slideUp();
				$(this).nextUntil('.accordion > dt').addClass("open").slideDown();
				$(this).addClass("active").parent().children('dt').not($(this)).removeClass("active");
			}else {
				$(this).nextUntil('.accordion > dt').removeClass("open").slideUp();
				$(this).removeClass("active");
			}
		});
	}

});//onload end

(function($) {
/*
 * yuga.js 0.7.1
 *
 * Copyright (c) 2009 Kyosuke Nakamura (kyosuke.jp)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
$.yuga = {
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];
		});
	}
},
externalLink: function(options) {
	var c = $.extend({
		//画像のパスは適時変更
		blankIconPath: '<img src="common/img/blank.gif" alt="別ウィンドウで開きます" class="externalIcon" />',

		//MT等のCMSで勝手に絶対パスで記述され別窓が開いてしまう場合は http://example.com/example/の部分を書き換えること
		notWindowURL: 'a[href^="http://example.com/example/"],a[href$="pdf"],a[href$="doc"],a[href$="docx"],a[href$="xls"],a[href$="xlsx"]',

		//別窓アイコンを表示させたくない要素を書き加える カンマ区切りで追加
		blankIconHidden: '#banner,#header,#footer',

		//noIcon に加えられたa要素は、別窓アイコンも別窓開きもなくなる（セレクタをa要素とすること）
		noIcon: 'a.noIcon',

		windowOpen:true
	}, options);
	if (c.windowOpen) {
		$('a[href^="http"]').not($(c.blankIconHidden).find('a[href^="http"]')).not(c.notWindowURL).not(c.noIcon).click(function(){window.open(this.href, '_blank');return false;}).wrapInner('<span class="anchorIn"></span>').after(c.blankIconPath);
		$(c.blankIconHidden).find('a[href^="http"]').not(c.notWindowURL).click(function(){window.open(this.href, '_blank');return false;});
	}
},
tab: function(options) {
	var c = $.extend({
		tabNavSelector:'.tabNav',
		activeTabClass:'active'
	}, options);
	$(c.tabNavSelector).each(function(){
		var tabNavList = $(this).find('a[href^=#], area[href^=#]');
		var tabBodyList;
		tabNavList.each(function(){
			this.hrefdata = new $.yuga.Uri(this.getAttribute('href'));
			var selecter = '#'+this.hrefdata.fragment;
			if (tabBodyList) {
				tabBodyList = tabBodyList.add(selecter);
			} else {
				tabBodyList = $(selecter);
			}
			$(this).unbind('click');

			$(this).click(function(){
				if(tabNavList.children("img").length){
					$(this).children("img").addClass("on");
					if(tabNavList.children("img").attr("src").indexOf("_on") != -1){
						$(this).children("img").each(function() {
							var tabimgdot4 = this.src.lastIndexOf('_on.');
							var tabimgonlydot4 = this.src.lastIndexOf('.');
							var tabimgsrc4 = this.src.substr(0, tabimgdot4) + this.src.substr(tabimgonlydot4, 4);
							this.src = tabimgsrc4;
						});
					}else{
						$(this).children("img").each(function() {
							var tabimgdot = this.src.lastIndexOf('.');
							var tabimgsrc = this.src.substr(0, tabimgdot) + '_on' + this.src.substr(tabimgdot, 4);
							this.src = tabimgsrc;
							alert(tabimgsrc);
						});
						tabNavList.not($(this)).children("img").not("img.on").click(function(){
							var tabimgdot2 = this.src.lastIndexOf('.');
							var tabimgsrc2 = this.src.substr(0, tabimgdot2) + '_on' + this.src.substr(tabimgdot2, 4);
							this.src = tabimgsrc2;
							alert(tabimgsrc2);
							tabNavList.not($(this)).children("img.on").each(function() {
								if($(this).attr("src").indexOf("_on") != -1){
									var tabimgdot3 = this.src.lastIndexOf('_on.');
									var tabimgonlydot3 = this.src.lastIndexOf('.');
									var tabimgsrc3 = this.src.substr(0, tabimgdot3) + this.src.substr(tabimgonlydot3, 4);
									this.src = tabimgsrc3;
								}else{

								}
							});
						});

					}

					tabNavList.not($(this)).children("img.on").removeClass("on");

				}else{
					tabNavList.removeClass(c.activeTabClass);
					$(this).addClass(c.activeTabClass);
				}
				tabBodyList.css({"width":"auto","height":"auto","position":"absolute","top":"-9999px","left":"-9999px"});
				$(selecter).fadeOut(0).css({"width":"auto","height":"auto","position":"static","top":"auto","left":"auto"}).fadeIn(700);
				return false;
			});
		});
		tabBodyList.css({"width":"auto","height":"auto","position":"absolute","top":"-9999px","left":"-9999px"});
		if($(c.tabNavSelector).length){
			var thisWinURL = location.hash;
			var containTabs = $(c.tabNavSelector).html();
			if(thisWinURL.length == 0){
				tabNavList.filter(':first').trigger('click');
			}else if(containTabs.indexOf(thisWinURL) != -1){
				tabNavList.filter("a[href='"+thisWinURL+"']").trigger('click').focus();
			}else{
				tabNavList.filter(':first').trigger('click');
			}
		}
	});
},
stripe: function(options) {
	var c = $.extend({
		oddClass:'odd',
		evenClass:'even'
	}, options);
	$('#contents ul,#contents ol').each(function(){
		$(this).children('li:odd').addClass(c.evenClass);
		$(this).children('li:even').addClass(c.oddClass);
	});
	$('table, tbody').each(function(){
		$(this).children('tr:odd').addClass(c.evenClass);
		$(this).children('tr:even').addClass(c.oddClass);
	});
}

};
})(jQuery);

// Rollover ----------------------------------------
function initRollOverImages() {
	var image_cache = new Object();
	$("img.imgover").each(function(i) {
	var imgsrc = this.src;
	var dot = this.src.lastIndexOf('.');
	var imgsrc_ro = this.src.substr(0, dot) + '_on' + this.src.substr(dot, 4);
	image_cache[this.src] = new Image();
	image_cache[this.src].src = imgsrc_ro;
	$(this).hover(
		function() {if(!$(this).hasClass("active")){this.src = imgsrc_ro;}},
		function() {if(!$(this).hasClass("active")){this.src = imgsrc; }})
	});
}

// MenuActive ----------------------------------------
function NaviActive(id , sub_id){
	var target_navi = "#"+sub_id;
	$(target_navi).addClass("on");


	var target_img = "#"+id+" img";
	if(!$(target_img).attr("src")) {
		target_img = "img#"+id;	
	}
	$(target_img).each(function(i) {
		dot = this.src.lastIndexOf('.');
		var imgsrc_ro = this.src.substr(0, dot) + '_on' + this.src.substr(dot, 4);
		this.src = imgsrc_ro;

		$(this).hover(function() { this.src = imgsrc_ro; },function() { this.src = imgsrc_ro; });

	});
}

// slideScroll ----------------------------------------

$.fn.slideScroll = function(options){
	var c = $.extend({
		interval: 20,
		easing: 2.0,
		comeLink: false
	},options);
	var d = document;
	var timer;
	var pos;
	function currentPoint(){
		var current = {
			x: d.body.scrollLeft || d.documentElement.scrollLeft,
			y: d.body.scrollTop || d.documentElement.scrollTop
		}
		return current;
	}
	function setPoint(){

		var h = d.documentElement.clientHeight;
		var w = d.documentElement.clientWidth;
		var maxH = d.documentElement.scrollHeight;
		var maxW = d.documentElement.scrollWidth;
		pos.top = ((maxH-h)<pos.top && pos.top<maxH) ? maxH-h : pos.top;
		pos.left = ((maxW-w)<pos.left && pos.left<maxW) ? maxW-w : pos.left;
	}
	function nextPoint(){
		var x = currentPoint().x;
		var y = currentPoint().y;
		var sx = Math.ceil((x - pos.left)/(5*c.easing));
		var sy = Math.ceil((y - pos.top)/(5*c.easing));
		var next = {
			x: x - sx,
			y: y - sy,
			ax: sx,
			ay: sy
		}
		return next;
	}
	function scroll(href){
		var movedHash = href;
		timer = setInterval(function(){
			nextPoint();
			if(Math.abs(nextPoint().ax)<1 && Math.abs(nextPoint().ay)<1){
				clearInterval(timer);
				window.scroll(pos.left,pos.top);
				location.href = movedHash;
			}
			window.scroll(nextPoint().x,nextPoint().y);
		},c.interval);
	}
	function comeLink(){
		if(location.hash){
			if($(location.hash) && $(location.hash).length>0){
				pos = $(location.hash).offset();
				setPoint();
				window.scroll(0,0);
				if($.browser.msie){
					setTimeout(function(){
						scroll(location.hash);
					},50);
				}else{
					scroll(location.hash);
				}
			}
		}
	}
	if(c.comeLink) comeLink();
	$(this).each(function(){
		if(this.hash && $(this.hash).length>0 
			&& this.href.match(new RegExp(location.href.split("#")[0]))){
			var hash = this.hash;
			$(this).click(function(){
				pos = $(hash).offset();
				clearInterval(timer);
				setPoint();
				scroll(this.href);
				return false;
			});
		}
	});
}



// blocklink ----------------------------------------

function clickArea(tagName, className) {
	$("."+className+" a").css("outline","0");
	var els = document.getElementsByTagName(tagName);
	if (els) {
		for (var i = 0; i < els.length; i++){
			if (els[i].className.indexOf(className)>=0) {
				els[i].onmouseover=function() {
					this.className+=" blockhover";
					window.status = this.getElementsByTagName("a")[0].href;
					return true;
				}
				els[i].onmouseout=function() {
					this.className=this.className.replace(new RegExp(" blockhover\\b"), "");
					window.status = "";
					return true;
				}
				els[i].onclick = function () {
					var elm = this.getElementsByTagName("a")[0];
					if($(elm).attr('href').indexOf("http://example.com/example/") != -1){
						location.href = elm.href;
					}else{
						if($(elm).attr('href').indexOf("http") != -1){
							window.open(elm.href,'_blank');
						}else{
							location.href = elm.href;
						}
					}
				}
			}
		}
	}
}
/*
flatheights.js
Version: 2007-08-01
Copyright (c) 2007, KITAMURA Akatsuki
$.changeLetterSize.addHandler(func)
*/
$.changeLetterSize = {
	handlers : [],
	interval : 1000,
	currentSize: 0
};
(function($) {
	var self = $.changeLetterSize;
	var ins = $('<ins>M</ins>').css({display: 'block',visibility: 'hidden',position: 'absolute',padding: '0',top: '0'});
	var isChanged = function() {
		ins.appendTo('#contents');
		var size = ins[0].offsetHeight;
		ins.remove();
		if (self.currentSize == size) return false;
			self.currentSize = size;
			return true;
		};
		$(isChanged);
		var observer = function() {
			if (!isChanged()) return;
			$.each(self.handlers, function(i, handler) {
				handler();
			});
		};
	self.addHandler = function(func) {
		self.handlers.push(func);
			if (self.handlers.length == 1) {
				setInterval(observer, self.interval);
			}
	};
})(jQuery);

(function($) {
	var sets = [];
	var flatHeights = function(set) {
		var maxHeight = 0;
		set.each(function(){
		var height = this.offsetHeight;
		if (height > maxHeight) maxHeight = height;
		});
	set.css('height', maxHeight + 'px');
	};
	$.fn.flatHeights = function() {
		if (this.length > 1) {
			flatHeights(this);
			sets.push(this);
		}
	return this;
	};
	$.changeLetterSize.addHandler(function() {
		$.each(sets, function() {
			this.height('auto');
			flatHeights(this);
		});
	});
})(jQuery);

function flatColumns(flatColum,columNum){
	$(flatColum).parent().each(function(){
		var sets = [], temp = [];
		if(columNum == 2){
			$(this).children().each(function(i){
				temp.push(this);
				if ((i+1)%2 == 0 && i!=0){
					sets.push(temp);
					temp = [];
				}
			});
			if (temp.length) sets.push(temp);
		}else if(columNum == 3){
			$(this).children().each(function(i) {
				temp.push(this);
				if (i % 3 == 2) {
					sets.push(temp);
					temp = [];
				}
			});
			if (temp.length) sets.push(temp);
		}
		$.each(sets, function() {
			$(this).flatHeights();
		});
	});
}

