MediaWiki:Common.js: Difference between revisions

From Wiki The-West EN
Jump to navigation
No edit summary
No edit summary
Line 160: Line 160:
             {
             {
                 lang: 'en',
                 lang: 'en',
                title: 'English',
                 src: 'https://wiki.the-west.net/images/c/ce/Gb.png',
                 src: 'https://wiki.the-west.net/images/c/ce/Gb.png',
                 link: 'https://wiki.the-west.net/wiki/Main_Page'
                 link: 'https://wiki.the-west.net/wiki/Main_Page'
Line 165: Line 166:
             {
             {
                 lang: 'dk',
                 lang: 'dk',
                title: 'Danish',
                 src: 'https://wiki.the-west.net/images/0/06/Dk.png',
                 src: 'https://wiki.the-west.net/images/0/06/Dk.png',
                 link: 'https://wiki.the-west.net/wiki/Forside'
                 link: 'https://wiki.the-west.net/wiki/Forside'
Line 170: Line 172:
             {
             {
                 lang: 'se',
                 lang: 'se',
                title: 'Swedish',
                 src: 'https://wiki.the-west.net/images/d/d0/Se.png',
                 src: 'https://wiki.the-west.net/images/d/d0/Se.png',
                 link: 'https://wiki.the-west.net/wiki/Huvudsida'
                 link: 'https://wiki.the-west.net/wiki/Huvudsida'
Line 207: Line 210:


         for (var i = 0; i < languages.length; i++) {
         for (var i = 0; i < languages.length; i++) {
             var imageElement = $('<img>').attr('src', languages[i].src);
             var imageElement = $('<img>').attr('src', languages[i].src, 'title', languages[i].title);
             var linkElement = $('<a>')
             var linkElement = $('<a>')
                 .attr('href', languages[i].link)
                 .attr('href', languages[i].link)

Revision as of 22:45, 17 March 2023

/* Any JavaScript here will be loaded for all users on every page load. */
$('.tbbox-logo').wrap('<a href="/"></a>');

if ($('.item_container').length!==0) {
    $('.item_container').each(function() {
        $(this).append('<img src="https://westzz.innogamescdn.com/images/items/' + $(this).attr('data-url') + '?1">');
    });
    $.getScript("/wiki/Popup.js?action=raw");
}

$(window).scroll(function () {
  if ($(this).scrollTop() > 300) {
    $('#back-top').fadeIn();
  } else {
    $('#back-top').fadeOut();
  }
});
// Scroll body to top on click
$('#back-top a').click(function () {
  $('body,html').animate(
    {
      scrollTop: 0,
    },
    800
  );
  return false;
});
// Embed youtube videos
if ($('.youtube_video').length !== 0) {
  $('.youtube_video').each(function () {
    $(this).html(
      '<iframe width="100%" height="100%" src="https://www.youtube.com/embed/' +
        $(this).attr('data-id') +
        '?cc_load_policy=1&cc_lang_pref=' +
        $(this).attr('data-subtitles') +
        '" frameborder="0" allowfullscreen></iframe>'
    );
  });
}
//calculate box - n3mesis
if ($('.calculate_box').length) {
  $.getScript('/wiki/Calculate.js?action=raw');
};
//crafting
if($('.target_input').length){$('.target_input p').each(function(){var id=$(this).attr('id');var phrase=$(this).text();var newInput="<input type='number' name='input_new' value='"+
phrase+"' class='target' max='50000' min='' />";$(this).replaceWith(newInput);});var multiplierValue=1;var currentAmountsArray=[];$('.amount').each(function(index){currentAmountsArray[index]=parseInt($(this).text());});$("input[name='input_new']").on('input paste keyup',function(){this.value>50000?(this.value=50000):this.value<0&&(this.value=0);multiplierValue=this.value;$('.amount').each(function(index){$(this).text(currentAmountsArray[index]*multiplierValue);});$('.craft_extra').show();$('.craft_extra .item_container').each(function(){$(this).children().addClass('OverlayItem');});});}

// As seen on https://bitbucket.org/cmcqueen1975/htmlfloatingtableheader/overview
function UpdateTableHeaders() {
	$("div.divTableWithFloatingHeader").each(function() {
		var originalHeaderRow = $(".tableFloatingHeaderOriginal", this);
		var floatingHeaderRow = $(".tableFloatingHeader", this);
		var offset = $(this).offset();
		var scrollTop = $(window).scrollTop();
		if ((scrollTop > originalHeaderRow.offset().top) && (scrollTop < offset.top + $(this).height() - originalHeaderRow.height())) {
			floatingHeaderRow.css("visibility", "visible");
			floatingHeaderRow.css("top", "0px");

			// Copy cell widths from original header
			$("th", floatingHeaderRow).each(function(index) {
				var cellWidth = $("th", originalHeaderRow).eq(index).css('width');
				$(this).css('width', cellWidth);
			});

			// Copy row width from whole table
			floatingHeaderRow.css("width", $(this).css("width"));
		}
		else {
			floatingHeaderRow.css("visibility", "hidden");
			floatingHeaderRow.css("top", "0px");
		}
	});
};

$(function() {
	$("table.tableWithFloatingHeader").each(function() {
		$(this).wrap("<div class=\"divTableWithFloatingHeader\" style=\"position:relative\"></div>");

		var cls = "tr.floatingHeader";
		if($(cls, this).length == 0) {
			cls = "tr";
		}
		var originalHeaderRow = $(cls, this).first();
		var clonedHeaderRow = originalHeaderRow.clone().insertBefore(originalHeaderRow);

		clonedHeaderRow.addClass("tableFloatingHeader");
		clonedHeaderRow.css("position", "fixed");
		clonedHeaderRow.css("top", "0px");
		clonedHeaderRow.css("left", $(this).offset().left);
		clonedHeaderRow.css("visibility", "hidden");
		clonedHeaderRow.css("z-index", 1);

		originalHeaderRow.addClass("tableFloatingHeaderOriginal");
	});
	UpdateTableHeaders();
	$(window).on('scroll', UpdateTableHeaders);
	$(window).on('resize', UpdateTableHeaders);
});

(function($) {
    $(document).ready(function() {
		$('.radioButtonsHere').replaceWith('<center><input id="normal" type="radio" value="0" class="selectRadio" name="selectRadio"/> Normal Job <input id="silver" type="radio" value="50" class="selectRadio" name="selectRadio"/> Silver <input id="aura" type="radio" value="100" class="selectRadio" name="selectRadio"/> Gold</center>');
        var multiplierValue = 1;
        var currentXPArray = [];
		var currentCashArray = [];
        $('.xp').each(function(index) {
            currentXPArray[index] = parseInt($(this).text());
        });
        $('.money').each(function(index) {
            var getNumber = $(this).text().replace(/[^0-9]/gi, '');
            currentCashArray[index] = parseFloat(getNumber, 10);
        });
        $("input[name='selectRadio']").change(function() {
            multiplierValue = $(this).val();
            $('.xp').each(function(index) {
				var finalXP = currentXPArray[index] + (currentXPArray[index] * (multiplierValue / 100));
                $(this).text(Math.round(finalXP));
				$(this).css({ 'font-weight': 'bold' });
            });
            $('.money').each(function(index) {
				var finalCash = currentCashArray[index] + (currentCashArray[index] * (multiplierValue / 100));
				var cashSymbol = "$ ";
                $(this).text(cashSymbol + Math.round(finalCash));
				$(this).css({ 'font-weight': 'bold' });
            });
        });
		$('.appImage').replaceWith('<img src="https://wiki.the-west.net/images/8/8c/Transparent.png" class="job_Type" style="position:absolute;margin-top:-6px;margin-left:-6px;" />');
		$("input[name='selectRadio']").change(
			function(){
				var $src = "";
				if ($(this).val() == '50') {
					$src = "https://wiki.the-west.net/images/a/ac/Silverjob_small.png";
				}
				else if ($(this).val() == '100') {
					$src = "https://wiki.the-west.net/images/a/a6/Goldjob_small.png";
				}
				else{
					$src = "https://wiki.the-west.net/images/8/8c/Transparent.png"
					$('.money').css({ 'font-weight': 'normal' });
					$('.xp').css({ 'font-weight': 'normal' });
				}
				$('.job_Type').attr('src',$src);
		});
    });
})(jQuery);

//Page translator - Criminus 2023
(function($) {
    $(document).ready(function() {
        $('#p-Language > div.border-1 > div > div').append(
            $('<div>')
            .addClass('inner-body')
        );
        $('#p-Language > div.border-1 > div > div > div').append(
            $('<div>')
            .addClass('langPicker')
        );

        var languages = [
            {
                lang: 'en',
                title: 'English',
                src: 'https://wiki.the-west.net/images/c/ce/Gb.png',
                link: 'https://wiki.the-west.net/wiki/Main_Page'
            },
            {
                lang: 'dk',
                title: 'Danish',
                src: 'https://wiki.the-west.net/images/0/06/Dk.png',
                link: 'https://wiki.the-west.net/wiki/Forside'
            },
            {
                lang: 'se',
                title: 'Swedish',
                src: 'https://wiki.the-west.net/images/d/d0/Se.png',
                link: 'https://wiki.the-west.net/wiki/Huvudsida'
            }
        ];

        var translations = {
            en: {
                mainPage: 'Main Page',
                mainPageLink: '/wiki/Main_Page'
            },
            dk: {
                mainPage: 'Forside',
                mainPageLink: '/wiki/Forside'
            },
            se: {
                mainPage: 'Huvudsida',
                mainPageLink: '/wiki/Huvudsida'
            }
        };

        function updateLinks(language) {
            if (translations[language]) {
                $('#n-Main-Page > a')
                    .text(translations[language].mainPage)
                    .attr('href', translations[language].mainPageLink);
            }
        }

        // Get the stored language from the local storage
        var storedLanguage = localStorage.getItem('selectedLanguage');

        // Update the links if translation exists
        if (storedLanguage) {
            updateLinks(storedLanguage);
        }

        for (var i = 0; i < languages.length; i++) {
            var imageElement = $('<img>').attr('src', languages[i].src, 'title', languages[i].title);
            var linkElement = $('<a>')
                .attr('href', languages[i].link)
                .append(imageElement)
                .on('click', { lang: languages[i].lang }, function(event) {
                    // Save the selected language in the local storage
                    localStorage.setItem('selectedLanguage', event.data.lang);
                    //console.log('Language selected:' + event.data.lang);
                    // Update the Main Page link based on the selected language
                    updateLinks(event.data.lang);
                });

            $('.langPicker').append(linkElement);
        }
    });
})(jQuery);