	
	(function($) {
		$.fn.nqsSlider = function() {
		
				/* config */
				var step = 963;
				var w = step*8;
				var main = $("#sliderLine").css('width', w+'px');
				var speed = 1500;
				var active = 'active_button';
				var pos; var temp; 
				var do_move = true;
				var lb = document.getElementById('left_button');
				var rb = document.getElementById('right_button');
				
				start();
				
				function switch_btn_display ( b ) {
					
					if (b == 1) lb.style.visibility = 'hidden';
					else lb.style.visibility = 'visible';
					
					if (b == 8) rb.style.visibility = 'hidden';
					else rb.style.visibility = 'visible';
				}
				
				function start() {
					$('#left_button').click(function() { my_slide( 'left' ); });
					$('#right_button').click(function() { my_slide( 'right' ); });
					$('.slider_button').click(function() { move_to_slide( this ); });
					
				}
				
				function my_slide (side) {
					
					if (main.queue().length > 0 ) return;
					
					do_move = false;
					
					switch (side) {
						
						case 'right':
							
							pos =  parseInt(main.css('left'))+w;
							if (pos > step) main.animate({left: "-=" + step}, speed);
							var button =((parseInt(main.css('left')) * -1) / parseInt(step)) + 2;
						break;
						
						case 'left':
						
							pos = parseInt(main.css('left'))+ w;
							if (pos < w) main.animate({left: "+=" + step}, speed);
							var button =((parseInt(main.css('left')) * -1) / parseInt(step));
						break;
					}
					
					
					if (button > 0 && button <= 8) {
						
						$('.active_button').toggleClass(active);
						$('#' + button).addClass(active);
						switch_btn_display( button );
					}
				}
				
				function move_to_slide( obj ) {
					var slide_nr = $(obj).attr('id');
					switch_btn_display( slide_nr );
					main.css('display', 'none');
					main.css('left', '-'+((slide_nr-1)*step)+'px');
					main.slideDown('slow');
					$('.active_button').toggleClass(active);
					$(obj).addClass(active);
					do_move = false;
				}
				
				function nqs_animate () {
					if (do_move) {
						
						pos = parseInt(main.css('left'))+w;
						if (pos > step) {
							lb.style.visibility = 'visible';
							if ((pos-step) <= step) rb.style.visibility = 'hidden';
							main.animate({ left: '-='+step }, speed );
							temp = $('.active_button');
							temp.toggleClass(active);
							temp.next().addClass(active);
						}
						else {
							lb.style.visibility = 'hidden';
							rb.style.visibility = 'visible';
							main.css('display', 'none');
							main.css('left', '0px');
							main.slideDown('slow');
							$('.active_button').toggleClass(active);
							$('#1').toggleClass(active);
						}
						setTimeout(function(){ nqs_animate(); }, 8500);
					}
				}
				setTimeout(function(){ nqs_animate(); }, 8500);
		};
	})(jQuery);
	
	jQuery(document).ready(function() { jQuery().nqsSlider(); });
	
