MediaWiki:Common.js

From Basin Wiki
Revision as of 05:48, 1 May 2013 by Antitrust (talk | contribs) (iPad fix)
Jump to navigation Jump to search

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* 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 textinput = $(".gw2textinput").val().substring(0, 50);
    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];
    }

    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)
            {
                newliner =(temparray[3] === " ")?temparray[3]:'<br />' + temparray[3];
                result= result + '<table class="gw2tth"><tr><td colspan="2" class="gw2tt">' + temparray[0] + '</td></tr><tr><td valign="top" class="gw2tc1">Nourishment (' + temparray[1] + ')<br /><br />Required Level: ' + temparray[5] + '</td><td valign="top">' + temparray[2] + newliner + '<br />' + temparray[4] + '</td></tr></table>';
                resultnumber = resultnumber + 1;
            }
            }
        }
    }
    document.getElementById('result').innerHTML = result;
    document.getElementById('resultnumber').innerHTML = resultnumber + ' out of ' + databasearray.length;
});
        
    }
}
window.document.body.onload = dbfood;