/*-----------------------------------------------------------

 setting.js
 tokuda@n-di.co.jp
 
 jQuery required.

 ------------------------------------------------------------*/

$(function(){
	//$("a").mmExLink();
	//$("img").mmRollOver();
	//$("body *").mmInline();
	$("div#header .logo img").mmPngfix();
	$("div.tabArea").tabSwitch();
	$("div#manual").tabSwitch({
		defaultCondition: false
	});
	$("body *").mmAddClass();
	$("a[href*='#']").filter(function(){
		return !$(this).parent().parent().hasClass("tab");
	}).slideScroll();
	
	$("input[type*='radio']").addClass("radio");
	
	$("a","#close").click(function(){
		window.close();
	});
	
//	// リセットボタンの効果を追加
//	$("input[src*='btn_clear']").click(function(){
//		var parentForm = $(this).parents().filter("form");
//		parentForm[0].reset();
//		return false;
//	});
	
	// 条件を変えて検索 スライドタブ
	if($("#researchMenu") && $("#researchMenu").length>0){
		
		// 処理落ちのためIEはスライドなしで開閉する
		$.fn.slideSwitch = function(UD){
			if(document.all){
				if(UD=="Up") return $(this).hide();
				else return $(this).show();
			}else{
				if(UD=="Up") return $(this).slideUp(250);
				else return $(this).slideDown(250);
			}
		}
		
		$("dt","#researchMenu").each(function(i){
			$(this).next().hide();			
			
			if($("a[class*='active']","#researchMenu").length<1 && i==0){
				$("a",this).addClass("active");
			}
			
			if($("a",this).hasClass("active")){
				$(this).next().show();
			}
			
			var mouseOnFlag = false;
			var interval = document.all ? 100 : 250;
			
			$(this).hover(function(){
				var dt = $(this);
				mouseOnFlag = true;
				// 処理落ちのためIEは待ち時間を短くする
				setTimeout(function(){
					if(!mouseOnFlag) return false;
					$("dd:visible","#researchMenu").not(dt.next()).slideSwitch("Up");
					$("a","#researchMenu").not($("a",dt)).removeClass("active");
					dt.next().slideSwitch("Down");
					$("a",dt).addClass("active");
					},interval);
			},function(){
				mouseOnFlag = false;
			});
		});
	}
	
	// Adminメニュー
	if($("body").hasClass("admin")){
		$("dl#adminNav>dt").each(function(){
			var dt = this;
			var flag = $(dt).hasClass("expand") ? true : false;
			$(dt).click(function(){
				if(!$(dt).hasClass("expand")) $(dt).addClass("expand");
				$(dt).next().animate(
					{ height: "toggle"},
					250,
					function(){
						if(flag && $(dt).hasClass("expand")) $(dt).removeClass("expand");
						else $(dt).addClass("expand");
						flag = flag ? false : true;
					}
				);
			}).css("cursor","pointer");
		});
	}
	
});

$.mmURI = {
	domain: function(){
		return location.href.replace(/(\w+:\/\/[\w\d\.\-\_\:]+)\/.+/,"$1");
	}
}

$.fn.mmAddClass = function(){
	$("*:first-child",this).not("br").each(function(){
		if(this.className.match(/Guide/)){
			$(this).next().addClass("first-child");
		}else{
			$(this).addClass("first-child");
		}
	});
	$("*:last-child",this).addClass("last-child");
}

$.fn.mmSuspectedClass = function(options){
	var c = $.extend({
		hover: true,
		focus: true
	},options);
	$(this).each(function(){
		if(c.hover)
			$(this).hover(function(){$(this).addClass("hover");},function(){$(this).removeClass("hover");});
		if(c.focus)
			$(this).focus(function(){$(this).addClass("focus");}).blur(function(){$(this).removeClass("focus");});
	});
}

$.fn.mmExLink = function(options){
	var c = $.extend({
		copy: false,
		text: "このリンクを新しいウィンドウで開く",
		type: 1 // 1: newWindow, 2: target="_blank"
	},options);
	
	$("a[href*='http://']").each(function(){
		var anchor = $(this);
		if(c.copy){
			$(this).after("<a href='../../../js/"+$(this).attr("href")+"' class='exLink' title='"+c.text+"'>"+c.text+"</a>");
			anchor = $(this).next();
		}
		if(c.type==2){
			anchor.attr("target","_blank");
		}else{
			anchor.click(function(){
				if(!$(this).attr("href").match(new RegExp($.mmURI.domain)))
					window.open(this.href,"","");
				return false;
			});
		}
	});
}

$.fn.mmRollOver = function(){
	$(this).each(function(){
		var src = $(this).attr("src");
		var overSrc = src.replace("_off","_on");
		var over = new Image();
		over.src = overSrc;
		$(this).hover(function(){
			$(this).attr("src",overSrc);
		},function(){
			$(this).attr("src",src);		
		});
	});
}

$.fn.mmInline = function(){
	var UA = navigator.userAgent;
	var version = UA.replace(/.+Firefox\/([\d\.]+$)/,"$1");
	if(UA.match(/Firefox/) && version.match(/[12]\.[\d\.]+/)){
		$(this).each(function(){
			if($(this).css("display").match(/list\-item/)){
				$(this).css("display","-moz-inline-box")
				.html("<div style='width: "+$(this).width()+"px; display: block;'>"+$(this).html()+"</div>");
			}
		});
	}
}

$.fn.mmEqHeight = function(){
	var child = $(">*",this);
	var maxHeight = 0;
	for(var i=0;i<child.length;i++){
		if(i>0) maxHeight = (maxHeight < $(child[i]).height()) ? $(child[i]).height() : maxHeight;
		else maxHeight = $(child[i]).height();
	}
	child.each(function(){
		$(this).height(maxHeight);
	});
}

$.fn.mmPngfix = function(options){
	var c = $.extend({
		blank: "img/share/blank.gif"
	},options);
	if(document.all && typeof document.body.style.maxHeight=="undefined"){
		$(this).each(function(i){
			var path =$(this).attr("src").match(/(\w+:\/\/[\w\.\-\d]+\/)/) ? RegExp.$1 : $(this).attr("src").replace(/([\.\/]*)[\w\d\-\_\/\.]*/,"$1");
			var attr = {
				width: this.width,
				height: this.height,
				src: $(this).attr("src")
			}
			$(this).attr({
				src: path+c.blank
			}).css({
				width: attr.width,
				height: attr.height,
				filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+attr.src+"', sizingMethod='scale')"
			});
		});
	}
}


/*---------------------------------------------------------------

 jQuery.tabSwitch.js
 
 jQuery required (tested on version 1.2.6)
 encoding UTF-8

 Copyright (c) 2008 nori (norimania@gmail.com)
 5509 -  http://moto-mono.net
 Licensed under the MIT

 $Update: 2008-12-24 12:00
 $Date: 2008-12-05 23:30
 
 ----------------------------------------------------------------*/

$.fn.tabSwitch=function(options){var c=$.extend({defaultCondition:true,effect:false,pageLink:true},options);var switchEffect={show:function(o){if(c.effect)$(o).fadeIn("normal");else $(o).show();},hide:function(o){if(c.effect)$(o).fadeOut("fast");else $(o).hide();}}
function tabHide(o,flag){if(flag||!c.defaultCondition){$(o).each(function(){switchEffect.hide(this.hash);});}else{if($(o).hasClass("active")){$(o).each(function(){if(!$(this).hasClass("active"))
switchEffect.hide(this.hash);});}else{for(var i=0;i<o.length;i++){if(i==0)$(o[i]).addClass("active");else switchEffect.hide(o[i].hash);}}}}
function tabSet(o){if($(o).length<1)return false;$(o).each(function(){var anchor=$("ul.tab a",this);if(c.pageLink)anchor=anchor.filter(function(){return this.hash;});for(var j=0;j<anchor.length;j++){tabHide(anchor,false);$(anchor[j]).click(function(){tabHide(anchor,true);$(anchor).not(this).removeClass("active");switchEffect.show(this.hash);$(this).addClass("active");$(this).blur();return false;});}
if(location.hash&&$(location.hash,this).length>0){window.scroll(0,0);tabHide(anchor,true);$(anchor).removeClass("active");switchEffect.show(location.hash);$("a[href*='"+location.hash+"']","ul.tab").addClass("active");}});}
$(this).each(function(){tabSet(this);});}

/*---------------------------------------------------------------

 jQuery.slideScroll.js
 
 jQuery required (tested on version 1.2.6)
 encoding UTF-8

 Copyright (c) 2008 nori (norimania@gmail.com)
 5509 - http://moto-mono.net
 Licensed under the MIT

 $Date: 2008-12-22 23:30
 
 ----------------------------------------------------------------*/

$.fn.slideScroll=function(l){var g=$.extend({interval:20,easing:0.6,comeLink:false},l);var f=document;var b;var h;function k(){var c={x:f.body.scrollLeft||f.documentElement.scrollLeft,y:f.body.scrollTop||f.documentElement.scrollTop};return c;}function e(){var m=f.documentElement.clientHeight;var c=f.documentElement.clientWidth;var d=f.documentElement.scrollHeight;var n=f.documentElement.scrollWidth;h.top=((d-m)<h.top&&h.top<d)?d-m:h.top;h.left=((n-c)<h.left&&h.left<n)?n-c:h.left;}function i(){var c=k().x;var o=k().y;var n=Math.ceil((c-h.left)/(5*g.easing));var m=Math.ceil((o-h.top)/(5*g.easing));var d={x:c-n,y:o-m,ax:n,ay:m};return d;}function j(){b=setInterval(function(){i();if(Math.abs(i().ax)<1&&Math.abs(i().ay)<1){clearInterval(b);window.scroll(h.left,h.top);}window.scroll(i().x,i().y);},g.interval);}function a(){if(location.hash){if($(location.hash)&&$(location.hash).length>0){h=$(location.hash).offset();e();window.scroll(0,0);if($.browser.msie){setTimeout(function(){j();},50);}else{j();}}}}if(g.comeLink){a();}$(this).each(function(){if(this.hash&&$(this.hash).length>0&&this.href.match(new RegExp(location.href.split("#")[0]))){var c=this.hash;$(this).click(function(){h=$(c).offset();clearInterval(b);e();j();return false;});}});};