Escape from Tarkov Wiki
Register
No edit summary
No edit summary
Line 1: Line 1:
  +
importArticles({
  +
type: 'script',
  +
articles: [
  +
'u:dev:MediaWiki:SearchSuggest/code.js',
  +
]
  +
});
  +
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/*****************************************
 
/*****************************************

Revision as of 02:08, 13 January 2022

importArticles({
	type: 'script',
	articles: [
		'u:dev:MediaWiki:SearchSuggest/code.js',
	]
});

/* Any JavaScript here will be loaded for all users on every page load. */
/*****************************************
/* Front Page 3-column height equalization *
/*****************************************/
// Author:  Shawn Bruckner
// Date:	2013-Sept-21
// License: CC-BY 3.0
// Version: beta

var fp = fp || {
	equalizeColumns : function() {
	$( '.fpmain' ).each( function () {
		fp.resetSectionBoxHeights( $( this ).find( '.fpsection1, .fpsection2, .fpsection3, .fpsection4' ) );
	} );
	if ( $( window ).width() > 789 && $( window ).width() < 1390 ) {
		$( '.fpmain' ).each( function (index) {
		var leftHeight = $( this ).find( '.fpsection1' ).height() + $( this ).find( '.fpsection4' ).height();
		var rightHeight = $( this ).find( '.fpsection2' ).height() + $( this ).find( '.fpsection3' ).height();
		var difference = Math.abs( rightHeight - leftHeight );
		
		if ( leftHeight < rightHeight ) {
			fp.adjustSectionBoxHeights( difference, $( this ).find( '.fpsection1, .fpsection4' ) );
		} else if ( rightHeight < leftHeight ) {
			fp.adjustSectionBoxHeights( difference, $( this ).find( '.fpsection2, .fpsection3' ) );
		}
		} );
	} else if ( $( window ).width() > 1389 ) {
		$( '.fpmain' ).each( function (index) {
		var leftHeight = $( this ).find( '.fpsection1' ).height() + $( this ).find( '.fpsection4' ).height();
		var middleHeight = $( this ).find( '.fpsection2' ).height();
		var rightHeight = $( this ).find( '.fpsection3' ).height();
		var maxHeight = Math.max( leftHeight, middleHeight, rightHeight );
		
		if ( leftHeight < maxHeight ) {
			fp.adjustSectionBoxHeights( maxHeight - leftHeight, $( this ).find( '.fpsection1, .fpsection4' ) );
		}
		if ( middleHeight < maxHeight ) {
			fp.adjustSectionBoxHeights( maxHeight - middleHeight, $( this ).find( '.fpsection2' ) );
		}
		if ( rightHeight < maxHeight ) {
			fp.adjustSectionBoxHeights( maxHeight - rightHeight, $( this ).find( '.fpsection3' ) );
		}
		} );
	}
	},

	findAdjustableSectionBoxes : function ( sections ) {
	var boxes = sections.find( '.fpbox.fpgreedy' );

	if ( boxes.length === 0 ) {
		return sections.find( '.fpbox' ).not( '.fpnoresize' );
	} else {
		return boxes;
	}
	},

	resetSectionBoxHeights : function ( sections ) {
	fp.findAdjustableSectionBoxes( sections ).each( function () {
		$( this ).height( 'auto' );
	} );
	},

	adjustSectionBoxHeights : function ( heightToAdd, sections ) {
	var boxes, lastBox, remainingHeightToAdd, boxHeightToAdd;
	boxes = fp.findAdjustableSectionBoxes( sections );
	lastBox = boxes.last();
	remainingHeightToAdd = heightToAdd;
	boxHeightToAdd = Math.floor( heightToAdd / boxes.length );

	boxes.each( function() {
		if ( this === lastBox.get( 0 ) ) {
		$( this ).height( $( this ).height() + remainingHeightToAdd );
		} else {
		$( this ).height( $( this ).height() + boxHeightToAdd );
		remainingHeightToAdd -= boxHeightToAdd;
		}
	} );
	}
};

$( document ).ready( fp.equalizeColumns );
$( window ).resize( fp.equalizeColumns );
/*********************************************
/* End Front Page column height equalization *
/*********************************************/


/* Quest toggle
author: RheingoldRiver
*/
$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function () { 
	$dealerList = $('.dealer-toggle');
	
	if (! $dealerList.length) {
		return;
	}
	
	function togglecontent(dealer, display) {
		$('.' + dealer + '-content').each(function() {
			$(this).css('display',display);
		});
	}

	function setDealer(index, element) {
	$dealerList.each(function() {
		$(this).removeClass('current-dealer');
		togglecontent($(this).attr('data-dealer'), 'none');
		});
		$(element).addClass('current-dealer');
		togglecontent($(element).attr('data-dealer'),'');
		$.cookie("lastDealer", index, { expires: 3, path: window.location.pathname });
	}
	
	$dealerList.each(function(index) {
		$(this).click(function() {
			setDealer(index, this);
		});
		if (parseInt($.cookie("lastDealer")) === index  || (index === 0 && ! parseInt($.cookie("lastDealer")))) {
			setDealer(index, this);
		}
		else {
			togglecontent($(this).attr('data-dealer'), 'none');
		}
	});
});