Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(15 intermediate revisions by the same user not shown) | |||
Line 84: | Line 84: | ||
var drop3array = drop3string.split("@-@"); | var drop3array = drop3string.split("@-@"); | ||
var drop3list = " "; | var drop3list = " "; | ||
+ | var rngarray = document.getElementById("rngbase").innerHTML.split("@@"); | ||
for (var m=0;m<drop1array.length;m++) | for (var m=0;m<drop1array.length;m++) | ||
Line 99: | Line 100: | ||
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('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))]; | ||
− | $(".gw2submit").live( | + | var ua = navigator.userAgent, |
+ | event = (ua.match(/iPad/i)) ? "touchstart" : "click"; | ||
+ | |||
+ | $(".gw2submit").live(event, function() { | ||
var database = document.getElementById("database").innerHTML; | var database = document.getElementById("database").innerHTML; | ||
var databasearray = database.split("@@"); | var databasearray = database.split("@@"); | ||
Line 110: | Line 115: | ||
var notfood; | var notfood; | ||
var result = " "; | var result = " "; | ||
− | var textinput = $(".gw2textinput").val().substring(0, 50); | + | 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++) | for (var i=0;i<=1;i++) | ||
Line 146: | Line 158: | ||
var foodtype = food + notfood; | 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++) | for (var k=0;k<databasearray.length;k++) | ||
{ | { | ||
Line 153: | Line 192: | ||
if (foodtype == 3 || Number(temparray[6]) == foodtype) | if (foodtype == 3 || Number(temparray[6]) == foodtype) | ||
{ | { | ||
− | if (databasearray[k].search(drop1) >=0 && databasearray[k].search(drop2) >=0 && databasearray[k].search(drop3) >=0 && databasearray[ | + | if (databasearray[k].search(drop1) >=0 && databasearray[k].search(drop2) >=0 && databasearray[k].search(drop3) >=0 && databasearray[k].toLowerCase().search(textinput.toLowerCase()) >=0) |
{ | { | ||
− | result= result + '< | + | 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; | ||
+ | } | ||
} | } | ||
} | } | ||
} | } | ||
} | } | ||
− | document.getElementById('result').innerHTML = result; | + | |
+ | 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; | ||
}); | }); | ||
Latest revision as of 21: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;