
(function($) {
	$.fn.quovolver = function(speed, delay) {
		
		if (!speed) speed = 500;
		if (!delay) delay = 6000;
		

		var quaSpd = (speed*4);
		if (quaSpd > (delay)) delay = quaSpd;
		
		var	quote = $(this),
			firstQuo = $(this).filter(':first'),
			lastQuo = $(this).filter(':last'),
			wrapElem = '<div id="quote_wrap"></div>';
		
		$(this).wrapAll(wrapElem);
		
        $(this).hover(function(){
            clearInterval(ripper);
            $('#testimonial span').stop().fadeIn('slow');
        },function(){
            ripper = setInterval(rotater, delay);
            $('#testimonial span').stop().fadeOut('slow');
        });
        
		$(this).hide();
		$(firstQuo).show();		
		$(this).parent().css({height: $(firstQuo).height()});		
		
        var rotater = function(){

			if($(lastQuo).is(':visible')) {
				var nextElem = $(firstQuo);
				var wrapHeight = $(nextElem).height();
			} else {
				var nextElem = $(quote).filter(':visible').next();
				var wrapHeight = $(nextElem).height();
			}
			
			$(quote).filter(':visible').fadeOut(speed);

			setTimeout(function() {
				$(quote).parent().animate({height: wrapHeight}, speed);
			}, speed);
			
			if($(lastQuo).is(':visible')) {
				setTimeout(function() {
					$(firstQuo).fadeIn(speed*2);
				}, speed*2);
				
			} else {
				setTimeout(function() {
					$(nextElem).fadeIn(speed);
				}, speed*2);
			}
			
		};
        
		var ripper = setInterval(rotater, delay);
	
	};
})(jQuery);
