PageSourceSearch

https://forfarathletic.co.uk/wp-content/plugins/joomsport-sports-l…/assets/js/joomsport.js?ver=7.1.2

js forfarathletic.co.uk collected 2026-10-06 11:10:45 UTC 16,086 bytes, 430 lines download raw bytes

1function delCom(num){
2    jQuery.post(
3        'index.php?tmpl=component&option=com_joomsport&controller=users&task=del_comment&format=row&cid='+num,
4        function( result ) {
5            if(result){
6                alert(result);
7            } else {
8                var d = document.getElementById('divcomb_'+num).parentNode;
9                d.removeChild(jQuery('#divcomb_'+num).get(0));
10            }
11        });
12
13}
14
15
16function componentPopup(){
17    var href = window.location.href;
18    var regex = new RegExp("[&\\?]" + name + "=");
19
20    if(href.indexOf("tmpl=component") > -1){
21        window.print();
22    }
23
24    if(href.indexOf("?") > -1)
25      var hrefnew = href + "&tmpl=component";
26  else
27      var hrefnew = href + "?tmpl=component";
28
29  window.open(hrefnew,'jsmywindow','width=750,height=700,scrollbars=1,resizable=1');
30}
31
32function fSubmitwTab(e){
33    if(jQuery('#joomsport-container').find('div.tabs').find('li.active').find('a').attr('href')){
34        jQuery('input[name="jscurtab"]').val(jQuery('#joomsport-container').find('div.tabs').find('li.active').find('a').attr('href'));
35    }
36    e.form.submit();
37}
38
39jQuery(document).ready(function(){
40 jQuery('#comForm').on('submit', function(e) {
41    e.preventDefault();
42    if(jQuery('#addcomm').val()){
43        var submcom = jQuery('#submcom').get(0);
44            //submcom.disabled = true;
45            jQuery.ajax({
46                url: jQuery('#comForm').attr('action'),
47                type: "post",
48                data: jQuery('#comForm').serialize(),
49                success: function(result){
50
51                    if(result){
52                        result = JSON.parse(result);
53                        if(result.error){
54                            alert(result.error);
55                        }else
56                        if(result.id){
57                            var li = jQuery("<li>");
58                            li.attr("id", 'divcomb_'+result.id);
59
60                            var div = jQuery("<div>");
61                            div.attr("class", "comments-box-inner");
62                            var divInner = jQuery("<div>");
63                            divInner.attr("class","jsOverflowHidden");
64                            divInner.css("position", "relative");
65                            divInner.appendTo(div);
66                            jQuery('<div class="date">'+result.datetime+' '+result.delimg+'</div>').appendTo(divInner);
67                            jQuery(result.photo).appendTo(divInner);
68
69                            jQuery('<h4 class="nickname">'+result.name+'</h4>').appendTo(divInner);
70                            jQuery('<div class="jsCommentBox">'+result.posted+'</div>').appendTo(div);
71                            div.appendTo(li);
72                            li.appendTo("#all_comments");
73                            //var allc = jQuery('#all_comments').get(0);
74                            //allc.innerHTML = allc.innerHTML + result;
75
76                            submcom.disabled = false;
77                            jQuery('#addcomm').val('');
78                        }
79
80                    }
81                    jQuery('#comForm').get(0).reset();
82                }
83            });
84        }
85    });
86 jQuery('div[class^="knockplName knockHover"]').hover(
87    function(){
88        var hclass = jQuery(this).attr("class");
89        var tbody = jQuery(this).closest('tbody');
90
91        tbody.find('[class^="knockplName knockHover"]').each(function(){
92            if(jQuery(this).hasClass(hclass)){
93                jQuery(this).addClass("knIsHover");
94            }
95        });
96            //console.log('div.'+hclass);
97            //jQuery('div.'+hclass).addClass("knIsHover");
98        },
99        function(){
100            var tbody = jQuery(this).closest('tbody');
101            tbody.find('[class^="knockplName knockHover"]').each(function(){
102                if(jQuery(this).hasClass("knIsHover")){
103                    jQuery(this).removeClass("knIsHover");
104                }
105            });
106        }
107        );
108
109 jQuery("#aSearchFieldset").on("click",function(){
110    if(jQuery("#jsFilterMatches").css("display") == 'none'){
111        jQuery("#jsFilterMatches").css("display","block");
112    }else{
113        jQuery("#jsFilterMatches").css("display","none");
114    }
115});
116 jQuery('#joomsport-container select').select2({minimumResultsForSearch: 20});
117 var $select = jQuery('#mapformat select').select2();
118    //console.log($select);
119    $select.each(function(i,item){
120      //console.log(item);
121      jQuery(item).select2("destroy");
122  });
123});
124
125jQuery(document).ready(function() {
126    jQuery("body").tooltip(
127    {
128        selector: '[data-toggle2=tooltip]',
129        html:true
130    });
131    jQuery('body').on('focus',".jsdatefield", function(){
132        jQuery(this).datepicker({ dateFormat: 'yy-mm-dd'});
133    });
134});
135jQuery(function() {
136    jQuery( '.jstooltip' ).tooltip({
137        html:true,
138        position: {
139            my: "center bottom-20",
140            at: "center top",
141            using: function( position, feedback ) {
142              jQuery( this ).css( position );
143              jQuery( "<div>" )
144              .addClass( "arrow" )
145              .addClass( feedback.vertical )
146              .addClass( feedback.horizontal )
147              .appendTo( this );
148          }
149      }
150  });
151});
152
153jQuery(window).on('load',function() {
154    var maxwidth = 200;
155    var maxheight = 200;
156    var maxheightWC = 200;
157
158    var divwidth = jQuery('#jsPlayerListContainer').parent().width();
159    var cols = Math.floor(parseInt(divwidth)/255);
160    if(!cols){
161        cols = 1;
162    }
163
164    var widthCols = Math.round(100/cols);
165    var widthColsPix = Math.round(divwidth/cols);
166
167    jQuery('.jsplayerCart').css({'width': widthCols+'%'});
168    //jQuery('.jsplayerCart').width(parseInt(widthCols)+'%');
169
170    jQuery('.imgPlayerCart').each(function(){
171        //console.log(jQuery(this).find('img').prop('naturalHeight'));
172        if(jQuery(this).find('img').prop('naturalWidth') > maxwidth){
173            maxwidth = jQuery(this).find('img').prop('naturalWidth');
174        }
175        var widthNatural = parseInt(jQuery(this).find('img').prop('naturalWidth'));
176        if(widthNatural < widthColsPix){
177            coeff = 1;
178        }else{
179            if(widthNatural > 0){
180                var coeff = (widthColsPix/(widthNatural+32));
181            }else{
182                coeff = 1;
183            }
184        }
185
186        if(jQuery(this).find('img').prop('naturalHeight') > maxheight){
187            maxheight = jQuery(this).find('img').prop('naturalHeight');
188            maxheightWC = maxheight*coeff;
189            console.log(widthColsPix+':'+widthNatural);
190            console.log(maxheight+':'+coeff+':'+maxheightWC);
191        }
192    });
193    maxheightWC = maxheightWC;
194    console.log(maxheightWC);
195    //jQuery('.imgPlayerCart').width(maxwidth);
196    jQuery('.imgPlayerCart').height(maxheightWC);
197    jQuery('.imgPlayerCart > .innerjsplayerCart').height(maxheightWC);
198    jQuery('.imgPlayerCart > .innerjsplayerCart').css({'line-height':maxheightWC+'px'});
199
200});
201
202function jsToggleTH() {
203    jQuery('table.jsStandings th').each( function(){
204        var alternate = true;
205        jQuery(this).click(function() {
206            jQuery(this).find("span").each(function() {
207                if (alternate) { var shrtname = jQuery(this).attr("jsattr-full") ?? jQuery(this).attr("data-jsattr-full"); var text = jQuery(this).text(shrtname); } 
208                else { var shrtname = jQuery(this).attr("jsattr-short") ?? jQuery(this).attr("data-jsattr-short"); var text = jQuery(this).text(shrtname); }
209            });
210            alternate = !alternate;
211        });
212    });
213}
214function JSwindowSize() {
215    jQuery('table.jsStandings').each( function() {
216        var conths = jQuery(this).parent().width();
217        var thswdth = jQuery(this).find('th');
218        var scrlths = 0;
219        thswdth.each(function(){ scrlths+=jQuery(this).innerWidth(); });
220        jQuery(this).find("span").each(function() {
221            if (scrlths > conths) { var shrtname = jQuery(this).attr("jsattr-short") ?? jQuery(this).attr("data-jsattr-short"); var text = jQuery(this).text(shrtname).addClass("short"); return jsToggleTH(); }
222        });
223    });
224    jQuery('#joomsport-container .page-content-js .tabs > ul.nav').each( function() {
225        var jstabsul = jQuery(this).width();
226        var jstabsli = jQuery(this).find('li');
227        var jstabssum = 0;
228        jstabsli.each(function(){ jstabssum+=jQuery(this).innerWidth(); });
229        if (jstabssum > jstabsul) {jstabsli.addClass('jsmintab');}
230    });
231}
232
233// Shortnames on standings
234function JSStandingsName() {
235    jQuery('#joomsport-container table.jsStandings').each( function() {
236        var TblWdt = jQuery(this).parent().width();
237        var SumTdCtrWdt = 0,
238        TeamName = 0;
239        var TeamImg = jQuery(this).find('td.jsNoWrap .img-thumbnail').outerWidth(true);
240        var TeamBlockPad = jQuery(this).find('td.jsalignleft').innerWidth() - jQuery(this).find('td.jsalignleft').width();
241
242        jQuery.type(TeamImg) === "null" ? TeamImg = 0 : TeamImg;
243        jQuery(this).find('th.jsalcenter').each( function() {
244            SumTdCtrWdt+=jQuery(this).innerWidth();
245        });
246        TeamName = TblWdt - SumTdCtrWdt - TeamBlockPad - TeamImg;
247        jQuery(this).find('td.jsalignleft > a:last-child').css({'max-width':+TeamName+'px'});
248    });
249}
250jQuery(window).on('load',function(){
251    JSwindowSize();
252    JSStandingsName();
253    jQuery( window ).resize(function() {
254        JSStandingsName();
255    });
256
257    jQuery('.ui-dialog-buttonset > button').each(function(){
258        if(jQuery(this).text() == 'Cancel') {
259            jQuery(this).addClass('d-none');
260        }
261    });
262});
263
264
265
266function jsCutRosterNames(){
267    jQuery('.PlayerCardFIO > .js_div_particName').each(function(){
268        var jsOuterHeight = jQuery(this).outerHeight(),
269        jsLineHeight = parseInt(jQuery(this).css('line-height')),
270        jsLinesInDiv = (jsOuterHeight/jsLineHeight).toFixed(),
271        jsPlayerName = jQuery(this).text();
272
273        if (jsLinesInDiv > 2) {
274            jQuery(this).text(jsPlayerName.slice(0, 20) + '...');
275        }
276    });
277}
278
279function jsTabsSimulation(tabelement, tabcontent){
280    jQuery(tabelement).on("click", function(){
281        var id = jQuery(this).attr('data-tab'),
282        content = jQuery(tabcontent+'[data-tab="'+ id +'"]');
283
284        jQuery(tabelement+'.jsactive').removeClass('jsactive');
285        jQuery(this).addClass('jsactive');
286
287        jQuery(tabcontent+'.jsactive').removeClass('jsactive');
288        content.addClass('jsactive');
289    });
290}
291
292jQuery(document).ready(function(){
293    jQuery('#joomsport-container a[href="#stab_players"]').on("click", function(){
294        setTimeout(jsCutRosterNames, 200);
295    });
296
297    jQuery(".jspBlockTitle").on("click", function(){
298        if(jQuery(this).next().hasClass("jsHHide")){
299            jQuery(this).next().removeClass("jsHHide");
300        }else{
301            jQuery(this).next().addClass("jsHHide");
302        }
303
304        if(jQuery(this).children('i').hasClass('fa-chevron-up')){
305            jQuery(this).children('i').removeClass('fa-chevron-up').addClass('fa-chevron-down');
306        } else {
307            jQuery(this).children('i').removeClass('fa-chevron-down').addClass('fa-chevron-up');
308        }
309    });
310
311    jsTabsSimulation('.jsMatchStatTeams .jsMatchTeam', '.jsSquadContent > div');
312    jsTabsSimulation('.jsMatchStatTeams .jsMatchTeam', '.jsHHSeasonAnalytics .jspBlockSection > div');
313
314    jQuery( ".jsHHMatchDiv .jstooltip" ).tooltip( "destroy" );
315});
316
317function jspTabs(t, i){
318    var par = jQuery(t).closest(".centrikLDW");
319    par.find("a").removeClass("jsTabActive");
320    jQuery(t).addClass("jsTabActive");
321    console.log(jQuery(t));
322    par.find('.centrikLDWinnerContainer').hide();
323    jQuery("#centrikLDWinnerContainer" + i).show();
324
325    par.parent().find('.divLastMatches').hide();
326    par.parent().find(".divLastMatches" + i).show();
327}
328function jspTabsMajor(t, i){
329    var par = jQuery(t).closest(".centrikLDW");
330    par.find("a").removeClass("jsTabActive");
331    jQuery(t).addClass("jsTabActive");
332    par.parent().find('.evTblforTabs').hide();
333    jQuery(".evTbl" + i).show();
334}
335
336function jspDrowPie(circle, away, home){
337
338    console.log(away);
339
340    var degree = away >= 90? 0: 90 - away;
341    jQuery("#"+circle).append('<div class="arc arcR1" style="transform: rotate(90deg) skewX('+degree+'deg);"></div>');
342    jQuery('<style>#'+circle+' .arcR1:before{transform: skewX(-'+degree+'deg);}</style>').appendTo('head');
343
344    if( away > 90){
345        var degree = away >= 180 ? 0 : 180 - away;
346
347        jQuery("#"+circle).append('<div class="arc arcR2" style="transform: rotate(180deg) skewX('+degree+'deg);"></div>');
348        jQuery('<style>#'+circle+' .arcR2:before{transform: skewX(-'+degree+'deg);}</style>').appendTo('head');
349
350        if( away > 180){
351            var degree = away >= 270 ? 0 : 270 - away;
352
353            jQuery("#"+circle).append('<div class="arc arcR3" style="transform: rotate(270deg) skewX('+degree+'deg);"></div>');
354            jQuery('<style>#'+circle+' .arcR3:before{transform: skewX(-'+degree+'deg);}</style>').appendTo('head');
355        }
356        if( away > 270){
357            var degree = away >= 360 ? 0 : 360 - away;
358
359            jQuery("#"+circle).append('<div class="arc arcR4" style="transform: rotate(0deg) skewX('+degree+'deg);"></div>');
360            jQuery('<style>#'+circle+' .arcR4:before{transform: skewX(-'+degree+'deg);}</style>').appendTo('head');
361        }
362
363    }
364
365
366
367    var degree = home >= 90? 0: 90 - home;
368    jQuery("#"+circle).append('<div class="arc2 arcL1" style="transform: rotate('+degree+'deg) skewX('+degree+'deg);"></div>');
369    jQuery('<style>#'+circle+' .arcL1:before{transform: skewX(-'+degree+'deg);}</style>').appendTo('head');
370
371    if( home > 90){
372        var degree = home >= 180 ? 90 : home - 90;
373
374        jQuery("#"+circle).append('<div class="arc2 arcL2" style="transform: rotate('+(360-degree)+'deg) skewX('+(90-degree)+'deg);"></div>');
375        jQuery('<style>#'+circle+' .arcL2:before{transform: skewX(-'+(90-degree)+'deg);}</style>').appendTo('head');
376
377        if( home > 180){
378            var degree = home >= 270 ? 90 : home - 180;
379
380            jQuery("#"+circle).append('<div class="arc2 arcL3" style="transform: rotate('+(270-degree)+'deg) skewX('+(90-degree)+'deg);"></div>');
381            jQuery('<style>#'+circle+' .arcL3:before{transform: skewX(-'+(90-degree)+'deg);}</style>').appendTo('head');
382        }
383        if( home > 270){
384            var degree = home >= 360 ? 90 : home - 270;
385
386            jQuery("#"+circle).append('<div class="arc2 arcL4" style="transform: rotate('+(180-degree)+'deg) skewX('+(90-degree)+'deg);"></div>');
387            jQuery('<style>#'+circle+' .arcL4:before{transform: skewX(-'+(90-degree)+'deg);}</style>').appendTo('head');
388        }
389
390    }
391}
392jQuery(document).ready(function(){
393    let hash = location.hash.replace(/^#/, '');
394
395    if (hash) {
396        jQuery('#joomsport-container .nav-tabs a[href="#' + hash + '"]').tab('show');
397        window.scrollTo(0, 0);
398    }
399    jQuery('#joomsport-container .nav-tabs a').on('shown.bs.tab', function (e) {
400        window.location.hash = e.target.hash;
401    });
402
403    jQuery(document).ready(function() {
404        jQuery('#jstable_plz').tablesorter();
405    } );
406
407
408});
409
410jQuery(document).ready(function(){
411    var sid = jQuery("#joomsport-container select[name='sid']").val();
412    //console.log(sid);
413    if(sid){
414        var optgroup = jQuery('select[name="sid"] :selected').parent().attr('label');
415        //console.log(optgroup);
416        if(optgroup){
417            var prSID = jQuery('select[name="sid"]').parent();
418            var curtext = prSID.find(".select2-selection__rendered").text();
419            prSID.find(".select2-selection__rendered").text(optgroup+' '+jQuery('select[name="sid"] :selected').text());
420            prSID.find(".select2-selection__rendered").closest(".select2-container").css("width","auto");
421        }
422
423    }
424
425    //season history dd
426    jQuery("#history_sid").on("change", function(){
427        window.location.href = jQuery(this).val();
428    })
429
430});

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.