1(function($) { 2 3 $body = $('body'); 4 5 // date ago 6 setTime(); 7 8 // sliders 9 latestSlider(); 10 // tvSlider(); 11 // relatedVideoSlider(); 12 acAhdathSlider(); 13 14 shares(); 15 navigationShow(); 16 17 relatedSlider(); 18 scrollLock(); 19 20 infiniteScroll(); 21 22 comments(); 23 24 scrollTop(); 25 26 $('#banner-slider').slick({ 27 autoplay: true, 28 speed: 500, 29 infinite: true, 30 rtl: true, 31 dots: false, 32 arrows: false, 33 }); 34 35 $('.single-article').find('iframe, object, embed, video').each(function(index, el) { 36 if ( !$(this).hasClass('embed-none') ) 37 $(this).wrap('<div class="single-embed"></div>') 38 }); 39 40 41 if ($(window).scrollTop() > 100) { 42 $('.navbar').addClass('scrolled'); 43 $('.tv-slider-aside').addClass('show'); 44 } else { 45 $('.navbar').removeClass('scrolled'); 46 $('.tv-slider-aside').removeClass('show'); 47 } 48 49 $('#navbar-show-search, #navbar-hide-search').on('click', function(e) { 50 if ( $('.navbar').hasClass('search-show') ) { 51 $('.navbar').removeClass('search-show'); 52 $('section.search .container input[name="s"]').val(""); 53 $.scrollLock(false); 54 } else { 55 $('.navbar').addClass('search-show'); 56 $('.navbar').removeClass('navigation-show'); 57 $('section.search .container input[name="s"]').focus(); 58 $.scrollLock(true); 59 } 60 }); 61 62 63 64 $('.footer-newsletter button').on('click', function(event) { 65 event.preventDefault(); 66 67 if( 68 validateEmail($(".footer-newsletter input").val()) 69 && $(".footer-newsletter input").val().length > 0 70 ) { 71 $('.footer-newsletter').toggleClass('success'); 72 } else { 73 $('.footer-newsletter').toggleClass('danger'); 74 } 75 76 if($(".footer-newsletter input").val().length > 0) 77 $(".footer-newsletter input").val(""); 78 }); 79 80 81 $('.navbar-overlay').on('click', function(e) { 82 $('.navbar').removeClass('navigation-show'); 83 $('.navbar').removeClass('search-show'); 84 $.scrollLock(false); 85 }); 86 87 $(document).keydown(function(e) { 88 if (e.keyCode == 27) { 89 $('.navbar').removeClass('navigation-show'); 90 $('.navbar').removeClass('search-show'); 91 $.scrollLock(false); 92 } 93 }); 94 95 96 $('.video-related-close').on('click', function(e) { 97 e.preventDefault(); 98 if ( $('.video-related').hasClass('show') ) { 99 $('.video-related').removeClass('show'); 100 } else { 101 $('.video-related').addClass('show'); 102 $('.video-related').addClass('show-always'); 103 } 104 }); 105 106 $(window).scroll(function() { 107 108 if ($(window).scrollTop() > 700) { 109 $('a[href="#top"]').addClass('show'); 110 } else { 111 $('a[href="#top"]').removeClass('show'); 112 } 113 114 if ( !$('.video-related').hasClass('show-always') ) { 115 if ($(window).scrollTop() > 100) { 116 $('.video-related').addClass('show'); 117 } else { 118 $('.video-related').removeClass('show'); 119 } 120 } 121 122 123 if ($(window).scrollTop() > 100) { 124 $('.navbar').addClass('scrolled'); 125 // if ( $('.tv-slider-aside').hasClass('show-always') == false ) 126 $('.tv-slider-aside').addClass('show'); 127 } else { 128 $('.navbar').removeClass('scrolled'); 129 // if ( $('.tv-slider-aside').hasClass('show-always') == false ) 130 $('.tv-slider-aside').removeClass('show'); 131 } 132 133 }); 134 135 function setTime() { 136 // $('.navbar-date time').html(moment().format('LLLL')); 137 // $('.set-time').each(function (k, v) { 138 // $(this).html(moment($(v).attr('time')).fromNow()); 139 // }); 140 } 141 142 143 function scrollTop() { 144 $('a[href="#top"]').click(function(){ 145 $('html, body').animate({ scrollTop: 0 }, 'slow'); 146 return false; 147 }); 148 } 149 150 151 function navigationShow() {
152 $('#navbar-show-navigation').on('click', function(e) { 153 if ( $('.navbar').hasClass('navigation-show') ) { 154 $('.navbar').removeClass('navigation-show'); 155 $.scrollLock(false); 156 } else { 157 $('.navbar').addClass('navigation-show'); 158 $.scrollLock(true); 159 160 $('.navbar').removeClass('search-show'); 161 } 162 163 }); 164 } 165 166 167 function latestSlider() { 168 169 var slider = $('.latest-slider'); 170 171 slider.after( "<div class='latest-slider-controls'></div>" ); 172 173 slider.slick({ 174 autoplay: true, 175 speed: 700, 176 infinite: false, 177 rtl: true, 178 dots: true, 179 appendArrows: $('.latest-slider-controls'), 180 appendDots: $('.latest-slider-controls') 181 }); 182 } 183 184 // function tvSlider() { 185 186 // var slider = $('.tv-slider'); 187 188 // slider.slick({ 189 // // infinite: false, 190 // arrows: false, 191 // rtl: true, 192 // dots: true, 193 // slidesToShow: 3, 194 // slidesToScroll: 3, 195 // appendDots: $('.tv-slider-aside') 196 // }); 197 198 // } 199 200 201 202 203 204 205 function acAhdathSlider() { 206 207 var slider = $('.ac_ahdath'); 208 209 slider.slick({ 210 // infinite: false, 211 // arrows: false, 212 rtl: true, 213 // dots: true, 214 // slidesToShow: 4, 215 // centerMode: true, 216 // variableWidth: true 217 }); 218 219 } 220 221 // function relatedVideoSlider() { 222 223 // var slider = $('.video-related ul'); 224 225 // slider.slick({ 226 // // infinite: false, 227 // // arrows: false, 228 // rtl: true, 229 // // dots: true, 230 // slidesToShow: 4, 231 // centerMode: true, 232 // variableWidth: true 233 // }); 234 235 // } 236 237 238 function relatedSlider() { 239 240 var slider = $('.single-related-slider'); 241 242 slider.slick({ 243 infinite: true, 244 rtl: true, 245 slidesToShow: 2, 246 slidesToScroll: 2, 247 // variableWidth: true 248 }); 249 250 } 251 252 function getDate() { 253 moment.locale("ar-ma"); 254 var date = moment().format('LLLL'); 255 $('.navbar-date time').html(date); 256 } 257 258 function scrollLock() { 259 $.scrollLock = (function scrollLockClosure() { 260 'use strict'; 261 var $html = $('html'), 262 // State: unlocked by default 263 locked = false, 264 // State: scroll to revert to 265 prevScroll = { 266 scrollLeft: $(window).scrollLeft(), 267 scrollTop: $(window).scrollTop() 268 }, 269 // State: styles to revert to 270 prevStyles = {}, 271 lockStyles = { 272 'overflow-y': 'scroll', 273 'position': 'fixed', 274 'width': '100%' 275 }; 276 // Instantiate cache in case someone tries to unlock before locking 277 saveStyles(); 278 // Save context's inline styles in cache 279 function saveStyles() { 280 var styleAttr = $html.attr('style'), 281 styleStrs = [], 282 styleHash = {}; 283 if (!styleAttr) { 284 return; 285 } 286 styleStrs = styleAttr.split(/;\s/); 287 $.each(styleStrs, function serializeStyleProp(styleString) { 288 if (!styleString) { 289 return; 290 } 291 var keyValue = styleString.split(/\s:\s/); 292 if (keyValue.length < 2) { 293 return; 294 } 295 styleHash[keyValue[0]] = keyValue[1]; 296 }); 297 $.extend(prevStyles, styleHash); 298 } 299 function lock() { 300 var appliedLock = {}; 301 // Duplicate execution will break DOM statefulness 302 if (locked) { 303 return; 304 } 305 // Save scroll state... 306 prevScroll = { 307 scrollLeft: $(window).scrollLeft(), 308 scrollTop: $(window).scrollTop() 309 }; 310 // ...and styles 311 saveStyles(); 312 // Compose our applied CSS 313 $.extend(appliedLock, lockStyles, { 314 // And apply scroll state as styles
315 'left': -prevScroll.scrollLeft + 'px', 316 'top': -prevScroll.scrollTop + 'px' 317 }); 318 // Then lock styles... 319 $html.css(appliedLock); 320 // ...and scroll state 321 $(window) 322 .scrollLeft(0) 323 .scrollTop(0); 324 locked = true; 325 } 326 function unlock() { 327 // Duplicate execution will break DOM statefulness 328 if (!locked) { 329 return; 330 } 331 // Revert styles 332 $html.attr('style', $('<x>').css(prevStyles).attr('style') || ''); 333 // Revert scroll values 334 $(window) 335 .scrollLeft(prevScroll.scrollLeft) 336 .scrollTop(prevScroll.scrollTop); 337 locked = false; 338 } 339 return function scrollLock(on) { 340 // If an argument is passed, lock or unlock depending on truthiness 341 if (arguments.length) { 342 if (on) { 343 lock(); 344 } else { 345 unlock(); 346 } 347 } 348 // Otherwise, toggle 349 else { 350 if (locked) { 351 unlock(); 352 } else { 353 lock(); 354 } 355 } 356 }; 357 }()); 358 } 359 360 function comments() { 361 $('#commentform input[type="button"]').on('click', function(e){ 362 363 if( $.trim($('textarea[name="comment"]').val()) == '') { 364 $('.comments_error').html('çÃâñìçá Ã¥ïîçÃâ Ãâ õ çÃâêùÃâÃÅ Ãâ.'); 365 $('.comments_error').removeClass('hide'); 366 return false; 367 } 368 369 $('.add_comment_textarea').addClass('hide'); 370 $('#comments_custom_fields').removeClass('hide'); 371 $('.comments_error').addClass('hide'); 372 }); 373 374 $('input[name="submit_form"]').on('click', function(){ 375 if( $.trim($('#comments_custom_fields input[name="author"]').val()) == '') { 376 $('.comments_error').html('çÃâñìçá êùèæé ìÃâ¦ÃŠù çÃâÃÂÃâÃËÃâ.'); 377 $('.comments_error').removeClass('hide'); 378 return false; 379 } 380 $("#commentform").submit(); 381 }); 382 383 $('div.reply a').click(function(event) { 384 event.preventDefault(); 385 $('html,body').animate({ 386 scrollTop: $('.new_comment').offset().top}, 387 'normal', 388 function () { 389 $('.new_comment textarea').focus(); 390 } 391 ); 392 var comment_ID = $(this).parent().parent().attr('id'); 393 parent_id = comment_ID.replace('div-comment-', ''); 394 $('#comment_parent').val(parent_id); 395 }); 396 } 397 398 function shares() { 399 400 } 401 402 function infiniteScroll() { 403 var selector = '.archive-infinite'; 404 var $wrapper = $(selector); 405 if ( ! $wrapper.length ) { 406 return false; 407 } 408 var max_pages = $wrapper.data('nb-pages'); 409 var currPage = 1; 410 var windowHeight = $(window).height(); 411 var url = ''; 412 $(window).scroll(function(e){ 413 var paginationOffset = $('nav.archive-pagination').offset().top; 414 if ( currPage < max_pages && paginationOffset <= windowHeight * 2 ) { 415 currPage++; 416 url = window.location.href + 'page/'+ currPage; 417 // Load from ajax 418 $.ajax({
419 url: url, 420 dataType: 'html', 421 success: function(resp){ 422 var html = $(resp).find(selector).html(); 423 $wrapper.append(html); 424 } 425 }); 426 } 427 428 }); 429 } 430 431})(jQuery); 432 433 434function validateEmail(email) { 435 var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 436 return re.test(email); 437}
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.