/**************************************************************************
 * jquery.themepunch.revolution.js - jQuery Plugin for kenburn Slider
 * @version: 2.0 (20.06.2012)
 * @requires jQuery v1.2.2 or later 
 * @author Krisztian Horvath
**************************************************************************/




(function($,undefined){	
	
	
	
	////////////////////////////
	// THE PLUGIN STARTS HERE //
	////////////////////////////
	
	$.fn.extend({
	
		
		// OUR PLUGIN HERE :)
		revolution: function(options) {
	
		
			
		////////////////////////////////
		// SET DEFAULT VALUES OF ITEM //
		////////////////////////////////
		var defaults = {	
			delay:9000,												
			startheight:490,							
			startwidth:890,
			
			hideThumbs:200,
			
			thumbWidth:100,							// Thumb With and Height and Amount (only if navigation Tyope set to thumb !)
			thumbHeight:50,
			thumbAmount:5,
			
			navigationType:"both",					//bullet, thumb, none, both		(No Thumbs In FullWidth Version !)
			navigationArrows:"nexttobullets",		//nexttobullets, verticalcentered, none
			navigationStyle:"round",				//round,square,navbar
			
			touchenabled:"on",						// Enable Swipe Function : on/off
			onHoverStop:"on",						// Stop Banner Timet at Hover on Slide on/off
			
			navOffsetHorizontal:0,
			navOffsetVertical:20,
			
			shadow:1	
		};
		
			options = $.extend({}, $.fn.revolution.defaults, options);
		
				
			
			
			return this.each(function() {
											
				var opt=options;
				
				
				// CREATE SOME DEFAULT OPTIONS FOR LATER 
				opt.slots=4;
				opt.act=-1;
				opt.next=0;
				opt.origcd=opt.delay;
				
				// CHECK IF FIREFOX 13 IS ON WAY.. IT HAS A STRANGE BUG, CSS ANIMATE SHOULD NOT BE USED
				opt.firefox13 = ($.browser.mozilla && parseInt($.browser.version,0)==13);
				
				
				// BASIC OFFSET POSITIONS OF THE BULLETS
				if (opt.navOffsetHorizontal==undefined) opt.navOffsetHorizontal=0;
				if (opt.navOffsetVertical==undefined) opt.navOffsetVertical=0;
				
				// SHORTWAY USAGE OF OFFSETS
				opt.navOH = opt.navOffsetHorizontal;
				opt.navOV = opt.navOffsetVertical;
				
				
				// CATCH THE CONTAINER
				var container=$(this);
				container.append('<div class="tp-loader"></div>');
				
				// RESET THE TIMER 
				var bt=container.find('.tp-bannertimer');
				if (bt.length>0) {
					bt.css({'width':'0%'});
				};
				
				
				// WE NEED TO ADD A BASIC CLASS FOR SETTINGS.CSS
				container.addClass("tp-simpleresponsive");				
				opt.container=container;
				
				// AMOUNT OF THE SLIDES
				opt.slideamount = container.find('ul:first li').length;
				
				// A BASIC GRID MUST BE DEFINED. IF NO DEFAULT GRID EXIST THAN WE NEED A DEFAULT VALUE, ACTUAL SIZE OF CONAINER
				if (opt.startwidth==undefined || opt.startwidth==0) opt.startwidth=container.width();
				if (opt.startheight==undefined || opt.startheight==0) opt.startheight=container.height();
				
				// OPT WIDTH && HEIGHT SHOULD BE SET
				opt.width=container.width();
				opt.height=container.height();
				
				// DEFAULT DEPENDECIES
				opt.bw = opt.startwidth / container.width();
				opt.bh = opt.startheight / container.height();
				
				// IF THE ITEM ALREADY IN A RESIZED FORM
				if (opt.width!=opt.startwidth) {
					
					opt.height = Math.round(opt.startheight * (opt.width/opt.startwidth));
					container.height(opt.height);
					
				}
				
				// LETS SEE IF THERE IS ANY SHADOW
				if (opt.shadow!=0) {
					container.parent().append('<div class="tp-bannershadow tp-shadow'+opt.shadow+'"></div>');
					
					container.parent().find('.tp-bannershadow').css({'width':opt.width});	
				}
				
				
						
				// IF IMAGES HAS BEEN LOADED		
				container.waitForImages(function() {
						// PREPARE THE SLIDES
						prepareSlides(container,opt);				
						
						// CREATE BULLETS
						createBullets(container,opt);
						createThumbs(container,opt);
						createArrows(container,opt);
						swipeAction(container,opt);
						
						if (opt.hideThumbs>0) hideThumbs(container,opt);
					
						container.waitForImages(function() {
							// START THE FIRST SLIDE
							container.find('.tp-loader').fadeOut(400);
							setTimeout(function() { 
								swapSlide(container,opt);
								// START COUNTDOWN
								countDown(container,opt);
							},1000);
						});
						
						
				});
				
				
				// IF RESIZED, NEED TO STOP ACTUAL TRANSITION AND RESIZE ACTUAL IMAGES
				$(window).resize(function() {
					
					if (container.outerWidth(true)!=opt.width) {
							
						containerResized(container,opt);
						
					}
				});
			})
		}

})

		//////////////////////////
		//	CONTAINER RESIZED	//
		/////////////////////////
		function containerResized(container,opt) {
			
			
			container.find('.defaultimg').each(function(i) {
												
						setSize($(this),opt);		
						
						opt.height = Math.round(opt.startheight * (opt.width/opt.startwidth));						
						container.height(opt.height);															
						
						setSize($(this),opt);												
						
						try{
							container.parent().find('.tp-bannershadow').css({'width':opt.width});
						} catch(e) {}
						
						var actsh = container.find('li:eq('+opt.act+') .slotholder');
						var nextsh = container.find('li:eq('+opt.next+') .slotholder');
						removeSlots(container);
						nextsh.find('.defaultimg').css({'opacity':0});
						actsh.find('.defaultimg').css({'opacity':1});
						
						setCaptionPositions(container,opt);
																		
						var nextli = container.find('li:eq('+opt.next+')');
						container.find('.caption').each(function() { $(this).stop(true,true);});
						animateTheCaptions(nextli, opt);		
						
						restartBannerTimer(opt,container);						
						
				});
		}
		
		
		
		////////////////////////////////
		//	RESTART THE BANNER TIMER //
		//////////////////////////////
		function restartBannerTimer(opt,container) {
						opt.cd=0;
						var bt=	container.find('.tp-bannertimer');							
							if (bt.length>0) {
								bt.stop();
								bt.css({'width':'0%'});
								bt.animate({'width':"100%"},{duration:(opt.delay-100),queue:false, easing:"linear"});
							}						
						clearTimeout(opt.thumbtimer);
						opt.thumbtimer = setTimeout(function() {
							moveSelectedThumb(container);
							setBulPos(container,opt);						
						},200);
		}
		
		function callingNewSlide(opt,container) {
						opt.cd=0;
						swapSlide(container,opt);
						
						// STOP TIMER AND RESCALE IT 
							var bt=	container.find('.tp-bannertimer');							
							if (bt.length>0) {
								bt.stop();
								bt.css({'width':'0%'});
								bt.animate({'width':"100%"},{duration:(opt.delay-100),queue:false, easing:"linear"});
							}
		}
		
		
		
		////////////////////////////////
		//	-	CREATE THE BULLETS -  //
		////////////////////////////////
		function createThumbs(container,opt) {
			
			var cap=container.parent();
			
			if (opt.navigationType=="thumb" || opt.navsecond=="both") {
						cap.append('<div class="tp-bullets tp-thumbs '+opt.navigationStyle+'"><div class="tp-mask"><div class="tp-thumbcontainer"></div></div></div>');																		
			}
			var bullets = cap.find('.tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer');
			var bup = bullets.parent();
			
			bup.width(opt.thumbWidth*opt.thumbAmount);
			bup.height(opt.thumbHeight);
			bup.parent().width(opt.thumbWidth*opt.thumbAmount);
			bup.parent().height(opt.thumbHeight);
			
			container.find('ul:first li').each(function(i) {
							var li= container.find("ul:first li:eq("+i+")");
							if (li.data('thumb') !=undefined) 
								var src= li.data('thumb')
							else
								var src=li.find("img:first").attr('src');
							bullets.append('<div class="bullet thumb"><img src="'+src+'"></div>');											
							var bullet= bullets.find('.bullet:first');				
				});
			bullets.append('<div style="clear:both"></div>');			
			var minwidth=1000;
			
			
			// ADD THE BULLET CLICK FUNCTION HERE
			bullets.find('.bullet').each(function(i) {
				var bul = $(this);
				
				if (i==opt.slideamount-1) bul.addClass('last');
				if (i==0) bul.addClass('first');
				bul.width(opt.thumbWidth);
				bul.height(opt.thumbHeight);
				if (minwidth>bul.outerWidth(true)) minwidth=bul.outerWidth(true);				
				
				bul.click(function() {
					if (opt.transition==0 && bul.index() != opt.act) {
						opt.next = bul.index();						
						callingNewSlide(opt,container);																		
					}
				});				
			});
			
			
			var max=minwidth*container.find('ul:first li').length;
			var thumbconwidth=bullets.parent().width();			
			opt.thumbWidth = minwidth;
			
			
			
				////////////////////////							
				// SLIDE TO POSITION  //
				////////////////////////							
				if (thumbconwidth<max) {
					$(document).mousemove(function(e) {
						$('body').data('mousex',e.pageX);							
					});
					
				
					
					// ON MOUSE MOVE ON THE THUMBNAILS EVERYTHING SHOULD MOVE :)
					
					bullets.parent().mouseenter(function() {
							var $this=$(this);
							$this.addClass("over");	
							var offset = $this.offset();
							var x = $('body').data('mousex')-offset.left;									
							var thumbconwidth=$this.width();	
							var minwidth=$this.find('.bullet:first').outerWidth(true);
							var max=minwidth*container.find('ul:first li').length;
							var diff=(max- thumbconwidth)+15;		
							var steps = diff / thumbconwidth;
							x=x-30;
							//if (x<30) x=0;
							//if (x>thumbconwidth-30) x=thumbconwidth;
															
							//ANIMATE TO POSITION
							var pos=(0-((x)*steps));										
							if (pos>0) pos =0;
							if (pos<0-max+thumbconwidth) pos=0-max+thumbconwidth;															
							moveThumbSliderToPosition($this,pos,200);							
					});
					
					bullets.parent().mousemove(function() {
							
									var $this=$(this);														
									
									//if (!$this.hasClass("over")) {
											var offset = $this.offset();
											var x = $('body').data('mousex')-offset.left;									
											var thumbconwidth=$this.width();	
											var minwidth=$this.find('.bullet:first').outerWidth(true);
											var max=minwidth*container.find('ul:first li').length;
											var diff=(max- thumbconwidth)+15;		
											var steps = diff / thumbconwidth;
											x=x-30;
											//if (x<30) x=0;
											//if (x>thumbconwidth-30) x=thumbconwidth;
																			
											//ANIMATE TO POSITION
											var pos=(0-((x)*steps));										
											if (pos>0) pos =0;
											if (pos<0-max+thumbconwidth) pos=0-max+thumbconwidth;															
											moveThumbSliderToPosition($this,pos,0);
									//} else {
										//$this.removeClass("over");
									//}
									
					});
					
					bullets.parent().mouseleave(function() {
									var $this=$(this);
									$this.removeClass("over");	
									moveSelectedThumb(container);
					});
				}								
		}
		
		
		///////////////////////////////
		//	SelectedThumbInPosition //
		//////////////////////////////
		function moveSelectedThumb(container) {
									
									var bullets=container.parent().find('.tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer');														
									var $this=bullets.parent();
									var offset = $this.offset();
									var minwidth=$this.find('.bullet:first').outerWidth(true);
									
									var x = $this.find('.bullet.selected').index() * minwidth;	
									var thumbconwidth=$this.width();	
									var minwidth=$this.find('.bullet:first').outerWidth(true);
									var max=minwidth*container.find('ul:first li').length;
									var diff=(max- thumbconwidth);		
									var steps = diff / thumbconwidth;
									
									//ANIMATE TO POSITION
									var pos=0-x;
								
									if (pos>0) pos =0;
									if (pos<0-max+thumbconwidth) pos=0-max+thumbconwidth;
									if (!$this.hasClass("over")) {
										moveThumbSliderToPosition($this,pos,200);
									}
		}
		
		
		////////////////////////////////////
		//	MOVE THUMB SLIDER TO POSITION //
		///////////////////////////////////
		function moveThumbSliderToPosition($this,pos,speed) {
			$this.stop();														
			$this.find('.tp-thumbcontainer').animate({'left':pos+'px'},{duration:speed,queue:false});																			
		}
		
		
		
		////////////////////////////////
		//	-	CREATE THE BULLETS -  //
		////////////////////////////////
		function createBullets(container,opt) {
			
			if (opt.navigationType=="bullet"  || opt.navigationType=="both") {
						container.parent().append('<div class="tp-bullets simplebullets '+opt.navigationStyle+'"></div>');												
			}
			
					
			var bullets = container.parent().find('.tp-bullets');
			
			container.find('ul:first li').each(function(i) {
							var src=container.find("ul:first li:eq("+i+") img:first").attr('src');
							bullets.append('<div class="bullet"></div>');											
							var bullet= bullets.find('.bullet:first');				
				});
			

			
			// ADD THE BULLET CLICK FUNCTION HERE
			bullets.find('.bullet').each(function(i) {
				var bul = $(this);
				if (i==opt.slideamount-1) bul.addClass('last');
				if (i==0) bul.addClass('first');
								
				bul.click(function() {
					if (opt.transition==0 && bul.index() != opt.act) {
						opt.next = bul.index();						
						callingNewSlide(opt,container);						
					}
				});
				
			});
						
			bullets.append('<div style="clear:both"></div>');			
			setBulPos(container,opt);
			
			$('#unvisible_button').click(function() {
				
				opt.navigationArrows=$('.select_navarrows .selected').data('value');
				opt.navigationType=$('.select_navigationtype .selected').data('value');				
				opt.hideThumbs=$('.select_navshow .selected').data('value');
				container.data('hidethumbs',opt.hideThumbs);
				
				var bhd = $('.select_bhposition .dragger');
				opt.navOffsetHorizontal = Math.round(((bhd.data('max') - bhd.data('min')) *  (bhd.position().left/410)) +  bhd.data('min'));
				
				var bvd = $('.select_bvposition .dragger');
				opt.navOffsetVertical = Math.round(((bvd.data('max') - bvd.data('min')) *  (bvd.position().left/410)) +  bvd.data('min'));
				
				var btr = $('.select_slidetime .dragger');
				opt.delay2 = Math.round((((btr.data('max') - btr.data('min')) *  (btr.position().left/410)) +  btr.data('min'))*1000);
				
				if (opt.delay2!=opt.delay) {				
							opt.delay=opt.delay2;
							opt.origcd = opt.delay;
							opt.cd=0;
							var bt=	container.find('.tp-bannertimer');							
							if (bt.length>0) {
								bt.stop();
								bt.css({'width':'0%'});
								bt.animate({'width':"100%"},{duration:(opt.delay-100),queue:false, easing:"linear"});
							}	
				}
				
				opt.onHoverStop = $('.select_hovers .selected').data('value');
				
				setBulPos(container,opt);	
				setTimeout(function() {
					setBulPos(container,opt);								
				},100);
			});
			
		}

		//////////////////////
		//	CREATE ARROWS	//
		/////////////////////
		function createArrows(container,opt) {
						
						var bullets = container.find('.tp-bullets');
						
						if (opt.navigationArrow!="none") container.parent().append('<div class="tp-leftarrow tparrows '+opt.navigationStyle+'"></div>');
						if (opt.navigationArrow!="none") container.parent().append('<div class="tp-rightarrow tparrows '+opt.navigationStyle+'"></div>');
						
						
						

						// 	THE LEFT / RIGHT BUTTON CLICK !	 //
						container.parent().find('.tp-rightarrow').click(function() {
							if (opt.transition==0) {
									opt.next = opt.next+1;						
									if (opt.next == opt.slideamount) opt.next=0;
									callingNewSlide(opt,container);
							}
						});
						
						container.parent().find('.tp-leftarrow').click(function() {
							if (opt.transition==0) {
									opt.next = opt.next-1;						
									if (opt.next < 0) opt.next=opt.slideamount-1;
									callingNewSlide(opt,container);
							}
						});
						
						setBulPos(container,opt);												
		}
		
		////////////////////////////
		// SET THE SWIPE FUNCTION //
		////////////////////////////
		function swipeAction(container,opt) {
			// TOUCH ENABLED SCROLL
				
				if (opt.touchenabled=="on")						
						container.swipe( {data:container, 
										swipeRight:function() 
												{ 
													
													if (opt.transition==0) {
															opt.next = opt.next-1;						
															if (opt.next < 0) opt.next=opt.slideamount-1;
															callingNewSlide(opt,container);
													}
												}, 
										swipeLeft:function() 
												{
													
													if (opt.transition==0) {
															opt.next = opt.next+1;						
															if (opt.next == opt.slideamount) opt.next=0;
															callingNewSlide(opt,container);
													}
												}, 
									allowPageScroll:"auto"} );
		}
			
			
			
			
		////////////////////////////////////////////////////////////////	
		// SHOW AND HIDE THE THUMBS IF MOUE GOES OUT OF THE BANNER  ///
		//////////////////////////////////////////////////////////////
		function hideThumbs(container,opt) {
			
			var bullets = container.parent().find('.tp-bullets');
			var ca = container.parent().find('.tparrows');
			
			if (bullets==null) {
				container.append('<div class=".tp-bullets"></div>');
				var bullets = container.parent().find('.tp-bullets');
			}
			
			if (ca==null) {
				container.append('<div class=".tparrows"></div>');
				var ca = container.parent().find('.tparrows');
			}
			
			
			//var bp = (thumbs.parent().outerHeight(true) - opt.height)/2;
			
			//	ADD THUMBNAIL IMAGES FOR THE BULLETS //					
			container.data('hidethumbs',opt.hideThumbs);
			
			
			
			try{ bullets.css({'opacity':0}); } catch(e) {}
			try { ca.css({'opacity':0}); } catch(e) {}
			
			bullets.hover(function() {				
				bullets.addClass("hovered");	
				clearTimeout(container.data('hidethumbs'));				
				bullets.cssAnimate({'opacity':1},{duration:200,queue:false});
				ca.animate({'opacity':1},{duration:200,queue:false});								
			}, 
			function() {
				
				bullets.removeClass("hovered");		
				if (!container.hasClass("hovered") && !bullets.hasClass("hovered"))
					container.data('hidethumbs', setTimeout(function() { 
						bullets.cssAnimate({'opacity':0},{duration:200,queue:false});
						ca.animate({'opacity':0},{duration:200,queue:false});						
					},opt.hideThumbs));
			});
			
			
			ca.hover(function() {				
				bullets.addClass("hovered");	
				clearTimeout(container.data('hidethumbs'));				
				bullets.cssAnimate({'opacity':1},{duration:200,queue:false});
				ca.animate({'opacity':1},{duration:200,queue:false});								
			}, 
			function() {
				
				bullets.removeClass("hovered");		
				if (!container.hasClass("hovered") && !bullets.hasClass("hovered"))
					container.data('hidethumbs', setTimeout(function() { 
						bullets.cssAnimate({'opacity':0},{duration:200,queue:false});
						ca.animate({'opacity':0},{duration:200,queue:false});						
					},opt.hideThumbs));
			});
			
			
			
			container.live('mouseenter', function() {				
				container.addClass("hovered");	
				clearTimeout(container.data('hidethumbs'));
				bullets.cssAnimate({'opacity':1},{duration:200,queue:false});
				ca.animate({'opacity':1},{duration:200,queue:false});				
			});
			
			container.live('mouseleave', function() {				
				container.removeClass("hovered");		
				if (!container.hasClass("hovered") && !bullets.hasClass("hovered"))
					container.data('hidethumbs', setTimeout(function() { 
								bullets.cssAnimate({'opacity':0},{duration:200,queue:false});
								ca.animate({'opacity':0},{duration:200,queue:false});								
					},opt.hideThumbs));
			});
			
		}


		
		
		
		
		
		//////////////////////////////
		//	SET POSITION OF BULLETS	//
		//////////////////////////////
		function setBulPos(container,opt) {
			
			/* FOR THE PREVIEW WE NEED TO HANDLE IF BOTH NAVIGATION IS LOADED */
			if (opt.navigationType=="both") {
					opt.navigationType="bullet";
					opt.navsecond = "both";
			}
			if (opt.navigationType=="none" && opt.navigationArrows!="none") opt.navigationArrows="verticalcentered";			
			
			
			
				opt.navOH = opt.navOffsetHorizontal * opt.bw;
				opt.navOV = opt.navOffsetVertical * opt.bh;
				if (opt.bw!=1) opt.navOH=0;
				
				// SOME HELP
				var cap=container.parent();
				var la=cap.find('.tp-leftarrow');
				var ra=cap.find('.tp-rightarrow');
				
				//////////////////////////////////////
				//	THE BULLET NAVIGATION POSITIONS //
				/////////////////////////////////////
				
				if (opt.navigationType=="bullet") {
						
							var bullets = cap.find('.tp-bullets.simplebullets');								
							bullets.css({'visibility':'visible'});
							try{ cap.find('.tp-thumbs').css({'visibility':'hidden'});} catch(e) {}
							
							var fulllong=bullets.width();
							if (!bullets.hasClass("tp-thumbs")) {
								fulllong=0;
								bullets.find('.bullet').each(function() { fulllong = fulllong + $(this).outerWidth(true);});
								bullets.css({'width':(fulllong)+"px"});			
							}
							
							var ldiff = cap.outerWidth()- opt.width;	
							
							bullets.css({'left':(opt.navOH) + (ldiff/2)+(opt.width/2 - fulllong/2)+"px", 'bottom':opt.navOV+"px"});

							if (opt.navigationArrows=="nexttobullets") {
								
								la.removeClass("large");
								ra.removeClass("large");
								la.removeClass("thumbswitharrow");
								ra.removeClass("thumbswitharrow");
								la.css({'visibility':'visible'});
								ra.css({'visibility':'visible'});
								var diff = 0; 
								
								la.css({'position':'absolute','left': (bullets.position().left - la.outerWidth(true))+"px",
															  'top':  bullets.position().top+"px"});
								
								ra.css({'position':'absolute','left': (bullets.outerWidth(true) + bullets.position().left)+"px",
															  'top':bullets.position().top+"px"});
							} else {
							
								if (opt.navigationArrows=="verticalcentered") {
									
									la.addClass("large");
									ra.addClass("large");
									la.css({'visibility':'visible'});
									ra.css({'visibility':'visible'});
									var decorh=cap.outerHeight();
									la.css({'position':'absolute','left': (ldiff/2)+"px",'top': (decorh/2)+"px"});
									ra.css({'position':'absolute','left': (opt.width - ra.outerWidth()+ldiff/2)+"px",'top': (decorh/2)+"px"});
								} else {
									
									la.css({'visibility':'hidden'});
									ra.css({'visibility':'hidden'});
								}
						}
					} else {
				
							//////////////////////////////////////
							//	THE THUMBS NAVIGATION POSITIONS //
							/////////////////////////////////////
							if (opt.navigationType=="thumb") {
								
								
								var thumbs=cap.find('.tp-thumbs');
								try{ cap.find('.tp-bullets').css({'visibility':'hidden'}); } catch(e) {}
								thumbs.css({'visibility':'visible'});
								
								
								
								var decorh=thumbs.parent().outerHeight();
								
								var ldiff = cap.outerWidth()- opt.width;	
								
								thumbs.css({'left':(opt.navOH) + (opt.width/2 - thumbs.width()/2)+"px"});
								thumbs.css({'bottom':(0-thumbs.outerHeight(true)  + (opt.navOV))+"px"});
								
									if (opt.navigationArrows=="verticalcentered") {
										
										la.css({'visibility':'visible'});
										ra.css({'visibility':'visible'});
										la.addClass("large");
										ra.addClass("large");
										la.css({'position':'absolute','left': (ldiff/2)+"px",'top': (cap.outerHeight()/2 )+"px"});
										ra.css({'position':'absolute','left': (opt.width - ra.outerWidth()+ldiff/2)+"px",'top': (cap.outerHeight()/2)+"px"});
									} else {
									
										la.css({'visibility':'hidden'});
										ra.css({'visibility':'hidden'});
									}
								
							} else {
								if (opt.navigationType=="none") {
									
									try{ cap.find('.tp-bullets').css({'visibility':'hidden'}); } catch(e) {}
									try{ cap.find('.tp-thumbs').css({'visibility':'hidden'});} catch(e) {}
									
									if (opt.navigationArrows!="none") {								
										var ldiff = cap.outerWidth()- opt.width;	
										
										la.css({'visibility':'visible'});
										ra.css({'visibility':'visible'});
										la.addClass("large");
										ra.addClass("large");
										la.css({'position':'absolute','left': (ldiff/2)+"px",'top': (cap.outerHeight()/2)+"px"});
										ra.css({'position':'absolute','left': (opt.width - ra.outerWidth()+ldiff/2)+"px",'top': (cap.outerHeight()/2)+"px"});
									} else {
										
										la.css({'visibility':'hidden'});
										ra.css({'visibility':'hidden'});
									}
								}
							} 
						} 
			
		}
		
		
		
		//////////////////////////////////////////////////////////
		//	-	SET THE IMAGE SIZE TO FIT INTO THE CONTIANER -  //
		////////////////////////////////////////////////////////
		function setSize(img,opt) {
		
		    
			opt.width=parseInt(opt.container.width(),0);
			opt.height=parseInt(opt.container.height(),0);
			
			opt.bw = opt.width / opt.startwidth;
			opt.bh = opt.height / opt.startheight;
			
			if (opt.bh>1) {
							opt.bw=1;
							opt.bh=1;
						}
			
			
			// IF IMG IS ALREADY PREPARED, WE RESET THE SIZE FIRST HERE
			if (img.data('orgw')!=undefined) {
				img.width(img.data('orgw'));
				img.height(img.data('orgh'));				
			}
			
			
			var fw = opt.width / img.width();
			var fh = opt.height / img.height();
			
			
			opt.fw = fw;
			opt.fh = fh;
			
			if (img.data('orgw')==undefined) {
				img.data('orgw',img.width());
				img.data('orgh',img.height());
			}
			
			
			
			if (opt.fullWidth=="on") {
					
					var cow = opt.container.parent().width();
					var coh = opt.container.parent().height();
					var ffh = coh / img.data('orgh');
					var ffw = cow / img.data('orgw');
					
					
					img.width(img.width()*ffh);
					img.height(coh);	
					
					if (img.width()<cow) {
						img.width(cow+50);						
						var ffw = img.width() / img.data('orgw');
						img.height(img.data('orgh')*ffw);
					}
					
					if (img.width()>cow) {
						img.data("fxof",(cow/2 - img.width()/2));							
						img.css({'position':'absolute','left':img.data('fxof')+"px"});
					}
										
			
			} else {
			
					img.width(opt.width);
					img.height(img.height()*fw);				
					
					if (img.height()<opt.height && img.height()!=0 && img.height()!=null) {
						
						img.height(opt.height);
						img.width(img.data('orgw')*fh);
					}
			}
			
			
			
			img.data('neww',img.width());
			img.data('newh',img.height());
			if (opt.fullWidth=="on") {
				opt.slotw=Math.ceil(img.width()/opt.slots);
			} else {
				opt.slotw=Math.ceil(opt.width/opt.slots);
			}
			opt.sloth=Math.ceil(opt.height/opt.slots);
			
		}
		
		
		
		
		/////////////////////////////////////////
		//	-	PREPARE THE SLIDES / SLOTS -  //
		///////////////////////////////////////
		function prepareSlides(container,opt) {
		
			container.find('.caption').each(function() { $(this).addClass($(this).data('transition')); $(this).addClass('start') });
			
			container.find('ul:first >li').each(function(j) {
				var li=$(this);
				if (li.data('link')!=undefined) {
					var link = li.data('link');
					li.append('<div class="caption sft slidelink" data-x="0" data-y="0" data-start="0"><a href="'+link+'"><div></div></a></div>');
					
				}
			});
			
			container.find('ul:first li >img').each(function(j) {

				var img=$(this);	
				img.addClass('defaultimg');				
				setSize(img,opt);				
				img.wrap('<div class="slotholder"></div>');
				img.css({'opacity':0});		
				img.data('li-id',j);
								
			});					
		}
		
		
		///////////////////////
		// PREPARE THE SLIDE //
		//////////////////////
		function prepareOneSlide(slotholder,opt,visible) {
				
				var sh=slotholder;					
				var img = sh.find('img')
				setSize(img,opt)
				var src = img.attr('src');
				var w = img.data('neww');
				var h = img.data('newh');
				var fulloff = img.data("fxof");
				if (fulloff==undefined) fulloff=0;
				
				
				var off=0;
				
				
				if (!visible) 
					var off=0-opt.slotw;
					
				for (var i=0;i<opt.slots;i++) 				
					sh.append('<div class="slot" style="position:absolute;top:0px;left:'+(fulloff+i*opt.slotw)+'px;overflow:hidden;width:'+opt.slotw+'px;height:'+h+'px"><div class="slotslide" style="position:absolute;top:0px;left:'+off+'px;width:'+opt.slotw+'px;height:'+h+'px;overflow:hidden;"><img style="position:absolute;top:0px;left:'+(0-(i*opt.slotw))+'px;width:'+w+'px;height:'+h+'px" src="'+src+'"></div></div>');									
											
		}
		
		
		///////////////////////
		// PREPARE THE SLIDE //
		//////////////////////
		function prepareOneSlideV(slotholder,opt,visible) {
				
				var sh=slotholder;					
				var img = sh.find('img')
				setSize(img,opt)
				var src = img.attr('src');
				var w = img.data('neww');
				var h = img.data('newh');
				var fulloff = img.data("fxof");
				if (fulloff==undefined) fulloff=0;
				var off=0;
				
				
				if (!visible) 
					var off=0-opt.sloth;
				
				for (var i=0;i<opt.slots;i++) 				
					sh.append('<div class="slot" style="position:absolute;top:'+(i*opt.sloth)+'px;left:'+(fulloff)+'px;overflow:hidden;width:'+w+'px;height:'+(opt.sloth)+'px"><div class="slotslide" style="position:absolute;top:'+off+'px;left:0px;width:'+w+'px;height:'+opt.sloth+'px;overflow:hidden;"><img style="position:absolute;top:'+(0-(i*opt.sloth))+'px;left:0px;width:'+w+'px;height:'+h+'px" src="'+src+'"></div></div>');									
											
		}
		
		
		///////////////////////
		// PREPARE THE SLIDE //
		//////////////////////
		function prepareOneSlideBox(slotholder,opt,visible) {
				
				var sh=slotholder;					
				var img = sh.find('img')
				setSize(img,opt)
				var src = img.attr('src');
				var w = img.data('neww');
				var h = img.data('newh');
				var fulloff = img.data("fxof");
				if (fulloff==undefined) fulloff=0;
				var off=0;
				
				
				
				
				// SET THE MINIMAL SIZE OF A BOX
				var basicsize = 0;
				if (opt.sloth>opt.slotw)  
					basicsize=opt.sloth
				else
					basicsize=opt.slotw;
				
				
				if (!visible) {
					var off=0-basicsize;
				}
				
				opt.slotw = basicsize;
				opt.sloth = basicsize;
				var x=0;
				var y=0;
				
				
				
				for (var j=0;j<opt.slots;j++) {
					
					y=0;
					for (var i=0;i<opt.slots;i++) 	{			
						
						
						sh.append('<div class="slot" '+
								  'style="position:absolute;'+
											'top:'+y+'px;'+
											'left:'+(fulloff+x)+'px;'+
											'width:'+basicsize+'px;'+
											'height:'+basicsize+'px;'+
											'overflow:hidden;">'+
											
								  '<div class="slotslide" data-x="'+x+'" data-y="'+y+'" '+
								  'style="position:absolute;'+
											'top:'+(0)+'px;'+
											'left:'+(0)+'px;'+
											'width:'+basicsize+'px;'+
											'height:'+basicsize+'px;'+
											'overflow:hidden;">'+
											
								  '<img style="position:absolute;'+
											'top:'+(0-y)+'px;'+
											'left:'+(0-x)+'px;'+
											'width:'+w+'px;'+
											'height:'+h+'px"'+
								  'src="'+src+'"></div></div>');									
						y=y+basicsize;						
					}
					x=x+basicsize;
				}
		}
		
		
		
		
		
		///////////////////////
		//	REMOVE SLOTS	//
		/////////////////////
		function removeSlots(container) {
			
			container.find('.slotholder .slot').each(function() {
				clearTimeout($(this).data('tout'));
				$(this).remove();
			});
			
		}
		
		
		////////////////////////
		//	CAPTION POSITION  //
		///////////////////////
		function setCaptionPositions(container,opt) {
			
			// FIND THE RIGHT CAPTIONS
			var actli = container.find('li:eq('+opt.act+')');
			var nextli = container.find('li:eq('+opt.next+')');
						
			// SET THE NEXT CAPTION AND REMOVE THE LAST CAPTION
			var nextcaption=nextli.find('.caption');
			
			if (nextcaption.find('iframe')==0) {
							
				// MOVE THE CAPTIONS TO THE RIGHT POSITION
				if (nextcaption.hasClass('hcenter'))
					nextcaption.css({'height':opt.height+"px",'top':'0px','left':(opt.width/2 - nextcaption.outerWidth()/2)+'px'});
				else
					if (nextcaption.hasClass('vcenter'))
						nextcaption.css({'width':opt.width+"px",'left':'0px','top':(opt.height/2 - nextcaption.outerHeight()/2)+'px'});			
			}
		}
		
		
		//////////////////////////////
		//                         //
		//	-	SWAP THE SLIDES -  //
		//                        //
		////////////////////////////
		function swapSlide(container,opt) {
			
			
			opt.transition = 1;
			
			var actli = container.find('li:eq('+opt.act+')');
			var nextli = container.find('li:eq('+opt.next+')');
			var actsh = actli.find('.slotholder');
			var nextsh = nextli.find('.slotholder');
			actli.css({'visibility':'visible'});
			nextli.css({'visibility':'visible'});
			
			if ($.browser.msie && $.browser.version<9) {
				if (nextli.data('transition')=="boxfade") nextli.data('transition',"boxslide");
				if (nextli.data('transition')=="slotfade-vertical") nextli.data('transition',"slotzoom-vertical");
				if (nextli.data('transition')=="slotfade-horizontal") nextli.data('transition',"slotzoom-horizontal");
			}
			
			
			// IF DELAY HAS BEEN SET VIA THE SLIDE, WE TAKE THE NEW VALUE, OTHER WAY THE OLD ONE...
			if (nextli.data('delay')!=undefined) {
						opt.cd=0;
						opt.delay=nextli.data('delay');						
			} else {
				opt.delay=opt.origcd;
			}
			
			// RESET POSITION AND FADES OF LI'S
			actli.css({'left':'0px','top':'0px'});
			nextli.css({'left':'0px','top':'0px'});
			
			/////////////////////////////////////////////
			// SET THE BULLETS SELECTED OR UNSELECTED  //
			/////////////////////////////////////////////
			
			
			container.parent().find(".bullet").each(function() {
				var bul = $(this);
				bul.removeClass("selected");								
				if (bul.index() == opt.next) bul.addClass('selected');
			});
			
			
			//////////////////////////////////////////////////////////////////
			// 		SET THE NEXT CAPTION AND REMOVE THE LAST CAPTION		//
			//////////////////////////////////////////////////////////////////					
					
					container.find('li').each(function() {
						var li = $(this);
						if (li.index!=opt.act && li.index!=opt.next) li.css({'z-index':16});
					});
					
					actli.css({'z-index':18});
					nextli.css({'z-index':20});
					nextli.css({'opacity':0});
			
			
			///////////////////////////
			//	ANIMATE THE CAPTIONS //
			///////////////////////////
			removeTheCaptions(actli,opt);
			animateTheCaptions(nextli, opt);		
			
			
		

			/////////////////////////////////////////////
			//	SET THE ACTUAL AMOUNT OF SLIDES !!     //
			//  SET A RANDOM AMOUNT OF SLOTS          //
			///////////////////////////////////////////
						if (nextli.data('slotamount')==undefined || nextli.data('slotamount')<1) {
							opt.slots=Math.round(Math.random()*12+4);
							if (nextli.data('transition')=="boxslide")
								opt.slots=Math.round(Math.random()*6+3);
						 } else {
							opt.slots=nextli.data('slotamount');
						}
			
			
		
			
			/////////////////////////////////////
			// THE SLOTSLIDE - TRANSITION I.  //
			////////////////////////////////////
			if (nextli.data('transition')=="boxslide") {
					
						if (opt.slots>15) opt.slots=15;
						
						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						prepareOneSlideBox(actsh,opt,true);
						prepareOneSlideBox(nextsh,opt,false);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						//actsh.find('.defaultimg').css({'opacity':0});

						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						
						nextsh.find('.slotslide').each(function(j) {
							var ss=$(this);
							ss.css({'top':(0-opt.sloth)+"px",'left':(0-opt.slotw)+"px"});	
							
							
							setTimeout(function() {
									
									if (opt.firefox13)
											ss.animate({'top':"0px",'left':'0px'},{duration:(400),queue:false,complete:function() {
																	if (j==(opt.slots*opt.slots)-1) {
																		removeSlots(container);
																		nextsh.find('.defaultimg').css({'opacity':1});
																		actsh.find('.defaultimg').css({'opacity':0});
																		opt.act=opt.next;
																		opt.transition = 0;		
																		moveSelectedThumb(container);
																	}
																	
											}});
									
									else
									
											ss.cssAnimate({'top':"0px",'left':'0px'},{duration:(400),queue:false,complete:function() {
																	if (j==(opt.slots*opt.slots)-1) {
																		removeSlots(container);
																		nextsh.find('.defaultimg').css({'opacity':1});
																		actsh.find('.defaultimg').css({'opacity':0});
																		if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
																		
																		opt.act=opt.next;
																		opt.transition = 0;		
																		moveSelectedThumb(container);
																	}
																	
											}});
							},j*15);
						});
			}
			
			
			
			/////////////////////////////////////
			// THE SLOTSLIDE - TRANSITION I.  //
			////////////////////////////////////
			if (nextli.data('transition')=="boxfade") {
					

						if (opt.slots>15) opt.slots=15;
						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						//prepareOneSlideBox(actsh,opt,true);
						prepareOneSlideBox(nextsh,opt,false);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						//actsh.find('.defaultimg').css({'opacity':0});

						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						
						nextsh.find('.slotslide').each(function(j) {
							var ss=$(this);
							ss.css({'opacity':0});								
							ss.find('img').css({'opacity':0});
							ss.find('img').css({'top':(Math.random()*opt.slotw-opt.slotw)+"px",'left':(Math.random()*opt.slotw-opt.slotw)+"px"});	
							
							
							var rand=Math.random()*1000+500;
							if (j==(opt.slots*opt.slots)-1) rand=1500;
							if (opt.firefox13) {
									ss.find('img').animate({'opacity':1,'top':(0-ss.data('y'))+"px",'left':(0-ss.data('x'))+'px'},{duration:rand,queue:false});
									ss.animate({'opacity':1},{duration:rand,queue:false,complete:function() {
															if (j==(opt.slots*opt.slots)-1) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																opt.act=opt.next;
																opt.transition = 0;			
																		moveSelectedThumb(container);														
															}
															
									}});
							} else {
									ss.find('img').cssAnimate({'opacity':1,'top':(0-ss.data('y'))+"px",'left':(0-ss.data('x'))+'px'},{duration:rand,queue:false});
									ss.cssAnimate({'opacity':1},{duration:rand,queue:false,complete:function() {
															if (j==(opt.slots*opt.slots)-1) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
																opt.act=opt.next;
																opt.transition = 0;			
																		moveSelectedThumb(container);														
															}
															
									}});
							}
							
						});
			}
			
			
			/////////////////////////////////////
			// THE SLOTSLIDE - TRANSITION I.  //
			////////////////////////////////////
			if (nextli.data('transition')=="slotslide-horizontal") {
					

						
						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						prepareOneSlide(actsh,opt,true);
						prepareOneSlide(nextsh,opt,false);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						//actsh.find('.defaultimg').css({'opacity':0});

						// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
						actsh.find('.slotslide').each(function() {
							var ss=$(this);	
							if (opt.firefox13) {							
									ss.animate({'left':opt.slotw+'px'},{duration:500,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															opt.act=opt.next;
															opt.transition = 0;			
																		moveSelectedThumb(container);													
															
									}});
								} else {
									ss.cssAnimate({'left':opt.slotw+'px'},{duration:500,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															opt.act=opt.next;
															opt.transition = 0;			
																		moveSelectedThumb(container);													
															
									}});
								}
						}); 
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function() {
							var ss=$(this);
							ss.css({'left':(0-opt.slotw)+"px"});				
							if (opt.firefox13) {
									ss.animate({'left':'0px'},{duration:500,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
															opt.act=opt.next;
															opt.transition = 0;		
																		moveSelectedThumb(container);													
															
									}});
							} else {
									ss.cssAnimate({'left':'0px'},{duration:500,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															opt.act=opt.next;
															opt.transition = 0;		
																		moveSelectedThumb(container);													
															
									}});
							}
						});
			}
			
			
			
			/////////////////////////////////////
			// THE SLOTSLIDE - TRANSITION I.  //
			////////////////////////////////////
			if (nextli.data('transition')=="slotslide-vertical") {
					

						
						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						prepareOneSlideV(actsh,opt,true);
						prepareOneSlideV(nextsh,opt,false);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						//actsh.find('.defaultimg').css({'opacity':0});

						// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
						actsh.find('.slotslide').each(function() {
							var ss=$(this);			
							if (opt.firefox13) {							
									ss.animate({'top':opt.sloth+'px'},{duration:500,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															opt.act=opt.next;
															opt.transition = 0;		
																		moveSelectedThumb(container);													
															
									}});
							} else {
									ss.cssAnimate({'top':opt.sloth+'px'},{duration:500,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
															opt.act=opt.next;
															opt.transition = 0;		
																		moveSelectedThumb(container);													
															
									}});
							}
						}); 
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function() {
							var ss=$(this);
							ss.css({'top':(0-opt.sloth)+"px"});	
							if (opt.firefox13) {									
								ss.animate({'top':'0px'},{duration:500,queue:false,complete:function() {
													removeSlots(container);
													nextsh.find('.defaultimg').css({'opacity':1});
													actsh.find('.defaultimg').css({'opacity':0});
													opt.act=opt.next;
													opt.transition = 0;		
																moveSelectedThumb(container);													
													
								}});
							} else {
								ss.cssAnimate({'top':'0px'},{duration:500,queue:false,complete:function() {
													removeSlots(container);
													nextsh.find('.defaultimg').css({'opacity':1});
													actsh.find('.defaultimg').css({'opacity':0});
													if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
													opt.act=opt.next;
													opt.transition = 0;		
																moveSelectedThumb(container);													
													
								}});
							}
						});
			}
			
			
			
			/////////////////////////////////////
			// THE SLOTSLIDE - TRANSITION I.  //
			////////////////////////////////////
			if (nextli.data('transition')=="curtain-1") {
					

						
						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						prepareOneSlide(actsh,opt,true);
						prepareOneSlide(nextsh,opt,true);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						actsh.find('.defaultimg').css({'opacity':0});

						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						actsh.find('.slotslide').each(function(i) {
							var ss=$(this);							
							
							ss.cssAnimate({'top':(0+(opt.height))+"px",'opacity':1},{duration:300+(i*(70-opt.slots)),queue:false,complete:function() {
													
													
							}});
						});
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this);							
							ss.css({'top':(0-(opt.height))+"px",'opacity':0});				
							if (opt.firefox13) {
									ss.animate({'top':'0px','opacity':1},{duration:300+(i*(70-opt.slots)),queue:false,complete:function() {
															if (i==opt.slots-1) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																opt.act=opt.next;
																opt.transition = 0;	
																		moveSelectedThumb(container);														
															}
															
									}});
							} else {
									ss.cssAnimate({'top':'0px','opacity':1},{duration:300+(i*(70-opt.slots)),queue:false,complete:function() {
															if (i==opt.slots-1) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
																opt.act=opt.next;
																opt.transition = 0;	
																		moveSelectedThumb(container);														
															}
															
									}});
							}
						});
			}
			
			
			/////////////////////////////////////
			// THE SLOTSLIDE - TRANSITION I.  //
			////////////////////////////////////
			if (nextli.data('transition')=="curtain-2") {
					

						
						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						prepareOneSlide(actsh,opt,true);
						prepareOneSlide(nextsh,opt,true);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						actsh.find('.defaultimg').css({'opacity':0});

						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						actsh.find('.slotslide').each(function(i) {
							var ss=$(this);							
							if (opt.firefox13) {
									ss.animate({'top':(0+(opt.height))+"px",'opacity':1},{duration:300+((opt.slots-i)*(70-opt.slots)),queue:false,complete:function() {																				
									}});
							} else {
									ss.cssAnimate({'top':(0+(opt.height))+"px",'opacity':1},{duration:300+((opt.slots-i)*(70-opt.slots)),queue:false,complete:function() {																				
									}});
							}
						});
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this);							
							ss.css({'top':(0-(opt.height))+"px",'opacity':0});				
							if (opt.firefox13) {
									ss.animate({'top':'0px','opacity':1},{duration:300+((opt.slots-i)*(70-opt.slots)),queue:false,complete:function() {
															if (i==0) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																opt.act=opt.next;
																opt.transition = 0;		
																																moveSelectedThumb(container);
															}
															
									}});
							} else {
										ss.cssAnimate({'top':'0px','opacity':1},{duration:300+((opt.slots-i)*(70-opt.slots)),queue:false,complete:function() {
															if (i==0) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
																opt.act=opt.next;
																opt.transition = 0;		
																																moveSelectedThumb(container);
															}
															
									}});
							}
						});
			}
			
			
			/////////////////////////////////////
			// THE SLOTSLIDE - TRANSITION I.  //
			////////////////////////////////////
			if (nextli.data('transition')=="curtain-3") {
					

						
						nextli.css({'opacity':1});
						if (opt.slots<2) opt.slots=2;
						// PREPARE THE SLOTS HERE
						prepareOneSlide(actsh,opt,true);
						prepareOneSlide(nextsh,opt,true);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						actsh.find('.defaultimg').css({'opacity':0});

						
						actsh.find('.slotslide').each(function(i) {
							var ss=$(this);							

							if (i<opt.slots/2)
								var tempo = (i+2)*60;
							else
								var tempo = (2+opt.slots-i)*60;
								
							if (opt.firefox13) {
									ss.animate({'top':(0+(opt.height))+"px",'opacity':1},{duration:300+tempo,queue:false,complete:function() {}});
							} else {
									ss.cssAnimate({'top':(0+(opt.height))+"px",'opacity':1},{duration:300+tempo,queue:false,complete:function() {}});
							}
						});
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this);							
							ss.css({'top':(0-(opt.height))+"px",'opacity':0});		
							if (i<opt.slots/2)
								var tempo = (i+2)*60;
							else
								var tempo = (2+opt.slots-i)*60;
								
							if (opt.firefox13) {
									ss.animate({'top':'0px','opacity':1},{duration:300+tempo,queue:false,complete:function() {
															if (i==Math.round(opt.slots/2)) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																opt.act=opt.next;
																opt.transition = 0;		
																																moveSelectedThumb(container);
															}
															
									}});
							} else {
									ss.cssAnimate({'top':'0px','opacity':1},{duration:300+tempo,queue:false,complete:function() {
															if (i==Math.round(opt.slots/2)) {
																removeSlots(container);
																nextsh.find('.defaultimg').css({'opacity':1});
																actsh.find('.defaultimg').css({'opacity':0});
																if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
																opt.act=opt.next;
																opt.transition = 0;		
																																moveSelectedThumb(container);
															}
															
									}});
							}
						});
			}
			
			
			////////////////////////////////////
			// THE SLOTSZOOM - TRANSITION II. //
			////////////////////////////////////						
			if (nextli.data('transition')=="slotzoom-horizontal") {
						

						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						prepareOneSlide(actsh,opt,true);
						prepareOneSlide(nextsh,opt,true);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						//actsh.find('.defaultimg').css({'opacity':0});

						// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
						actsh.find('.slotslide').each(function() {
							var ss=$(this).find('img');		
							if (opt.firefox13) {
									ss.animate({'left':(0-opt.slotw/2)+'px',
												   'top':(0-opt.height/2)+'px',
												   'width':(opt.slotw*2)+"px",
												   'height':(opt.height*2)+"px",
												   opacity:0
													},{duration:1000,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															opt.transition = 0;													
															opt.act = opt.next;
																															moveSelectedThumb(container);
													}});
							}	else	{
							
										ss.cssAnimate({'left':(0-opt.slotw/2)+'px',
												   'top':(0-opt.height/2)+'px',
												   'width':(opt.slotw*2)+"px",
												   'height':(opt.height*2)+"px",
												   opacity:0
													},{duration:1000,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
															opt.transition = 0;													
															opt.act = opt.next;
																															moveSelectedThumb(container);
													}});
							}
						}); 
						
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT //
						///////////////////////////////////////////////////////////////
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this).find('img');
							ss.css({'left':(0)+'px',
									'top':(0)+'px',
									//'width':(opt.width*2)+"px",
									//'height':(opt.height*2)+"px",
									opacity:0});
							if (opt.firefox13) {
									ss.animate({'left':(0-i*opt.slotw)+'px',
												   'top':(0)+'px',
												   'width':(nextsh.find('.defaultimg').data('neww'))+"px",
												   'height':(nextsh.find('.defaultimg').data('newh'))+"px",
												   opacity:1
													},{duration:1000,queue:false});
							} else {
								 ss.cssAnimate({'left':(0-i*opt.slotw)+'px',
												   'top':(0)+'px',
												   'width':(nextsh.find('.defaultimg').data('neww'))+"px",
												   'height':(nextsh.find('.defaultimg').data('newh'))+"px",
												   opacity:1
													},{duration:1000,queue:false});
							}
						});
			}
			
			
			
			
			////////////////////////////////////
			// THE SLOTSZOOM - TRANSITION II. //
			////////////////////////////////////						
			if (nextli.data('transition')=="slotzoom-vertical") {
						

						nextli.css({'opacity':1});
						
						// PREPARE THE SLOTS HERE
						prepareOneSlideV(actsh,opt,true);
						prepareOneSlideV(nextsh,opt,true);
						
						//SET DEFAULT IMG UNVISIBLE
						nextsh.find('.defaultimg').css({'opacity':0});
						//actsh.find('.defaultimg').css({'opacity':0});

						// ALL OLD SLOTS SHOULD BE SLIDED TO THE RIGHT
						actsh.find('.slotslide').each(function() {
							var ss=$(this).find('img');				
							if (opt.firefox13) {
									ss.animate({'left':(0-opt.width/2)+'px',
												   'top':(0-opt.sloth/2)+'px',
												   'width':(opt.width*2)+"px",
												   'height':(opt.sloth*2)+"px",
												   opacity:0
													},{duration:1000,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															opt.transition = 0;													
															opt.act = opt.next;
															moveSelectedThumb(container);
													}});
							} else {
							
											ss.cssAnimate({'left':(0-opt.width/2)+'px',
												   'top':(0-opt.sloth/2)+'px',
												   'width':(opt.width*2)+"px",
												   'height':(opt.sloth*2)+"px",
												   opacity:0
													},{duration:1000,queue:false,complete:function() {
															removeSlots(container);
															nextsh.find('.defaultimg').css({'opacity':1});
															actsh.find('.defaultimg').css({'opacity':0});
															if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
															opt.transition = 0;													
															opt.act = opt.next;
															moveSelectedThumb(container);
													}});
							}
						}); 
						
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT //
						///////////////////////////////////////////////////////////////
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this).find('img');
							ss.css({'left':(0)+'px',
									'top':(0)+'px',
									//'width':(opt.width*2)+"px",
									//'height':(opt.height*2)+"px",
									opacity:0});
							if (opt.firefox13) {		
									ss.animate({'left':(0)+'px',
												   'top':(0-i*opt.sloth)+'px',
												   'width':(nextsh.find('.defaultimg').data('neww'))+"px",
												   'height':(nextsh.find('.defaultimg').data('newh'))+"px",
												   opacity:1
													},{duration:1000,queue:false});
							} else {
									ss.cssAnimate({'left':(0)+'px',
												   'top':(0-i*opt.sloth)+'px',
												   'width':(nextsh.find('.defaultimg').data('neww'))+"px",
												   'height':(nextsh.find('.defaultimg').data('newh'))+"px",
												   opacity:1
													},{duration:1000,queue:false});
							}
						});
			}
			
			
			////////////////////////////////////////
			// THE SLOTSFADE - TRANSITION III.   //
			//////////////////////////////////////
			if (nextli.data('transition')=="slotfade-horizontal") {
					

					
						nextli.css({'opacity':1});
						
						opt.slots = opt.width/20;
						
						prepareOneSlide(nextsh,opt,true);
						
						
						//actsh.find('.defaultimg').css({'opacity':0});
						nextsh.find('.defaultimg').css({'opacity':0});
						
						var ssamount=0;
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this);
							ssamount++;
							ss.css({'opacity':0});
							ss.data('tout',setTimeout(function() {	
											ss.animate({'opacity':1},{duration:300,queue:false});
											
											},i*4)
									);
							
						});
						
						setTimeout(function() {
									opt.transition = 0;
									opt.act = opt.next;	
									moveSelectedThumb(container);
							},(300+(ssamount*4)));
			}
			
			
			
			
			////////////////////////////////////////
			// THE SLOTSFADE - TRANSITION III.   //
			//////////////////////////////////////
			if (nextli.data('transition')=="slotfade-vertical") {
					

					
						nextli.css({'opacity':1});
						
						opt.slots = opt.height/20;
						
						prepareOneSlideV(nextsh,opt,true);
						
						
						//actsh.find('.defaultimg').css({'opacity':0});
						nextsh.find('.defaultimg').css({'opacity':0});
						
						var ssamount=0;
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this);
							ssamount++;
							ss.css({'opacity':0});
							ss.data('tout',setTimeout(function() {	
											ss.animate({'opacity':1},{duration:300,queue:false});
											
											},i*4)
									);
							
						});
						
						setTimeout(function() {
									opt.transition = 0;
									opt.act = opt.next;	
									moveSelectedThumb(container);									
							},(300+(ssamount*4)));
			}
			
			
			///////////////////////////
			// SIMPLE FADE ANIMATION //
			///////////////////////////
			
			if (nextli.data('transition')=="fade") {
					

					
						nextli.css({'opacity':1});
						
						opt.slots = 1;
						
						prepareOneSlide(nextsh,opt,true);
						
						
						//actsh.find('.defaultimg').css({'opacity':0});
						nextsh.find('.defaultimg').css({'opacity':0});
						
						var ssamount=0;
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT
						nextsh.find('.slotslide').each(function(i) {
							var ss=$(this);
							ssamount++;
							ss.css({'opacity':0});
							ss.animate({'opacity':1},{duration:300,queue:false});							
						});
						
						setTimeout(function() {
									opt.transition = 0;
									opt.act = opt.next;	
									moveSelectedThumb(container);									
							},300);
			}
			
			
			
			
			
			if (nextli.data('transition')=="slideleft" || nextli.data('transition')=="slideup" || nextli.data('transition')=="slidedown" || nextli.data('transition')=="slideright") {
					
						nextli.css({'opacity':1});
						
						opt.slots = 1;
						
						prepareOneSlide(nextsh,opt,true);
						prepareOneSlide(actsh,opt,true);
						
						
						actsh.find('.defaultimg').css({'opacity':0});
						nextsh.find('.defaultimg').css({'opacity':0});
						
						var oow = opt.width;
						var ooh = opt.height;
						if (opt.fullWidth=="on") {
							oow=opt.container.parent().width();
							ooh=opt.container.parent().height();
							
						}
						
						// ALL NEW SLOTS SHOULD BE SLIDED FROM THE LEFT TO THE RIGHT						
						var ssn=nextsh.find('.slotslide')						
						if (nextli.data('transition')=="slideleft")
							ssn.css({'left':oow+"px"});
						else
							if (nextli.data('transition')=="slideright")
								ssn.css({'left':(0-opt.width)+"px"});
							else
								if (nextli.data('transition')=="slideup")
									ssn.css({'top':(ooh)+"px"});
								else
									if (nextli.data('transition')=="slidedown")
										ssn.css({'top':(0-opt.height)+"px"});
										
						if (opt.firefox13) {	
										ssn.animate({'left':'0px','top':'0px',opacity:1},{duration:1000,queue:false,complete:function() {
														removeSlots(container);
														nextsh.find('.defaultimg').css({'opacity':1});
														actsh.find('.defaultimg').css({'opacity':0});
														opt.transition = 0;													
														opt.act = opt.next;
														moveSelectedThumb(container);												
												}});					
						} else {
										ssn.cssAnimate({'left':'0px','top':'0px',opacity:1},{duration:1000,queue:false,complete:function() {
														removeSlots(container);
														nextsh.find('.defaultimg').css({'opacity':1});
														actsh.find('.defaultimg').css({'opacity':0});
														if ($.browser.msie && $.browser.version<9) actsh.find('.defaultimg').css({'opacity':1});
														opt.transition = 0;													
														opt.act = opt.next;
														moveSelectedThumb(container);												
												}});					
						}
										
						
						var ssa=actsh.find('.slotslide');
						if (opt.firefox13) {
								if (nextli.data('transition')=="slideleft")
									ssa.animate({'left':(0-oow)+'px',opacity:1},{duration:1000,queue:false});
								else
									if (nextli.data('transition')=="slideright")
										ssa.animate({'left':(oow)+'px',opacity:1},{duration:1000,queue:false});
									else
										if (nextli.data('transition')=="slideup")
											ssa.animate({'top':(0-ooh)+'px',opacity:1},{duration:1000,queue:false});
										else
											if (nextli.data('transition')=="slidedown")
												ssa.animate({'top':(ooh)+'px',opacity:1},{duration:1000,queue:false});
						} else {
								if (nextli.data('transition')=="slideleft")
									ssa.cssAnimate({'left':(0-oow)+'px',opacity:1},{duration:1000,queue:false});
								else
									if (nextli.data('transition')=="slideright")
										ssa.cssAnimate({'left':(oow)+'px',opacity:1},{duration:1000,queue:false});
									else
										if (nextli.data('transition')=="slideup")
											ssa.cssAnimate({'top':(0-ooh)+'px',opacity:1},{duration:1000,queue:false});
										else
											if (nextli.data('transition')=="slidedown")
												ssa.cssAnimate({'top':(ooh)+'px',opacity:1},{duration:1000,queue:false});
						}
						
						
						
						
			}
			
		
						
		}
		
				//////////////////////////
				//	REMOVE THE CAPTIONS //
				/////////////////////////				
				function removeTheCaptions(actli,opt) {
						actli.find('.caption').each(function(i) {
							var nextcaption=actli.find('.caption:eq('+i+')');																																							
							nextcaption.stop(true,true);
							clearTimeout(nextcaption.data('timer'));
							var easetype=nextcaption.data('easing');
							easetype="easeInOutSine";
							var ll = nextcaption.data('repx');
							var tt = nextcaption.data('repy');
							var oo = nextcaption.data('repo');

							
							if (nextcaption.find('iframe').length>0) {
									var par=nextcaption.find('iframe').parent();
									var iframe=par.html();
								setTimeout(function() {									
									nextcaption.find('iframe').remove();
									par.append(iframe);
								},nextcaption.data('speed'));
							}
							try {nextcaption.animate({'opacity':oo,'left':ll+'px','top':tt+"px"},{duration:nextcaption.data('speed'), easing:easetype});} catch(e) {}
						});
				}
		
				////////////////////////
				// SHOW THE CAPTION  //
				///////////////////////		
				function animateTheCaptions(nextli, opt) {
						
			
						nextli.find('.caption').each(function(i) {
						
								offsetx = opt.width/2 - opt.startwidth/2; 
						
								if (opt.bh>1) {							
									opt.bw=1;
									opt.bh=1;							
								}												
								var xbw = opt.bw;
								
								
								var nextcaption=nextli.find('.caption:eq('+i+')');																																							
								nextcaption.stop(true,true);
								
								
								if (nextcaption.hasClass("coloredbg")) offsetx=0;
								if (offsetx<0) offsetx=0;
								
								clearTimeout(nextcaption.data('timer'));
						
							   var imw =0;
							   var imh = 0;
							   
										if (nextcaption.find('img').length>0) {
											var im = nextcaption.find('img');
											if (im.data('ww') == undefined) im.data('ww',im.width());
											if (im.data('hh') == undefined) im.data('hh',im.height());
											
											var ww = im.data('ww');
											var hh = im.data('hh');
											
											
											im.width(ww*opt.bw);
											im.height(hh*opt.bh);
											imw = im.width();
											imh = im.height();
										} else {
										
											if (nextcaption.find('iframe').length>0) {
												var im = nextcaption.find('iframe');
												if (nextcaption.data('ww') == undefined) {
													nextcaption.data('ww',im.width());																										
												}
												if (nextcaption.data('hh') == undefined) nextcaption.data('hh',im.height());
												
												var ww = nextcaption.data('ww');
												var hh = nextcaption.data('hh');
												
												var nc =nextcaption;
													if (nc.data('fsize') == undefined) nc.data('fsize',parseInt(nc.css('font-size'),0) || 0);
													if (nc.data('pt') == undefined) nc.data('pt',parseInt(nc.css('paddingTop'),0) || 0);
													if (nc.data('pb') == undefined) nc.data('pb',parseInt(nc.css('paddingBottom'),0) || 0);
													if (nc.data('pl') == undefined) nc.data('pl',parseInt(nc.css('paddingLeft'),0) || 0);
													if (nc.data('pr') == undefined) nc.data('pr',parseInt(nc.css('paddingRight'),0) || 0);
													
													if (nc.data('mt') == undefined) nc.data('mt',parseInt(nc.css('marginTop'),0) || 0);
													if (nc.data('mb') == undefined) nc.data('mb',parseInt(nc.css('marginBottom'),0) || 0);
													if (nc.data('ml') == undefined) nc.data('ml',parseInt(nc.css('marginLeft'),0) || 0);
													if (nc.data('mr') == undefined) nc.data('mr',parseInt(nc.css('marginRight'),0) || 0);
													
													if (nc.data('bt') == undefined) nc.data('bt',parseInt(nc.css('borderTop'),0) || 0);
													if (nc.data('bb') == undefined) nc.data('bb',parseInt(nc.css('borderBottom'),0) || 0);
													if (nc.data('bl') == undefined) nc.data('bl',parseInt(nc.css('borderLeft'),0) || 0);
													if (nc.data('br') == undefined) nc.data('br',parseInt(nc.css('borderRight'),0) || 0);
													
													if (nc.data('lh') == undefined) nc.data('lh',parseInt(nc.css('lineHeight'),0) || 0);
																								
													
													nextcaption.css({
																	 'font-size': (nc.data('fsize') * opt.bw)+"px",
																	
																	 'padding-top': (nc.data('pt') * opt.bh) + "px",
																	 'padding-bottom': (nc.data('pb') * opt.bh) + "px",
																	 'padding-left': (nc.data('pl') * opt.bw) + "px",
																	 'padding-right': (nc.data('pr') * opt.bw) + "px",
																	 
																	 'margin-top': (nc.data('mt') * opt.bh) + "px",
																	 'margin-bottom': (nc.data('mb') * opt.bh) + "px",
																	 'margin-left': (nc.data('ml') * opt.bw) + "px",
																	 'margin-right': (nc.data('mr') * opt.bw) + "px",
																	 
																	 'border-top': (nc.data('bt') * opt.bh) + "px",
																	 'border-bottom': (nc.data('bb') * opt.bh) + "px",
																	 'border-left': (nc.data('bl') * opt.bw) + "px",
																	 'border-right': (nc.data('br') * opt.bw) + "px",
																	 
																	 'line-height': (nc.data('lh') * opt.bh) + "px",
																	 'height':(hh*opt.bh)+'px',
																	 'white-space':"nowrap"
																	 
																	 
													});
													
												im.width(ww*opt.bw);
												im.height(hh*opt.bh);
												imw = im.width();
												imh = im.height();
											} else {
											
													var nc =nextcaption;
													if (nc.data('fsize') == undefined) nc.data('fsize',parseInt(nc.css('font-size'),0) || 0);
													if (nc.data('pt') == undefined) nc.data('pt',parseInt(nc.css('paddingTop'),0) || 0);
													if (nc.data('pb') == undefined) nc.data('pb',parseInt(nc.css('paddingBottom'),0) || 0);
													if (nc.data('pl') == undefined) nc.data('pl',parseInt(nc.css('paddingLeft'),0) || 0);
													if (nc.data('pr') == undefined) nc.data('pr',parseInt(nc.css('paddingRight'),0) || 0);
													
													if (nc.data('mt') == undefined) nc.data('mt',parseInt(nc.css('marginTop'),0) || 0);
													if (nc.data('mb') == undefined) nc.data('mb',parseInt(nc.css('marginBottom'),0) || 0);
													if (nc.data('ml') == undefined) nc.data('ml',parseInt(nc.css('marginLeft'),0) || 0);
													if (nc.data('mr') == undefined) nc.data('mr',parseInt(nc.css('marginRight'),0) || 0);
													
													if (nc.data('bt') == undefined) nc.data('bt',parseInt(nc.css('borderTop'),0) || 0);
													if (nc.data('bb') == undefined) nc.data('bb',parseInt(nc.css('borderBottom'),0) || 0);
													if (nc.data('bl') == undefined) nc.data('bl',parseInt(nc.css('borderLeft'),0) || 0);
													if (nc.data('br') == undefined) nc.data('br',parseInt(nc.css('borderRight'),0) || 0);
													
													if (nc.data('lh') == undefined) nc.data('lh',parseInt(nc.css('lineHeight'),0) || 0);
																								
													
													nextcaption.css({
																	 'font-size': (nc.data('fsize') * opt.bw)+"px",
																	
																	 'padding-top': (nc.data('pt') * opt.bh) + "px",
																	 'padding-bottom': (nc.data('pb') * opt.bh) + "px",
																	 'padding-left': (nc.data('pl') * opt.bw) + "px",
																	 'padding-right': (nc.data('pr') * opt.bw) + "px",
																	 
																	 'margin-top': (nc.data('mt') * opt.bh) + "px",
																	 'margin-bottom': (nc.data('mb') * opt.bh) + "px",
																	 'margin-left': (nc.data('ml') * opt.bw) + "px",
																	 'margin-right': (nc.data('mr') * opt.bw) + "px",
																	 
																	 'border-top': (nc.data('bt') * opt.bh) + "px",
																	 'border-bottom': (nc.data('bb') * opt.bh) + "px",
																	 'border-left': (nc.data('bl') * opt.bw) + "px",
																	 'border-right': (nc.data('br') * opt.bw) + "px",
																	 
																	 'line-height': (nc.data('lh') * opt.bh) + "px",
																	 'white-space':"nowrap"
																	 
																	 
													});
													imh=nextcaption.outerHeight(true);
													imw=nextcaption.outerWidth(true);
												}
										}
								
										
								
								if (nextcaption.hasClass('fade')) {																						
									
									nextcaption.css({'opacity':0,'left':(xbw*nextcaption.data('x')+offsetx)+'px','top':(opt.bh*nextcaption.data('y'))+"px"});
								}
								
								
								
								if (nextcaption.hasClass('lfr')) {
									
									nextcaption.css({'opacity':1,'left':(5+opt.width)+'px','top':(opt.bh*nextcaption.data('y'))+"px"});
									
								}
								
								if (nextcaption.hasClass('lfl')) {
									
									nextcaption.css({'opacity':1,'left':(-5-imw)+'px','top':(opt.bh*nextcaption.data('y'))+"px"});
									
								}
								
								if (nextcaption.hasClass('sfl')) {
									
									nextcaption.css({'opacity':0,'left':((xbw*nextcaption.data('x'))-50+offsetx)+'px','top':(opt.bh*nextcaption.data('y'))+"px"});
								}
								
								if (nextcaption.hasClass('sfr')) {
									nextcaption.css({'opacity':0,'left':((xbw*nextcaption.data('x'))+50+offsetx)+'px','top':(opt.bh*nextcaption.data('y'))+"px"});
								}
								
								
								
								
								if (nextcaption.hasClass('lft')) {
									
									nextcaption.css({'opacity':1,'left':(xbw*nextcaption.data('x')+offsetx)+'px','top':(-5 - imh)+"px"});
									
								}
								
								if (nextcaption.hasClass('lfb')) {
									nextcaption.css({'opacity':1,'left':(xbw*nextcaption.data('x')+offsetx)+'px','top':(5+opt.height)+"px"});
									
								}
								
								if (nextcaption.hasClass('sft')) {
									nextcaption.css({'opacity':0,'left':(xbw*nextcaption.data('x')+offsetx)+'px','top':((opt.bh*nextcaption.data('y'))-50)+"px"});
								}
								
								if (nextcaption.hasClass('sfb')) {
									nextcaption.css({'opacity':0,'left':(xbw*nextcaption.data('x')+offsetx)+'px','top':((opt.bh*nextcaption.data('y'))+50)+"px"});
								}
								
								
								
								
								nextcaption.data('timer',setTimeout(function() { 
										if (nextcaption.hasClass('fade')) {																						
											nextcaption.animate({'opacity':1});
										}
										if (nextcaption.hasClass('lfr') || 
											nextcaption.hasClass('lfl') || 
											nextcaption.hasClass('sfr') || 
											nextcaption.hasClass('sfl') ||
											nextcaption.hasClass('lft') || 
											nextcaption.hasClass('lfb') || 
											nextcaption.hasClass('sft') || 
											nextcaption.hasClass('sfb')
											) 
										{	
											var easetype=nextcaption.data('easing');
											if (easetype==undefined) easetype="linear";
											nextcaption.data('repx',nextcaption.position().left);
											nextcaption.data('repy',nextcaption.position().top);
											
											nextcaption.data('repo',nextcaption.css('opacity'));
											nextcaption.animate({'opacity':1,'left':(xbw*nextcaption.data('x')+offsetx)+'px','top':opt.bh*(nextcaption.data('y'))+"px"},{duration:nextcaption.data('speed'), easing:easetype});
										}
								},nextcaption.data('start')));
								
						})
				}
		
		
		
		///////////////////////////
		//	-	COUNTDOWN	-	//
		/////////////////////////
		function countDown(container,opt) {
			opt.cd=0;
			var bt=container.find('.tp-bannertimer');
			if (bt.length>0) {
				bt.css({'width':'0%'});
				bt.animate({'width':"100%"},{duration:(opt.delay-100),queue:false, easing:"linear"});
			}
			opt.cdint=setInterval(function() {
				
				if (opt.conthover!=1) opt.cd=opt.cd+100;
				
				
				
				if (opt.cd>=opt.delay) {
					opt.cd=0;
					// SWAP TO NEXT BANNER 
					opt.act=opt.next;
					opt.next=opt.next+1;
					if (opt.next>container.find('>ul >li').length-1) opt.next=0;
					
					
					// SWAP THE SLIDES
					swapSlide(container,opt);
					
					// Clear the Timer
					if (bt.length>0) {
						bt.css({'width':'0%'});
						bt.animate({'width':"100%"},{duration:(opt.delay-100),queue:false, easing:"linear"});
					}
				}
			},100);
			
			container.hover(
				function() {
					if (opt.onHoverStop=="on") {
						opt.conthover=1;
						bt.stop();
					}
				},
				function() {
					if (opt.onHoverStop=="on") {
						opt.conthover=0;
						bt.animate({'width':"100%"},{duration:((opt.delay-opt.cd)-100),queue:false, easing:"linear"});
					}
				});
		}

		
		
})(jQuery);			

				
			

			   