	
	(function($){
		
		function show_next_photo(obj,slides) {
		
			cur = obj.find('.current');
			if (cur.attr('class').match(/right/)) nqs_gal_animate(obj,'right',slides);
			else {
				
				var next = cur.next();
				if (next.attr('class').match(/slide/)) {
					
					cur.removeClass('current');
					next.addClass('current');
					switch_gal_img( next.get(0).getElementsByTagName('img')[0] );
					setTimeout(function() { show_next_photo(obj,slides); }, 5000);
				}
			}
		}
		
		function nqs_gal_animate ( obj, dir, slides ) {
			
			if (obj.queue().length > 0 ) return;
			if (obj.attr('class').match(/stop/)) return;
			
			l = parseInt(obj.css('left'));
			
			var step = 78;
			var max = 3;
			var crp = max;
			if (l <= 0) crp = -1*l/step+max;
			
			if ( dir == 'left' ) {
				
				var diff = crp-max;
				if (diff > 0) {
					if (diff < max) step = diff*step;
					obj.animate({ left: '+='+step }, 1000);
					l+=step;
				}
			}
			else {
				
				var diff = slides.length-crp;
				if (diff > 0) {
					if (diff > max) diff = max; step = diff*step;
					obj.animate({ left: '-='+step }, 1000, function() { setTimeout(function() { nqs_gal_animate(obj, 'right', slides); }, 5000); });
					l-=step;
				}
			}
			
			if (diff > 0) {
				obj.find('.left').removeClass('left');
				obj.find('.right').removeClass('right');
				crp = Math.round(l/-78);
				$(slides[crp]).addClass('left');
				crp=crp+max-1; $(slides[crp]).addClass('right');
			}
		}
		
		$.fn.nqsGalSlider = function(options) {
			
			$('.gal_right').click(function(){
				var $obj = $(this).parent().find('.gallery_slides').removeClass('stop');
				var slides = $obj.find('.slide');
				nqs_gal_animate( $obj, 'right', slides ); $obj.addClass('stop');
			})
			$('.gal_left').click(function(){
				var $obj = $(this).parent().find('.gallery_slides').removeClass('stop');
				var slides = $obj.find('.slide');
				nqs_gal_animate( $obj, 'left', slides ); $obj.addClass('stop');
			})
			
			return this.each(function(){
				
				var $slides = $(this).find('.slide');
				
				if ( $slides.length > 3 ) {
				
					var $slider = $(this).children('div:eq(0)');
					setTimeout(function() { nqs_gal_animate($slider, 'right', $slides); }, 5000);
				}
			});
		};
	})(jQuery);
	
	jQuery(document).ready(function($) { $('.gallery_slider').nqsGalSlider(); })
	
	function switch_gal_img(o) {
		
		var par = o.parentNode;
		var parpar = par.parentNode;
		$(parpar).find('.current').removeClass('current');
		$(par).addClass('current');
		
		var new_src = '';
		var cn = o.className;
		if (cn == 'full') new_src = o.src.replace(/-\d+x\d+\./,'.');
		else {
			cn = cn.replace(/^s/,'')+'.';
			new_src = o.src.replace(/-\d+x\d+\./,cn);
		}
		
		var $main = $(parpar.parentNode.parentNode.parentNode).find('img:eq(0)').attr('src',new_src);// .css('width',w);
	}
	
