PageSourceSearch

https://www.estanciawines.com/assets/javascripts/jquery.product.slider.js

js estanciawines.com collected 2026-10-08 23:34:12 UTC 10,540 bytes, 251 lines download raw bytes

1var bubArray = new Array();
2var bubNum;
3var bubNumDesktop = 5;
4var bubNumMobile = 3;
5var mobileWidth = 768;
6var bubLength;
7var bubWidth;
8var pageWidth;
9var sliderIsMobile;
10var sidebarMenuOn;
11var feedbackArray;
12var sliderBusy;
13
14function drawBubbles2(offset) {
15    jQuery('.bubble-group .bubble').attr('style','');
16    jQuery('.bubble-group .bubble').remove().promise().done(function() {
17	for(i=0;i<(bubNum+2);i++) {
18	    jQuery('.bubble-group').append(bubArray[i]);
19	    if (pageWidth > mobileWidth) {
20		if (i === 0) {
21		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(-200%) translateY(0) scale(0.25,0.25)');
22		};
23		if (i === 1) {		
24		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(0%) translateY(0%) scale(1,1)');
25		}
26		if (i === 2) {		
27		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(-6%) translateY(0%) scale(1.2,1.2)');
28		}
29		if (i === 3) {		
30		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(0) translateY(0%) scale(1.5,1.5)');
31		}
32		if (i === 4) {		
33		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(6%) translateY(0%) scale(1.2,1.2)');
34		}
35		if (i === 5) {		
36		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(0%) translateY(0%) scale(1,1)');
37		}
38		if (i === (bubNum + 1)) {
39		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(200%) translateY(0) scale(0.25,0.25)');
40		};
41	    } else {
42		if (i === 0) {
43		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(-200%) translateY(0) scale(0.25,0.25)');
44		};
45		if (i === 1) {		
46		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(0%) translateY(0%) scale(1.2,1.2)');
47		}
48		if (i === 2) {		
49		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(0%) translateY(0%) scale(1.5,1.5)');
50		}
51		if (i === 3) {		
52		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(0%) translateY(0%) scale(1.2,1.2)');
53		}
54		if (i === (bubNum + 1)) {
55		    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(200%) translateY(0) scale(0.25,0.25)');
56		};
57	    }
58	    jQuery('#bubbles-cont .bubble').each(function() {
59		jQuery(this).css('width', bubWidth + '%');
60	    });
61	};
62    });
63};
64
65function relaxBubbles() {
66    if (!sliderIsMobile) {
67        jQuery('.bubble-group .bubble:nth-child(2)').css('transform','translateX(0%) translateY(0%) scale(1,1)');
68        jQuery('.bubble-group .bubble:nth-child(3)').css('transform','translateX(-6%) translateY(0%) scale(1.2,1.2)');
69        jQuery('.bubble-group .bubble:nth-child(4)').css('transform','translateX(0) translateY(0%) scale(1.5,1.5)');
70        jQuery('.bubble-group .bubble:nth-child(5)').css('transform','translateX(6%) translateY(0%) scale(1.2,1.2)');
71        jQuery('.bubble-group .bubble:nth-child(6)').css('transform','translateX(0%) translateY(0%) scale(1,1)');
72    } else {
73	jQuery('.bubble-group .bubble:nth-child(2)').css('transform','translateX(0%) translateY(0%) scale(1.2,1.2)');
74	jQuery('.bubble-group .bubble:nth-child(3)').css('transform','translateX(0%) translateY(0%) scale(1.5,1.5)');
75	jQuery('.bubble-group .bubble:nth-child(4)').css('transform','translateX(0%) translateY(0%) scale(1.2,1.2)');
76    }
77    jQuery('#bubbles-cont .bubble').each(function() {
78	jQuery(this).css('width', bubWidth + '%');
79    });
80}
81
82function drawBubbles(direction) {
83    jQuery('.bubble-group .bubble').css('transition','none');
84    if (direction == 'right') {
85        jQuery('.bubble-group .bubble:first-child').remove();
86        jQuery('.bubble-group').append(bubArray[bubNum + 1]);
87    } else {        
88        jQuery('.bubble-group .bubble:last-child').remove();
89        jQuery('.bubble-group').prepend(bubArray[0]);
90        jQuery('.bubble-group .bubble').css('transform','translateX(0%)');
91    }
92    relaxBubbles();
93    jQuery('.bubble-group .bubble:last-child').css('transform','translateX(200%) scale(0.25,0.25)');
94    jQuery('.bubble-group .bubble:first-child').css('transform','translateX(-200%) scale(0.25,0.25)');
95    setTimeout(function() {
96        jQuery('.bubble-group .bubble').css('transition','');
97        sliderBusy = false;
98    }, 50);
99};
100
101
102function initBubbles(numBubbles,init=true) {   // number of visible bubbles
103    bubNum = numBubbles;
104
105    jQuery('#bubbles-cont .bubble').each(function() {
106	if (init) {
107	    bubArray.push(jQuery(this).prop('outerHTML'));
108	}
109	jQuery(this).remove();
110    }).promise().done(function() {
111	bubLength = bubArray.length;
112	if (bubLength < 3 || (bubLength - bubNum) < 2) {
113	    bubArray = bubArray.concat(bubArray,bubArray);
114	}
115	if (bubLength < bubNum) {
116	    bubNum = bubLength;
117	}
118	bubWidth = 100 / (bubNum + 2);
119    });
120    drawBubbles2(bubWidth);
121    setTimeout(function() {
122	jQuery('.bubble-group').css('opacity',1);
123    }, 350);
124};
125
126
127function preload(arrayOfImages) {
128    jQuery(arrayOfImages).each(function(){
129        jQuery('<img/>')[0].src = this;
130    });
131}
132
133jQuery(document).ready(function(){
134
135
136    feedbackArray.sort(function (a, b) {
137        return a[11].localeCompare(b[11]);
138    });
139
140    if (feedbackArray != undefined) {
141        if (jQuery(document).outerWidth() > mobileWidth) {
142            feedbackArray.unshift(feedbackArray.pop());
143            feedbackArray.unshift(feedbackArray.pop());
144            feedbackArray.unshift(feedbackArray.pop());
145        } else {
146            feedbackArray.unshift(feedbackArray.pop());
147            feedbackArray.unshift(feedbackArray.pop());
148        }
149    }
150
151    jQuery('.bubble-nav.bn-right').on('click',(function() {
152        if (!sliderBusy) {
153            sliderBusy = true;
154	    if (!sliderIsMobile) {
155	        jQuery('.bubble-group .bubble:nth-child(7)').css('transform','translateX(-100%) translateY(0) scale(1,1)');
156	        jQuery('.bubble-group .bubble:nth-child(6)').css('transform','translateX(-94%) translateY(0) scale(1.2,1.2)');
157	        jQuery('.bubble-group .bubble:nth-child(5)').css('transform','translateX(-100%) translateY(0) scale(1.5,1.5)');
158	        jQuery('.bubble-group .bubble:nth-child(4)').css('transform','translateX(-106%) translateY(0) scale(1.2,1.2)');
159	        jQuery('.bubble-group .bubble:nth-child(3)').css('transform','translateX(-100%) translateY(0) scale(1,1)');
160	        jQuery('.bubble-group .bubble:nth-child(2)').css('transform','translateX(-200%) translateY(0) scale(0.25,0.25)');
161	    } else {
162	        jQuery('.bubble-group .bubble:nth-child(5)').css('transform','translateX(-100%) translateY(0) scale(1.2,1.2)');
163	        jQuery('.bubble-group .bubble:nth-child(4)').css('transform','translateX(-100%) translateY(0) scale(1.5,1.5)');
164	        jQuery('.bubble-group .bubble:nth-child(3)').css('transform','translateX(-100%) translateY(0) scale(1.2,1.2)');
165	        jQuery('.bubble-group .bubble:nth-child(2)').css('transform','translateX(-200%) translateY(0) scale(0.25,0.25)');
166	    }
167	    setTimeout(function() {
168	        bubArray.push(bubArray.shift());
169	        drawBubbles('right');
170	    }, 350);  // must be set according to transition value in css
171        }
172    }));
173
174    jQuery('.bubble-nav.bn-left').on('click',(function() {
175        if (!sliderBusy) {
176            sliderBusy = true;
177	    if (!sliderIsMobile) {
178	        jQuery('.bubble-group .bubble:nth-child(1)').css('transform','translateX(100%) translateY(0) scale(1,1)');
179	        jQuery('.bubble-group .bubble:nth-child(2)').css('transform','translateX(94%) translateY(0) scale(1.2,1.2)');
180	        jQuery('.bubble-group .bubble:nth-child(3)').css('transform','translateX(100%) translateY(0) scale(1.5,1.5)');
181	        jQuery('.bubble-group .bubble:nth-child(4)').css('transform','translateX(106%) translateY(0) scale(1.2,1.2)');
182	        jQuery('.bubble-group .bubble:nth-child(5)').css('transform','translateX(100%) translateY(0) scale(1,1)');
183	        jQuery('.bubble-group .bubble:nth-child(6)').css('transform','translateX(200%) translateY(0) scale(0.25,0.25)');
184	    } else {
185	        jQuery('.bubble-group .bubble:nth-child(1)').css('transform','translateX(100%) translateY(0) scale(1.2,1.2)');
186	        jQuery('.bubble-group .bubble:nth-child(2)').css('transform','translateX(100%) translateY(0) scale(1.5,1.5)');
187	        jQuery('.bubble-group .bubble:nth-child(3)').css('transform','translateX(100%) translateY(0) scale(1.2,1.2)');
188	        jQuery('.bubble-group .bubble:nth-child(4)').css('transform','translateX(200%) translateY(0) scale(0.25,0.25)');
189	    }	    
190	    setTimeout(function() {
191	        bubArray.unshift(bubArray.pop());
192	        drawBubbles('left');
193	    }, 350);  // must be set according to transition value in css
194        }
195    }));
196
197
198    jQuery.each(feedbackArray,function(index) {
199	var mvFeedEl = '<div id="product-slide-' + feedbackArray[index][4] + '" class="bubble"><a href="' + feedbackArray[index][10] + '"><div class="section-item-container"><div class="img-cont"><img class="product-image" src="' + feedbackArray[index][0] + '" alt="' + feedbackArray[index][1] + '"></div><div class="product-accolade-text">';
200
201	if (feedbackArray[index][8]) {
202		mvFeedEl += '<div class="accolade-heading">' + feedbackArray[index][8] + '</div><div class="accolade-subheading">' + feedbackArray[index][9] + '</div>';
203	}
204	    // mvFeedEl += '</div><div class="product-text"><p class="center-all">' + feedbackArray[index][7]  + '</p><div class="product-link"><div class="nav-icon"></div><div class="section-heading product-heading product-learn-more">Learn More</div></div></div></div></a></div>';
205        jQuery('.bubble-group').append(mvFeedEl);
206
207    });
208
209    var imagesPreloadArray = new Array();
210    jQuery.each(feedbackArray,function(index) {
211        imagesPreloadArray.push(feedbackArray[index][0]);
212    });
213
214    preload(imagesPreloadArray);
215
216    pageWidth = jQuery(window).width();
217
218    if (pageWidth <= mobileWidth) {
219	initBubbles(bubNumMobile);
220	sliderIsMobile = true;
221    } else if (pageWidth > mobileWidth) {
222	initBubbles(bubNumDesktop);
223	sliderIsMobile = false;
224    }
225
226    jQuery(window).resize(function() {
227	pageWidth = jQuery(window).width();
228
229	if (pageWidth <= mobileWidth) {
230
231
232	    if (!sliderIsMobile) {
233                bubArray.push(bubArray.shift());
234		initBubbles(bubNumMobile,false);
235		sliderIsMobile = true;
236		jQuery(window).trigger('slider:isMobile');
237	    }
238	} else if (pageWidth > mobileWidth) {
239
240
241	    if (sliderIsMobile) {
242                bubArray.unshift(bubArray.pop());
243		initBubbles(bubNumDesktop,false);
244		sliderIsMobile = false;
245		jQuery(window).trigger('slider:notMobile');
246	    }
247	}
248
249    });
250
251});

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.