/*********************************************************************
 *
 * 
 * ===================================================================
 *
 *  このJavScriptの動作には、以下のjsファイルが必要です。（※先読み込みで！）
 *
 *     - jquery.js
 *     - jquery.timers.js
 *
 *********************************************************************/


$.fn.slideBn=function(){
	
	//set var
	var ticks = {"wait":6500,"fOut":400,"fIn":600}; //default
	if(arguments[0]!=null){
		if(arguments[0]=='fast') ticks = {"wait":3500,"fOut":200,"fIn":400}; //fast
		else if(arguments[0]=='slow') ticks = {"wait":7500,"fOut":500,"fIn":700}; //slow
		else ticks.wait=arguments[0];
	}
	if(arguments[1]!=null) ticks.fOut=arguments[1]; ticks.fIn=arguments[1];
	if(arguments[2]!=null) ticks.fIn=arguments[2];
	
	
	var slNode=$(this);
	var lindx = 0;
	var boxNode=slNode.find("div.slide_box");
	var ctrNode=slNode.find("ul.slide_btns");
	var Bn_len=ctrNode.find("li").length;
	
	var mvFlag="off";
	if(slNode.find("ul.slide_mv_btns").length>0) {
		var mvNode=slNode.find("ul.slide_mv_btns");
		var mvFlag="on";
	}
	
	//var sl_init_href = ctrNode.find("li").eq(0).find("a").attr("href");
	if(mvFlag=="on"){
		var stop_init_src = mvNode.find("li.stop").find("img").attr("src");
	}
	
	var now_id = ctrNode.find("li").eq(0).find("a").attr("rel");
	boxNode.find("li").children().css("display","none");
	$(now_id).css("display","block");
	$(now_id).children().css("display","block");
	
	var play_flag="play";	

	var InitMySlide=function(){

		//image_preload
		//ctrNode.find("li").each(function(){ 
		//		$("<img>").attr("src",$(this).find("a").attr("href"));
		//});
		
		//ctr_image_init
		ctrNode.find("li").eq(0).addClass("current")
			.find("img").attr("src", function(i) { 
				this.src = this.src.replace("_off.","_current.");
			});
		//boxNode.find("a").attr("href",sl_init_href);
		
		//ctr_action_init
		ctrNode.find("li").hover(function(){ 
			if($(this).attr("class")!="current"){
				$(this).find("img").fadeTo(100,0.5);
			}
		},function() {
			$(this).find("img").fadeTo(100,1);
		}).click(function(){
			if($(this).attr("class")!="current"){
				lindx = ctrNode.find("li").index(this);
				ch_slide(lindx);
				boxNode.stopTime('sl_timer');
				AutoRun('sl_timer');
			}
			window.focus();
			return false;
		});
		
		//mv_action_init	
		if(mvFlag=="on"){
			mvNode.find("li").hover(function(){ 
					$(this).find("img").fadeTo(100,0.5);
				},function() {
					$(this).find("img").fadeTo(100,1);
				}).click(function(){
					if($(this).attr("class")=="prev"){
						if(lindx>0) lindx--;
						else lindx = Bn_len - 1;
					}
					else if($(this).attr("class")=="next"){
						if(lindx<Bn_len - 1) lindx++;
						else lindx = 0;
					}
					else if($(this).attr("class")=="stop"){
						
						if(play_flag=="play") {
							$(this).find("img").attr("src",stop_init_src.replace("_stop","_play"));
							boxNode.stopTime('sl_timer');
							play_flag="stop";
							return false;
						}
						else if(play_flag=="stop") {
							$(this).find("img").attr("src",stop_init_src);
							play_flag="play";
							AutoRun('sl_timer');
							window.focus();
							return false;
						}
					}
					ch_slide(lindx);
					boxNode.stopTime('sl_timer');
					AutoRun('sl_timer');
					window.focus();
					return false;
			});
		}
		
		AutoRun('sl_timer');

	}
	
	
	var AutoRun = function(timer){
		boxNode.everyTime(ticks.wait,timer,function(){
			lindx++;
			if(lindx>Bn_len-1){
				lindx=0;
			}
			ch_slide(lindx);
		});
	}
	
	var ch_slide = function(indx) {
		var sl_id = ctrNode.find("li").eq(indx).find("a").attr("rel");

			$(now_id).children().fadeOut(ticks.fOut,function() {
				$(now_id).css("display","none");
				$(sl_id).css("display","block");
				$(sl_id).children().fadeIn(ticks.fIn);
				now_id = sl_id;
			});
		ctrNode.find("li").removeClass("current")
			.find("img").attr("src", function(i) { 
				this.src = this.src.replace("_current.","_off.");
			});
		ctrNode.find("li").eq(indx).addClass("current")
			.find("img").attr("src", function(i) { 
				this.src = this.src.replace("_off.","_current.");
			});
		play_flag="play";
		
		if(mvFlag=="on"){
			mvNode.find("li.stop > img").attr("src",stop_init_src);
		}
		
	}

	$(window).bind("load", InitMySlide);

	return this;
}

