//onload start
$(function() {
	$.yuga.externalLink();

	$("a[href$='.pdf']").not("ul.links li a").before('<img src="/common/img/icon_pdf.gif" alt="PDFファイルへのリンクです" class="externalbeforeIcon" />');
	$("a[href$='.doc'],a[href$='.docx']").not("ul.links li a").before('<img src="/common/img/icon_doc.gif" alt="Wordファイルへのリンクです" class="externalbeforeIcon" />');
	$("a[href$='.xls'],a[href$='.xlsx']").not("ul.links li a").before('<img src="/common/img/icon_xls.gif" alt="Excelファイルへのリンクです" class="externalbeforeIcon" />');
	$("ul.links a[href$='.pdf']").after('<img src="/common/img/icon_pdf.gif" alt="PDFファイルへのリンクです" class="externalbeforeIcon" />');
	$("ul.links a[href$='.doc'],ul.links a[href$='.docx']").after('<img src="/common/img/icon_doc.gif" alt="Wordファイルへのリンクです" class="externalbeforeIcon" />');
	$("ul.links a[href$='.xls'],ul.links 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;});
	
	$("a[href*='#']").filter(function(){return !$(this).parent().parent().hasClass("tabNav");}).not('a[href^="#zoom"]').slideScroll();

	initRollOverImages();
	contentSwitchFontSize.main();

	clickArea("dl", "blocklink");
	clickArea("tr", "blocklink");
	clickArea("td", "blocklink");
	clickArea("li", "blocklink");
	clickArea("div", "blocklink");

	$("#subCategory div.article ul li a img").hover(function(){
		$(this).parent("a").animate({"opacity":"0.6"},{"duration":300,"queue":false});
	},function(){
		$(this).parent("a").animate({"opacity":"1"},{"duration":300,"queue":false});
	});


	$("#main h2,#mainAll h2").not("#main #list h2,#main h2.img,#main h2:has(span),#mainAll h2:has(span),#main #TextArea #Text .article h2,#main .ColorBox h2").wrapInner('<span></span>');
	$(".Info span.anchorIn span").unwrap();
	$(".entrance .externalFileIcon,.pdf .externalIcon").remove();

if ($.browser.msie && $.browser.version <= 8){
	$('.ContactBox').each(function(){
		$(this).children('div').children('dl:last').addClass("end");
	});
	$('.BasisTable .cell table,.BasisTable .cell tbody').each(function(){
		$(this).children('tr:last').addClass("end");
	$(this).children('tr').each(function(){
		$(this).children('th:first').addClass("Lnone");
		$(this).children('td:first').addClass("Lnone");
	});
	});
}

	// ie6 fix
	if($.browser.msie && $.browser.version <= 6 ){	
		$("#localNavi dd dl.navBody dt,.blocklink").hover(function(){
			$(this).addClass("hover");
		},function(){
			$(this).removeClass("hover");
		});
	}
	// ie8 > fix
	if($.browser.msie && $.browser.version <= 8 ){
		$.yuga.stripe();
		$("#globalNavi,#student ul").children("li:last-child").addClass("last");
		$("#footer #LinkArea ul,#footer #footer_bottom #link ul").children("li:first-child").addClass("first");
	}

if($("dl#sNavi dt.open").length){
$("dl#sNavi dt.open").each(function(){
var ThisElementId = this.attr("id");
});
	var target_img = "#"+ThisElementId+" img";
	if(!$(target_img).attr("src")) {
		target_img = "img#"+ThisElementId;
	}


	$(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; });
	});
}

});

(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="/kaori/share/img/blank.gif" width="10" height="8" alt="別ウィンドウで開きます" class="externalIcon" />',
		notWindowURL: 'a[href^="http://www.kun-ei.ac.jp/kaori/"],a[href^="https://www.kun-ei.ac.jp/kaori/"],a[href$=".pdf"],a[href$=".PDF"],a[href$=".doc"],a[href$=".docx"],a[href$=".xls"],a[href$=".xlsx"],a[href$=".jpg"],a[href$=".JPG"],a[href$=".gif"],a[href$=".png"]',
		blankIconHidden: '#subCategory a[href^="http"],.browser li dl dt a[href^="http"],#subCategory a[href^="https"],.aside .partsRight a,#footer #LinkArea  a[href^="http"]',
		noIcon: 'a.noIcon',
		windowOpen:true}, options);
	if (c.windowOpen) {
		$('a[href^="http"]').not(''+c.blankIconHidden+','+c.notWindowURL+','+c.noIcon+'').click(function(){window.open(this.href, '_blank');return false;}).css("text-decoration","none").wrapInner('<span class="anchorIn"></span>').children("span").after(c.blankIconPath);
		$(c.blankIconHidden).not(c.notWindowURL).click(function(){window.open(this.href, '_blank');return false;});
	}
},
stripe: function(options) {
	var c = $.extend({
		oddClass:'odd',
		evenClass:'even'
	}, options);
	$('ul, 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){
	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; });
	});
}

// SideMenuActive ----------------------------------------
function NaviOn(id) {
	var target_navi = "#"+id;
	$(target_navi).addClass("on");
}

function sideNaviActive(id) {
	var target_navi = "#"+id;
	$(target_navi).addClass("active");
}

function initSideNavi(id , sub_id) {

	var sub_cnt = $("dl#sNavi dt").length;
	var cnt = 1;

	$("dl#sNavi dt").each(function() {
		if ($(this).hasClass("none")) {
			$(this).hide();
			$(this).next().addClass("independent");
		}
		if($(this).attr("id") != id && !$(this).hasClass("none")) {
			$("ul" , $(this).next()).hide();
			$(this).addClass("close");
		}else{
			$(this).data("active" , "on");
			$(this).addClass("open");
			if(sub_id != undefined) {
				sideNaviActive(sub_id);	
		}
	}
	$(this).css("cursor" , "pointer").click(function() {
		if($(this).data("active") == "on") {
			$(this).data("active" , "off");
			$(this).removeClass("open");
			$(this).addClass("close");
		}else{
			$(this).data("active" , "on");
			$(this).removeClass("close");
			$(this).addClass("open");
		}
		var target_body_id = $(this).attr("id");
		$("#"+target_body_id+"body ul").slideToggle();
	});
	cnt++;
	});
}

// SwitchFontsize ----------------------------------------

var contentSwitchFontSize = {
	conf : {
		fontSize     : ["130%","100%","78%"],
		switchId     : ["switchFontSizeBig", "switchFontSizeMedium", "switchFontSizeSmall"],
		defoSizeId   : "switchFontSizeMedium",
		targetAreaId : "TextArea",
		cookieName   : "FontSizeChange",
		cookieLimit  : 30,
		switchWriteArea : "fontChange",
		switchHTML      : '<ul><li id="switchFontSizeSmall" style="text-align:left; text-indent:-9999px;"><span>小</span></li><li id="switchFontSizeMedium" style="text-align:left; text-indent:-9999px;"><span>中</span></li><li id="switchFontSizeBig" style="text-align:left; text-indent:-9999px;"><span>大</span></li></ul>'
	},
	main : function(){
		contentSwitchFontSize.setHTML();
		contentSwitchFontSize.defo();
		var i, j, switchItem = contentSwitchFontSize.conf.switchId;
		for(i=0;i<switchItem.length;i++){
			document.getElementById(switchItem[i]).onclick = contentSwitchFontSize.action;
		}
	},
	setHTML : function(){
		var fontsizeSwitch = document.createElement('div');
		fontsizeSwitch.id  = "fontsizeControl";
		fontsizeSwitch.innerHTML = contentSwitchFontSize.conf.switchHTML;
		document.getElementById(contentSwitchFontSize.conf.switchWriteArea).appendChild(fontsizeSwitch);
	},
	defo : function(){
		var i;
		var switchId = contentSwitchFontSize.conf.switchId;
		var targetAreaId = contentSwitchFontSize.conf.targetAreaId;
		var fontSize = contentSwitchFontSize.conf.fontSize;
		cookieValue = this.getCookie() || contentSwitchFontSize.conf.defoSizeId;
		for(i = 0; i < switchId.length; i++){
			if(cookieValue == switchId[i]){
				document.getElementById(targetAreaId).style.fontSize = fontSize[i];
			}
		}
	document.getElementById(cookieValue).className ="active";
	},
	action : function(){
		var i;
		var switchId = contentSwitchFontSize.conf.switchId;
		var targetAreaId = contentSwitchFontSize.conf.targetAreaId
		var fontSize = contentSwitchFontSize.conf.fontSize
		for(i=0;i<switchId.length;i++){
			var switchItem = document.getElementById(switchId[i]);
			switchItem.className="";
			if(this.id == switchId[i]){
				document.getElementById(targetAreaId).style.fontSize = fontSize[i];
			}
		}
		this.className ="active";
		contentSwitchFontSize.setCookie(this.id);
	},
	setCookie: function(data) {
		var today = new Date();
		today.setTime(today.getTime() + (1000 * 60 * 60 * 24 * Number(this.conf.cookieLimit)));
		document.cookie = this.conf.cookieName + '=' + encodeURIComponent(data) + '; path=/; expires=' + today.toGMTString();
	},
	getCookie: function(m) {
		return (m = ('; ' + document.cookie + ';').match('; ' + this.conf.cookieName + '=(.*?);')) ? decodeURIComponent(m[1]) : null;
	}
}


// slideScroll ----------------------------------------

$.fn.slideScroll = function(options){
	var c = $.extend({
		interval: 10,
		easing: 1.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;
			});
		}
	});
}
// BigLink ----------------------------------------

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://www.kun-ei.ac.jp/kaori/") != -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();
		});
	});
}
