(function($){

$(function(){

	hoverslider.setEvent();
	
});

var hs_si;
var hoverslider = {
	init : function(def){
		$("#slider_main_img a").css("display","none")
			.eq(def).css("display","block");
			
		var t = $("#slider_items a img").eq(def);
		t.addClass("ro_stay").attr("src",t.attr("src").replace("_off.", "_on."));
	},
	setEvent : function(options){
		var defaults = {
			def:0,
			auto:true,
			autoSpan:3500
		};
		var settings = jQuery.extend({}, defaults, options);
		
		hoverslider.init(settings.def);
		if(settings.auto)hoverslider.auto(settings.autoSpan);

		$("#slider_items a").bind("mouseover",function(){
			hoverslider.animate(this);
			hoverslider.changeActive(this);
		});

		$("#slider_wrap").hover(function () {
			clearInterval(hs_si);
		},function () {
			if(settings.auto)hoverslider.auto(settings.autoSpan);
		});
	},
	changeActive : function(that){
		var ro = $("#slider_items .ro_stay");
		ro.attr("src",rep(ro.attr("src"))).removeClass("ro_stay");
		
		var t = $(that).find("img");
		t.attr("src",rep(t.attr("src"))).addClass("ro_stay");
	},
	animate : function(that){
		var spd = 500;
		var h = ($(that).attr("rel")).replace("#","");
		var stay = $(that).find("img").hasClass("ro_stay");

		if(stay) return false;
		
		$("#slider_main_img a").stop(true,true).fadeOut(spd);
		$("#"+h).fadeIn(spd*1.2);
	},
	auto : function(tm){
		hs_si = setInterval(function(){
			var ro = $("#slider_items .ro_stay");
			ro.attr("src",rep(ro.attr("src")));

			var spd = 500
			var idx = hoverslider.getAct()+1;
			var end = $("#slider_items a").size();
			if(idx>=end) idx=0;
			
			var main = $("#slider_main_img a");
			var items = $("#slider_items img");
			main.stop(true,true).fadeOut(spd)
				.eq(idx).fadeIn(spd*1.2);
			items.removeClass("ro_stay")
				.eq(idx).addClass("ro_stay");
			
			var s = rep(items.eq(idx).attr("src"));
			items.eq(idx).attr("src",s);
		},tm);
	},
	getAct : function(){
		var idx = -1
		$("#slider_items img").each(function(){
			if($(this).hasClass("ro_stay")){
				idx = $("#slider_items img").index(this);
			}
		});
		return idx;
	}
}
function rep(src){
	var on = src.match(/_on./) ? true : false;
	var off = src.match(/_off./) ? true : false;
	var result = "";
	if(on){
		result = src.replace("_on.", "_off.");
	}else
	if(off){
		result = src.replace("_off.", "_on.");
	}
	return result;
}

})(jQuery);
