(function($) {
	$.fn.PSlider = function(options){
			var arr = $(this).find("li");
			var count = arr.length;
			var defaults = {
				Next:"",
				Prev:"",
				Active:1,
				Easing:0
			}
			var fadeInTime = 300;
			var fadeOutTime = 200;
			var opts = $.extend(defaults, options);
			var index = opts.Active-1;
			
			// add dot links
			$(this).append("<div id='slider-links'></div>")
			for(i=0;i<count;i++){
				if(index == i)
					$(this).find("#slider-links").append("<p class='active'></p>");
				else
					$(this).find("#slider-links").append("<p></p>");
			}
			var objLinks = $(this).find("#slider-links p");
			objLinks.each(function(ind){
				$(this).click(function(){
				   $(arr[index]).css({"display":"none"}).animate({opacity:0},fadeOutTime);
				   $(arr[ind]).css({"display":"block"}).animate({opacity:1},fadeInTime,function(){
				   		//$(this).animate({left:opts.Easing},100)
				   });
				   $(objLinks[ind]).addClass("active");
				   $(objLinks).not($(objLinks[ind])).removeClass("active");
				   index = ind; // set current selected index
				})
			});
			//
			
			$(arr).not($(arr[index])).css({"display":"none"}).animate({opacity:0,left:opts.Easing});
			$(arr[index]).css({"display":"block"}).animate({opacity:1,left:0});
			
			if(opts.Next.length > 0){
				$(opts.Next).click(function(){go("next");});
			}
			if(opts.Prev.length > 0){
				$(opts.Prev).click(function(){go("prev");});
			}
			function go(type){ 
				if(type == "next"){
					index++;
					if(index<count){
						if(index-1 >=0){
							$(arr[index-1]).css({"display":"none"}).animate({opacity:0},fadeOutTime);
						}
						$(arr[index]).css({"display":"block"}).animate({opacity:1},fadeInTime,function(){
																	   //$(this).animate({left:opts.Easing},100)
																   });
						$(objLinks[index]).addClass("active"); 
					}
					if(index >= count)index = count - 1; // set value
				}else{
					index--; 
					if(index >= 0){
						$(arr[index+1]).css({"display":"none"}).animate({opacity:0},fadeOutTime);
						$(arr[index]).css({"display":"block"}).animate({opacity:1,left:0},fadeInTime,function(){
																			  //$(this).animate({left:opts.Easing},100)
																			  });
						
						$(objLinks[index]).addClass("active");
					} 	
					if(index <= 0)index = 0; // set value
				}
				$(objLinks).not($(objLinks[index])).removeClass("active");
			}
		}
})(jQuery);
