(function($){
	$.fn.bannertool = function(options){
		var defaults =	{
			content: '.Banner',
			btnThumb: '.Thumb',
			indexActive: 0,
			animateSpeed: 500,
			isAutoChange: false,
			itemInterval: 1000,
			thumbSufixActive: "-active",
			thumbExtension: "png",
			imgLeftShadow: "shadowleft.png",
			imgRightShadow: "shadowright.png"
		};
		
		var opt = $.extend(defaults, options);
		
		var obj = $(this);
		
		var animateSpeedChoice = opt.animateSpeed;
		
		obj.find(opt.content).eq(0).clone().appendTo(obj.find(opt.content).parent());
		obj.find(opt.content).eq(obj.find(opt.content).length - 2).clone().prependTo(obj.find(opt.content).parent());
		
		obj.find(opt.content).stop().animate({'left': -obj.find(opt.content).eq(0).width() * (opt.indexActive + 1)}, 1);
		
		var intervalChange = "";
		
		if (opt.isAutoChange){
			intervalChange = setInterval(function(){
				SetInterval();
			}, opt.itemInterval);
		}
		
		obj.find(opt.btnThumb).click(function(){
			var actualActive = opt.indexActive;
			if (opt.indexActive != obj.find(opt.btnThumb).index(this)){
				opt.indexActive = obj.find(opt.btnThumb).index(this);				
				
				opt.animateSpeed = animateSpeedChoice;
				BannerUpdate();
			}
		});
		
		function BannerUpdate(){
			for(var a = 0; a < obj.find(opt.btnThumb).length; a++){
				if (a == opt.indexActive){
					var imgName = obj.find(opt.btnThumb).eq(a).attr('src');						
					var imgNameD = imgName.substr(0, imgName.indexOf(".")) + opt.thumbSufixActive + "." + opt.thumbExtension;						
					obj.find(opt.btnThumb).eq(a).attr('src', imgNameD)
				} else {
					var imgName = obj.find(opt.btnThumb).eq(a).attr('src');
					var imgNameD = "";
					if (imgName.indexOf(opt.thumbSufixActive) != -1){
						imgNameD = imgName.substr(0, imgName.indexOf(opt.thumbSufixActive)) + "." + opt.thumbExtension;
					} else {
						imgNameD = imgName.substr(0, imgName.indexOf(".")) + "." + opt.thumbExtension;
					}
					obj.find(opt.btnThumb).eq(a).attr('src', imgNameD)
				}
			}
			obj.find(opt.content).stop().animate({'left': -obj.find(opt.content).eq(0).width() * (opt.indexActive + 1)}, opt.animateSpeed);
			
			clearInterval(intervalChange);
			intervalChange = setInterval(function(){
				SetInterval();
			}, opt.itemInterval);
			
		}
		
		function SetInterval(){
			opt.indexActive++;
			if (opt.indexActive > obj.find(opt.btnThumb).length - 1) opt.indexActive = 0;
			opt.animateSpeed = animateSpeedChoice * 4;
			BannerUpdate();	
		}
	}
})(jQuery);
