PageSourceSearch

https://agadirinfo.ma/wp-content/themes/agadir-info/assets/js/web.js?ver=1790272086

js agadirinfo.ma collected 2026-09-25 11:26:12 UTC 13,681 bytes, 437 lines download raw bytes

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.