$.fn.slider = function(settings) {
	settings = $.extend({
	easeFunc: "expoinout",
	easeTime: 700,
	toolTip: false
}, settings);

	return this.each(function(){

		var container = $(this);
		container.removeClass("loading");
		$("a.tab-link").parent().parent().css("visibility", "visible");
		var slideWidth = container.find("div.slide").width();
		var slideCount = container.find("div.slide").size();
		var sliderContainWidth = slideWidth*slideCount;
		container.find("div.slide-container").css("width" , sliderContainWidth);
		var navWidth = slideCount*2;

		$.fn.updateTabs = function(cSlide){
			$("a.tab-link.current").removeClass("current");
			$("a.tab-link[href=#" + cSlide + "]").addClass("current");
		}

		if (location.hash && parseInt(location.hash.slice(1)) <= slideCount) {
			var cSlide = parseInt(location.hash.slice(1));
			var cnt = - (slideWidth*(cSlide - 1));
			$.fn.updateTabs(cSlide);
			$(this).find("div.slide-container").css({ left: cnt });
		} else { 
			var cSlide = 1;
			$.fn.updateTabs(cSlide);
		};
				
		container.each(function(i){

			$.fn.prevSlide = function(){
				if(cSlide == 1){
					var z = slideCount - 1;
					cSlide = slideCount;
				}else{
					var z = cSlide - 2;
					cSlide = cSlide - 1;
				}
				var cnt = - (slideWidth*z);
				container.find("div.slide-container").animate({ left: cnt}, settings.easeTime, settings.easeFunc);
				$.fn.updateTabs(cSlide);
				return false;
			};
			
			$.fn.nextSlide = function(){
				if(cSlide == slideCount){
					var z = 0;
					cSlide = 1;
				}else{
					var z = cSlide;
					cSlide = cSlide + 1;
				}
				var cnt = - (slideWidth*z);
				container.find("div.slide-container").animate({ left: cnt}, settings.easeTime, settings.easeFunc);
				$.fn.updateTabs(cSlide);
				return false;
			};

			$.fn.gotoSlide = function(){
				var z = parseInt($(this).attr("href").slice(1)) - 1;
				var cnt = - (slideWidth*z);
				cSlide = z + 1;
				container.find("div.slide-container").animate({ left: cnt}, settings.easeTime, settings.easeFunc);
				$.fn.updateTabs(cSlide);
				return false;
			};

			$("a.prev-link").click($.fn.prevSlide);
			$("a.next-link").click($.fn.prevSlide);
			$("a.cross-link").click($.fn.gotoSlide);
			$("a.tab-link").click($.fn.gotoSlide);

		});
		
  });
};
