// JavaScript Document
(function() {  
	jQuery.fn.Navislider = function(config){
		config = jQuery.extend({
			imgBoxClass      : ".img",
			imgListTags      : "div",
			naviBoxClass     : ".navi",
			naviListTags     : "li",
			naviCurrentClass : "current",
			effect           : "fade",
			speed            : 300,
			startSlide       : 0,
			timer            : 5000
		},config);
		
		//vars
		var obj = $(this);
		var now_navi = $(config.naviBoxClass + " li:first" ,obj);
		var now_navi_a = $(config.naviBoxClass + " li:first a" ,obj);
		var now_img  = $(config.imgBoxClass + " div:first" ,obj);
		
		//reset
		now_navi_a.addClass(config.naviCurrentClass);
		$(config.imgBoxClass + " " + config.naviListTags + ":gt(" + config.startSlide + ")" ,obj).hide();
		
		//navi
		$(config.naviBoxClass + " " + config.naviListTags + "" ,obj).each(function(){
			var navi_obj = $(this);
			$(navi_obj).mouseover(function(){
				var navi_obj_a = $(this).find("a");
				chenge($(this),navi_obj_a);
				clearTimeout(timeout);
			});
			$(navi_obj).mouseout(function(){
				timeout = setTimeout(timefunction, config.timer);
			});
		});
		
		//time
		var timeout = "";
		var timefunction = function timer(){
			new_obj = now_navi.next();
			new_obj_a = new_obj.find("a");
			if(new_obj.attr("class") == undefined){
				new_obj = $(config.naviBoxClass + " li:first" ,obj);
				new_obj_a = $(config.naviBoxClass + " li:first a" ,obj);
			}
			chenge(new_obj,new_obj_a);
		}
		function reloadfunction(){
			timeout = setTimeout(timefunction, config.timer);
		}
		
		function chenge(new_obj,new_obj_a){
			new_navi = new_obj;
			new_navi_a = new_obj_a;
			
			//reset
			now_navi_a.removeClass(config.naviCurrentClass);
			new_navi_a.removeClass(config.naviCurrentClass);
			
			//save classes
			var now_class = now_navi.attr("class");
			var new_class = new_navi.attr("class");
			
			if(now_class != new_class){
				//chenge navi
				new_navi_a.addClass(config.naviCurrentClass);
				//set now
				now_navi = new_navi;
				now_navi_a = new_navi_a;
				
				//animation
				switch(config.effect){
					case "fade":
						$(config.imgBoxClass + " " + config.imgListTags + "." + new_class ,obj).fadeIn(config.speed);
						now_img.fadeOut(config.speed);
					break;
					
					case "slide":
						$(config.imgBoxClass + " " + config.imgListTags + "." + new_class ,obj).slideDown(config.speed);
						now_img.slideUp(config.speed);
					break;
					
					case "none":
						$(config.imgBoxClass + " " + config.imgListTags + "." + new_class ,obj).show();
						now_img.hide();
					break;
				}
				
				//set now
				now_img = $(config.imgBoxClass + " " + config.imgListTags + "." + new_class ,obj);
				clearTimeout(timeout);
			} else {
				//chenge navi
				new_navi_a.addClass(config.naviCurrentClass);
				//set now
				now_navi = new_navi;
				now_navi_a = new_navi_a;
				clearTimeout(timeout);
			}
			reloadfunction();
		}
		reloadfunction();
	};
})(jQuery);

$(function(){
	$("#closeup_navi").Navislider();
});
