PageSourceSearch

https://www.truckstopsandservices.com/scripts/scrollers.js

js truckstopsandservices.com collected 2026-10-04 02:48:34 UTC 10,809 bytes, 281 lines download raw bytes

1// modified for TruckStopsAndServices.com ... Do NOT Copy!
2var infiniteScroll = new Class({
3	Implements: [Options],
4
5	options: {
6		'backdiv': 		'',
7		'forwarddiv': 		'',
8		'scrollholder': 	'',
9		'scrolls_selector': 	'',
10		'size': 		960,
11		'leftortop': 		'left',
12		'fade': 		true,
13		'fadeamt':	 	0.3,
14		'transition': 		'sine:in:out', //linear, quad, cubic, quart, quint, pow, expo, circ, sine, back, bounce, elastic
15		'transitiontime': 	750,
16		'watitime':		2000
17	},
18	'classtimer':null,
19	'ismoving': false,
20	'count': 0,
21	initialize: function(options) {
22		this.setOptions(options);
23		if(this.options.backdiv){
24			this.count = $$(this.options.scrolls_selector).length;
25			if(this.count > 1){
26				for(var i=1;i<=this.count;i++){
27					new Element('a',{'href':'#','id':'control_'+i,'class':((i == 1) ? this.options.activeclassname : this.options.inactiveclassname),'text':' '}).inject(this.options.controlsholder);
28				}
29				this.options.backdiv.setStyle('display','block');
30				this.options.forwarddiv.setStyle('display','block');
31				var counter = 0;
32				$$(this.options.scrolls_selector).each(function(el){
33					el.setStyle(this.options.leftortop,(this.options.size*counter));
34					el.setStyle('display','block');
35					counter++;
36					if(counter == this.count){
37						el.clone().inject(this.options.scrollholder.getFirst(this.options.scrolls_selector),'before').setStyle(this.options.leftortop,(this.options.size*-1));
38					}
39				},this);
40				this.options.forwarddiv.addEvent('click',this.moveforward.bind(this,1));
41				this.options.backdiv.addEvent('click',this.movebackward.bind(this,1));
42			}
43		}
44		else{
45			this.count = $$(this.options.scrolls_selector).length;
46			if(this.count > 1){
47				var counter = 0;
48				$$(this.options.scrolls_selector).each(function(el){
49					el.setStyle(this.options.leftortop,(this.options.size*counter));
50					el.setStyle('display','block');
51					counter++;
52					if(counter == this.count){
53						el.clone().inject(this.options.scrollholder.getFirst(this.options.scrolls_selector),'before').setStyle(this.options.leftortop,(this.options.size*-1));
54					}
55				},this);
56				this.classtimer = function(ev){
57					this.moveforward(1,false);
58				}.periodical(this.options.waittime,this);
59			}
60		}
61
62	},
63	moveforward: function(number){
64		if(this.ismoving == false){
65			this.ismoving = true;
66			var x = 1;
67			var counter = 0;
68			$$(this.options.scrolls_selector).each(function(el){
69				var newFX = new Fx.Tween(el,{	'transition':this.options.transition,'duration':this.options.transitiontime	}).start(this.options.leftortop,(el.getStyle(this.options.leftortop).toInt()-(this.options.size*number)));
70				if(this.options.fade == true && (el.getStyle(this.options.leftortop).toInt()-(this.options.size*number)) != this.options.size*2){
71					el.fade(this.options.fadeamt);
72					(function(){
73						el.getFirst().morph({'maxWidth':130});
74					}).delay(100);
75				}
76				else if(this.options.fade == true){
77					el.fade('in');
78					(function(){
79						el.getFirst().morph({'maxWidth':180});
80					}).delay(100);
81				}
82				newFX.addEvent('complete',function(){
83					(function(){
84						var last = 0;
85						$$(this.options.scrolls_selector).each(function(el){
86							last = Math.max(last,el.getStyle(this.options.leftortop).toInt());
87							if(counter == 0){
88								el.dispose();
89							}
90							counter++;
91						}.bind(this));
92						(function(){
93							if(x <= number){
94								this.options.scrollholder.getFirst(this.options.scrolls_selector).clone().inject(this.options.scrollholder.getLast(this.options.scrolls_holder),'after').setStyle(this.options.leftortop,(last+(x*this.options.size)));
95								if(x != number){
96									this.options.scrollholder.getFirst(this.options.scrolls_holder).dispose();
97								}
98							}
99							x++;
100							this.ismoving = false;
101						}.bind(this)).delay(this.options.transitiontime/5*2);
102					}.bind(this)).delay(this.options.transitiontime/10);
103				}.bindWithEvent(this));
104			},this);
105		}
106		return false;
107	},
108	movebackward: function(number){
109		if(this.ismoving == false){
110			this.ismoving = true;
111			var counter = 0;
112			var first = this.options.size;
113			$$(this.options.scrolls_selector).each(function(el){
114				first = Math.min(first,el.getStyle(this.options.leftortop).toInt());
115				if(counter == this.count){
116					el.dispose();
117				}
118				counter++;
119			},this);
120			for(var x=1;x<=number;x++){
121				this.options.scrollholder.getLast(this.options.scrolls_selector).clone().inject(this.options.scrollholder.getFirst(this.options.scrolls_selector),'before').setStyle(this.options.leftortop,(first-(this.options.size*(x))));
122				if(x != (number)){
123					this.options.scrollholder.getLast(this.options.scrolls_selector).dispose();
124				}
125			}
126			$$(this.options.scrolls_selector).each(function(el){
127				var newFX = new Fx.Tween(el,{	'transition':this.options.transition,'duration':this.options.transitiontime	}).start(this.options.leftortop,(el.getStyle(this.options.leftortop).toInt()+(this.options.size*number)));
128				if(this.options.fade == true && (el.getStyle(this.options.leftortop).toInt()+(this.options.size*number)) != 0){
129					el.fade(this.options.fadeamt);
130				}
131				else if(this.options.fade == true){
132					el.fade('in');
133				}
134				newFX.addEvent('complete',function(){
135					this.ismoving = false;
136				}.bindWithEvent(this));
137			},this);
138		}
139		return false;
140	}
141});
142
143var infiniteScroll2 = new Class({
144	Implements: [Options],
145
146	options: {
147		'backdiv': 		'',
148		'forwarddiv': 		'',
149		'scrollholder': 	'',
150		'scrolls_selector': 	'',
151		'size': 		313,
152		'leftortop': 		'left',
153		'fade': 		true,
154		'fadeamt':	 	0.3,
155		'transition': 		'sine:in:out', //linear, quad, cubic, quart, quint, pow, expo, circ, sine, back, bounce, elastic
156		'transitiontime': 	750
157	},
158	'classtimer':null,
159	'ismoving': false,
160	'count': 0,
161	initialize: function(options) {
162		this.setOptions(options);
163		if(this.options.backdiv){
164			this.count = $$(this.options.scrolls_selector).length;
165			if(this.count > 1){
166				for(var i=1;i<=this.count;i++){
167					new Element('a',{'href':'#','id':'control_'+i,'class':((i == 1) ? this.options.activeclassname : this.options.inactiveclassname),'text':' '}).inject(this.options.controlsholder);
168				}
169				this.options.backdiv.setStyle('display','block');
170				this.options.forwarddiv.setStyle('display','block');
171				var counter = 0;
172				$$(this.options.scrolls_selector).each(function(el){
173					el.setStyle(this.options.leftortop,(this.options.size*counter));
174					el.setStyle('display','block');
175					counter++;
176					if(counter == this.count){
177						el.clone().inject(this.options.scrollholder.getFirst(this.options.scrolls_selector),'before').setStyle(this.options.leftortop,(this.options.size*-1));
178					}
179				},this);
180				this.options.forwarddiv.addEvent('click',this.moveforward.bind(this,1));
181				this.options.backdiv.addEvent('click',this.movebackward.bind(this,1));
182			}
183		}
184		else{
185			this.count = $$(this.options.scrolls_selector).length;
186			if(this.count > 1){
187				var counter = 0;
188				$$(this.options.scrolls_selector).each(function(el){
189					el.setStyle(this.options.leftortop,(this.options.size*counter));
190					el.setStyle('display','block');
191					counter++;
192					if(counter == this.count){
193						el.clone().inject(this.options.scrollholder.getFirst(this.options.scrolls_selector),'before').setStyle(this.options.leftortop,(this.options.size*-1));
194					}
195				},this);
196				this.classtimer = function(ev){
197					this.moveforward(1,false);
198				}.periodical(2000,this);
199			}
200		}
201
202	},
203	moveforward: function(number){
204		if(this.ismoving == false){
205			this.ismoving = true;
206			var x = 1;
207			var counter = 0;
208			$$(this.options.scrolls_selector).each(function(el){
209				var newFX = new Fx.Tween(el,{	'transition':this.options.transition,'duration':this.options.transitiontime	}).start(this.options.leftortop,(el.getStyle(this.options.leftortop).toInt()-(this.options.size*number)));
210				if(this.options.fade == true && (el.getStyle(this.options.leftortop).toInt()-(this.options.size*number)) != this.options.size*1){
211					el.fade(this.options.fadeamt);
212					(function(){
213						el.getFirst().morph({'maxWidth':74});
214					}).delay(100);
215				}
216				else if(this.options.fade == true){
217					el.fade('in');
218					(function(){
219						el.getFirst().morph({'maxWidth':104});
220					}).delay(100);
221				}
222				newFX.addEvent('complete',function(){
223					(function(){
224						var last = 0;
225						$$(this.options.scrolls_selector).each(function(el){
226							last = Math.max(last,el.getStyle(this.options.leftortop).toInt());
227							if(counter == 0){
228								el.dispose();
229							}
230							counter++;
231						}.bind(this));
232						(function(){
233							if(x <= number){
234								this.options.scrollholder.getFirst(this.options.scrolls_selector).clone().inject(this.options.scrollholder.getLast(this.options.scrolls_holder),'after').setStyle(this.options.leftortop,(last+(x*this.options.size)));
235								if(x != number){
236									this.options.scrollholder.getFirst(this.options.scrolls_holder).dispose();
237								}
238							}
239							x++;
240							this.ismoving = false;
241						}.bind(this)).delay(this.options.transitiontime/5*1);
242					}.bind(this)).delay(this.options.transitiontime/10);
243				}.bindWithEvent(this));
244			},this);
245		}
246		return false;
247	},
248	movebackward: function(number){
249		if(this.ismoving == false){
250			this.ismoving = true;
251			var counter = 0;
252			var first = this.options.size;
253			$$(this.options.scrolls_selector).each(function(el){
254				first = Math.min(first,el.getStyle(this.options.leftortop).toInt());
255				if(counter == this.count){
256					el.dispose();
257				}
258				counter++;
259			},this);
260			for(var x=1;x<=number;x++){
261				this.options.scrollholder.getLast(this.options.scrolls_selector).clone().inject(this.options.scrollholder.getFirst(this.options.scrolls_selector),'before').setStyle(this.options.leftortop,(first-(this.options.size*(x))));
262				if(x != (number)){
263					this.options.scrollholder.getLast(this.options.scrolls_selector).dispose();
264				}
265			}
266			$$(this.options.scrolls_selector).each(function(el){
267				var newFX = new Fx.Tween(el,{	'transition':this.options.transition,'duration':this.options.transitiontime	}).start(this.options.leftortop,(el.getStyle(this.options.leftortop).toInt()+(this.options.size*number)));
268				if(this.options.fade == true && (el.getStyle(this.options.leftortop).toInt()+(this.options.size*number)) != 0){
269					el.fade(this.options.fadeamt);
270				}
271				else if(this.options.fade == true){
272					el.fade('in');
273				}
274				newFX.addEvent('complete',function(){
275					this.ismoving = false;
276				}.bindWithEvent(this));
277			},this);
278		}
279		return false;
280	}
281});

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.