Welcome to the RuneGlory Wiki, where we do our best to make your life easier!

You can use the search menu on the right side of the wiki (or at the bottom if you are on mobile) to search for the page you are looking for. The most popular pages can be found on the right side of the wiki aswell (or again at the bottom if you are on mobile).

Difference between revisions of "MediaWiki:Common.js"

From RuneGlory
Jump to: navigation, search
Line 165: Line 165:
 
// ***************************** Databases *****************************
 
// ***************************** Databases *****************************
  
function commaSeparateNumber(val){
+
function commaSeparateNumber( val ){
while (/(\d+)(\d{3})/.test(val.toString())){
+
while ( /(\d+)(\d{3})/.test( val.toString() ) ) {
val = val.toString().replace(/(\d+)(\d{3})/, '$1'+'.'+'$2');
+
val = val.toString().replace( /(\d+)(\d{3})/, '$1' + '.' + '$2' );
}
+
};
 
return val;
 
return val;
}
+
};
  
 
$( "button#database_button" ).click( function() {
 
$( "button#database_button" ).click( function() {
Line 234: Line 234:
  
 
$( "h1#item_name" ).html( item_name );
 
$( "h1#item_name" ).html( item_name );
$( "p#sources" ).html( sources );
+
 
$( "p#uses" ).html( uses );
+
if ( sources == "" ) {
$( "p#notes" ).html( notes );
+
$( "p#sources" ).html( "No data available." );
 +
} else {
 +
$( "p#sources" ).html( sources );
 +
};
 +
 
 +
if ( uses == "" ) {
 +
$( "p#uses" ).html( "No data available." );
 +
} else {
 +
$( "p#uses" ).html( uses );
 +
};
 +
 +
if ( notes == "" ) {
 +
$( "p#notes" ).html( "No data available." );
 +
} else {
 +
$( "p#notes" ).html( notes );
 +
};
  
 
// Update the item stats table
 
// Update the item stats table

Revision as of 16:24, 23 April 2016

// ***************************** Structure *****************************

// Remove unnecessary elements

$( "div#p-tb" ).remove();

// Wrap the content

$( "div#content, div#mw-navigation" ).wrapAll( "<div id='wrap'></div>" );

// Insert the header

$( "<header><div id='logo'><a href='https://www.grinderscape.org/'><img src='https://www.grinderscape.org/assets/images/logo.png' draggable='false'></a></div><nav><ul><li id='n-Home'><a href='https://www.grinderscape.org/'>Home</a></li><li id='n-Forums'><a href='http://forum.grinderscape.org/'>Forums</a></li><li id='n-Wiki'><a href='https://newwiki.grinderscape.org/Main_Page'>Wiki</a></li><li id='n-Vote'><a href='https://www.grinderscape.org/vote/status'>Vote</a></li><li id='n-Donate'><a href='https://www.grinderscape.org/donate'>Donate</a></li><li id='n-Marketplace'><a href='https://www.grinderscape.org/marketplace/all'>Marketplace</a></li><li id='n-Highscores'><a href='https://www.grinderscape.org/highscores/mode/regular'>Highscores</a></li><li id='n-Webclient'><a href='http://www.grinderscape.org/play'>Webclient</a></li><li id='n-Download'><a href='https://www.grinderscape.org/play/download'>Download</a></li></ul></nav></header>" ).insertBefore( "div#wrap" );

// Insert the footer

$( "<div id='customFooter'><div style='margin-bottom: 30px; line-height: 0;'><a href='https://www.facebook.com/Grinderscape.org' style='background: url(https://i.imgur.com/DeOQfOs.png) no-repeat center, linear-gradient( transparent,rgba(0, 0, 0, 0.15)), #3a589e; border: 1px solid #17274D;'></a><a href='https://twitter.com/grinderscape' style='background: url(https://i.imgur.com/GZzo3yV.png) no-repeat center, linear-gradient( transparent,rgba(0, 0, 0, 0.15)), #3A89C4; border: 1px solid #0E3959;'></a><a href='https://www.youtube.com/channel/UCVGi_iQHwRSGY36ff40SkYA' style='background: url(https://i.imgur.com/wF3Xf61.png) no-repeat center, linear-gradient( transparent,rgba(0, 0, 0, 0.15)), #C8312B; border: 1px solid #78130F;'></a></div><p style='margin-bottom: 0;'>Theme developed by <a href='https://forum.grinderscape.org/members/56905'>Jplayer</a>.<br>GrinderScape is not affiliated with Jagex or RuneScape in any way.</p></div>" ).insertBefore( "ul#footer-places" );

// Organize the elements

$( "div#mw-navigation" ).insertBefore( "div#content" );
$( "div#content" ).wrap( "<div id='content-sidebar-wrap'></div>" );
$( "div#mw-panel" ).insertAfter( "div#content" );
$( "div#content" ).wrap( "<div id='content-wrap'></div>" );

$( "<div id='navigation'></div>" ).prependTo( "div#content" );
$( "div#left-navigation" ).appendTo( "div#navigation" );
$( "div#right-navigation" ).appendTo( "div#navigation" );

$( "<div id='pageInfo'></div>" ).insertBefore( "div#content" );

$( "div#content" ).wrap( "<div id='content-navigation-wrap'></div>" );
$( "div#siteNotice" ).insertAfter( "div#mw-navigation" );
$( "ul#footer-info" ).insertAfter( "div#content" );

// Set up the page footer info

if ( $( "li#footer-info-credits" ).length > 0 ) {
	$( "li#footer-info-credits" ).html( $( "li#footer-info-credits" ).html().replace( /\[/g, "<span style='position: absolute; right: 0;'>" ).replace( /\]/g, "</span>" ).replace( /\{/g, "<p id='contentFooter' style='position: relative;'>" ).replace( /\}/g, "</p>" ) );
	$( "p#contentFooter" ).insertBefore( "li#footer-info-credits" );
	$( "li#footer-info-credits" ).remove();
}

// Set up the page title and breadcrumb

var title = $( "h1#firstHeading" ).html().split('/');
$( "h1#firstHeading" ).html( title[ title.length - 1 ] );
$( "h1#firstHeading" ).appendTo( "div#pageInfo" );

$( "span.subpages" ).appendTo( "div#pageInfo" );
$( "span.subpages" ).html( $( "span.subpages" ).children() );
$( "<span>" + title[ title.length - 1 ] + "</span>" ).appendTo( "span.subpages" );
$( "<span>&nbsp;&nbsp;/&nbsp;&nbsp;</span>" ).insertAfter( "span.subpages > a" );

// Set up the page title

document.title = title[ title.length - 1 ] + " - GrinderScape Wiki";

// Set up the announcement

$( "<div id='noticeTitle'>Notice</div>" ).prependTo( "div#siteNotice" );

// Remove href from selected tabs

$.each( $( "div.vectorTabs li.selected" ), function() {
	$( this ).find( "a" ).removeAttr( "href" );
});

// Remove title from links

$( "a" ).removeAttr( "title" );

// Set up the search box

$( "div#p-search" ).prependTo( "div#mw-panel" );
$( "<div id='searchTitle'>Search</div>" ).insertBefore( "form#searchform" );
$( "input#searchInput" ).val( "Search..." ).removeAttr( "placeholder" ).attr( "onfocus", "if (this.value == 'Search...') {this.value = '';}" ).attr( "onblur", "if (this.value == '') {this.value = 'Search...';}" );

// Set up the edit box

function wrapText( elementID, openTag, closeTag ) {
	var textArea = $( "#" + elementID );
	var len = textArea.val().length;
	var start = textArea[0].selectionStart;
	var end = textArea[0].selectionEnd;
	var selectedText = textArea.val().substring( start, end );
	var replacement = openTag + selectedText + closeTag;
	textArea.val( textArea.val().substring( 0, start ) + replacement + textArea.val().substring( end, len ) );
}

$( "input#wpWatchthis" ).prop( "checked", false );

$( "<div class='customButton' id='CB-Nowiki' style='background: url(https://i.imgur.com/Fx2AsCt.png);' title='Ignore wiki formatting'></div>" ).appendTo( "div#toolbar" );
$( "#CB-Nowiki" ).click( function() {
	wrapText( "wpTextbox1", "<nowiki>", "</nowiki>" );
});

$( "<div class='customButton' id='CB-Heading2' style='background: url(https://i.imgur.com/8uajyYO.png);' title='Level 2 heading'></div>" ).prependTo( "div#toolbar" );
$( "#CB-Heading2" ).click( function() {
	wrapText( "wpTextbox1", "<h2>", "</h2>" );
});

$( "<div class='customButton' id='CB-Heading1' style='background: url(https://i.imgur.com/jKOOZnF.png);' title='Level 1 heading'></div>" ).prependTo( "div#toolbar" );
$( "#CB-Heading1" ).click( function() {
	wrapText( "wpTextbox1", "<h1>", "</h1>" );
});

$( "<div class='customButton' id='CB-Italic' style='background: url(https://i.imgur.com/zdPfv0X.png);' title='Italic text'></div>" ).prependTo( "div#toolbar" );
$( "#CB-Italic" ).click( function() {
	wrapText( "wpTextbox1", "<i>", "</i>" );
});

$( "<div class='customButton' id='CB-Bold' style='background: url(https://i.imgur.com/lyqhAM9.png);' title='Bold text'></div>" ).prependTo( "div#toolbar" );
$( "#CB-Bold" ).click( function() {
	wrapText( "wpTextbox1", "<b>", "</b>" );
});

// Remove auto correct from text boxes

$( "textarea#wpTextbox1, input#searchInput, input#database_input" ).attr( "spellcheck", "false" );










// ***************************** Indices *****************************

$.each( $( "div.timestamp" ), function() {
	var str = $( this ).html();
	var year = str.substr( 0, 4 );
	var month = str.substr( 4, 2 );
		if ( month == 01 ) { month = " January " }
		else if ( month == 02 ) { month = " February " }
		else if ( month == 03 ) { month = " March " }
		else if ( month == 04 ) { month = " April " }
		else if ( month == 05 ) { month = " May " }
		else if ( month == 06 ) { month = " June " }
		else if ( month == 07 ) { month = " July " }
		else if ( month == 08 ) { month = " August " }
		else if ( month == 09 ) { month = " September " }
		else if ( month == 10 ) { month = " October " }
		else if ( month == 11 ) { month = " November " }
		else if ( month == 12 ) { month = " December " }
	var day = str.substr( 6, 2 );
	$( this ).html( "Last modified on " + day + month + year + "." );
});
$.each( $( "div.link > a" ), function() {
	var link = $( this ).html().split( "/" );
	$( this ).html( link[ link.length - 1 ].replace( /\_/g, " " ) );
});









// ***************************** Databases *****************************

function commaSeparateNumber( val ){
	while ( /(\d+)(\d{3})/.test( val.toString() ) ) {
		val = val.toString().replace( /(\d+)(\d{3})/, '$1' + '.' + '$2' );
	};
	return val;
};

$( "button#database_button" ).click( function() {

	var input = $( "input#database_input" ).val().toLowerCase();

	if ( $( "div#item_database > div[item='" + input + "']" ).length > 0 ) {

		var data = $( "div#item_database > div[item='" + input + "']" ).html().split( ";" );

		// Item

		var item_name = data[0];
		var id = data[1];

		// Item statistics

		var min_price = data[2];
		var max_price = data[3];
		var donator = data[4];
		var tradeable = data[5];
		var noteable = data[6];
		var stackable = data[7];
		var equipable = data[8];

		// Combat statistics

		var ab_stab = data[9];
		var ab_slash = data[10];
		var ab_crush = data[11];
		var ab_magic = data[12];
		var ab_range = data[13];

		var db_stab = data[14];
		var db_slash = data[15];
		var db_crush = data[16];
		var db_magic = data[17];
		var db_range = data[18];

		var ob_strenght = data[19];
		var ob_prayer = data[20];

		var slot = data[21]
		var item_class = data[22]
		var degradable = data[23];

		var sr_defence = data[24];
		var sr_attack = data[25];
		var sr_strenght = data[26];
		var sr_ranged = data[27];
		var sr_magic = data[28];
		var sr_hitpoints = data[29];
		var sr_prayer = data[30];
		var sr_slayer = data[31];

		// Text

		var sources = data[32];
		var uses = data[33];
		var notes = data[34];

		// Update the text

		$( "h1#item_name" ).html( item_name );

		if ( sources == "" ) {
			$( "p#sources" ).html( "No data available." );
		} else {
			$( "p#sources" ).html( sources );
		};

		if ( uses == "" ) {
			$( "p#uses" ).html( "No data available." );
		} else {
			$( "p#uses" ).html( uses );
		};
		
		if ( notes == "" ) {
			$( "p#notes" ).html( "No data available." );
		} else {
			$( "p#notes" ).html( notes );
		};

		// Update the item stats table

		$( "td#picture" ).html( "<img src='https://www.grinderscape.org/assets/images/items/" + id + ".png'>" );
		$( "td#min_price" ).html( commaSeparateNumber( min_price ) );
		$( "td#max_price" ).html( commaSeparateNumber( max_price ) );
		$( "td#donator" ).html( donator );
		$( "td#tradeable" ).html( tradeable );
		$( "td#noteable" ).html( noteable );
		$( "td#stackable" ).html( stackable );
		$( "td#equipable" ).html( equipable );

		// Update combat stats table

		$( "td#ab_stab" ).html( ab_stab );
		$( "td#ab_slash" ).html( ab_slash );
		$( "td#ab_crush" ).html( ab_crush );
		$( "td#ab_magic" ).html( ab_magic );
		$( "td#ab_range" ).html( ab_range );

		$( "td#db_stab " ).html( db_stab );
		$( "td#db_slash" ).html( db_slash );
		$( "td#db_crush" ).html( db_crush );
		$( "td#db_magic" ).html( db_magic );
		$( "td#db_range" ).html( db_range );

		$( "td#ob_strenght" ).html( ob_strenght );
		$( "td#ob_prayer" ).html( ob_prayer );

		$( "td#sr_defence" ).html( sr_defence );
		$( "td#sr_attack" ).html( sr_attack );
		$( "td#sr_strenght" ).html( sr_strenght );
		$( "td#sr_ranged" ).html( sr_ranged );
		$( "td#sr_magic" ).html( sr_magic );
		$( "td#sr_hitpoints" ).html( sr_hitpoints );
		$( "td#sr_prayer" ).html( sr_prayer );
		$( "td#sr_slayer" ).html( sr_slayer );

		$( "td#slot" ).html( slot );
		$( "td#class" ).html( item_class );
		$( "td#degradable" ).html( degradable );

		// Show results

		$( "div#search_results" ).show();
		$( "div#no_results" ).hide();

	} else {

		$( "div#search_results" ).hide();
		$( "div#no_results" ).show();

	};

});








// ***************************** Close *****************************










// Remove the loader

setTimeout( function() {
	$( "div#mw-head-base" ).fadeOut( 500 );
	$( "div#mw-page-base" ).fadeOut( 500 );
}, 600 );