PageSourceSearch

https://www.holytrinity-cuckfield.w-sussex.sch.uk/assets/web/js/site.js

js holytrinity-cuckfield.w-sussex.sch.uk collected 2026-09-25 06:04:48 UTC 8,080 bytes, 217 lines download raw bytes

1var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sept", "Oct", "Nov", "Dec" ];
2var monthNamesFull = [ "January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December" ];
3var daysNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
4
5$(document).ready(function () {
6
7    render_calendar();
8
9    //	Add a new source
10    $('#calendar').fullCalendar('addEventSource',
11    {
12        url: '/cms/site_pages/get_calendar_source/x/x/0',
13        type: 'POST',
14        data:
15        {
16            start: new Date($('#calendar').fullCalendar('getView').visStart).getTime(),
17            end: new Date($('#calendar').fullCalendar('getView').visEnd).getTime()
18        },
19        allDayDefault: false
20
21    });
22
23    $('.progress .progress-bar').css("width",
24        function() {
25            return $(this).attr("aria-valuenow") + "%";
26        }
27    );
28
29    $('.carousel').each(function() {
30
31        var slideshow = $(this).find('.carouselInner');
32        var caption = $(this).find('.carouselCaption');
33        var next = $(this).find('.carouselNext');
34        var prev = $(this).find('.carouselPrev');
35
36        slideshow.cycle({
37            speed: 600,
38            manualSpeed: 100,
39            slides: "> div",
40            autoHeight: "600:400",
41            caption: caption,
42            next: next,
43            prev: prev,
44            captionTemplate:"{{cycleTitle}}"
45        });
46
47    });
48
49    $(document).on('click', ".sidr-class-dropdown-toggle", function(event) {
50        event.preventDefault();
51        console.log($(this).siblings(".sidr-class-dropdown-menu").find('li:first-child a').attr('href'));
52        window.location.href = $(this).siblings(".sidr-class-dropdown-menu").find('li:first-child a').attr('href');
53    });
54
55    $(".toggle-sidenav").click(function () {
56        $(".sidenav").slideToggle();
57        $(this).text(function(_, oldText) {
58            return oldText === 'Show Menu' ? 'Hide Menu' : 'Show Menu';
59        });
60    });
61
62    var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
63    if(isSafari == true) {
64        var str = $('.pdfobject-container').html();
65        if(typeof str != 'undefined') {
66            var res = str.replace("<embed", "<iframe");
67            $('.pdfobject-container').html(res);
68        }
69    }
70
71    // Adds our disclaimer to the bottom of the contact form
72
73    $('.contact form#contactform').append('<p style="font-size:13px;margin-top:15px">Information submitted through this contact form is processed by eSchools and passed directly to the school. This data is held by and subject to, the school’s privacy policy. See the eSchools\' Privacy Policy <a target="_blank" href="https://www.eschools.co.uk/policies">here.</a></p>');
74
75    // Adds nofollow to all downloads
76
77});
78
79if (typeof addDays != 'function') {
80    function addDays(date, days) {
81        var date = new Date(date);
82        date.setDate(date.getDate() + days);
83        return date;
84    }
85}
86
87function render_calendar() {
88    if (screen.width < 767){$("#calendar").addClass("calendar-sm").removeClass("calendar-lg")}
89    var calDaysFormat = ($("#calendar").hasClass("calendar-lg")) ? ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] : ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
90    var headerright = ($("#calendar").hasClass("calendar-lg")) ? '' : 'prev next';
91    var headerleft = ($("#calendar").hasClass("calendar-lg")) ? 'prev next title' : 'title';
92    var calendar_sm = $("#calendar").hasClass("calendar-sm");
93
94    $('#calendar').fullCalendar({
95        editable: false,
96        header: {
97            left: headerleft,
98            center: '',
99            right: headerright
100        },
101        buttonText: {
102            prev: '',
103            next: ''
104        },
105        timeFormat: 'h(:mm)tt',
106        dayNamesShort: calDaysFormat,
107        firstDay: 1,
108        viewRender: function (view, element) {
109
110            if($(window).width() < 1020) {
111                $(".fc-day-header").each( function() {
112                    $(this).text($(this).text().slice(0,1))
113                })
114            }
115
116        },
117        eventRender: function(event, element, view) {
118
119            event.editable = false;
120
121            if(calendar_sm){
122
123                var eventStart = [event.start.getFullYear()+"-"+('0' + eventMonth(event.start)).slice(-2)+"-"+('0' + event.start.getDate()).slice(-2), daysNames[event.start.getDay()]+' '+event.start.getDate()+get_nth_suffix(event.start.getDate())+' '+monthNamesFull[event.start.getMonth()]];
124
125                var add_i = 1;
126                while($("td[data-date="+eventStart[0]+"]").length == 0)
127                {
128                    //add one day to eventStart;
129                    const nextDay = addDays(event.start, add_i);
130                    eventStart = [nextDay.getFullYear()+"-"+('0' + eventMonth(nextDay)).slice(-2)+"-"+('0' + nextDay.getDate()).slice(-2), daysNames[nextDay.getDay()]+' '+nextDay.getDate()+get_nth_suffix(nextDay.getDate())+' '+monthNamesFull[nextDay.getMonth()]];
131                    add_i++;
132                }
133
134                var end = event.end || event.start; // FIXES A FULLCALENDAR BUG WHEN END DATE IS THE SAME AS THE START DATE
135
136                var eventEnd = [end.getFullYear()+"-"+('0' + eventMonth(end)).slice(-2)+"-"+('0' + end.getDate()).slice(-2), daysNames[end.getDay()]+' '+end.getDate()+get_nth_suffix(end.getDate())+' '+monthNamesFull[end.getMonth()]];
137                $("td[data-date="+eventStart[0]+"]").addClass("eventDate").find(".fc-day-number").filter(function( index ) {
138
139                    var totalDayDuration = (Math.floor(new Date(eventEnd[0])) - Math.floor(new Date(eventStart[0]))) / 86400000;
140
141
142                    //   //GENERATE MODALS
143                    generateModals(this, event.id, eventStart[0]);
144
145                    for (var i=0;i<totalDayDuration;i++) {
146                        var newDate = new Date(Math.floor(new Date(eventStart[0])) + (86400000*(i+1)));
147                        newDate = newDate.getFullYear()+"-"+('0' + eventMonth(newDate)).slice(-2)+"-"+('0' + newDate.getDate()).slice(-2);
148                        $("td[data-date="+newDate+"]").addClass("eventDate").find(".fc-day-number").filter(function( index ) {
149                            generateModals(this, event.id, newDate);
150                        });
151                    }
152
153
154
155                });
156
157                element.remove();  // REMOVE THE DEFAULT DISPLAY FOR FULLCALENDAR
158            }
159
160
161        },
162        eventAfterAllRender: function(view) {
163
164            $(".calendar-items .news-item:gt(1)").remove();
165
166        },
167        eventClick: function(calevent) {
168            if(!calendar_sm) {
169                $("#calendar_modal").load('/cms/site_pages/get_event_by_id/' + calevent.id, function () {
170                    $("#calendar_modal").modal('show');
171                });
172            }
173        },
174        windowResize: function(view) {
175
176            if($(window).width() < 1020) {
177                $(".fc-day-header").each( function() {
178                    $(this).text($(this).text().slice(0,1))
179                })
180            }
181
182        }
183    });
184
185    function eventMonth(x) {
186        return parseInt(x.getMonth(),10)+1;
187    }
188
189    function generateModals(x, y, z) {
190        if($( "a", x ).length === 0) { // IF NO PREVIOUS EVENTS SET ON THIS DATE
191            $(x).wrapInner("<a href='/cms/site_pages/get_event_by_date/"+z+"' data-toggle='modal' data-target='#calendar_modal'></a>"); // WRAP DATE NUMBER WITH ANCHOR FOR MODAL
192        }
193    }
194
195    function get_nth_suffix(date) {
196        switch (date) {
197            case 1:
198            case 21:
199            case 31:
200                return 'st';
201            case 2:
202            case 22:
203                return 'nd';
204            case 3:
205            case 23:
206                return 'rd';
207            default:
208                return 'th';
209        }
210    }
211
212    $('#calendar_modal').on('hidden.bs.modal', function (e) {
213        $(this).removeData('bs.modal');
214        $(this).html('');
215    })
216
217}

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.