/*!
 * slideViewerPro 1.0
 * Examples and documentation at: 
 * http://www.gcmingati.net/wordpress/wp-content/lab/jquery/svwt/
 * 2009 Gian Carlo Mingati
 * Version: 1.0.4 (12-AUGUST-2009)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires:
 * jQuery v1.3.2 or later
 * Option:
 * jQuery Timers plugin | plugins.jquery.com/project/timers (for autoslide mode)
 * 
 */
jQuery.extend( jQuery.easing, // from the jquery.easing plugin
{
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	}
});
jQuery(function(){
   jQuery("div.svwp").prepend("<img src='xolido_prueba_menu_files/svwloader.gif' class='ldrgif' alt='loading...'/ >"); //change with YOUR loader image path   
 
});
var j = 0;

//se añade la propiedad sliderThumbs que mostrará las miniaturas en un slider si es true, y sino, simplemente como un listado fijo de imágenes
//se añade la propiedad showButtons para mostrar u ocultar los botones del slider de las miniaturas
//si sliderThumbs es false, showButtons será false también

//se añade la propiedad outerTitle para manejar los títulos de las imágenes. 
//Cuando sea false, se utilizará como título de las imágenes el alt de las mismas.
//Cuando sea true, en el html se acompañarán las imágenes de dos span, con las clases 'titulo_largo' y 'titulo_corto'
//El primero será el título de la imagen grande y el segundo el título de la miniatura

jQuery.fn.slideViewerPro = function(settings) {
	  settings = jQuery.extend({
		    outerTitle: false,
			galBorderWidth: 6,
			thumbsTopMargin: 3, 
			thumbsRightMargin: 3,
			thumbsBorderWidth: 3,
			showButtons: true,
			sliderThumbs: true,
			buttonsWidth: 20,
			galBorderColor: "#ff0000",
			thumbsBorderColor: "#d8d8d8",
			thumbsActiveBorderColor: "aqua",
			buttonsTextColor: "#ff0000",
			thumbsBorderOpacity: 1.0, // could be 0, 0.1 up to 1.0
			thumbsActiveBorderOpacity: 1.0, // could be 0, 0.1 up to 1.0
			easeTime: 750,
			asTimer: 4000,
			thumbs: 5,
			thumbsPercentReduction: 12,
			thumbsVis: true,
			easeFunc: "easeInOutExpo",
			leftButtonInner: "-", //could be an image "<img src='images/larw.gif' />" or an escaped char as "&larr";
			rightButtonInner: "+", //could be an image or an escaped char as "&rarr";
			autoslide: false,
			typo: false,
			typoFullOpacity: 0.9,
			shuffle: false
		}, settings);

	return this.each(function(){
		function shuffle(a) {
	    var i = a.size();
	    while (--i) {
	        var j = Math.floor(Math.random() * (i));
	        var tmp = a.slice(i, i+1);
	        a.slice(j, j+1).insertAfter(tmp);
			
	    }
		} 

		
		//si la propiedad sliderThumbs es false, la propiedad showButtons también será false
		//pues si no hay slider de miniaturas, no puede haber botones
		if (settings.sliderThumbs == false) {
			settings.showButtons = false;
		}
		
		//container es el contendor del slider identificado en la instancia de la clase
		var container = jQuery(this);
		(!settings.shuffle) ? null : shuffle(container.find("li"));
		container.find("img.ldrgif").remove();
		container.removeClass("svwp").addClass("slideViewer");	
		container.attr("id", "svwp"+j);
		
		//variable para el alto de las imagenes
		var pictHeight = container.find("img").attr("height");
		//el script utiliza el tamaño de las imágenes para calcular el ancho del slider
		var pictWidth = container.find("img").attr("width");
		//calculamos el número de imágenes
		var pictEls = container.find("li").size();
		
		//se coge el parámetro thumbs de la instancia para determinar el número de miniaturas
		//excepto si el número de imágenes es menor que ese parámetro; estableciento entonces como tal el número de imágenes
		(pictEls >= settings.thumbs) ? null : settings.thumbs = pictEls;
		
		//el ancho del contenedor del slider de imágenes grandes 
		var slideViewerWidth = pictWidth*pictEls;
		
		//estas dos variables almacenan el tamaño de las diapositivas obtenidas mediante el escaldo de las imágenes
		//las sustituimos por el tamaño de las diapositivas creadas a mano
		//var thumbsWidth = Math.round(pictWidth*settings.thumbsPercentReduction/100);
		//var thumbsHeight =  Math.round(pictHeight*settings.thumbsPercentReduction/100);
		var thumbsWidth = 51;
		var thumbsHeight =  48;
		
		var pos = 0;
		var r_enabled = true;
		var l_enabled = true;
		
		//establecemos el ancho del ul que contendrá el slider de las imágenes con el ancho total calculado anteriormente
        container.find("ul").css("width" , slideViewerWidth)
		//y lo envolvemos con un div que hará de máscara del slider
		.wrap(jQuery("<div id='slider_mask' style='width:"+ pictWidth +"px; overflow: hidden; position: relative;'>"));
		//añadimos al contenedor general del slider los mismos tamaños que la máscara
		container.css("width" , pictWidth);
		container.css("height" , pictHeight);
		
		//incluimos un each porque existe la posibilidad de tener varios sliders en una página
		container.each(function(i) {
			//si el parámetro typo es 'true' en la creación de la instancia, se mostrará el alt de la imagen
			if(settings.typo)
			{
			//para cada imagen de cada slider realizamos la siguiente función
			jQuery(this).find("img").each(function(z) {
	            //el script original crea un span con el alt de cada imagen dentro del li 
				//en este caso, coocamos el alt como título en un div con clase 'typo' e id 'slider_tit' + sufijo, dentro de un div contenedor cuyo id es 'cont_slider_tit'
				//jQuery(this).after("<span class='typo' style='position: absolute; width:"+(pictWidth-12)+"px; margin: 0 0 0 -"+pictWidth+"px'>"+jQuery(this).attr("alt")+"<\/span>");
				
				
				//Si la propiedad outerTitle es false, se usará el alt de cada imagen
				if (settings.outerTitle == false) 
				{
				jQuery('#cont_slider_tit').append("<div id='slider_tit_"+z+"'"+ "class='typo'>"+jQuery(this).attr("alt")+"<\/div>");
				} 
				else if (settings.outerTitle == true)
				{
			      //si es falso, usaremos el span hermano con clase 'titulo_largo' de la imagen en la que nos encontramos (z) para añadir el título
				  jQuery('#cont_slider_tit').append("<div id='slider_tit_"+z+"'"+ "class='typo'>"+jQuery(this).siblings('.titulo_largo').text()+"<\/div>");	
				  //eliminamos el span del html
				  jQuery(this).siblings('.titulo_largo').remove();
				}
				
				//si es el primer div, z = 0, cuyo contenido aparecerá en pantalla al cargar el slider, le damos opacidad 1 para que se vea
				//el resto solo tendrán la clase genérica typo cuya opacidad será 0, o sea, transparente
				
				if (z == 0) {
					jQuery('#slider_tit_'+z).css('opacity',1);
				}
				
				});
			}
			
			//creamos el div que contendrá las miniaturas a continuación del contenedor del slider en el html
			jQuery(this).after("<div class='thumbSlider' id='thumbSlider" + j + "'><ul><\/ul><\/div>");
			
			//y una vez creado el slider de miniaturas, creamos los botones para mover las diapositivas si las propiedades sliderButtons o showButtons son true
			if (settings.showButtons == true)
			{
			jQuery(this).next().after("<a href='#' class='left' id='left" + j + "'><span>"+settings.leftButtonInner+"</span><\/a><a href='#' class='right' id='right" + j + "'><span>"+settings.rightButtonInner+"<\/span><\/a>");
			}

			
			//el script original crea las miniaturas escalando las imágenes originales
			//modificamos esta función para sustituir la url de la imagen grande por la url de una imagen para diapositiva creada a mano
			/*jQuery(this).find("li").each(function(n) { 
						jQuery("div#thumbSlider" + j + " ul").append("<li><a title='" + jQuery(this).find("img").attr("alt") + "' href='#'><img width='"+ thumbsWidth +"' height='"+ thumbsHeight +"' src='" + jQuery(this).find("img").attr("src") + "' /><p class='tmbrdr'>&nbsp;<\/p><\/a><\/li>");						
			});*/

			jQuery(this).find("li").each(function(n) { 
						
						//con esta variable obtenemos la ruta de la imagen, eliminamos el '.jpg' del final y posteriormente añadimos un sufijo '_min.jpg'
						var urlMin = jQuery(this).find("img").attr("src");
						var urlMin = urlMin.replace(".jpg","");
						
						//si la propiedad outerTitle es true, creamos una variable para almacenar el titulo de la imagen
						//que está en un span hijo de cada li (n) con la clase 'título_corto'
						var titThumb = "";
						if (settings.outerTitle == true) 
						{
							titThumb = jQuery(this).find(".titulo_corto").html();
							titThumbAlt = titThumb.replace(/<\/?[^>]+>/gi, ' - ');
							jQuery(this).find(".titulo_corto").remove();
						}
						//si outerTitle es false, el titulo de la miniatura será el alt de la imagen
						else if (settings.outerTitle == false)
						{
							titThumb = jQuery(this).find("img").attr("alt");
						}
					    
						//como puede haber varios sliders en la página, se añade un sufijo 'j' para diferenciarlos, 'thumbslider0', 'thumbslider1', etc.
						jQuery("div#thumbSlider" + j + " ul").append("<li><a title='" + titThumbAlt + "' href='#'><img alt='"+titThumbAlt+"' src='" + urlMin + "_min.jpg" + "' /><p class='tmbrdr'>"+ titThumb +"<\/p><\/a><\/li>");	
						jQuery("div#thumbSlider" + j + " ul li").css({opacity: settings.thumbsBorderOpacity});	
						jQuery("div#thumbSlider" + j + " ul li p").css({opacity: settings.thumbsBorderOpacity});	
			});
    
			//esta función añade los eventos click para las anclas de las miniaturas 
			//cuando el slider se desplaza automáticamente, va simulando un click en cada miniatura
			jQuery("div#thumbSlider" + j + " a").each(function(z) {			
				jQuery(this).bind("click", function(){
					
					//el script original crea una p con clase tmbrdr que se oculta para usarla como marcador de la diapositiva activa mediante un borde
					//si usamos títulos externos, las miniaturas tendrán título y hay que mostrar la p correspondiente siempre
					//usando el li como marcador de la miniatura activa
					
					
					if (settings.outerTitle == false)
					{
					//buscamos la p hija del ancla con la clase p.tmbrdr y se le añade un efecto de borde si se ha seleccionado así en los parámetros de la instancia
					jQuery(this).find("p.tmbrdr").css({borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity});
					
					//buscamos todas las p's hijas del ul que contiene el slider de las miniaturas con la clase 'tmbrdr' excepto la anterior, para añadirles un efecto si se ha seleccionado así en los parámetros de la instancia
					jQuery(this).parent().parent().find("p.tmbrdr").not(jQuery(this).find("p.tmbrdr")).css({borderColor: settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity});
					}
					
					else if (settings.outerTitle == true)
					{
						//cuando hay título en la miniatura, simplemente cambiamos la opacidad del li a 1
					    jQuery(this).parent().css({margin:0,width:103, opacity: settings.thumbsActiveBorderOpacity, border:"2px solid #3183BB"});
						//y la de la p con t el título, por los problemas del explorer con la opacidad
						jQuery(this).find("p").css({opacity: settings.thumbsActiveBorderOpacity});
						//y la del resto de li's (excepto el que contiene el título del slider de miniaturas, '#thumbs_tit_txt') 
						//al valor que se haya establecido en la isntancia
						jQuery(this).parent().siblings().not(jQuery("#thumbs_tit_txt")).css({width:107,margin:"2px 0",opacity: settings.thumbsBorderOpacity, border:"none"});
						//no tan simplemente porque en el explorer las p's se mantienen opacas si no se les aplica específicamente el selector de opacidad
						jQuery(this).find("p.tmbrdr").css({opacity: settings.thumbsActiveBorderOpacity});
						jQuery(this).parent().siblings().find("p.tmbrdr").not(jQuery(this).find("p.tmbrdr")).css({opacity: settings.thumbsBorderOpacity});
					}
					
					
					
					
					//en el script original se usa lo siguente para determinar qué imagen corresponde a cada miniatura, desplazar el slider y desvanecer y mostrar el título
					
					//el valor de la variable cnt es el ancho de cada elemento 'li' del slider por su posición 'z' dentro del listado
					//si hacemos click en la diapositiva 0, cnt será 0; en la 1, cnt será 770; 1540 para la 2, etc.
						var cnt = -(pictWidth*z);
					//buscamos el valor left del posicionamiento absoluto del ul que contiene las imágenes grandes
					//como los atributos css son valores en pixeles, eliminamos el sufijo 'px' del valor
						
					//para cada elemento del slider, si los valores de cnt y del posicionamiento no coinciden, devanecemos el div que contiene el título
						//(cnt != container.find("ul").css("left").replace(/px/, "")) ? container.find("div.typo").animate({"opacity": 0}, 250) : null ;
					
					//en este caso, como disponemos del índice z como sufijo en cada título de imagen, podemos realizar el desvanecimiento directamente
					    var contTit = 'slider_tit_'+z;
					
					
					//Cambio de velocidad  para el explorer
					   //jQuery('#cont_slider_tit').find("div.typo").animate({"opacity": 0}, 250);
					  
					
					//desplazamos el slider, colocando el ul que contiene las imágenes en la posición absoluta que concide con la variable cnt
					//en la versión original el alt está en un span dentro del propio div contenedor del slider
					//en este caso, cada alt se ha colocado previamente dentro de un div typo que están todos dentro de un div con id 'cont_slider_tit'
					//haremos que se muestre solamente aquel div con el título cuyo índice z corresponda a la miniatura seleccionada
					
					container.find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc, function(){
							jQuery('#cont_slider_tit').find("div.typo").css("opacity",0);
							jQuery('#cont_slider_tit').find('#'+contTit).animate({"opacity": settings.typoFullOpacity}, 250)});					
					return false;
				});
			});
			
			
			
			// shortcuts to +/- buttons
			var jQuerybtl = jQuery("a#left" + j);	
			var jQuerybtr = jQuery("a#right" + j);	
			
			// right/left 			
			jQuerybtr.bind("click", function(){
					if (r_enabled) (pictEls-pos > settings.thumbs*2 || pictEls%settings.thumbs == 0)? pos += settings.thumbs : pos += pictEls % settings.thumbs;
					r_enabled = false;
					jQuery(this).prev().prev().find("ul:not(:animated)").animate({ left: -(thumbsWidth+settings.thumbsRightMargin)*pos}, 500, settings.easeFunc, function(){authorityMixing();});					
					return false;
			});
			
			jQuerybtl.bind("click", function(){	
					if (l_enabled && pos!=0) (pictEls-pos > settings.thumbs || pictEls%settings.thumbs == 0)? pos -= settings.thumbs : pos -= pictEls % settings.thumbs;
					l_enabled = false;
					jQuery(this).prev().find("ul:not(:animated)").animate({ left: -(thumbsWidth+settings.thumbsRightMargin)*pos}, 500, settings.easeFunc, function(){authorityMixing();});			
					return false;
			});						
			
			function authorityMixing()
			{				
				
				//right btt
				(pos == pictEls-settings.thumbs) ? jQuerybtr.addClass("r_dis") : jQuerybtr.removeClass("r_dis");
				(pos == pictEls-settings.thumbs) ? r_enabled = false : r_enabled = true;
				//left btt
				(pos == 0) ? jQuerybtl.addClass("l_dis") : jQuerybtl.removeClass("l_dis");
				(pos == 0) ? l_enabled = false : l_enabled = true;
			}
			
			//CSS	defs @ runtime
			var tBorder = settings.thumbsBorderWidth;
			var contBorder = settings.galBorderWidth
			
			//eliminamos el borde de las imágenes que están dentro de enlacs
			jQuery(".slideViewer a img").css({border: "0"});
			
			
			if(settings.typo)
					{
						jQuery(this).find("span.typo").each(function(z) {
							jQuery(this).css({marginTop: (pictHeight-jQuery(this).innerHeight()), opacity: settings.typoFullOpacity});
						});
					}
					
			jQuery("div#svwp"+ j).css({border: settings.galBorderWidth +"px solid "+settings.galBorderColor});
			
			//estas lineas del script original, preparan los elementos del slider de las miniaturas para hacerlo funcionar
			//si la propiedad sliderThumbs es false, se mostrarán simplemente como un listado
			
			if (settings.sliderThumbs == true)
			{
			jQuery("div#thumbSlider" + j).css({position: "relative", left: contBorder, top: settings.thumbsTopMargin+"px", width: settings.thumbs*thumbsWidth+((settings.thumbsRightMargin*settings.thumbs)-settings.thumbsRightMargin), height: thumbsHeight, textAlign: "center", overflow: "hidden", margin: "0 auto"});
			
			jQuery("div#thumbSlider" + j + " ul").css({width: (thumbsWidth*pictEls)+settings.thumbsRightMargin*pictEls, position: "relative", left: "0", top: "0"});
			
			jQuery("div#thumbSlider" + j + " ul li").css({marginRight: settings.thumbsRightMargin});
			} 
			
			else 
			
			{
			//estilos para el contenedor de las miniaturas
			jQuery("div#thumbSlider" + j).css({width: "774px", overflow: "hidden"});	
			//estilos para el ul que contiene las miniaturas
			jQuery("div#thumbSlider" + j + " ul").css({width: "750px", overflow: "hidden", margin: "0 auto", padding: "0"});
			//estilos para cada contenedor de miniatura
			jQuery("div#thumbSlider" + j + " ul li").css({float: "left", width: "107px"});
			}
	
			//el script original busca la p con clase 'tmrrdr' hermana de la imagen de cada miniatura y la oculta tras la diapositiva
			//después utiliza esa p para iluminar sus bordes y marcar la miniatura activa
			//si la propiedad outerTitle es true, mostraremos esta p con el titulo de la miniatura
			if (settings.outerTitle == false)
			{
			jQuery("div#thumbSlider" + j).find("p.tmbrdr").css({width: (thumbsWidth-tBorder*2)+"px", height: (thumbsHeight-tBorder*2) +"px", top: -(thumbsHeight) +"px", border: settings.thumbsBorderWidth +"px solid "+settings.thumbsBorderColor, opacity: settings.thumbsBorderOpacity});	
			
			//el script original selecciona la primera miniatura para marcarla como activa al cargar el slider
			jQuery("div#thumbSlider" + j + " a:first p.tmbrdr").css({borderColor: settings.thumbsActiveBorderColor, opacity: settings.thumbsActiveBorderOpacity});
			} 
			//en el caso de que las miniaturas tengan título
			else if (settings.outerTitle == true)
			{
			//hacemos que la p con el título sea visible
			jQuery("div#thumbSlider" + j).find("p.tmbrdr").css({width: "100%", color:"#030303"});
			jQuery("div#thumbSlider" + j).find("p.tmbrdr").css("font-size","0.9em");
			//y añadimos un borde al li con la miniatura activa para marcarla
			jQuery("div#thumbSlider" + j + " li:first").css({width:103, margin:0, border:"2px solid #3183BB", opacity: settings.thumbsActiveBorderOpacity});
			
			jQuery("div#thumbSlider" + j + " li:first p").css({opacity: settings.thumbsActiveBorderOpacity});
			}
			
			
			
			var rbttLeftMargin = (pictWidth/2) + (jQuery("div#thumbSlider" + j).width()/2) + settings.thumbsRightMargin + contBorder;
			var lbttLeftMargin = (pictWidth/2) - (jQuery("div#thumbSlider" + j).width()/2) - (settings.buttonsWidth + settings.thumbsRightMargin) + contBorder;			
			var innerImgH = jQuery("a#right" + j + " span img").attr("height");
			
			jQuery("a#left" + j).css({display: "block", textAlign: "center", width: settings.buttonsWidth + "px" , height: thumbsHeight+"px",  margin: -(thumbsHeight-settings.thumbsTopMargin) +"px 0 0 "+lbttLeftMargin+"px", textDecoration: "none", lineHeight: thumbsHeight+"px", color: settings.buttonsTextColor});
			
			jQuery("a#right" + j).css({display: "block", textAlign: "center", width: settings.buttonsWidth + "px", height: thumbsHeight+"px" , margin: -(thumbsHeight) +"px 0 0 "+rbttLeftMargin+"px", textDecoration: "none", lineHeight: thumbsHeight+"px", color: settings.buttonsTextColor});	
			
			jQuery("a#left" + j + " span img").css({margin: Math.round((thumbsHeight/2)-(innerImgH/2))+"px 0 0 0"});
			jQuery("a#right" + j + " span img").css({margin: Math.round((thumbsHeight/2)-(innerImgH/2))+"px 0 0 0"});

			authorityMixing();
	
			if(settings.autoslide){
					
					var i = 1;
					
					jQuery("div#thumbSlider" + j).everyTime(settings.asTimer, "asld", function() {			
		  			jQuery(this).find("a").eq(i).trigger("click");
		  			if(i == 0)
		  			{
						pos = 0;
						l_enabled = false;
						jQuery("div#thumbSlider" + j).find("ul:not(:animated)").animate({ left: -(thumbsWidth+settings.thumbsRightMargin)*pos}, 500, settings.easeFunc, function(){authorityMixing();});
		  			}
		  			else l_enabled = true;
		  			
						(i%settings.thumbs == 0)? jQuery(this).next().next().trigger("click") : null;
						(i < pictEls-1)?	i++ : i=0;		  			
					});		
					
					//stops autoslidemode	
					jQuery("a#right" + j).bind("mouseup", function(){
						jQuery(this).prev().prev().stopTime("asld");
		    	});
					jQuery("a#left" + j).bind("mouseup", function(){
						jQuery(this).prev().stopTime("asld");	
					});
					jQuery("div#thumbSlider" + j + " a").bind("mouseup", function(){
						jQuery(this).parent().parent().parent().stopTime("asld");
					});
			}
			
			var uiDisplay = (settings.thumbsVis)? "block":"none";
			
			//en el original, el div que contiene las miniaturas se envuelve con otro cuyo ancho coincide con el de lás imágenes grandes
			//jQuery("div#thumbSlider" + j + ", a#left" + j + ", a#right" + j).wrapAll("<div style='width:"+ pictWidth +"px; display: "+uiDisplay+"' id='ui"+j+"'><\/div>");			
			//en este caso, el ancho tiene que ser de 774px, para lo cuál, añadimos una clase le damos estilos css
			jQuery("div#thumbSlider" + j + ", a#left" + j + ", a#right" + j).wrapAll("<div class='thumbs_wrapper' style='display: "+uiDisplay+"' id='ui"+j+"'><\/div>");
			
			//dentro del ul de las miniarutas va un título, que añadiremos en un li para integrarlo con el resto de miniaturas
			jQuery("div#thumbSlider" + j + " ul").prepend("<li id='thumbs_tit_txt'><p style='margin:0;padding-right:8px;'>Todos pueden firmar y verificar:</p></li>");
			
			//creamos un div alrededor de los dos slider, el grande y el de las miniaturas y del div con los títulos #div_cont_slider_tit
			//el script original incluye la j en el sufijo de los divs porque puede haber varios sliders en la página
			//en el caso del div para el título, se ha creado directamente en el html; para permitir varios sliders, habría que crearlo dinámicamente
			//y ajustar los selectores.
			//El ancho de este div en el script original se fija en función del ancho de las imágenes. 
			//En nuestro caso es más ancho para incluir la imagen + el título = 774px, que se dará con la hoja de css
			/*
			jQuery("div#svwp"+ j + ", div#ui" + j).wrapAll("<div id='cont_slider' style='width:"+ pictWidth +"px'><\/div>");
			*/
			jQuery("div#svwp"+ j + ", div#ui" + j + ", div#cont_slider_tit").wrapAll("<div id='cont_slider'><\/div>");
			});
		
			//en el slider original el contenedor de las miniaturas no puede ser mayor que el de las imágenes
			//solo efectuamos la comparación si las miniaturas aparecen en un slider
			if (settings.sliderThumbs == true) 
			{
			(jQuery("div#thumbSlider" + j).width()+(settings.buttonsWidth*2) >= pictWidth)? alert("ALERT: THE THUMBNAILS SLIDER IS TOO WIDE! \nthumbsPercentReduction and/or buttonsWidth needs to be scaled down!") : null;
			}
		j++;

  });	
};
