1(function($, undefined){ 2 3$.widget("custom.slick_custom",{ 4 options: {}, 5 _create: function(opts) { 6 var $objp=this.element; 7 this.options=$.extend(this.options,opts); 8 $objp.uniqueId(); 9 var nelems=($objp.attr("data-elems")?parseInt($objp.attr("data-elems"),10):1); 10 if(nelems>1 && $objp.attr('data-minElems')){ 11 var count=Math.max($objp.children('.crsl-item').length,parseInt($objp.attr('data-minElems'),10)); 12 if(count<nelems) nelems=count; 13 } 14 var opts={ 15 infinite: true, 16 lazyLoad: 'ondemand', 17 rows: ($objp.attr("rows")?parseInt($objp.attr("rows"),10):1), 18 slidesToShow: nelems, 19 slidesToShowMax: nelems, 20 pauseOnHover: false, 21 variableWidth: ($objp.attr("data-variableWidth")=="1"?true:false), 22 fade: ($objp.attr("data-fade")=="1"?true:false), 23 initialSlide: ($objp.children(".crsl-item.initial").length>0?parseInt($objp.children(".crsl-item.initial").eq(0).index(),10):0), 24 id: $objp.attr('id'), 25 speed:($objp.attr("speedScroll")?parseInt($objp.attr("speedScroll"),10):600), 26 prevArrow: '<div class="slick-prevp"><button type="button" data-role="none" class="slick-prev">Previous</button></div>', 27 nextArrow: '<div class="slick-nextp"><button type="button" data-role="none" class="slick-next">Next</button></div>' 28 }; 29 if($objp.attr("data-elemsScroll")) opts.slidesToScroll=parseInt($objp.attr("data-elemsScroll"),10); 30 else{ 31 opts.swipe=true; 32 opts.swipeToSlide=true; 33 } 34 if($objp.attr('data-autoRotate')){ 35 opts.autoplay=true; 36 opts.autoplaySpeed=parseInt($objp.attr('data-autoRotate'),10); 37 opts.pauseOnHover=true; 38 } 39 if($objp.attr('data-autoHeight')) opts.adaptiveHeight=true; 40 if($objp.attr('data-infinite') && $objp.attr('data-infinite')=="0") opts.infinite=false; 41 $objp.on('init', function(event,slider){ 42 var $this=slider.$slider; 43 slider.options.divDesc=$this.siblings('.crsl-desc'); 44 if(slider.options.divDesc.length==0 && $this.attr("data-divDesc")) slider.options.divDesc=$('#'+$this.attr("data-divDesc")); 45 slider.options.divPag=$this.siblings('.crsl-pag'); 46 if(slider.options.divPag.length==0 && $this.attr("data-divPag")) slider.options.divPag=$('#'+$this.attr("data-divPag")); 47 if($this.attr("data-adic")) slider.options.adicChange=$('#'+$this.attr("data-adic")); 48 if($this.attr("data-functionChange")) slider.options.functionChange=$this.attr("data-functionChange"); 49 slider.options.divProp=($this.attr('data-prop')?$this.attr('data-prop').split(","):[]); 50 slider.options.carouselMin=($this.attr("data-carouselMin")?parseInt($this.attr("data-carouselMin"),10):0); 51 slider.options.minWidth=($this.attr('data-minWidth')?parseInt($this.attr('data-minWidth'),10):0); 52 slider.options.minWidthClass=($this.attr('data-minWidthClass')?parseInt($this.attr('data-minWidthClass'),10):0); 53 slider.options.arrowsShow=($this.attr("data-arrowsShow")?parseInt($this.attr("data-arrowsShow"),10):0); 54 slider.options.sameHeight=($this.attr("data-sameHeight")?$this.attr("data-sameHeight"):''); 55 slider.options.autoRotateVisible=(slider.options.autoplay && $this.attr('data-autoRotateVisible')=="1"); 56 57 if($(this).siblings('.crsl-desc').length>0) $this.children('.draggable').append($(this).siblings('.crsl-desc')); 58 if($(this).siblings('.crsl-pag').length>0) $this.children('.draggable').append($(this).siblings('.crsl-pag')); 59 60 setTimeout(function(){playPauseVideo($this,"play");}, 1000); 61 resizePlayer(16/9); 62 63 if($(this).siblings('.slick-carousel-within').length>0){ 64 $this.children('.draggable').append($(this).siblings('.slick-carousel-within')); 65 $(window).on('resize',function() { 66 if(is_mobile()){ 67 if(!$this.var_mobile){ 68 $this.children('.draggable').children('.slick-carousel-within').each(function(){ 69 $(this).insertAfter($this); 70 }); 71 $this.var_mobile=true; 72 } 73 } 74 else{ 75 if($this.var_mobile){ 76 $this.siblings('.slick-carousel-within').each(function(){ 77 $this.children('.draggable').append($(this)); 78 }); 79 $this.var_mobile=false; 80 } 81 } 82 }); 83 } 84 85 var currentSlide=$(slider.$slides).filter('.initial'); 86 if(currentSlide.length==0) currentSlide=$(slider.$slides[0]) 87 $objp.change(slider,currentSlide); 88 89 if(slider.options.arrowsShow==1){ 90 slider.$prevArrow.css({ opacity: 0 }); 91 slider.$nextArrow.css({ opacity: 0 }); 92 var posArrows=[parseInt(slider.$prevArrow.css("left"),10),parseInt(slider.$nextArrow.css("right"),10)]; 93 $this.hover( function(){ 94 slider.$prevArrow.css({ left: (posArrows[0]-20) }).stop(true, true).animate({ left: posArrows[0]+'px', opacity: 1 }); 95 slider.$nextArrow.css({ right: (posArrows[1]-20) }).stop(true, true).animate({ right: posArrows[1]+'px', opacity: 1 }); 96 }, function(){ 97 slider.$prevArrow.animate({ left: (posArrows[0]-20)+'px', opacity: 0 }); 98 slider.$nextArrow.animate({ right: (posArrows[1]-20)+'px', opacity: 0 }); 99 }); 100 } 101 if(slider.options.arrowsShow==2){ 102 slider.$prevArrow.hide(); 103 slider.$nextArrow.hide(); 104 } 105 106 $this.find('.slick-list a').mousedown(function(event) { 107 slider.tempMousePosition=event.pageX+","+event.pageY; 108 }).mouseup(function(event) { 109 slider.options.moviendo=(slider.tempMousePosition!=event.pageX+","+event.pageY); 110 }); 111 $this.find('.slick-list a').on('click',function(event){ 112 if(slider.options.autoplay){ 113 slider.$list.unbind('mouseenter.slick').unbind('mouseleave.
113slick'); 114 slider.options.autoplay=false; 115 slider.options.pauseOnHover=false; 116 slider.autoPlayClear(); 117 } 118 if(!slider.options.moviendo) return; 119 event.preventDefault(); 120 event.stopPropagation(); 121 event.stopImmediatePropagation(); 122 }); 123 if(slider.options.autoRotateVisible){ 124 function scrollObj(){ 125 var docViewTop = $(window).scrollTop(); 126 var docViewBottom = docViewTop + $(window).height(); 127 var elemTop = $this.offset().top; 128 var elemBottom = elemTop + $this.height(); 129 var isVisible = (elemBottom >= docViewTop && elemTop <= docViewBottom); 130 if(isVisible){ 131 if(slider.recargaView){ 132 slider.slickPlay(); 133 slider.recargaView=false; 134 } 135 } 136 else{ 137 if(!slider.recargaView){ 138 slider.slickPause(); 139 slider.recargaView=true; 140 } 141 } 142 } 143 $(window).on('scroll',function(){ 144 if(slider.options.autoplay) scrollObj(); 145 }); 146 } 147 function resizePlayer(ratio) { 148 var iframes=$this.find('.embed-player'); 149 if (!iframes[0]) return; 150 var width = $this.width(), 151 playerWidth, 152 height = $this.height(), 153 playerHeight, 154 ratio = ratio || 16/9; 155 iframes.each(function(){ 156 var current = $(this); 157 if (width / ratio < height) { 158 playerWidth = Math.ceil(height * ratio); 159 current.width(playerWidth).height(height).css({left: (width - playerWidth) / 2, top: 0}); 160 } 161 else { 162 playerHeight = Math.ceil(width / ratio); 163 current.width(width).height(playerHeight).css({left: 0, top: (height - playerHeight) / 2}); 164 } 165 }); 166 } 167 function resizeObj(){ 168 if(slider.options.carouselMin>0){ 169 var id=$this.attr('id'); 170 var clase='unslick'; 171 if($this.outerWidth()<=slider.options.carouselMin){ 172 if(!$this.hasClass(clase)){ 173 if(slider.options.sameHeight!=''){ 174 var elem=slider.options.sameHeight; 175 $this.find('.slick-slide'+(elem!='1'?' '+elem:'')).css({ 'height': 'auto' }); 176 } 177 if(!window.slickOpts) window.slickOpts={}; 178 window.slickOpts[id]=slider.options; 179 $this.addClass(clase).slick("unslick"); 180 return; 181 } 182 } 183 else{ 184 if($this.hasClass(clase)) $this.removeClass(clase).slick(window.slickOpts[id]); 185 } 186 } 187 if(slider.options.minWidthClass>0){ 188 var clase='crsl-minWidth'; 189 var minWidthClass=slider.options.minWidthClass; 190 var firstObj=$this.find('.crsl-item').eq(0); 191 if(firstObj.width()<=minWidthClass){ 192 if(!firstObj.hasClass(clase)) $this.find('.crsl-item').addClass(clase); 193 } 194 else{ 195 if(firstObj.hasClass(clase)) $this.find('.crsl-item').removeClass(clase); 196 } 197 } 198 if(slider.options.minWidth>0){ 199 var $thisp=$this.find('.slick-list'); 200 var minWidth=slider.options.minWidth; 201 var elemsMin=Math.floor($thisp.width()/minWidth); 202 var elemsMax=slider.options.slidesToShowMax; 203 if(elemsMin>elemsMax) elemsMin=elemsMax; 204 if(elemsMin<1) elemsMin=1; 205 if(elemsMin!=slider.options.slidesToShow){ 206 slider.options.slidesToShow=elemsMin; 207 //slider.options.slidesToScroll=elemsMin; 208 slider.slickSetOption('slidesToScroll',elemsMin,true); 209 } 210 } 211 if(slider.options.sameHeight!=''){ 212 if($this.find('.slick-slide').length>0){ 213 var tallest=0; 214 var elem=slider.options.sameHeight; 215 $this.find('.slick-slide').each(function() { 216 var $elem=(elem!='1'?$(this).find(elem):$(this)); 217 $elem.css({ 'height': 'auto' }); 218 var height=$elem.height(); 219 if(height>tallest) tallest=height; 220 }); 221 if(tallest>0) $this.find('.slick-slide'+(elem!='1'?' '+elem:'')).css({ height: tallest+'px' }); 222 } 223 } 224 } 225 function resizeProp(){ 226 var prop=slider.options.divProp; 227 var modo=($this.closest('#carousel_mobiliario').hasClass('completo')?1:0); 228 $this.find('.slick-slide').each(function() { 229 var elem=$(this); 230 if(modo==1){ 231 var $thisp=elem.closest('#carousel_mobiliario'); 232 var alto=$thisp.height(); 233 alto=alto-$thisp.find('.plugin_fotografias_miniatura').height(); 234 elem.height(alto); 235 elem.width(alto*prop[0]/prop[1]); 236 if($thisp.width()<elem.width()){ 237 elem.width($thisp.width()); 238 elem.height(elem.width()*prop[1]/prop[0]); 239 } 240 var $img=elem.find('img.slick-img-fondo'); 241 if($img.length>0){ 242 var dims=[parseInt($img.attr('width'),10),parseInt($img.attr('height'),10)]; 243 var dims1=[elem.width(),elem.height()];
244 $img.height(dims1[1]); 245 $img.width(dims1[1]*(dims[0]/dims[1])); 246 $img.css({marginLeft:0, marginTop:0}); 247 elem.closest('.slick-carousel-p').css('margin','0px '+($thisp.width()-$img.width())/2+'px'); 248 } 249 $this.slick('setPosition'); 250 } 251 else{ 252 var ancho=elem.width(); 253 if(ancho==0){ 254 ancho=600; 255 elem.css('max-width',ancho); 256 } 257 elem.height(ancho*prop[1]/prop[0]); 258 var $img=elem.find('img.slick-img-fondo'); 259 if($img.length>0){ 260 var dims=[parseInt($img.attr('width'),10),parseInt($img.attr('height'),10)]; 261 var dims1=[elem.width(),elem.height()]; 262 $img.width(dims1[0]); 263 $img.height(dims1[0]*(dims[1]/dims[0])); 264 var marginLeft=0;//(dims1[0]-$img.width())/2; 265 var marginTop=(dims1[1]-$img.height())/2; 266 //if(elem.hasClass('slick-current')) console.log(dims1); 267 $img.css({marginLeft:marginLeft, marginTop:marginTop}); 268 } 269 } 270 }); 271 } 272 $(window).on("resize.slickVideoPlayer", function(){ 273 resizePlayer(16/9); 274 }); 275 $(window).on('resize',function() { 276 resizeObj(); 277 if(slider.options.divProp.length>0 && $this.find('.slick-slide').length>0){ 278 if(window.tiempoSlideProp) clearTimeout(window.tiempoSlideProp); 279 window.tiempoSlideProp=setTimeout(function(){ 280 resizeProp(); 281 }, 300); 282 } 283 }); 284 $(window).on('load',function() { 285 resizeObj(); 286 resizeProp(); 287 if(slider.options.autoRotateVisible) scrollObj(); 288 }); 289 }); 290 $objp.on("lazyLoaded", function(e, slick, image, imageSource) { 291 parentSlide = $(image).parent(".slick-slide"); 292 imageSource.src = image.attr("src"); 293 parentSlide.css("background-image", 'url("' + imageSource + '")').addClass("loaded"); 294 image.remove(); 295 }); 296 $objp.on('afterChange', function(event,slider,i){ 297 $objp.change(slider,$(slider.$slides[i])); 298 slick = $(slider.$slider); 299 playPauseVideo(slick,"play"); 300 }); 301 $objp.change=function(slider,slide){ 302 if(slide.prev('.crsl-item').length==0) $objp.find('.slick-prevp').hide(); 303 else $objp.find('.slick-prevp').show(); 304 if(slide.parent().children('.crsl-item.slick-active').last().next('.crsl-item').length==0) $objp.find('.slick-nextp').hide(); 305 else $objp.find('.slick-nextp').show(); 306 slider.options.divDesc.animate({opacity:1},300); 307 slider.options.divDesc.find('span').html(slide.find('.crsl-title').length>0?slide.find('.crsl-title').html():slide.attr('title')); 308 slider.options.divPag.find('span').html((slider.currentSlide+1)+'/'+slider.slideCount); 309 if(slider.options.adicChange){ 310 slider.options.adicChange.html(slide.find('.crsl-adic').html()); 311 } 312 if(slider.options.functionChange) window[slider.options.functionChange](slider); 313 } 314 $objp.on('beforeChange', function(event,slider,i){ 315 slider.options.divDesc.animate({opacity:0}
315,200); 316 slick = $(slider.$slider); 317 playPauseVideo(slick,"pause"); 318 }); 319 //$objp.on('init', function(event,slider,i){ 320 //}); 321 $objp.slick(opts); 322 }, 323 destroy: function() { 324 this.element.unslick(); 325 this.element.find('*').unbind(); 326 $.Widget.prototype.destroy.call(this); 327 } 328}); 329})(jQuery); 330 331// POST commands to YouTube or Vimeo API 332function postMessageToPlayer(player, command){ 333 if (player == null || command == null) return; 334 player.contentWindow.postMessage(JSON.stringify(command), "*"); 335} 336 337// When the slide is changing 338function playPauseVideo(slick, control){ 339 var currentSlide, slideType, startTime, player, video; 340 341 currentSlide = slick.find(".slick-current"); 342 slideType = currentSlide.attr("class").split(" ")[1]; 343 player = currentSlide.find("iframe").get(0); 344 startTime = currentSlide.data("video-start"); 345 346 if (slideType === "vimeo") { 347 switch (control) { 348 case "play": 349 if ((startTime != null && startTime > 0 ) && !currentSlide.hasClass('started')) { 350 currentSlide.addClass('started'); 351 postMessageToPlayer(player, { 352 "method": "setCurrentTime", 353 "value" : startTime 354 }); 355 } 356 postMessageToPlayer(player, { 357 "method": "play", 358 "value" : 1 359 }); 360 break; 361 case "pause": 362 postMessageToPlayer(player, { 363 "method": "pause", 364 "value": 1 365 }); 366 break; 367 } 368 } else if (slideType === "youtube") { 369 switch (control) { 370 case "play": 371 postMessageToPlayer(player, { 372 "event": "command", 373 "func": "mute" 374 }); 375 postMessageToPlayer(player, { 376 "event": "command", 377 "func": "playVideo" 378 }); 379 break; 380 case "pause": 381 postMessageToPlayer(player, { 382 "event": "command", 383 "func": "pauseVideo" 384 }); 385 break; 386 } 387 } else if (slideType === "video") { 388 video = currentSlide.children("video").get(0); 389 if (video != null) { 390 if (control === "play"){ 391 video.play(); 392 } else { 393 video.pause(); 394 } 395 } 396 } 397} 398 399$(document).ready(function(){ 400 $('.slick-carousel:not(.hidden)').slick_custom(); 401});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.