PageSourceSearch

https://www.alaskaaircargo.com/wp-content/plugins/cherry-parallax/js/cherry.parallax.js?ver=1.0.0

js alaskaaircargo.com collected 2026-10-04 13:25:39 UTC 16,929 bytes, 453 lines download raw bytes

1cherryIsotopeView_not_resizes = false;
2
3jQuery(document).ready(function($)
4{
5    parallax_box = $('section.parallax-box');
6    
7    if(parallax_box.length > 0)
8    {    
9        ParallaxBox();
10    }
11    
12    function ParallaxBox()
13    {
14        var windowSelector = $(window),
15            documentSelector = $(document),
16            windowWidth = windowSelector.width(),
17            windowHeight = windowSelector.outerHeight(),
18            liteMode = false,
19            ieVersion = getInternetExplorerVersion();
20            
21        if(!device.mobile() && !device.tablet())
22        {
23			liteMode = false;
24            
25            if (ieVersion !=-1 && ieVersion < 10){
26                liteMode = true;
27            }
28		}else{
29			liteMode = true;
30		}
31        
32        
33        parallax_box.each(function()
34        {
35           parallaxBox($(this));
36        });
37        
38        function parallaxBox(obj)
39        {   
40            var obj_bg = obj.find('.parallax-bg'),
41                type = obj_bg.data('parallax-type'),
42                obj_bg_inner,
43                img,
44                originalWidth = 0,
45                originalHeight = 0,
46                img_url = obj_bg.data('img-url'),
47                bufferRatio = obj_bg.data('speed'),
48                parallaxInvert = obj_bg.data('invert'),
49                fullwidth = obj_bg.data('fullwidth'),
50                mute = obj_bg.data('mute'),
51                parallaxType = 'parallax_normal',
52                objHeight = obj.height(),
53                objOffsetTop = obj.offset().top,
54                baseHeight = 0,
55                parallax = true;
56                notResize = false;
57            
58            switch (type)
59            {
60                case 'image':
61                    loadImg(); 
62                    
63                    break
64                    
65                case 'video':
66                    obj_bg_inner = $('.parallax_media', obj_bg);
67                    
68                    if(liteMode){
69                        obj_bg_inner.remove();
70                        loadImg();   
71                    } else {
72                        loadVideo();
73                    }
74                    
75                    break
76                
77                case 'youtube':
78                    obj_bg_inner = $('.parallax_youtube', obj_bg);
79                    
80                    if(liteMode){
81                        obj_bg_inner.remove();
82                        loadImg();   
83                    } else {
84                        loadYotubeVideo();
85                    }
86                    
87                    break
88                    
89                case 'vimeo':
90                    obj_bg_inner = $('.parallax_vimeo', obj_bg);
91                    
92                    if(liteMode){
93                        obj_bg_inner.remove();
94                        loadImg();   
95                    } else {
96                        loadVimeoVideo();
97                    }
98                    
99                    break
100            }
101            
102            function loadImg()
103            {
104                if(img_url)
105                {
106                    img = new Image();
107                    img.src = img_url;
108                    
109                    img.onload = function ()
110                    {
111                        originalWidth = img.width;
112                        originalHeight = img.height;
113                        
114                        imgBlocksStructure = !liteMode ? "<div class='parallax-img parallax-bg-inner'></div>" : "<img class='parallax-img parallax-bg-inner' src='' alt=''/>";
115                        obj_bg.append(imgBlocksStructure);
116                        obj_bg_inner = $('.parallax-img', obj_bg);
117                        
118                        if(!liteMode){
119                            obj_bg_inner.css('background-image', 'url(' + (img_url) + ')');
120                        } else { 
121                            obj_bg_inner.attr('src', img_url);
122                            bufferRatio = 'none';
123                        }
124                        
125                        initParallax();
126                    }
127                }
128            }
129            
130            function loadVideo()
131            {   
132                var videoElement = obj_bg_inner.get(0);
133                    
134                videoElement.load();
135                videoElement.play();
136                if(mute) videoElement.muted = true;
137                
138                originalWidth = videoElement.videoWidth;
139                originalHeight = videoElement.videoHeight;
140                    
141                if(img_url)
142                {
143                    img = new Image();
144                    img.src = img_url;
145                    
146                    img.onload = function ()
147                    {
148                        originalWidth = originalWidth==0 ? img.width : originalWidth;
149                        originalHeight = originalHeight==0 ? img.height : originalHeight;
150                        parallaxObjResize();
151                        objectResize(obj_bg_inner, obj_bg.width(), baseHeight, originalWidth, originalHeight);
152                    }
153                }
154                
155                videoElement.onloadeddata = function()
156                {
157                    originalWidth = videoElement.videoWidth;
158                    originalHeight = videoElement.videoHeight;
159                    parallaxObjResize();
160                    objectResize(obj_bg_inner, obj_bg.width(), baseHeight, originalWidth, originalHeight);
161                }
162                
163                initParallax();
164            }
165            
166            function loadYotubeVideo()
167            {
168                var youtube_id = obj_bg_inner.data('youtube-id');
169                
170                obj_bg_inner.attr('id', 'youtubeplayer'+obj.index());
171                check_youtube_api(yotubeRady);
172                
173                function yotubeRady()
174                {
175                    function onPlayerReady(event)
176                    {
177                        event.target.playVideo();
178                        if(mute) youtubePlayer.mute();
179                    } 
180                    
181                    originalWidth = 16;
182                    originalHeight = 9;
183                    
184                    initParallax();
185    
186                    var youtubePlayer = new YT.Player('youtubeplayer'+obj.index(), {
187                        height: '0px',
188                        width: '0px',
189                        playerVars : {
190                             'autoplay' : 1,
191                             'showinfo' : 0,
192                             'controls' : 0,
193                             'loop' : 1,
194                             'iv_load_policy' : 3,
195                             'modestbranding ' : 1,
196                             'disablekb' : 1, 
197                             'enablejsapi' : 1,
198                             'html5' : ieVersion != -1 ? 1 : 0,                                  
199                             'playlist': youtube_id
200                        },
201                        videoId: youtube_id,
202                        events: {
203                            'onReady': onPlayerReady
204                        }
205                    });
206                    
207                    obj_bg_inner = $('#youtubeplayer'+obj.index(), obj_bg);
208                }
209            }
210            
211            function loadVimeoVideo()
212            {
213                check_vimeo_api(vimeoRady);
214                
215                function vimeoRady()
216                {                    
217                    var vimeo_id = obj_bg_inner.data('vimeo-id'),
218                        vimeo_iframe,
219                        vimeo_player,
220                        vimeo_player_playstarted = false;
221                        
222                    base_vimeo_class = obj_bg_inner.attr('class');   
223                    obj_bg.html('<iframe id="vimeoplayer'+obj.index()+'" class="'+base_vimeo_class+'" src="http://player.vimeo.com/video/'+vimeo_id+'?api=1&player_id=vimeoplayer'+obj.index()+';autoplay=1&amp;loop=1" frameborder="0"></iframe>');
224                    obj_bg_inner = $('.parallax-bg-inner', obj_bg);
225                    
226                    vimeo_iframe = $('#vimeoplayer'+obj.index())[0];
227                    vimeo_player = $f(vimeo_iframe);
228                        
229                    vimeo_player.addEvent('ready', function()
230                    {
231                        if(mute) vimeo_player.api('setVolume', 0);
232                        vimeo_player.addEvent('playProgress', function()
233                        {
234                            vimeo_player.removeEvent('playProgress');
235                            
236                            originalWidth = 16;
237                            originalHeight = 9;
238                                
239                            initParallax();
240                        })
241                    });   
242                }
243            }
244            
245            function initParallax()
246            {
247                notResize = false;
248                
249                if(!parallaxInvert){
250                    parallaxType = 'parallax_normal';
251                } else {
252                    parallaxType = 'parallax_invert';
253                }
254                
255                switch (bufferRatio)
256                {
257                    case 'low':
258                        bufferRatio = 3;
259                        
260                        break
261                        
262                    case 'normal':
263                        bufferRatio = 2.25;
264                        
265                        break
266                        
267                    case 'hight':
268                        bufferRatio = 1.5;
269                        
270                        break
271                        
272                    case 'fixed':
273                        if(ieVersion != -1 || getSafari()){
274                            if(type != 'video'){
275                                parallax = false;
276                                notResize = true;
277                                obj_bg_inner.css({backgroundAttachment:'fixed', width:'100%', height:'100%'});
278                            } else {
279                                parallaxType = 'parallax_normal';
280                                bufferRatio = 2.25;
281                            }
282                        } else {
283                            parallaxType = 'parallax_fixes';
284                            bufferRatio = 1;
285                        }
286                        
287                        break
288                        
289                    case 'none':
290                        parallax = false;
291                        parallaxType = 'parallax_none';
292                        
293                        break
294                        
295                    default:
296                        bufferRatio = 2.25;
297                        
298                        if(bufferRatio > 5) bufferRatio = 5; 
299                        if(bufferRatio <= 1){
300                            if($.browser.msie){
301                                parallax = false;
302                                obj_bg_inner.css({backgroundAttachment:'fixed'});
303                            } else {
304                                parallaxType = 'parallax_fixes';
305                                bufferRatio = 1;
306                            }
307                        }
308                    
309                        break
310                }
311                
312                setTimeout(function(){obj_bg_inner.removeClass('load');}, 10);         
313                
314                windowSelector.resize(parallaxObjResize);
315                documentSelector.resize(parallaxObjResize);
316                parallaxObjResize();
317                
318                if(!liteMode) windowSelector.scroll(parallaxMove);
319            }
320            
321            function parallaxObjResize()
322            {
323                windowWidth = windowSelector.width();
324                windowHeight = windowSelector.outerHeight();
325            
326                objHeight = obj.height();
327                
328                if(fullwidth && !cherryIsotopeView_not_resizes)
329                {
330                    obj_bg.width(windowWidth);
331                    obj_bg.css({'width' : windowWidth, 'margin-left' : Math.floor(windowWidth*-0.5), 'left' : '50%'});
332                }
333                               
334                if(!notResize)
335                {
336                    baseHeight = getBaseHeight(parallaxType, objHeight, bufferRatio);
337                    objectResize(obj_bg_inner, obj_bg.width(), baseHeight, originalWidth, originalHeight);
338                }                
339                
340                if(!liteMode) parallaxMove();
341            }
342            
343            function parallaxMove()
344            {
345                if(parallax && !liteMode)
346                {    
347                     var documentScrollTop,
348                         startScrollTop,
349                         endScrollTop;
350         
351                     objOffsetTop = obj.offset().top;
352                     documentScrollTop = documentSelector.scrollTop();
353         
354                     startScrollTop = documentScrollTop + windowHeight;
355                     endScrollTop = documentScrollTop - objHeight;
356         
357                     if((startScrollTop > objOffsetTop) && (endScrollTop < objOffsetTop))
358                     {      
359                         y = documentScrollTop - objOffsetTop;
360                         
361                         if(!parallaxInvert) {
362                             newPositionTop =  parseInt(y / bufferRatio);
363                         } else {
364                             newPositionTop = -parseInt(y / bufferRatio) - parseInt(windowHeight / bufferRatio)
365                         }
366        
367                         obj_bg_inner.css({"transform": "translate3d(0px, " + newPositionTop + "px, 0px)"});  
368                     }
369                 } 
370            }
371        }
372        
373        function objectResize(obj, baseWidth, baseHeight, originalWidth, originalHeight )
374        {
375            var imageRatio,
376                originalWidth,
377                originalHeight,
378                newImgWidth,
379                newImgHeight,
380                newImgTop,
381                newImgLeft;
382    
383            imageRatio = originalHeight/originalWidth;
384            containerRatio = baseHeight/baseWidth;
385    
386            if(containerRatio > imageRatio){
387                newImgHeight = baseHeight;
388                newImgWidth = Math.round( (newImgHeight*originalWidth) / originalHeight );   
389            }else{
390                newImgWidth = baseWidth;
391                newImgHeight = Math.round( (newImgWidth*originalHeight) / originalWidth );
392            }
393    
394            newImgLeft=-(newImgWidth-baseWidth)*.5;
395            newImgTop= -(newImgHeight-baseHeight)*.5;
396            
397            obj.css({width: newImgWidth, height: newImgHeight, marginTop: newImgTop, marginLeft: newImgLeft});
398        }
399        
400        function getBaseHeight(parallaxType, objHeight, bufferRatio)
401        {
402            var newBaseHeight = 0;
403            
404            switch (parallaxType)
405            {
406                case 'parallax_normal':
407                    newBaseHeight = objHeight + parseInt((windowHeight - objHeight)/bufferRatio);             
408                    break
409                    
410                case 'parallax_invert':
411                    newBaseHeight = objHeight + parseInt((windowHeight + objHeight)/bufferRatio);
412                    break
413                    
414                case 'parallax_fixes':
415                    newBaseHeight = windowHeight;
416                    break
417                    
418                case 'parallax_none':
419                    newBaseHeight = objHeight;
420                    break
421            }
422            
423            return newBaseHeight;
424        }
425        
426        function getInternetExplorerVersion()
427        {                        
428            var rv = -1;
429            if (navigator.appName == 'Microsoft Internet Explorer')
430            {
431                var ua = navigator.userAgent;
432                var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
433                if (re.exec(ua) != null)
434                    rv = parseFloat( RegExp.$1 );
435            }
436            else if (navigator.appName == 'Netscape')
437            {
438                var ua = navigator.userAgent;
439                var re  = new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
440                                
441                if (re.exec(ua) != null)
442                    rv = parseFloat( RegExp.$1 );                                      
443            }
444            
445            return rv;
446        }
447        function getSafari(){
448            var safari = false;
449            if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0) safari = true;
450            return  safari;       
451        }
452    }
453});

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.