// Power-slider 
/*Created On : 18-06
Last Update : 21-06
Author : Moorthy
For : Deli-Boys
Email : moorthyrweb@gmail.com
*/
jQuery.fn.powerSlider = function(opt){
	
	var settings = {
		navSelector:".snav li a",
		duration : 500,
		easeFunction : "swing",
		autoSlide: false,
		slideInterval : 2000,
		loadPanel : 1
	};
	var o = jQuery.extend(settings, opt);	
	
	var $panel = $(o.panelSelector);
	var $slideNav = $(o.navSelector);
	var $btnNext = $(o.nextSelector);
	var $btnPrev = $(o.prevSelector);
	
	return this.each(function(){
		
		var $slider = $(this);
		var totalPanels = $($panel,$slider).length;
		var panelWidth = $slider.width();
		var amination = false;
		var slide = o.loadPanel-1;
		var inter;
		
		//add powerslider class
		$slider.find(".slide_in").css("overflow", "hidden")
				.wrapInner('<div class="slidewrap"><div class="slideflow"></div></div>')
				.find(".slidewrap").width(panelWidth*totalPanels+100).end()
				.find(".slideflow").css("overflow", "hidden");
				
		//Moving Element
		var $slideWrap = $slider.find(".slidewrap");
		
		//Apply float to panels
		$panel.css("float", "left");
		
		if(o.autoSlide){
			inter = setInterval(autoSlide, o.slideInterval);
		};
		
		
		//Zoom activate
		$slider.find(".zoom").click(function(){
			$slider.find("img").parent("a").eq(slide).trigger("click");
			return false;
		});
		
		//prev btn
		$btnPrev.click(function(){
			if(amination){
				return false;
			};
			if(slide <=0){
				slide = totalPanels;
			};
			moveSlideTo(--slide);
			return false;
		});
		
		//prev btn
		$btnNext.click(function(){
			if(amination){
				return false;
			};
			// 
			if(slide >=totalPanels-1){
				slide = -1;
			};
			moveSlideTo(++slide);
			return false;
		});
		
		//slide Navigation
		$slideNav.click(function(){
			var index = $slideNav.index($(this));
			if(index >= totalPanels){
				return false;
			};
			
			//set current slide
			slide = index;
			moveSlideTo(slide);			
			
			return false;
    	 });
		
		
		function moveSlideTo(slideNumber){
			var movement = slideNumber*panelWidth*-1;
			
			//helps to disable events while animating
			amination = true;
			
			setActive();
			setTitle();
			
			//move slide and set !amination onComplete
			$slideWrap.animate({"margin-left":movement}, o.duration, o.easeFunction,function(){amination=false});
		}
		
		function autoSlide(){
			if(slide >=totalPanels-1){
				slide = -1;
			};
			moveSlideTo(++slide);
		}
		
		//Handle active class
		function setActive(){
			$slideNav.removeClass("active");
			$slideNav.eq(slide).addClass("active");			
		};
		
		function setTitle(){
			var title = $panel.eq(slide).find("img").attr("title");
			$slider.find(".slide_title").text(title);
		}
		
		
		
		moveSlideTo(slide);
		setActive();		
		setTitle();
		
    });
	
	
}
