/*
 * requires:jQuery v1.6.2 later
 * name:slideContents.js
 * author:Manabu Kushimoto(web-park.org)
 */
$(function(){
	$.fn.slideContents = function(options){
		var op = $.extend($.fn.slideContents.defaults,options);
		var $t=$(this);
		var $slide=$('<div id="slideContents" />');
		var active="active";
		var len=$t.children("div").length;
		var slideW=op.moveW*(len+1);
		var stn_num=-(op.moveW+20)//(slideW/2)+(op.frameW/2);
		var a={
			n_id:"slideNext",
			p_id:"slidePrev",
			n_path:"/img/index/newsbnrnav_r.png",
			p_path:"/img/index/newsbnrnav_l.png"
				}
		$slide.append($t.children("div")).appendTo($t);
		switch(len){
			case 2:
				$slide.css({position:"relative",margin:"0 auto",width:(op.moveW*2+20)+"px"});
				return false;
				break;
			case 3:
				var c_num=len-1;
				$("> div:eq("+(c_num)+")",$slide).clone(true).prependTo($slide).show(function(){
					$("> div:eq(1)",$slide).clone(true).appendTo($slide);
					$("> div:eq(2)",$slide).clone(true).prependTo($slide);
				});
				$slide.css({left:stn_num+"px",width:(slideW+(op.moveW*2))+"px"});
				break;
			default:
				$slide.css({left:stn_num+"px",width:slideW+"px"});
				$("> div:eq("+(len-1)+")",$slide).prependTo($slide).show(function(){
					$("> div:eq("+(len-1)+")",$slide).prependTo($slide);
				});
				break;
		}
		len=new Number($slide.children("div").length);
		$t.append('<p id="'+a.n_id+'"><a href="#"><img src="'+a.n_path+'" alt="Next" /></a></p>\
		<p id="'+a.p_id+'"><a href="#"><img src="'+a.p_path+'" alt="Previous" /></a></p>');
		
		function nextMove(){
			$("> div:eq(0):not(:animated)",$slide).stop(true,false).animate({marginLeft:"-"+op.moveW},op.speed,function(){
				$(this).appendTo($slide).css({marginLeft:0});
			});
		};

		function prevMove(){
			$("> div:eq(0):not(:animated)",$slide).stop(true,false).animate({marginLeft:op.moveW},op.speed,function(){
				$(this).css({marginLeft:0});
				$("> div:eq("+(len-1)+")",$slide).prependTo($slide);
				//$(this).prependTo($slide);
				//$("> div:eq(0):not(:animated)",$slide).animate({marginLeft:0}).css({zIndex:200});
			});
		};
		
		$("#"+a.n_id+" a").click(function(){
			nextMove();
			clearInterval(setNext);
			clearInterval(setPrev);
			setNext = setInterval(function(){
				nextMove();
			},op.interval);
			return false;
		}).focus(function(){$(this).blur();});
		$("#"+a.p_id+" a").click(function(){
			prevMove();
			clearInterval(setNext);
			clearInterval(setPrev);
			setPrev = setInterval(function(){
				prevMove();
			},op.interval);
			return false;
		}).focus(function(){$(this).blur();});
		$(window).keyup(function(event){
			if(event.ctrlKey || event.shiftKey){
				switch(event.keyCode) {					
					//ctr or shift+←でサムネイルを表示
					case 37:
						prevMove();
						clearInterval(setNext);
						clearInterval(setPrev);
						setPrev = setInterval(function(){
							prevMove();
						},op.interval);
						break;
	
					//ctr or shift+→でページ番号を聞く
					case 39:
						nextMove();
						clearInterval(setNext);
						clearInterval(setPrev);
						setNext = setInterval(function(){
							nextMove();
						},op.interval);
						break;
				}
			}
		});

		// 自動写真切替
		setPrev = setInterval(function(){
			prevMove();
		},op.interval);
		clearInterval(setPrev);
		setNext = setInterval(function(){
			nextMove();
		},op.interval);

	};

	$.fn.slideContents.defaults = {
		frameW:"",
		moveW:"",
		speed:"200",
		interval:"3000"
	}

	$("div#items").slideContents({frameW:470,moveW:170,interval:6000});

});
