1 2 3(function($){ 4 5 var AdSpaces = function(element, options) 6 { 7 var elem = $(element); 8 var obj = this; 9 var settings = $.extend({}, options.defaults, options.current); 10 11 var interval; 12 var animation = {speed: 1000, delay: (settings.animationTime * 1000)}; 13 var item = {}; 14 15 var adSpacesInit = function(){ 16 var container = elem.find('div.elm-advertisment-spaces-container'); 17 item.count = container.children().length; 18 var height = adSpacesHeight(); 19 container.css({'height': height}); 20 container.css({'visibility' : 'visible'}); 21 }; 22 23 var adSpacesMoveAuto = function(){ 24 if(item.count > 1){ 25 adSpacesMove('next'); 26 } 27 }; 28 29 var adSpacesMove = function(direction){ 30 var container = elem.find('div.elm-advertisment-spaces-container'); 31 item.count = container.children().length; 32 item.current = container.find('div.active'); 33 item.currentIndex = parseInt(item.current.index()+1); 34 35 switch(direction){ 36 case 'next': 37 var nextItemIndex = 0; 38 if(item.currentIndex == item.count){ 39 nextItemIndex = 1; 40 } else { 41 nextItemIndex = item.currentIndex + 1; 42 } 43 container.find('div.adSpace-'+item.currentIndex).removeClass('active').fadeOut(parseInt(animation.speed/2)); 44 container.find('div.adSpace-'+nextItemIndex).addClass('active').fadeIn(parseInt(animation.speed)); 45 break; 46 case 'prev': 47 var prevItemIndex = 0; 48 if(item.currentIndex == 1){ 49 prevItemIndex = item.count; 50 } else { 51 prevItemIndex = item.currentIndex - 1; 52 } 53 container.find('div.adSpace-'+item.currentIndex).removeClass('active').fadeOut(parseInt(animation.speed/2)); 54 container.find('div.adSpace-'+prevItemIndex).addClass('active').fadeIn(parseInt(animation.speed)); 55 break; 56 } 57 }; 58 59 var adSpacesPlay = function(){ 60 interval = setInterval(function(){ 61 adSpacesMoveAuto(); 62 }, animation.delay); 63 }; 64 65 var adSpacesStop = function(){ 66 clearInterval(interval); 67 }; 68 69 var adSpacesHover = function(){ 70 elem.hover(function(){ 71 adSpacesStop(); 72 }, function(){ 73 adSpacesPlay(); 74 }); 75 }; 76 77 var adSpacesHeight = function(){ 78 var height = 0; 79 var container = elem.find('div.elm-advertisment-spaces-container'); 80 container.children('div.advertisment-space').each(function(){ 81 if(jQuery(this).height() > height){ 82 height = jQuery(this).height(); 83 } 84 }); 85 return height; 86 }; 87 88 $(window).resize(function(){ 89 var container = elem.find('div.elm-advertisment-spaces-container'); 90 var height = adSpacesHeight(); 91 container.css({'height': height}); 92 }); 93 94 adSpacesInit(); 95 96 adSpacesHover(); 97 98 adSpacesPlay(); 99 100 elem.find('.loading').fadeOut('fast'); 101 102 }; 103 104 $.fn.adSpaces = function(options){ 105 return this.each(function(){ 106 var element = $(this); 107 if (element.data('adSpaces')) return; 108 109 var adSpaces = new AdSpaces(this, options); 110 element.data('adSpaces', adSpaces); 111 }); 112 }; 113})(jQuery);
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.