Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
| (34 intermediate revisions by the same user not shown) | |||
| Line 72: | Line 72: | ||
| − | function | + | function dbfood() |
{ | { | ||
| − | if(document.getElementById(' | + | if(document.getElementById('intfood')) |
{ | { | ||
| − | document.getElementById(' | + | var drop1string = document.getElementById("dropdown1").innerHTML; |
| + | var drop1array = drop1string.split("@-@"); | ||
| + | var drop1list = " "; | ||
| + | var drop2list = " "; | ||
| + | |||
| + | var drop3string = document.getElementById("dropdown2").innerHTML; | ||
| + | var drop3array = drop3string.split("@-@"); | ||
| + | var drop3list = " "; | ||
| + | var rngarray = document.getElementById("rngbase").innerHTML.split("@@"); | ||
| + | |||
| + | for (var m=0;m<drop1array.length;m++) | ||
| + | { | ||
| + | var x = drop1array[m].split("@@"); | ||
| + | drop1list = drop1list + '<option value="' + x[0] + '">' + x[1] + '</option>'; | ||
| + | drop2list = drop1list; | ||
| + | } | ||
| + | |||
| + | for (var n=0;n<drop3array.length;n++) | ||
| + | { | ||
| + | var y = drop3array[n].split("@@"); | ||
| + | drop3list = drop3list + '<option value="' + y[0] + '">' + y[1] + '</option>'; | ||
| + | } | ||
| + | |||
| + | document.getElementById('intfood').innerHTML = '<input id="gw2textinput" class="gw2textinput" placeholder="Search..."><br /><select id="drop1" class="gw2drop1">' + drop1list + '</select><br /><select id="drop2" class="gw2drop2">' + drop2list + '</select><br /><select id="drop3" class="gw2drop3">' + drop3list + '</select><br /><input class="gw2level1" value="1"><input class="gw2level2" value="80"><input id="food" type="checkbox" checked="checked" class="gw2check1" /><input id="notfood" type="checkbox" class="gw2check2" /><div class="gw2submit"></div>'; | ||
| + | document.getElementById('rngtext').innerHTML = rngarray[Math.floor((Math.random()*rngarray.length))]; | ||
| + | |||
| + | var ua = navigator.userAgent, | ||
| + | event = (ua.match(/iPad/i)) ? "touchstart" : "click"; | ||
| + | |||
| + | $(".gw2submit").live(event, function() { | ||
| + | var database = document.getElementById("database").innerHTML; | ||
| + | var databasearray = database.split("@@"); | ||
| + | var level = [Number($(".gw2level1").val()),Number($(".gw2level2").val())]; | ||
| + | var drop1 = document.getElementById("drop1").options[document.getElementById("drop1").selectedIndex].value; | ||
| + | var drop2 = document.getElementById("drop2").options[document.getElementById("drop2").selectedIndex].value; | ||
| + | var drop3 = document.getElementById("drop3").options[document.getElementById("drop3").selectedIndex].value; | ||
| + | var food; | ||
| + | var notfood; | ||
| + | var result = " "; | ||
| + | var newfield = " "; | ||
| + | var textinput = $(".gw2textinput").val().substring(0, 50).trim(); | ||
| + | var patt1 = /ascending/g; | ||
| + | var patt2 = /wiki/g; | ||
| + | var wlinks = []; | ||
| + | var newliner; | ||
| + | var resultnumber = 0; | ||
| + | var databasearraysorting = []; | ||
| + | |||
| + | for (var i=0;i<=1;i++) | ||
| + | { | ||
| + | if (level[i]<1) | ||
| + | { | ||
| + | level[i] = 1; | ||
| + | } | ||
| + | if (level[i]>80) | ||
| + | { | ||
| + | level[i] = 80; | ||
| + | } | ||
| + | if (level[0]>level[1]) | ||
| + | { | ||
| + | level = level.reverse(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | if (document.getElementById("food").checked === true) | ||
| + | { | ||
| + | food = 1; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | food = 0; | ||
| + | } | ||
| + | if (document.getElementById("notfood").checked === true) | ||
| + | { | ||
| + | notfood = 2; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | notfood = 0; | ||
| + | } | ||
| + | var foodtype = food + notfood; | ||
| + | |||
| + | for (var h=0;h<databasearray.length;h++) | ||
| + | { | ||
| + | databasearraysorting[h] = [databasearray[h],databasearray[h].split("@-@")[5]]; | ||
| + | } | ||
| + | |||
| + | databasearraysorting.sort(function(a, b) | ||
| + | { | ||
| + | return b[1] - a[1]; | ||
| + | }); | ||
| + | |||
| + | for (var g=0;g<databasearray.length;g++) | ||
| + | { | ||
| + | databasearray[g] = databasearraysorting[g][0]; | ||
| + | } | ||
| + | |||
| + | if (patt1.test(textinput) === true) | ||
| + | { | ||
| + | databasearray = databasearray.reverse(); | ||
| + | textinput = textinput.replace(patt1,'').trim(); | ||
| + | } | ||
| + | |||
| + | if (patt2.test(textinput) === true) | ||
| + | { | ||
| + | textinput = textinput.replace(patt2,'').trim(); | ||
| + | newfield = document.getElementById("wtable").innerHTML; | ||
| + | } | ||
| + | |||
| + | for (var k=0;k<databasearray.length;k++) | ||
| + | { | ||
| + | var temparray = databasearray[k].split("@-@"); | ||
| + | if (Number(temparray[5]) >= level[0] && Number(temparray[5]) <= level[1]) | ||
| + | { | ||
| + | if (foodtype == 3 || Number(temparray[6]) == foodtype) | ||
| + | { | ||
| + | if (databasearray[k].search(drop1) >=0 && databasearray[k].search(drop2) >=0 && databasearray[k].search(drop3) >=0 && databasearray[k].toLowerCase().search(textinput.toLowerCase()) >=0) | ||
| + | { | ||
| + | if (newfield === ' ') | ||
| + | { | ||
| + | result= result + '<table class="gw2tth"><tr><td colspan="2" class="gw2tt"><a style="color: #5498ff; text-decoration: none;" href="http://wiki.guildwars2.com/wiki/' + temparray[0] + '">' + temparray[0] + '</a></td></tr><tr><td valign="top" class="gw2tc1">Nourishment (' + temparray[1] + ')<br /><br />Required Level: ' + temparray[5] + '</td><td valign="top">' + temparray[2] + ((temparray[3] === " ")?temparray[3]:'<br />' + temparray[3]) + '<br />' + temparray[4] + '</td></tr></table>'; | ||
| + | resultnumber = resultnumber + 1; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | result = result + '<br />|-<br />|' + temparray[5] + '||' + temparray[1] + '||{{item icon|' + temparray[0] + '|large=y}} || ' + temparray[2] + ((temparray[3] === " ")?temparray[3]:'<br />' + temparray[3]) + ((temparray[4].search('10') >=0)?'':'<br />' + temparray[4]); | ||
| + | resultnumber = resultnumber + 1; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | if (newfield != ' ') | ||
| + | { | ||
| + | result = result.replace(/\./g,''); | ||
| + | wlinks = document.getElementById("wlinks").innerHTML.split("@-@"); | ||
| + | for (var m=0;m<wlinks.length;m++) | ||
| + | { | ||
| + | result = result.split(wlinks[m].split("@@")[0]).join(wlinks[m].split("@@")[1]); | ||
| + | } | ||
| + | } | ||
| + | document.getElementById('result').innerHTML = ((newfield === ' ')?result:newfield + result + '<br />|}'); | ||
| + | document.getElementById('resultnumber').innerHTML = resultnumber + ' out of ' + databasearray.length; | ||
| + | }); | ||
| + | |||
} | } | ||
} | } | ||
| − | window.document.body.onload = | + | window.document.body.onload = dbfood; |
Latest revision as of 22:23, 2 July 2013
/* Any JavaScript here will be loaded for all users on every page load. */
/* This code displays a clock or a countdown timer. Adapted from w3schools.com example. */
(function($) {
function cdTimer() {
var timerElem = $('#CountdownTimer');
function checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
if (timerElem.length > 0) {
var cdoffset = Number(document.getElementById('cdoffset').innerHTML);
var today = new Date();
var h = today.getUTCHours();
var m = today.getUTCMinutes();
var s = today.getUTCSeconds();
var s1 = (s !== 0) ? 60 - s : s;
var m1 = (m !== 0) ? 60 - m : m;
var h1 = (24 - (h - cdoffset)) % 24;
// add a zero in front of numbers<10
h1 = checkTime(h1);
m1 = checkTime(m1);
s1 = checkTime(s1);
timerElem.text(h1 + ":" + m1 + ":" + s1);
t = setTimeout(function() {
cdTimer();
}, 1000);
}
}
function sTime() {
var timeElem = $('#ServerTime');
function checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
if (timeElem.length > 0) {
var soffset = Number(document.getElementById('soffset').innerHTML);
var today = new Date();
var h = today.getUTCHours();
var m = today.getUTCMinutes();
var s = today.getUTCSeconds();
var h2 = (h + soffset) % 24;
// add a zero in front of numbers<10
h2 = checkTime(h2);
m2 = checkTime(m);
s2 = checkTime(s);
timeElem.text(h2 + ":" + m2 + ":" + s2);
t = setTimeout(function() {
sTime();
}, 1000);
}
}
$(document).ready(cdTimer);
$(document).ready(sTime);
})(jQuery);
function dbfood()
{
if(document.getElementById('intfood'))
{
var drop1string = document.getElementById("dropdown1").innerHTML;
var drop1array = drop1string.split("@-@");
var drop1list = " ";
var drop2list = " ";
var drop3string = document.getElementById("dropdown2").innerHTML;
var drop3array = drop3string.split("@-@");
var drop3list = " ";
var rngarray = document.getElementById("rngbase").innerHTML.split("@@");
for (var m=0;m<drop1array.length;m++)
{
var x = drop1array[m].split("@@");
drop1list = drop1list + '<option value="' + x[0] + '">' + x[1] + '</option>';
drop2list = drop1list;
}
for (var n=0;n<drop3array.length;n++)
{
var y = drop3array[n].split("@@");
drop3list = drop3list + '<option value="' + y[0] + '">' + y[1] + '</option>';
}
document.getElementById('intfood').innerHTML = '<input id="gw2textinput" class="gw2textinput" placeholder="Search..."><br /><select id="drop1" class="gw2drop1">' + drop1list + '</select><br /><select id="drop2" class="gw2drop2">' + drop2list + '</select><br /><select id="drop3" class="gw2drop3">' + drop3list + '</select><br /><input class="gw2level1" value="1"><input class="gw2level2" value="80"><input id="food" type="checkbox" checked="checked" class="gw2check1" /><input id="notfood" type="checkbox" class="gw2check2" /><div class="gw2submit"></div>';
document.getElementById('rngtext').innerHTML = rngarray[Math.floor((Math.random()*rngarray.length))];
var ua = navigator.userAgent,
event = (ua.match(/iPad/i)) ? "touchstart" : "click";
$(".gw2submit").live(event, function() {
var database = document.getElementById("database").innerHTML;
var databasearray = database.split("@@");
var level = [Number($(".gw2level1").val()),Number($(".gw2level2").val())];
var drop1 = document.getElementById("drop1").options[document.getElementById("drop1").selectedIndex].value;
var drop2 = document.getElementById("drop2").options[document.getElementById("drop2").selectedIndex].value;
var drop3 = document.getElementById("drop3").options[document.getElementById("drop3").selectedIndex].value;
var food;
var notfood;
var result = " ";
var newfield = " ";
var textinput = $(".gw2textinput").val().substring(0, 50).trim();
var patt1 = /ascending/g;
var patt2 = /wiki/g;
var wlinks = [];
var newliner;
var resultnumber = 0;
var databasearraysorting = [];
for (var i=0;i<=1;i++)
{
if (level[i]<1)
{
level[i] = 1;
}
if (level[i]>80)
{
level[i] = 80;
}
if (level[0]>level[1])
{
level = level.reverse();
}
}
if (document.getElementById("food").checked === true)
{
food = 1;
}
else
{
food = 0;
}
if (document.getElementById("notfood").checked === true)
{
notfood = 2;
}
else
{
notfood = 0;
}
var foodtype = food + notfood;
for (var h=0;h<databasearray.length;h++)
{
databasearraysorting[h] = [databasearray[h],databasearray[h].split("@-@")[5]];
}
databasearraysorting.sort(function(a, b)
{
return b[1] - a[1];
});
for (var g=0;g<databasearray.length;g++)
{
databasearray[g] = databasearraysorting[g][0];
}
if (patt1.test(textinput) === true)
{
databasearray = databasearray.reverse();
textinput = textinput.replace(patt1,'').trim();
}
if (patt2.test(textinput) === true)
{
textinput = textinput.replace(patt2,'').trim();
newfield = document.getElementById("wtable").innerHTML;
}
for (var k=0;k<databasearray.length;k++)
{
var temparray = databasearray[k].split("@-@");
if (Number(temparray[5]) >= level[0] && Number(temparray[5]) <= level[1])
{
if (foodtype == 3 || Number(temparray[6]) == foodtype)
{
if (databasearray[k].search(drop1) >=0 && databasearray[k].search(drop2) >=0 && databasearray[k].search(drop3) >=0 && databasearray[k].toLowerCase().search(textinput.toLowerCase()) >=0)
{
if (newfield === ' ')
{
result= result + '<table class="gw2tth"><tr><td colspan="2" class="gw2tt"><a style="color: #5498ff; text-decoration: none;" href="http://wiki.guildwars2.com/wiki/' + temparray[0] + '">' + temparray[0] + '</a></td></tr><tr><td valign="top" class="gw2tc1">Nourishment (' + temparray[1] + ')<br /><br />Required Level: ' + temparray[5] + '</td><td valign="top">' + temparray[2] + ((temparray[3] === " ")?temparray[3]:'<br />' + temparray[3]) + '<br />' + temparray[4] + '</td></tr></table>';
resultnumber = resultnumber + 1;
}
else
{
result = result + '<br />|-<br />|' + temparray[5] + '||' + temparray[1] + '||{{item icon|' + temparray[0] + '|large=y}} || ' + temparray[2] + ((temparray[3] === " ")?temparray[3]:'<br />' + temparray[3]) + ((temparray[4].search('10') >=0)?'':'<br />' + temparray[4]);
resultnumber = resultnumber + 1;
}
}
}
}
}
if (newfield != ' ')
{
result = result.replace(/\./g,'');
wlinks = document.getElementById("wlinks").innerHTML.split("@-@");
for (var m=0;m<wlinks.length;m++)
{
result = result.split(wlinks[m].split("@@")[0]).join(wlinks[m].split("@@")[1]);
}
}
document.getElementById('result').innerHTML = ((newfield === ' ')?result:newfield + result + '<br />|}');
document.getElementById('resultnumber').innerHTML = resultnumber + ' out of ' + databasearray.length;
});
}
}
window.document.body.onload = dbfood;