PageSourceSearch

https://lcu.edu.ng/modules/mod_image_show_gk4/styles/gk_university/engine.js

js lcu.edu.ng collected 2026-10-02 10:27:10 UTC 6,183 bytes, 187 lines download raw bytes

1window.addEvent("load",function(){
2	setTimeout(function() {
3	    $$(".gkIsWrapper-gk_university").each(function(el){
4	        var elID = el.getProperty("id");
5	        var wrapper = document.id(elID);
6	        var $G = $Gavick[elID];
7	        var slides = [];
8	        var links = [];
9	        var imagesToLoad = [];
10	        var swipe_min_move = 30;
11	        var swipe_max_time = 500;
12	        // animation variables
13	        $G['animation_timer'] = false;
14	        // blank flag
15	        $G['blank'] = false;
16	        // load the images
17	        wrapper.getElements('figure').each(function(el,i){
18	            var newImg = new Element('img',{
19	                "title": el.getProperty('data-title'),
20	                "class": 'gkIsSlide',
21	                "style": 'z-index: ' + el.getProperty('data-zindex') + ';',
22	                "src": el.getProperty('data-url')
23	            });
24	            links[i] = el.getProperty('data-link');
25	            imagesToLoad.push(newImg);
26	            newImg.inject(el, 'top');
27	        });
28	        //
29	        var time = setInterval(function(){
30	            var process = 0;                
31	            imagesToLoad.each(function(el,i){
32	                if(el.complete) process++;
33	            });
34	            
35	            if(process == imagesToLoad.length){
36	                clearInterval(time);
37					
38					wrapper.getElements('figure').each(function(fig, i) {
39						var img = fig.getElement('img');
40						var newDiv = new Element('div', {
41							'class': 'gkIsSlide',
42							'style': img.getProperty('style'),
43							'title': img.getProperty('title')
44						});
45						newDiv.setStyle('background-image', "url('" + img.getProperty('src') + "')");
46						fig.setStyle('opacity', 0);
47						newDiv.inject(img, 'before');
48						img.dispose();
49					});
50					
51	                setTimeout(function(){
52	        			wrapper.addClass('loaded');
53	        			wrapper.getElement('.gkIsPreloader').set('tween', { duration: 'long' });
54	        			wrapper.getElement('.gkIsPreloader').tween('opacity', 0);
55        				
56        				wrapper.getElements('figure').each(function(fig, i) {
57        					fig.setStyle('opacity', 1);
58        				});
59        				
60        				setTimeout(function() {
61        					wrapper.getElement('.gkIsPreloader').dispose();
62        				}, 1000);
63        				
64        				wrapper.getElement('figure').setStyle('opacity', 1);
65        				wrapper.getElement('figure').addClass('active');
66        				
67        				if(
68        					wrapper.getProperty('data-one-slide') != 'true' &&
69        					wrapper.getElement('figure').getElement('figcaption')
70        				) {
71        					wrapper.getElement('figure').getElement('.gkProgressBar').addClass('active');
72        				}
73	        		}, 400);
74	        		
75        		    $G['actual_slide'] = 0;
76        		    
77        		    wrapper.getElements(".gkIsSlide").each(function(elmt,i){
78        		        slides[i] = elmt;
79        		    });
80        		    
81        		    setTimeout(function() {
82        		        var initfig = slides[0].getParent().getElement('figcaption');
83        		        if(initfig) {
84        		        	initfig.set('morph', { duration: 250, unit: '%' });
85        		        	
86    		        		initfig.morph({
87    		        			'opacity': [0, 1]
88    		        		});
89        		        }
90        		    }, 250);
91        		    
92        		    if($G['slide_links']){
93        		        wrapper.getElements('.gkIsSlide').addEvent("click", function(e){ 
94        		            window.location = links[$G['actual_slide']]; 
95        		        });
96        		        wrapper.getElements('.gkIsSlide').setStyle('cursor', 'pointer');
97        		    }
98        		    
99        		    // auto-animation	
100        		    if(wrapper.getProperty('data-one-slide') != 'true') {                	
101    		    		$G['animation_timer'] = setTimeout(function() {
102    		    			gk_university_autoanimate($G, wrapper, 'next', null);
103    		    		}, $G['anim_interval']);
104    		    	}
105	            }
106	        }, 500);
107	    });
108    }, 1000);
109});
110
111var gk_university_animate = function($G, wrapper, imgPrev, imgNext) {	
112	var prevfig = imgPrev.getElement('figcaption');
113	//
114	if(prevfig) {
115		prevfig.set('morph', { duration: 150, unit: '%' });
116		prevfig.morph({
117			'opacity': [1, 0]
118		});
119	}
120	//
121	imgNext.setProperty('class', 'animated');
122	//imgPrev.fade('out');
123	setTimeout(function() {
124		new Fx.Tween(imgPrev, {
125			duration: $G['anim_speed'],
126			onComplete: function() {
127				imgPrev.setProperty('class', '');
128				if(imgPrev.getElement('.gkProgressBar')) {
129					imgPrev.getElement('.gkProgressBar').removeClass('active');
130				}
131			}
132		}).start('opacity', 0);
133	}, $G['anim_speed'] / 2);
134	
135	new Fx.Tween(imgNext, {
136		duration: $G['anim_speed'],
137		onComplete: function() {			
138			imgNext.setProperty('class', 'active');
139			var nextfig = imgNext.getElement('figcaption');
140			if(nextfig) {
141				nextfig.set('morph', { duration: 150, unit: '%' });
142				
143				nextfig.morph({
144					'opacity': [0, 1]
145				});
146			}
147
148			clearTimeout($G['animation_timer']);
149			
150			if(!(
151	    		wrapper.getProperty('data-no-loop') == 'true' && 
152	    		$G['actual_slide'] == wrapper.getElements('figure').length - 1
153	    	)) {
154				$G['animation_timer'] = setTimeout(function() {
155					if($G['blank']) {
156						$G['blank'] = false;
157						clearTimeout($G['animation_timer']);
158						
159						$G['animation_timer'] = setTimeout(function() {
160							gk_university_autoanimate($G, wrapper, 'next', null);
161						}, $G['anim_interval']);
162					} else {
163						gk_university_autoanimate($G, wrapper, 'next', null);
164					}
165				}, $G['anim_interval']);
166	    	} else {
167	    		setTimeout(function() {
168		    		if(wrapper.getElement('figure')) {
169		    			wrapper.getElements('.gkProgressBar').getParent().fade('out');
170		    		}
171	    		}, $G['anim_interval']);
172	    	}
173		} 
174	}).start('opacity', 1);
175}; 
176
177var gk_university_autoanimate = function($G, wrapper, dir, next) {
178	var i = $G['actual_slide'];
179	var imgs = wrapper.getElements('figure');
180	
181	if(next == null) {
182		next = (dir == 'next') ? ((i < imgs.length - 1) ? i+1 : 0) : ((i == 0) ? imgs.length - 1 : i - 1); // dir: next|prev
183	}
184	
185	gk_university_animate($G, wrapper, imgs[i], imgs[next]);
186	$G['actual_slide'] = next;
187};

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.