(function($){
$.fn.rotateImage = function (options){

		return this.each(function() {
				var settings = $.extend({
					speed:				1000,
					rotateSpeed:		5000,
					current:			0
				},options||{})
				settings.listItems = $('ul.hstamps > li',this)// get all li
				//set default the first image in the list will be displayed first running through to the last in the list
				settings.firstimage = 0;
				settings.lastimage = settings.listItems.length - 1;
				settings.riser = 0;
				settings.faller = settings.listItems.length - 1;
				if(settings.listItems.length < 1) {
					alert("Exiting " + settings.controlList);
					return;
				}

			
				settings.nextImage = function (){
					//play = parseInt($('a',$(settings.listItems[settings.faller])).css('opacity'));
					if(true){

						settings.current++;
						//alert("thisimage="+settings.current+ " lastimage="+settings.lastimage);
						//alert($(".hstamps li").length);
						if(settings.current > settings.lastimage){
							//filmscape specific - start at the beginning
							settings.firstimage = 0;
							settings.current = settings.firstimage; // default it to the first <li> item
						}				
					
						settings.gotoimage(settings.current);
					}
				}

				settings.previousImage = function (){
					//play = parseInt($('a',$(settings.listItems[settings.faller])).css('opacity'));
					if(true){

						settings.current--;
						if(settings.current < settings.firstimage){
							settings.current = settings.lastimage; // default it to the first <li> item
						}				
					
						settings.gotoimage(settings.current);
					}
				}

				settings.nextSlide = function (){
					//play = parseInt($('a',$(settings.listItems[settings.faller])).css('opacity'));
					if(true){

						settings.current++;
						if(settings.current > settings.lastimage){
							settings.current = settings.firstimage;
						}				
					
						settings.slidetoimage(settings.current, "518px");
					}
				}

				settings.prevSlide = function (){
					//play = parseInt($('a',$(settings.listItems[settings.faller])).css('opacity'));
					if(true){

						settings.current--;
						if(settings.current < settings.firstimage){
							settings.current = settings.lastimage; // default it to the first <li> item
						}				
					
						settings.slidetoimage(settings.current, "-518px");
					}
				}
				
				settings.stopatimage = function (riser){
					//settings.stop();
					settings.start(riser,riser,0);
				}

				
				settings.gotoimage = function (riser){
							if (riser==settings.faller){return};
							var faller = settings.faller; 
							$(settings.listItems[riser]).css({opacity: 0.0,left: "0px"})
									.addClass('show')
									.animate({opacity: 1.0}, settings.speed ,function(){
										//alert(settings.listItems[faller].innerHTML);
									   //$(settings.listItems[faller]).removeClass('active').css({opacity: 1.0,left: "-999em"});
									   $(".hstamps li").removeClass('active').css({opacity: 1.0,left: "-999em"});
									   $(settings.listItems[riser]).addClass('active').removeClass('show').css({opacity: 1.0,left: "0em"});;
									});
							settings.faller = riser;
							settings.current = settings.faller; 
							var buttonnumber = $(settings.listItems[settings.current]).attr('buttonnumber');
							$("#banner_footer").html(rotimages[buttonnumber][0][1]);
							$('li', '#banner_menu').removeClass("btnactive")//switch off highlighting
							$('#banner_menu_ul li.stamp'+buttonnumber).addClass("btnactive");			
				}

				settings.slidetoimage = function (riser, offset){
							if (riser==settings.faller){return};
							var faller = settings.faller; 
							//opacity effect temporarily switched off
							$(settings.listItems[riser]).css({left: offset,opacity: 1.0})
							.addClass('show')
							.animate({left: "0px", opacity: 1.0}, settings.speed, easing ,function(){
							   $(settings.listItems[faller]).removeClass('active').css({opacity: 1.0,left: "-999em"});
							   $(settings.listItems[riser]).addClass('active').removeClass('show');
							});
							settings.faller = riser;
							settings.current = settings.faller;
				
				}
				
			
				settings.timeOut = window.setInterval(settings.nextImage,settings.rotateSpeed);			
				settings.restart = function(){
											window.clearInterval(settings.timeOut);
											settings.timeOut = window.setInterval(settings.nextImage,settings.rotateSpeed);
										}
				settings.stop = function(){window.clearInterval(settings.timeOut);}
				settings.next = function(){ settings.nextImage();}
				settings.prev = function(){ settings.previousImage();}
				settings.start = function(firstimage, lastimage, rotateSpeed){
											if (firstimage!=undefined){
												settings.firstimage = firstimage;
											}
											if (lastimage!=undefined){
												settings.lastimage = lastimage;
											}
											if (rotateSpeed!=undefined){
												settings.rotateSpeed = rotateSpeed;
											}
											window.clearInterval(settings.timeOut);
											settings.current = settings.firstimage;
											settings.gotoimage(settings.firstimage);
											if (firstimage == lastimage){
												//filmscape specific always restart at the beginning
												settings.firstimage=0;
											}
											if (rotateSpeed > 0){
												settings.timeOut = window.setInterval(settings.nextImage,settings.rotateSpeed);
											}
											
										}
				settings.first = function(){
											window.clearInterval(settings.timeOut);
											settings.current = settings.firstimage;
											settings.gotoimage(settings.current);
										}
				settings.last = function(){
											window.clearInterval(settings.timeOut);
											settings.current = settings.lastimage;
											settings.gotoimage(settings.lastimage);
										}

				settings.gotoimage(settings.firstimage);
				$(this)[0].jqo = settings;


		});
}                             
})(jQuery);
