


(function(jQuery) {

	/***********************************************
	//モーダルウィンドウ				   //
	************************************************/

	jQuery.fn.modalBox = function(config){
	
		config = jQuery.extend({
			backLayerColor   	 : "#fff",
			overLayerColor   	 : "#fff",
			overLayerDitailColor : "#696969",
			backLayerOpacity 	 : 0.6,
			backBoderSize    	 : 20
		} , config);
		
		var target = this
		if($.browser.msie && $.browser.version<7){
			var posival = "absolute"
		} else {
			var posival = "fixed"
		}
	
		$(target).css({"text-decoration":"none"})
		function setInterface(){
			$("body").append('<div id="grayLayer"></div><div id="overLayer"></div>').css("height","100%");
			$("#grayLayer").css({
				"display":"none",
				"position":posival,
				"top":"0",
				"left":"0",
				"height":"100%",
				"width":"100%",
				"background":config.backLayerColor,
				"opacity":config.backLayerOpacity,
				"filter":"alpha(opacity="+config.backLayerOpacity*100+")",
				"z-index":"99999"
			})
			
			$("#overLayer").css({
				"display":"none",
				"background":config.overLayerColor,
				"z-index":"100000",
				"position":posival,
				"top":"50%",
				"left":"50%"
			})
		}
		
		
		$("#overLayerClose , #grayLayer").live("click",function(){
			$("#grayLayer").remove()
			$("#overLayer").remove()
		})
		
		function start(clickObject){
			setInterface();
		
			$("#grayLayer").show();
			var overLayer = $("#overLayer")
			var alt = $(clickObject).find("img").attr("alt")
			var title = $(clickObject).find("img").attr("title")
			overLayer.fadeIn("slow").html('<img src="'+$(clickObject).attr("href")+'" alt="'+alt+'" title="'+title+'" />')
			var overLayerImg = $("#overLayer img")
			if(title === undefined){ title ="";	}
			overLayerImg.after('<div id="overLayerDitail"><div id="overLayerDitailTitle">'+title+'</div><div id="overLayerClose">CLOSE<span>×</span></div></div>')
			overLayerImg.css("visibility","hidden")
			if($.browser.msie && $.browser.version<7){
					$("#grayLayer").get(0).style.setExpression("top","$(document).scrollTop()+'px'")
					$("#overLayer").get(0).style.setExpression("top","($(document).scrollTop()+$(window).height()/2)+'px'")
			}

			var width = overLayerImg.width()
			var height = overLayerImg.height()
			overLayer.css({
				"margin-left":"-"+width/2+"px",
				"margin-top" :"-"+height/2+"px"
			})
			overLayerImg.css({
				"visibility":"visible",
				"margin":config.backBoderSize
			})
			$("#overLayerDitail").css({
				"font-size":"14px",
				"font-weight":"bold",
				"margin":config.backBoderSize+"px",
				"margin-top":0,
				"color":config.overLayerDitailColor,
				"overflow":"hidden",
				"width":width+"px"
			})
			$("#overLayerDitailTitle").css({
				"text-align":"left",
				"margin":"0 0px 0px 10px",
				"width":"70%",
				"float":"left"
			})
			$("#overLayerClose").css({
				"text-align":"right",
				"margin":"-10px 0px 0px 0px",
				"width":"100px",
				"float":"right",
				"cursor":"pointer"
			})
			$("#overLayerClose span").css({
				"font-size":"36px",
				"text-align":"right",
				"position":"relative",
				"top":"4px",
				"left":"-4px"
			})
		};

			if($.browser.msie && $.browser.version<7){
				$(window).scroll(function(){
					$("#grayLayer").get(0).style.setExpression("top","$(document).scrollTop()+'px'")
					$("#overLayer").get(0).style.setExpression("top","($(document).scrollTop()+$(window).height()/2)+'px'")
				})
			}
			function initialize(){
				start(this);
				return false;
			}

		return this.live("click",(initialize));
	}

})(jQuery);



	/***********************************************
	//フェードショー				   //
	************************************************/



(function(jQuery) {

	jQuery.fn.imgFade = function(config){
			config = jQuery.extend({
				interval : 5000,
				fadein : "slow"
			},config);
		
			var element = jQuery(this);
			var img_count =  jQuery(this).length;
			var end_count = img_count -1;
			var interval = config.interval ;
			var fadein = config.fadein ;

			if(img_count<=1){ return false };
			jQuery(this).each(function(i){
				jQuery(this).eq(i);
				if(i!=0){ jQuery(this).hide();}
			});
			
			var count = 0 ;
			timerID = setInterval(function(){
				if(count<end_count){
				jQuery(element).eq(count).hide();
				jQuery(element).eq(++count).fadeIn(fadein);
				}else if(count==end_count){
					jQuery(element).eq(+count).hide();
					jQuery(element).eq(0).fadeIn(fadein);
					count = 0;
				}
			},interval);
		return this ;
	}
	

})(jQuery);


	/***********************************************
	//スライドショー				   //
	************************************************/


(function(jQuery) {

	jQuery.fn.imgSlide = function(config){
			config = jQuery.extend({
			pager    : true,
			autoplay : true,
			interval : 5000,
			duration : 1000,
			easing   : 'siwing'
		} , config);

		
	
		var target = $(this);
		var container = target.find(".slide_box");
		var contents =container.children();
		var contents_img = contents.find("img");
		var firstChild = contents.filter(':first-child');
		var	lastChild  = contents.filter(':last-child');
		var img_width = container.width();
		var img_height = container.height();
		var count = {
			min:0,
			max: contents.size(),
			current:0
		};
		container.css({
			"width":img_width * (count.max + 2) , 
			"marginLeft":-img_width , 
			"paddingLeft":img_width
		});
			
		
		var slide_pager = $('<div/>', {'class': 'slide_pager'});
		var next_btn = $('<a/>' , {"id":"next_btn" , "href":"#"});
		var prev_btn = $('<a/>' , {"id":"prev_btn" , "href":"#"});
		next_btn.appendTo(slide_pager).text('\u00BB');
		prev_btn.appendTo(slide_pager).text("\u00AB");
		slide_pager.appendTo(target).css("display","none");
		$("#next_btn , #prev_btn").css({
			"color":"#dedede",
			"font-size":"52px",
			"font-weight":"bold",
			"position":"absolute",
			"top":"50%",
			"padding":"10px",
			"text-decoration":"none",
			"text-shadow":"-1px -1px 0 rgba(0, 0, 0, 0.3)",
			"marginTop":"-26px"
			});
		$("#next_btn").css("right","10px");
		$("#prev_btn").css("left","10px");
		
		var distance;
		var slide = {
			next : 
				function(index) {
					func.range(index , 'next');
					
					if(count.current < count.max -1){
						func.scroll(distance);
					} else {
						firstChild.css({"left":img_width * count.max});
						container.stop(true , false).animate({left:-distance} , config.duration , 
							function(){
								firstChild.css({"left":"0"});
								container.css({"left":"0"});
							});
						count.current = -1;
					}
					count.current++;
					//func.pageNav(count.current);
				} ,
				
			prev : 
				function(index) {
					func.range(index , 'prev');
					
					if(count.current > count.min){
						func.scroll(distance);
					} else {
						lastChild.css({"left":-(img_width * count.max)});
						container.stop(true , false).animate({left:-distance} , config.duration , 
							function(){
								lastChild.css({"left":""});
								container.css({"left":-(img_width * (count.max -1))});
							});
						count.current = count.max;
					}
					count.current--;
				}
		}

		var func = {
			range : 
				function(number , direction ){
					if(number >= 0){
						distance = img_width * number ;
					} else {
						var addNum;
						if(direction === "next"){ addNum = +1 };
						if(direction === "prev"){ addNum = -1 };
						distance = img_width * (count.current + addNum);
					}
				},
			scroll : 
				function(direction){
					container.stop(true , false).animate({left:-direction},config.duration)
				}
		}
		
		var play, start;

		play = function () {
			start = setInterval(function () {
				slide.next();
			}, config.interval);
		};
		
		if(count.max > 1 ){
			if(config.pager === true){
				$(target).hover(
					function() {
						clearInterval(start);
						$(".slide_pager").fadeIn("normal");
					},
					function() {
						$(".slide_pager").fadeOut("normal");
						play();
					}
				);
				
				$("#next_btn").click(function(){
					slide.next();
					return false;
				});
				$("#prev_btn").click(function(){
					slide.prev();
					return false;
				});
			}
			
			if(config.autoplay === true){
				play();
			}
		}

		return this ;
	}
	

})(jQuery);


