<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.seulengroupe.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js</id>
	<title>MediaWiki:Common.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.seulengroupe.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://www.seulengroupe.com/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-06-04T02:57:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://www.seulengroupe.com/index.php?title=MediaWiki:Common.js&amp;diff=678&amp;oldid=prev</id>
		<title>WorkingClassKid: Created page with &quot;/* Any JavaScript here will be loaded for all users on every page load. */   /**   * Test if an element has a certain class   *   * Description: Uses regular expressions and caching for better performance.  * Maintainers: User:Mike Dillon, User:R. Koot, User:SG   *    var hasClass = ( function() { 	var reCache = {}; 	return function( element, className ) { 		return ( reCache[className] ? reCache[className] : ( reCache[className] = new RegExp( &quot;(?:\\s|^)&quot; + cl...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.seulengroupe.com/index.php?title=MediaWiki:Common.js&amp;diff=678&amp;oldid=prev"/>
		<updated>2026-03-22T13:39:24Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;span class=&quot;autocomment&quot;&gt;Any JavaScript here will be loaded for all users on every page load.: &lt;/span&gt;   /**   * Test if an element has a certain class   *   * Description: Uses regular expressions and caching for better performance.  * Maintainers: &lt;a href=&quot;/index.php?title=User:Mike_Dillon&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Mike Dillon (page does not exist)&quot;&gt;User:Mike Dillon&lt;/a&gt;, &lt;a href=&quot;/index.php?title=User:R._Koot&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:R. Koot (page does not exist)&quot;&gt;User:R. Koot&lt;/a&gt;, &lt;a href=&quot;/index.php?title=User:SG&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:SG (page does not exist)&quot;&gt;User:SG&lt;/a&gt;   *    var hasClass = ( function() { 	var reCache = {}; 	return function( element, className ) { 		return ( reCache[className] ? reCache[className] : ( reCache[className] = new RegExp( &amp;quot;(?:\\s|^)&amp;quot; + cl...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** &lt;br /&gt;
 * Test if an element has a certain class &lt;br /&gt;
 * &lt;br /&gt;
 * Description: Uses regular expressions and caching for better performance.&lt;br /&gt;
 * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]] &lt;br /&gt;
 *   &lt;br /&gt;
var hasClass = ( function() {&lt;br /&gt;
	var reCache = {};&lt;br /&gt;
	return function( element, className ) {&lt;br /&gt;
		return ( reCache[className] ? reCache[className] : ( reCache[className] = new RegExp( &amp;quot;(?:\\s|^)&amp;quot; + className + &amp;quot;(?:\\s|$)&amp;quot; ) ) ).test( element.className );&lt;br /&gt;
	};&lt;br /&gt;
})();&lt;br /&gt;
** */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Test if an element has a certain class&lt;br /&gt;
 * @deprecated:  Use $(element).hasClass() instead.&lt;br /&gt;
 */&lt;br /&gt;
mw.log.deprecate( window, &amp;#039;hasClass&amp;#039;, function ( element, className ) {&lt;br /&gt;
	return $( element ).hasClass( className );&lt;br /&gt;
}, &amp;#039;Use jQuery.hasClass() instead&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
/* Template:Infobox/image */&lt;br /&gt;
window.addOnloadHook(function() {&lt;br /&gt;
  $(&amp;#039;.infobox-image .infobox-gallery &amp;gt; *:first-child img&amp;#039;).addClass(&amp;#039;selected&amp;#039;);&lt;br /&gt;
  $(&amp;#039;.infobox-preview:first-child&amp;#039;).show();&lt;br /&gt;
  $(&amp;#039;.infobox-image .infobox-gallery &amp;gt; *&amp;#039;).click(function() {&lt;br /&gt;
    var index = $(this).index();&lt;br /&gt;
    var previews = $(this).closest(&amp;#039;.infobox-image&amp;#039;).find(&amp;#039;.infobox-preview&amp;#039;);&lt;br /&gt;
    if (index &amp;lt; previews.length) {&lt;br /&gt;
      $(this).parent().find(&amp;#039;img&amp;#039;).removeClass(&amp;#039;selected&amp;#039;);&lt;br /&gt;
      $(this).find(&amp;#039;img&amp;#039;).addClass(&amp;#039;selected&amp;#039;);&lt;br /&gt;
      previews.hide();&lt;br /&gt;
      $(previews[index]).show();&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Cycle through images with cycle-img */&lt;br /&gt;
window.addOnloadHook(function() {&lt;br /&gt;
    var cycleContainers = $(&amp;#039;.cycle-img&amp;#039;);&lt;br /&gt;
    cycleContainers.each(function() {&lt;br /&gt;
        var images = $(this).children(&amp;#039;span[typeof=&amp;quot;mw:File&amp;quot;]&amp;#039;);&lt;br /&gt;
        if (images.length &amp;gt; 1) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            images.eq(currentIndex).show();&lt;br /&gt;
            images.slice(1).hide();&lt;br /&gt;
            function switchImage() {&lt;br /&gt;
                images.eq(currentIndex).hide();&lt;br /&gt;
                currentIndex = (currentIndex + 1) % images.length;&lt;br /&gt;
                images.eq(currentIndex).show();&lt;br /&gt;
            }&lt;br /&gt;
            setInterval(switchImage, 2000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Template:Info (icon tooltip) */&lt;br /&gt;
window.addOnloadHook(function() {&lt;br /&gt;
    $(&amp;quot;.tooltip-info-img&amp;quot;).on(&amp;quot;mouseover touchstart&amp;quot;, function(e) {&lt;br /&gt;
        var tooltip = $(this).siblings(&amp;#039;.tooltip-info-text&amp;#039;);&lt;br /&gt;
        var windowWidth = $(window).width();&lt;br /&gt;
&lt;br /&gt;
        if (windowWidth &amp;lt;= 600) {&lt;br /&gt;
            // Small screen&lt;br /&gt;
            var imageRect = $(this)[0].getBoundingClientRect();&lt;br /&gt;
            var tooltipHeight = tooltip.outerHeight();&lt;br /&gt;
            var tooltipWidth = tooltip.outerWidth();&lt;br /&gt;
            var tipY, tipX;&lt;br /&gt;
&lt;br /&gt;
            if (imageRect.top &amp;gt; tooltipHeight + 10) {&lt;br /&gt;
                tipY = imageRect.top - tooltipHeight - 10;&lt;br /&gt;
            } else {&lt;br /&gt;
                tipY = imageRect.bottom + 10;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            tooltip.css({&lt;br /&gt;
                top: tipY,&lt;br /&gt;
                left: tipX&lt;br /&gt;
            });&lt;br /&gt;
        } else {&lt;br /&gt;
            // Large screen&lt;br /&gt;
            var tooltip = $(this).siblings(&amp;#039;.tooltip-info-text&amp;#039;); // Get tooltip element (tooltip-text)&lt;br /&gt;
            var tipX = $(this).outerWidth() + 5;             // 5px on the right of the tooltip&lt;br /&gt;
            var tipY = -40;                                  // 40px on the top of the tooltip&lt;br /&gt;
            tooltip.css({ top: tipY, left: tipX });          // Position tooltip&lt;br /&gt;
&lt;br /&gt;
            // Get calculated tooltip coordinates and size&lt;br /&gt;
            var tooltip_rect = tooltip[0].getBoundingClientRect();&lt;br /&gt;
            // Corrections if out of window&lt;br /&gt;
            if ((tooltip_rect.x + tooltip_rect.width) &amp;gt; $(window).width()) { // Out on the right&lt;br /&gt;
                tipX = -tooltip_rect.width - 5; // Simulate a &amp;quot;right: tipX&amp;quot; position&lt;br /&gt;
            }&lt;br /&gt;
            if (tooltip_rect.y &amp;lt; 0) { // Out on the top&lt;br /&gt;
                tipY = tipY - tooltip_rect.y + 10; // Align on the top&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Apply corrected position&lt;br /&gt;
            tooltip.css({ top: tipY, left: tipX });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>WorkingClassKid</name></author>
	</entry>
</feed>