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

// 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; });
	});
}

// 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; }})
  });
}

//onload start
$(function() {
	$.yuga.externalLink();
	$.yuga.tab();
	$.yuga.stripe();

	$("a[href$='.pdf']").wrapInner('<span class="anchorIn"></span>').children("span").after('<img src="/common/img/icon_pdf.gif" alt="PDFファイルへのリンクです" class="externalFileIcon" />');
	$("a[href$='.doc'],a[href$='.docx']").wrapInner('<span class="anchorIn"></span>').children("span").after('<img src="/common/img/icon_doc.gif" alt="Wordファイルへのリンクです" class="externalFileIcon" />');
	$("a[href$='.xls'],a[href$='.xlsx']").wrapInner('<span class="anchorIn"></span>').children("span").after('<img src="/common/img/icon_xls.gif" alt="Excelファイルへのリンクです" class="externalFileIcon" />');
	$("a[href$='.pdf'],a[href$='.doc'],a[href$='.docx'],a[href$='.xls'],a[href$='.xlsx']").click(function(){window.open(this.href, '_blank');return false;}).css("text-decoration","none");

	$("a[href*='#']").filter(function(){return !$(this).parent().parent().hasClass("tabNav");}).not('a[href^="#zoom"]').slideScroll();
	$("#gNavi > li").hover(
		function(){			$(this).addClass("current").children("div.sub").show().end().children("a").children("img").not("div.sub ul li a img").attr("src", function() {
				this.src = this.src.replace("_chk.gif","_now.gif");
				this.src = this.src.replace("_chk_on.gif","_chk_on.gif");
			});
		},function(){
			$(this).removeClass("current").children("div.sub").hide().end().children("a").children("img").not("div.sub ul li a img").attr("src", function() {
				this.src = this.src.replace("_now.gif","_chk.gif");
				this.src = this.src.replace("_chk_on.gif","_chk_on.gif");
		});
	});
	initRollOverImages();
	contentSwitchFontSize.main();

	$("body").prepend('<p id="printLogo"><img src="/common/img/printlogo.gif" alt="兵庫教育大学教育実践ネットワーク" width="242" height="50" /></p>');
	$(".bubble").after('<div class="tail"></div>');

	$("#footer li").filter(':last').addClass("no-print");

	if ($.browser.opera){
		$("div.c_navi ul").addClass("overOpera");
		$("div.c_navi ul li.prev span").wrapInner('<em></em>');
		$("div.c_navi ul li.next span").wrapInner('<em></em>');
		$("div#footer ul").addClass("overOpera");
	}

	clickArea("dl", "blocklink");
	clickArea("tr", "blocklink");
	clickArea("td", "blocklink");
	clickArea("li", "blocklink");
	clickArea("div", "blocklink");

	$("#search button,.blocklink").hover(function(){
		$(this).addClass("hover");
	},function(){
		$(this).removeClass("hover");
	});
	$("dl.blocklink").hover(function(){
	$(this).children("dt").children("img").animate({opacity:0.5},{duration:0,queue:false});
	},function(){
	$(this).children("dt").children("img").animate({opacity:1.0},{duration:0,queue:false});
	});


	$("#index1 img.externalFileIcon,#index3 img.externalFileIcon,#index4 img.externalFileIcon,#index5 img.externalFileIcon,#index6 img.externalFileIcon").remove();

	if($("ol#bread").length){
		var footerBread = $("ol#bread").html();
		$("#main").append('<ol id="appendbread">'+footerBread+'</ol>');
	}
});

(function($) {
$.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" />',

		notWindowURL: 'a[href^="http://www.hyokyo.net/"],a[href^="https://www.hyokyo.net/"],a[href$="pdf"],a[href$="doc"],a[href$="docx"],a[href$="xls"],a[href$="xlsx"]',

		blankIconHidden: '#headermenu a[href^="http"],#index3 a[href^="http"],#index4 a[href^="http"],#index5 a[href^="http"],#index6 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;});
	}
},
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);
			}
			if($.browser.msie && $.browser.version <= 7 ){
				$(this).focus(function(){this.blur();});
			}
			$(this).unbind('click');
			$(this).click(function(){
				tabNavList.removeClass(c.activeTabClass);
				$(this).addClass(c.activeTabClass);
				tabBodyList.css({"width":"705px","position":"absolute","top":"-9999px","left":"-9999px"});
				$(selecter).fadeOut(0).css({"width":"auto","position":"static","top":"auto","left":"auto"}).fadeIn(700);
				return false;
			});
		});
		tabBodyList.css({"width":"705px","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);
	$('ul, ol').each(function(){
		$(this).children('li:odd').addClass(c.evenClass);
		$(this).children('li:even').addClass(c.oddClass);
	});
	$('table, tbody').not('table#kyoudouTable ,table#kyoudouTable tbody').each(function(){
		$(this).children('tr:odd').addClass(c.evenClass);
		$(this).children('tr:even').addClass(c.oddClass);
	});
}

};
})(jQuery);

// 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;
			});
		}
	});
}

// SwitchFontsize ----------------------------------------
var contentSwitchFontSize = {
	conf : {
	fontSize     : ["120%","100%"],
	switchId     : ["switchFontSizeBig", "switchFontSizeMedium"],
	defoSizeId   : "switchFontSizeMedium",
	targetAreaId : "contents",
	cookieName   : "FontSizeChange",
	cookieLimit  : 30,
	switchWriteArea : "font-change",
	switchHTML      : '<ul><li id="switchFontSizeMedium" style="text-indent:-9999px;"><span>M</span></li><li id="switchFontSizeBig" style="text-indent:-9999px;"><span>L</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;
}
}

// 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.hyokyo.net/") != -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,notTag){
$(flatColum).parent().each(function(){
	var sets = [], temp = [];
	if(columNum == 2){
		$(this).children().not(notTag).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().not(notTag).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();
	});
});
}
