1(function ($) { 2 "use strict"; 3 4 // Sidebar header Expand on Mobile/Tablet 5 var expandWrap = $('.sidebar-layout'); 6 expandWrap.on('click', '.menu-icon', function(e){ 7 expandWrap.toggleClass('expand'); 8 e.stopPropagation() 9 }); 10 $(document).on('click',function(e){ 11 var withoutTA = $('.sidebar-header'); // Without Targeted/That Area 12 if(!withoutTA.is(e.target) && withoutTA.has(e.target).length === 0 ){ 13 expandWrap.removeClass('expand'); 14 } 15 16 }); 17 18 // STICKY ACTIVE 19 var activeSticky = $('#active-sticky'), 20 winD = $(window); 21 winD.on('scroll',function() { 22 var scroll = $(window).scrollTop(), 23 isSticky = activeSticky; 24 if (scroll < 115) { 25 isSticky.removeClass("is-sticky"); 26 } 27 else{ 28 isSticky.addClass("is-sticky"); 29 } 30 }); 31 32 // Accordion Menu 33 var $AccordianMenu = $('#accordianMenu a'); 34 $AccordianMenu.on('click',function() { 35 var link = $(this); 36 var closestUl = link.closest("ul"); 37 var parallelActiveLinks = closestUl.find(".active") 38 var closestLi = link.closest("li"); 39 var linkStatus = closestLi.hasClass("active"); 40 var count = 0; 41 42 closestUl.find("ul").slideUp(function() { 43 if (++count == closestUl.find("ul").length) 44 parallelActiveLinks.removeClass("active"); 45 }); 46 47 if (!linkStatus) { 48 closestLi.children("ul").slideDown(); 49 closestLi.addClass("active"); 50 } 51 }); 52 53 /* 54 RT Progress 55 ================================== */ 56 var rtMainElement = $('.rt-progress'); 57 rtMainElement.each(function() { 58 var $rtElement = $(this); 59 $rtElement.waypoint(function() { 60 61 // RT Progress bar 62 var progressBar = $(".progress-bar"), 63 progressBarSpan = $('.progress-bar span'); 64 progressBar.each(function(){ 65 var eachBarWidth = $(this).attr('aria-valuenow'); 66 $(this).width(eachBarWidth + '%'); 67 }); 68 progressBarSpan.addClass('opacity'); 69 }, 70 { 71 offset: $rtElement.data('rt-offset') 72 }); 73 }); 74 75 76 // RT Counter Up 77 var rtCountUp = $('.rt-countup'); 78 rtCountUp.waypoint(function() { 79 // Count 80 var count = $('.counter'); 81 count.each(function () { 82 $(this).prop('Counter',1).animate({ 83 Counter: $(this).text() 84 },{ 85 duration: 3000, 86 easing: 'swing', 87 step: function (now) { 88 $(this).text(Math.ceil(now)); 89 } 90 }); 91 }); 92 this.destroy(); 93 }, 94 { 95 offset: rtCountUp.data('rt-offset') 96 }); 97 98 99 // Venobox Active 100 var venoPopup = $('.venobox'); 101 venoPopup.venobox(); 102 103 // Slick Active 104 var twoInOn = $('#two-in-one'), 105 sevenItems = $('#seven-items'); 106 107 twoInOn.slick({ 108 dots: true, 109 arrows: false, 110 infinite: true, 111 speed: 300 112 }); 113 sevenItems.slick({ 114 dots: true, 115 arrows: false, 116 infinite: true, 117 speed: 300, 118 slidesToShow: 7, 119 slidesToScroll: 3, 120 responsive: [ 121 { 122 breakpoint: 1024, 123 settings: { 124 slidesToShow: 5, 125 slidesToScroll: 3 126 } 127 }, 128 { 129 breakpoint: 600, 130 settings: { 131 slidesToShow: 3, 132 slidesToScroll: 2 133 } 134 }, 135 { 136 breakpoint: 480, 137 settings: { 138 slidesToShow: 3, 139 slidesToScroll: 3 140 } 141 } 142 ] 143 }); 144 145 // Scroll UP 146 $.scrollUp({ 147 scrollText: '<i class="ti-angle-up"></i>', // Text for element, can contain HTML
148 scrollSpeed: 800 149 }); 150 151 /* 152 MAIL CHIMP AJAX ACTIVE 153 ======================*/ 154 var mCForm = $('#mc-form'); 155 mCForm.ajaxChimp({ 156 callback: mailchimpCallback, 157 //Replace this with your own mailchimp post URL. Don't remove the "". Just paste the url inside "". 158 url: "http://regaltheme.us16.list-manage.com/subscribe/post?u=9779a0e5298ed51ec0ff0a92b&id=5466926a9f" 159 }); 160 function mailchimpCallback(resp) { 161 if (resp.result === 'success') { 162 alert(resp.msg); 163 164 } else if(resp.result === 'error') { 165 alert(resp.msg); 166 } 167 return false; 168 } 169 170 /* 171 CONTACT FORM VALIDATIONS SETTINGS 172 ========================================*/ 173 var CTForm = $('#contactForm'); 174 if ($('#contactForm').length) { 175 CTForm.validate({ 176 onfocusout: false, 177 onkeyup: false, 178 rules: { 179 name: "required", 180 email: { 181 required: true, 182 email: true 183 } 184 }, 185 errorPlacement: function(error, element) { 186 error.insertBefore(element); 187 }, 188 messages: { 189 name: "What's your name?", 190 email: { 191 required: "What's your email?", 192 email: "Please, enter a valid email" 193 } 194 }, 195 196 highlight: function(element) { 197 $(element) 198 .text('').addClass('error') 199 }, 200 201 success: function(element) { 202 element 203 .text('').addClass('valid') 204 } 205 }); 206 } 207 208 /* 209 CONTACT FORM SCRIPT 210 ========================================*/ 211 if ($('#contactSubmit').length) { 212 var CTSubmit = $('#contactSubmit'); 213 CTForm.submit(function() { 214 // submit the form
215 if($(this).valid()){ 216 CTSubmit.button('loading'); 217 var action = $(this).attr('action'); 218 $.ajax({ 219 url: action, 220 type: 'POST', 221 data: { 222 contactname: $('#name').val(), 223 contactemail: $('#email').val(), 224 contactmessage: $('#message').val() 225 }, 226 success: function() { 227 CTSubmit.button('reset'); 228 CTSubmit.button('complete'); 229 }, 230 error: function() { 231 CTSubmit.button('reset'); 232 CTSubmit.button('error'); 233 } 234 }); 235 // return false to prevent normal browser submit and page navigation 236 } else { 237 CTSubmit.button('reset') 238 } 239 return false; 240 }); 241 } 242 243 /* 244 WINDOW LOAD FUNCTIONS 245 ================================== */ 246 var WinD = $(window); 247 WinD.on('load', function() { 248 // Preloader 249 var preeLoad = $('#loading-wrap'); 250 preeLoad.fadeOut(1000); 251 252 253 /* Isotope Settings */ 254 var fitRowGrid = $('#fitRows-grid'), 255 masonryGrid = $('#masonry-grid'), 256 filterMenu = $('#filter-menu'); 257 258 // FITROWS GRID 259 if (fitRowGrid.length) { 260 fitRowGrid.isotope({ 261 itemSelector: '.grid-item', 262 // layout mode options 263 layoutMode: 'fitRows' 264 }); 265 } 266 // MASONRY GRID 267 if (masonryGrid.length) { 268 masonryGrid.isotope({ 269 itemSelector: '.grid-item', 270 // layout mode options 271 layoutMode: 'masonry', 272 masonryHorizontal: { 273 rowHeight: 100 274 } 275 }); 276 } 277 // filter items on button click 278 filterMenu.on( 'click', 'ul li', function() { 279 var filterValue = $(this).attr('data-filter'); 280 fitRowGrid.add(masonryGrid).isotope({ filter: filterValue }); 281 }); 282 // change is-active class on buttons 283 filterMenu.each( function( i, filterFunction ) { 284 var $filterActive = $( filterFunction ); 285 $filterActive.on( 'click', 'ul li', function() { 286 $filterActive.find('.is-active').removeClass('is-active'); 287 $(this).addClass('is-active'); 288 }); 289 }); 290 291 }); 292 293 // Copy Right Year Update 294 $("#currentYear").text( (new Date).getFullYear() ); 295 296 297})(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.