TibiaWiki
Advertisement

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

  • Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
  • Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
  • Opera users have to clear their caches through Tools→Preferences
  • Konqueror and Safari users can just click the Reload button.
  • Chrome: press Ctrl+F5 or Shift+F5
/*global $ */
/*jslint devel: true, browser: true, indent: 2, white: true, plusplus: true, bitwise: true, vars: true, ass: true */
$(window).load(function() {

    //All images need to have this size:
    //high resolution images(png) should be 4x in size
    minimap_images_width = 2304;
    minimap_images_height = 2048;

    minimap_mapper_page = 'http://tibia.fandom.com/wiki/Mapper';

    minimap_max_x = 132;
    minimap_max_y = 129;

    minimap_images = [];

    minimap_images[0] = [
    'http://images2.fandom.nocookie.net/tibia/en/images/9/97/Minimap_Symbols.gif',
    'http://images4.fandom.nocookie.net/tibia/en/images/6/6c/Minimap_Loading.gif'
    ];

    minimap_images[1] = [
    'https://tibiamaps.github.io/tibia-map-data/floor-00-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-01-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-02-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-03-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-04-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-05-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-06-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-07-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-08-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-09-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-10-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-11-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-12-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-13-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-14-map.png',
    'https://tibiamaps.github.io/tibia-map-data/floor-15-map.png'
    ];

    minimap_images[4] = [
    '',
    '',
    '',
    '',
    '',
    '',
    '',
    'http://images.fandom.com/tibia/en/images/c/c5/Minimap_Floor_7h.png',
    '',
    '',
    '',
    '',
    '',
    '',
    '',
    ''
    ];

    if (typeof Image === 'function') {
        // Image constructor supported, we can preload images
        preload_image = function (src) {
            var img = new Image();
            img.src = src;
            return img;
        };
        preload_image_array = function (arr) {
            var len = arr.length;
            while (len--) {
                preload_image(arr[len]);
            }
        };
        mapper_preload_files = function (ele) {
            var files = minimap_images, len = files.length;
            if (ele.checked) {
                while (len--) {
                    if (files[len] && typeof files[len] === 'object') {
                        preload_image_array(files[len]);
                    }
                }
            }
        };
    }
    minimap_get_coords = function(url, varname) {
      url = decodeURI(url);
      if (typeof varname == 'undefined') { varname = 'coords'; }
      var pars = [], tmpp = url.split(varname + '='); tmpp.shift(); tmpp = tmpp.join('').split('&')[0];
      if (varname == 'coords') {
    //0x.1x,2y.3y,4z,5zoom,6zoomm,7centermark
        if (tmpp === '' || (tmpp = tmpp.split(/[,-]/)).length < 3) { pars = [127, 128, 124, 128, 7, 1, 1, 1]; }
        else {
          pars[0] = parseInt(tmpp[0].split('.')[0] || 127, 10);
          pars[1] = parseInt(tmpp[0].split('.')[1] || 0, 10);
          pars[2] = parseInt(tmpp[1].split('.')[0] || 124, 10);
          pars[3] = parseInt(tmpp[1].split('.')[1] || 0, 10);
          pars[4] = parseInt(tmpp[2] || 7, 10);
          pars[5] = parseFloat(tmpp[3] || 1);
          pars[6] = parseFloat(tmpp[4] || 1);
          pars[7] = parseInt(tmpp[5] || 1, 10);
          pars[0] = (pars[0] > minimap_max_x || pars[0] < 124 ? 127 : pars[0]);
          pars[1] = (pars[1] > 255 || pars[1] < 0 ? 0 : pars[1]);
          pars[2] = (pars[2] > minimap_max_y || pars[2] < 121 ? 124 : pars[2]);
          pars[3] = (pars[3] > 255 || pars[3] < 0 ? 0 : pars[3]);
          pars[4] = (pars[4] > 15 || pars[4] < 0 ? 7 : pars[4]);
          pars[5] = (pars[5] > 8 || pars[5] < 1 ? 1 : pars[5]);
          pars[6] = (pars[6] > 8 || pars[6] < 0 ? 1 : pars[6]);
          pars[7] = (pars[7] > 1 || pars[7] < 0 ? 1 : pars[7]);
        }
      }
      else if (varname.indexOf('mark') === 0) {
    //Default 0x.1x,2y.3y,4z,5icon,6link
        if (tmpp === '' || (tmpp = tmpp.split(/[,-]/)).length < 3) { pars = [127, 128, 124, 128, 7, 1, '']; }
        else {
          pars[0] = parseInt(tmpp[0].split('.')[0] || 127, 10);
          pars[1] = parseInt(tmpp[0].split('.')[1] || 0, 10);
          pars[2] = parseInt(tmpp[1].split('.')[0] || 124, 10);
          pars[3] = parseInt(tmpp[1].split('.')[1] || 0, 10);
          pars[4] = parseInt(tmpp[2] || 7, 10);
          pars[5] = parseInt(tmpp[3] || 1, 10);
          pars[6] = tmpp[4] || '';
          pars[0] = (pars[0] > minimap_max_x || pars[0] < 124 ? 127 : pars[0]);
          pars[1] = (pars[1] > 255 || pars[1] < 0 ? 0 : pars[1]);
          pars[2] = (pars[2] > minimap_max_y || pars[2] < 121 ? 124 : pars[2]);
          pars[3] = (pars[3] > 255 || pars[3] < 0 ? 0 : pars[3]);
          pars[4] = (pars[4] > 15 || pars[4] < 0 ? 7 : pars[4]);
          pars[5] = (pars[5] > 22 || pars[5] < 0 ? 1 : pars[5]);
        }
      }
      return pars;
    };
    minimap_change_src = function () {
        var fresh = (minimap_read_cookie('minimap_fresh') == '1'), len1 = minimap_images.length, len2, currList;
        if (fresh) {
            while (len1--) {
                currList = minimap_images[len1];
                len2 = currList instanceof Array ? currList.length : 0;
                while (len2--) {
                    if (currList[len2]) {
                        currList[len2] += "?nocache=" + (+new Date());
                    }
                }
            }
        }
    };
    minimap_center_div = function () {
      var aligner = function(ea) { if (ea.css('display') == 'block') {
        var tmp = parseInt((($(window).height() - ea[0].offsetHeight) / 2)+ $(window).scrollTop(), 10);
        tmp = (tmp > 0 ? tmp : 10);
        ea.css({position: 'absolute', top:tmp, left: parseInt((($(window).width() - ea.width()) / 2)+ $(window).scrollLeft(), 10)});
        $('#minimap_blackout').css({display: 'block'}).height($(document).height());
      } };
      aligner($('#minimap_wp'));
    };

    minimap_drago = null; minimap_dragos = null; minimap_dragms = null;
    minimap_dragstart = function () {
      $('#minimap_img').mousedown(function(ev) {
        if (!(minimap_drago = $('#minimap_imgdiv')[0])) { return; }
        minimap_dragms = {x:ev.pageX, y:ev.pageY};
        minimap_dragos = {x:$(minimap_drago).css('left'), y:$(minimap_drago).css('top')};
        return false;
      });
    };

    $(document).mouseup(function (ev) {
      if (minimap_drago) {
        minimap_map_data[1] += parseInt((minimap_dragms.x -ev.pageX)/minimap_map_data[5], 10);
        minimap_map_data[3] += parseInt((minimap_dragms.y -ev.pageY)/minimap_map_data[5], 10);
        minimap_pos();
      }
      minimap_drago = null;
    });

    $(document).mousemove(function (ev) {
      if (minimap_drago) {
        minimap_drago.style.left = (parseFloat(minimap_dragos.x) - (minimap_dragms.x - ev.pageX))+'px';
        minimap_drago.style.top = (parseFloat(minimap_dragos.y) - (minimap_dragms.y - ev.pageY))+'px';
        return false;
      }
    });

    minimap_map_data = [];
    minimap_map_sdata = [];

    minimap_data_to_url = function (type) {
    //0x.1x,2y.3y,4z,5zoom,6zoomm,7centermark
    //0x.1x,2y.3y,4z,5icon,6link
      var x, ret;
      if (type === 0) {//Direct Link
        ret = minimap_mapper_page+'?coords=';
        ret += minimap_map_data[0]+'.'+minimap_map_data[1]+'-'+minimap_map_data[2]+'.'+minimap_map_data[3]+'-'+
               minimap_map_data[4]+'-'+minimap_map_data[5]+'-'+minimap_map_data[6]+'-'+minimap_map_data[7];
        if ($('#minimap_marks_enabled').is(':checked')) {
          for (x in minimap_map_data) { if (minimap_map_data.hasOwnProperty(x) && typeof minimap_map_data[x] == 'object') {
            ret += '&'+x+'=';
            ret += minimap_map_data[x][0]+'.'+minimap_map_data[x][1]+'-'+minimap_map_data[x][2]+'.'+minimap_map_data[x][3]+
            '-'+minimap_map_data[x][4]+'-'+minimap_map_data[x][5]+(minimap_map_data[x][6] ? '-'+minimap_map_data[x][6] : '');
          } }
        }
      }
      else if (type == 1) {//Template:Minimap
        ret = '{'+'{Minimap';
        ret += '|x='+minimap_map_data[0]+'.'+minimap_map_data[1]+'|y='+minimap_map_data[2]+'.'+minimap_map_data[3]+'|z='+
               minimap_map_data[4]+'|zoom='+minimap_map_data[5]+'|zoomm='+minimap_map_data[6]+
               '|width='+(1 / minimap_map_data[5])+'|height='+(1 / minimap_map_data[5])+
               '|centermark='+(minimap_map_data[7] ? 'yes' : 0);
        if ($('#minimap_marks_enabled').is(':checked')) {
          for (x in minimap_map_data) { if (minimap_map_data.hasOwnProperty(x) && typeof minimap_map_data[x] == 'object') {
            if (minimap_map_data[4] != minimap_map_data[x][4]) { continue; }
            ret += '|'+x+'=';
            ret += minimap_map_data[x][0]+'.'+minimap_map_data[x][1]+','+minimap_map_data[x][2]+'.'+minimap_map_data[x][3]+
            ','+minimap_map_data[x][5]+','+minimap_map_data[x][6];
          } }
        }
        ret += '}'+'}';
      }
      else if (type == 2) {//Wiki Link
        ret = document.getElementById('minimap_tcode3').value.replace(/\s|%20/gi, '_');
        ret = '['+minimap_data_to_url(0).replace(/\s|%20/gi, '_')+(ret === '' ? '' : ' ')+ret+']';
      }
      else if (type == 3) {//x,y,z
        ret = minimap_map_data[0]+'.'+minimap_map_data[1]+','+minimap_map_data[2]+'.'+minimap_map_data[3]+','+
              minimap_map_data[4];
      }
      else if (type == 4) {//tibiaml map
        ret = 'http://map.tibiaml.com/?p='+
              ((minimap_map_data[0]*256)+minimap_map_data[1])+','+((minimap_map_data[2]*256)+minimap_map_data[3])+','+
              minimap_map_data[4]+':'+(minimap_map_data[5] > 7 ?8:(minimap_map_data[5] > 3 ?7:(minimap_map_data[5] > 2 ?6:5)));
      }
      return ret;
    };

    minimap_mapper_list_click = function() {
      if ($('#minimap_loading').css('display') == 'block') { return; }
      var e = $('#mapper_list :selected').val();
      e = decodeURI(e).split(',');
      $('#mapper_mark_remove').attr('disabled', false);
      minimap_map_data[0] = parseInt(e[0], 10); minimap_map_data[1] = parseInt(e[1], 10);
      minimap_map_data[2] = parseInt(e[2], 10); minimap_map_data[3] = parseInt(e[3], 10);
      minimap_map_data[4] = parseInt(e[4], 10);
      minimap_pos(false);
    };

    minimap_read_cookie = function(name) {
      var i, c, cl = document.cookie.split(';');
      for(i=0;i<cl.length;i++) { c = $.trim(cl[i]); if (c.indexOf(name+'=') === 0) { return c.substring(name.length+1); } }
      return null;
    };

    minimap_write_cookie = function(name, val) {
      var date = new Date(); date.setTime(date.getTime()+(7*24*60*60*1000)); date = date.toGMTString();
      document.cookie = name+'='+val+'; expires='+date+'; path=/';
    };

    minimap_codes_update = function (reset_list) {
      var tmp;
      tmp = -1*(minimap_map_data[4] - 7);
      $('#minimap_current_floor').val((tmp < 1 ? '' : '+') + tmp);
      $('#minimap_current_coords').val(minimap_data_to_url(3));
      if ($('#minimap_tcode1').size()) {
        $('#minimap_tcode1').val(minimap_data_to_url(0));
        $('#minimap_tcode2').val(minimap_data_to_url(1));
        $('#minimap_tcode4').val(minimap_data_to_url(2));
        if (typeof reset_list == 'undefined' || reset_list) {
          var i = 1; tmp = '';
          while (minimap_map_data['mark'+i]) {
            tmp += '<option value="'+encodeURI(minimap_map_data['mark'+i].join(','))+'">'+i+'</option>';
            i++;
          }
          $('#mapper_list').empty().append(tmp);
        }
      }
    };

    minimap_pos_b = function(act, val) {
      if ($('#minimap_loading').css('display') == 'block') { return; }
      var x;
      if (act == 'reset') {
        minimap_map_data = [];
        for (x in minimap_map_sdata) { if (minimap_map_sdata.hasOwnProperty(x)) {
          minimap_map_data[x] = (typeof minimap_map_sdata[x] == 'object' ? minimap_map_sdata[x].slice(0) : minimap_map_sdata[x]);
        } }
      }
      else if (act == 'we') { minimap_map_data[1] += val; }
      else if (act == 'ns') { minimap_map_data[3] += val; }
      else if (act == 'zoom') {
        x = minimap_map_data[5] * val; if (x > 8 || x < 1) { return; } minimap_map_data[5] = Math.round(x);
        if (minimap_map_data[5] < 1) { minimap_map_data[5] = 1; }
        while (minimap_map_data[5] != 1 && minimap_map_data[5] != 2 && minimap_map_data[5] != 4 && minimap_map_data[5] != 8) { minimap_map_data[5]--; }
      }
      else if (act == 'floor') { x = minimap_map_data[4] + val; if (x > 15 || x < 0) { return; } minimap_map_data[4] = x; }
      minimap_pos();
    };


    minimap_pos = function(reset_list) {
      $('#minimap_maindiv').css('display', 'none'); $('#minimap_loading').css('display', 'block');
    //Adjusts values out of range for x and y
      minimap_map_data[0] = minimap_map_data[0]+Math.floor(minimap_map_data[1] / 256);
      minimap_map_data[1] = minimap_map_data[1]-(Math.floor(minimap_map_data[1]/256)*256);
      minimap_map_data[2] = minimap_map_data[2]+Math.floor(minimap_map_data[3] / 256);
      minimap_map_data[3] = minimap_map_data[3]-(Math.floor(minimap_map_data[3]/256)*256);

      var hres, d, ch, parss, pars = minimap_map_data;
      var tleft = Math.floor((((pars[0] - 124 - (1*(1/pars[5]))) * 256) + pars[1]) * pars[5], 10)+Math.floor(pars[5] / 2);
      var ttop = Math.floor((((pars[2] - 121- (0.75*(1/pars[5]))) * 256) + pars[3]) * pars[5], 10)+Math.floor(pars[5] / 2);
      var twidth = Math.floor(minimap_images_width * pars[5]);
      var theight = Math.floor(minimap_images_height * pars[5]);

      hres = (minimap_read_cookie('minimap_hres') == '1');
    //main image
      d = $('#minimap_imgdiv');
      d.css({'left':(-1*tleft)+'px', 'top':(-1*ttop)+'px'});
      ch = d.children(':first');
      ch.width(twidth).height(theight);

      hres = (hres ? (pars[5] >= 3 ? (minimap_images[4] && minimap_images[4][pars[4]] ? 4 : 1) : 1) : 1);
      if (ch.attr('src') == minimap_images[hres][pars[4]]) {
        $('#minimap_loading').css('display', 'none'); $('#minimap_maindiv').css('display', 'block');
      }
      else { ch.attr('src', minimap_images[hres][pars[4]]); }
    //dashed lines
      if ($('#minimap_cmark_enabled').is(':checked')) {
        minimap_map_data[7] = 1;
        $('#minimap_vl').css({'display':'block', 'visibility':'visible'});
        $('#minimap_hl').css({'display':'block', 'visibility':'visible'});
        if (!$('#minimap_editor_mode').is(':checked')) {
          parss = minimap_map_sdata;
          tleft = Math.floor((((parss[0] - 124 - (1*(1/pars[5]))) * 256) + parss[1]) * pars[5], 10)+Math.floor(pars[5] / 2);
          ttop = Math.floor((((parss[2] - 121- (0.75*(1/pars[5]))) * 256) + parss[3]) * pars[5], 10)+Math.floor(pars[5] / 2);

          $('#minimap_vl').appendTo($('#minimap_imgdiv')).css({
            'left':(tleft+256)+'px',
            'top':(ttop+(wgPageName != 'Mapper' ? parseInt((384-parseInt(384*(pars[5] / parss[5]), 10))/2, 10) : 0))+'px',
            'height':(wgPageName != 'Mapper' ? parseInt(384*(pars[5] / parss[5]), 10) : 384)+'px'
          });

          $('#minimap_hl').appendTo($('#minimap_imgdiv')).css({
            'left':(tleft+(wgPageName != 'Mapper' ? parseInt((512-parseInt(512*(pars[5] / parss[5]), 10))/2, 10) : 0))+'px',
            'top':(ttop+192)+'px',
            'width':(wgPageName != 'Mapper' ? parseInt(512*(pars[5] / parss[5]), 10) : 512)+'px'
          });
        }
        else {
          $('#minimap_vl').appendTo($('#minimap_imgdiv').parent()).css({'left':'256px', 'top':'0px', 'height':'384px'});
          $('#minimap_hl').appendTo($('#minimap_imgdiv').parent()).css({'left':'0px', 'top':'192px', 'width':'512px'});
        }
      }
      else {
        minimap_map_data[7] = 0;
        $('#minimap_vl').css({'display':'none', 'visibility':'hidden'});
        $('#minimap_hl').css({'display':'none', 'visibility':'hidden'});
      }
    //marks
      var tmpm, i = 1, msize, mleft, mtop;

      $('[id^="minimap_mark"]').filter(function() { var id = $(this).attr('id').replace('minimap_mark', ''); return (parseInt(id, 10) > 0 ? true : false); } ).css({'display':'none', 'visibility':'hidden'});

      if ($('#minimap_marks_enabled').is(':checked')) { while (pars['mark'+i]) {
        tmpm = pars['mark'+i];
        if (!$('#minimap_mark'+i).size()) {
          $('<div id="minimap_mark'+i+'">&nbsp</div>')
          .css({'display':'block', 'position':'absolute', 'z-index':'2003', 'overflow':'hidden', '':''})
          .html('<div style="position:absolute;overflow:hidden;">'+
                '<a href=""><img src="'+minimap_images[0][0]+'" alt="" width="121" height="22" border="0" /></a>'+
                '<div style="text-align:center;padding:0px;margin:0px;border:none;position:absolute;top:0px;left:0px;width:0px;height:0px;display:none;visibility:hidden;line-height:normal;">'+
                '</div>')
          .appendTo($('#minimap_imgdiv'));
        }
        if (tmpm[4] != pars[4]) { i++; continue; }//mark in same z
        msize = Math.floor(11*pars[5]*pars[6])+'px';

        $('#minimap_mark'+i).css({
          'display':'block', 'visibility':'visible',
          'left':Math.floor(((((tmpm[0] - 124) * 256) + (tmpm[1])) * pars[5]) - (5*pars[5]*pars[6]))+'px',
          'top':Math.floor(((((tmpm[2] - 121) * 256) + (tmpm[3])) * pars[5]) - (5*pars[5]*pars[6]))+'px',
          'width':msize, 'height':msize
        });
        mleft = Math.floor(Math.floor(((tmpm[5] == 21 ? 22 : tmpm[5])-1)/2)*11*pars[5]*pars[6]);
        mtop = Math.floor((Math.floor(((tmpm[5] == 21 ? 22 : tmpm[5]))/2) == (((tmpm[5] == 21 ? 22 : tmpm[5]))/2) ? 11 : 0)*pars[5]*pars[6]);
        $('#minimap_mark'+i)
        .children(':first')//hidder div
        .css({'left':(-1 * mleft)+'px', 'top':(-1 * mtop)+'px'})
        .children(':first')//a link
        .css('cursor', 'default').attr({'onclick':'return false;', 'href':''});
        if (tmpm[6] !== '' && tmpm[5] != 21) {
          $('#minimap_mark'+i).children(':first').children(':first')//a link
          .css('cursor', 'pointer').attr({'onclick':'window.open(this.href); return false;', 'href':'/wiki/'+encodeURI(tmpm[6])});
        }
        d = $('#minimap_mark'+i).children(':first').children(':first')[0];
        if (tmpm[5] == 21) {//numeric mark
          $('#minimap_mark'+i).children(':first').children(':first').next()
          .css({
            'display':'block', 'visibility':'visible', 'left':mleft+'px', 'top':mtop+'px', 'width':msize, 'height':msize,
            'font-size':(parseInt(msize, 10) - 2)+'px', 'line-height':'normal'
          })
          .html(tmpm[6] !== '' ? parseInt(tmpm[6].slice(0, 2), 10) || 0 : 0);
        }
        $('#minimap_mark'+i).children(':first').children(':first').children(':first')//image
        .attr({'title':tmpm[6], 'alt':tmpm[6]}).css({'width':Math.floor(121*pars[5]*pars[6]), 'height':Math.floor(22*pars[5]*pars[6])});
        i++;
      } }
      minimap_codes_update(reset_list);
    };

    minimap_mapper_add_mark = function() {
      if ($('#minimap_loading').css('display') == 'block') { return; }
      var i = 1; while (minimap_map_data['mark'+i]) { i++; }
      minimap_map_data['mark'+i] = minimap_map_data.slice(0, 5);
      minimap_map_data['mark'+i][5] = $('[id^="mapper_marker_r"]:checked').val();
      minimap_map_data['mark'+i][6] = document.getElementById('mapper_optional_link').value.replace(/\s|%20/gi, '_');
      minimap_pos();
    };

    minimap_mapper_remove_mark = function() {
      if (document.getElementById('minimap_loading').style.display == 'block') { return; }
      if (!$('#mapper_list :selected').size()) { return; }
      $('#mapper_mark_remove').attr('disabled', true);
      $('#mapper_list :selected').remove();
      minimap_map_data = minimap_map_data.slice(0, 8);
      $('#mapper_list option').each(function(i) {
        var tmp = decodeURI($(this).val()).split(',', 7);
        minimap_map_data['mark'+(i+1)] = [parseInt(tmp[0], 10), parseInt(tmp[1], 10), parseInt(tmp[2], 10),
                                          parseInt(tmp[3], 10), parseInt(tmp[4], 10), parseInt(tmp[5], 10), tmp[6]];
      });
      minimap_pos();
    //0x.1x,2y.3y,4z,5zoom,6zoomm,7centermark
    //0x.1x,2y.3y,4z,5icon,6link
    };

    minimap_load = function(url) {
      minimap_map_sdata = minimap_get_coords(url); minimap_map_data = minimap_get_coords(url);
      var pars = minimap_get_coords(url);
      var tid = 'minimap_w' + (wgPageName == 'Mapper' ? 'f' : 'p');
      minimap_change_src();// bypass image cache if the user opts to
      if (wgPageName != 'Mapper') {
        if (!$('#minimap_blackout').size()) { $('body').append(
          '<div id="minimap_blackout" class="minimap_blackout" onclick="$(\'.minimap_wp, #minimap_blackout\').css(\'display\', \'none\').html(\'&nbsp;\'); return false;">&nbsp;</div>');
        }
        if (!$('#minimap_wp').size()) { $('body').append('<div id="minimap_wp" class="minimap_wp minimap_w"></div>'); }
        $('#minimap_blackout').css('display', 'block').height($(document).height());
        $('#minimap_wp').css('display', 'block');
      }
      var tmp =
      (wgPageName != 'Mapper' ?
      '<div style=\'text-align:center;background:#eeeeee;color:#0038d8;font-weight:bold;height:19px;padding-top: 2px\'>TibiaWiki Map</div>'+
        '<div class="minimap_wx" onclick="$(\'.minimap_wp, #minimap_blackout\').css(\'display\', \'none\').html(\'&nbsp;\'); return false;">X</div>'
      : '<div style="border-bottom-color:#aaaaaa;border-bottom-style:solid;border-bottom-width:1px;"><font size="+1">Mapper</font></div><br />')+
      '<div style="display:block;border:1px #3366CC solid;background-color:grey;">'+
        '<div id="minimap_loading" ><img src="'+minimap_images[0][1]+'" alt="Loading" width="512" height="384" /></div>'+
        '<div id="minimap_maindiv" style="overflow:hidden;"><div style="overflow:hidden;display:block;position:absolute;width:512px;height:384px;">'+
          '<div id="minimap_imgdiv" style="display:block;position:absolute;">'+
            '<img id="minimap_img" src="" alt="" width="" height="" />'+
            '<div id="minimap_vl" style="position:absolute;left:256px;top:0px;display:block;width:1px;height:384px;border-left:1px dashed #FFFFFF;"></div>'+
            '<div id="minimap_hl" style="position:absolute;left:0px;top:192px;display:block;width:512px;height:1px;border-top:1px dashed #FFFFFF;"></div>';
      var tmpm, i = 1;
      while (url.indexOf('mark'+i) != -1) {
        tmpm = minimap_get_coords(url, 'mark'+i);
        minimap_map_sdata['mark'+i] = tmpm.slice(0); minimap_map_data['mark'+i] = tmpm;
        tmp +=
            '<div id="minimap_mark'+i+'" style="overflow:hidden;position:absolute; z-index:2003;">'+
            '<div style="position:absolute;overflow:hidden;">'+
            '<a href=""><img src="'+minimap_images[0][0]+'" alt="" width="121" height="22" border="0" /></a>'+
            '<div style="text-align:center;padding:0px;margin:0px;border:none;position:absolute;top:0px;left:0px;width:0px;height:0px;display:none;visibility:hidden;"></div>'+
            '</div></div>'+
            '';
        i++;
      }
      tmp +=
          '</div>'+
        '</div></div>'+
      '</div>'+
      '<div style="'+(wgPageName != 'Mapper' ? 'background-color:#EEEEEE;' : '')+'">'+
      '<table border="0"><tr><td style="vertical-align:top;width:46px;">'+
      '<div style="margin:2px;line-height:10px;"><input type="button" onclick="minimap_pos_b(\'ns\', -30);" class="starn btns" value="" /><br />'+
      '<input type="button" onclick="minimap_pos_b(\'we\', -30);" class="starw btns" value="" />'+
      '<input type="button" onclick="minimap_pos_b(\'reset\');" class="starc btns" value="" />'+
      '<input type="button" onclick="minimap_pos_b(\'we\', 30);" class="stare btns" value="" /><br />'+
      '<input type="button" onclick="minimap_pos_b(\'ns\', 30);" class="stars btns" value="" />'+
      '</div>'+
      '</td><td style="vertical-align:top;width:46px;">'+
      '<div style="margin:2px;">'+
        '<input type="button" onclick="minimap_pos_b(\'zoom\', 0.5);" class="zoomm btn" value="" />'+
        '<input type="button" onclick="minimap_pos_b(\'floor\', -1);" class="floorp btn" value="" /><br />'+
        '<input type="button" onclick="minimap_pos_b(\'zoom\', 2);" class="zoomp btn" value="" />'+
        '<input type="button" onclick="minimap_pos_b(\'floor\', 1);" class="floorm btn" value="" />'+
      '</div>'+
      '</td><td style="vertical-align:top;">'+
      '<input type="checkbox" value="1" checked="checked" id="minimap_marks_enabled" onclick="minimap_pos();" />Enable marks<br />'+
      '<input type="checkbox" value="1" '+(pars[7] ? 'checked="checked" ' : '')+'id="minimap_cmark_enabled" onclick="minimap_pos();" />Center mark<br />'+
      '</td><td style="vertical-align:top;padding-left:10px;">'+
      'Current floor: <input id="minimap_current_floor" type="text" size="4" value="" readonly="readonly" onclick="this.select()" /><br />'+
      'Coords: <input id="minimap_current_coords" type="text" size="18" value="" readonly="readonly" onclick="this.select()" />'+
      '</td></tr><td>&nbsp;</td><td>&nbsp;</td><td colspan="2">'+
      '<input type="checkbox" value="1" '+(minimap_read_cookie('minimap_hres') == '1' ? 'checked="checked" ' : '')+'id="minimap_hres_enabled" onclick="minimap_write_cookie(\'minimap_hres\', (this.checked ? 1 : 0)); minimap_pos();" />Load high resolution images &nbsp;'+
      '<input type="checkbox" value="0" '+(!preload_image ? 'disabled=disabled' : '')+'onclick="mapper_preload_files(this);" /> Preload images &nbsp;'+
      (wgPageName == 'Mapper' ?
      '<input type="checkbox" value="1" '+(window.location.search.indexOf('coords=') !== -1 ? '' : 'checked="checked" ')+'id="minimap_editor_mode" onclick="minimap_pos();" />Editor mode &nbsp;'+
      '<input type="checkbox" value="1" '+(minimap_read_cookie('minimap_fresh') == '1' ? 'checked="checked" ' : '')+'onclick="minimap_write_cookie(\'minimap_fresh\', this.checked ? 1 : 0); minimap_change_src(); " />Force-reload images'+
      '</td></tr></table><table border="0" style="width:512px;overflow:auto"><tr>'+
      '<td colspan="2" style="border-top:1px #333333 solid;border-bottom:1px #333333 solid;text-align:center;">Mark manager'+
      '</td></tr><tr><td coldspan="2">'+
      '<div style="font-size:80%;">'+
      '<a href="" onclick="$(\'#mapper_help1\').toggle(); return false;">Toggle Help</a><br />'+
      '<div id="mapper_help1" style="background-color:#DDDDDD;display:none;">'+
        'Enable <b>Editor Mode</b><br />'+
        'Select an icon<br />'+
        'Optionally write a wiki article name<br />'+
        'Use the dotted lines(Center Mark) to select where you want to add a mark<br />'+
        'Click <b>Add</b><br />'+
        'To remove a mark, select it on the list, wait the map takes you to it and click <b>Remove</b><br />'+
        'The "1" Icon is used to add marks with numbers, write a number instead of an article name'+
      '</div></div>'+
      '</td></tr></table><table><tr><td style="overflow:auto;width:270px;vertical-align:top;">'+
      '<input type="radio" value="1" checked="checked" name="mapper_markc" id="mapper_marker_r1" class="mapper_marker_r" />'+
      '<input type="radio" value="3" name="mapper_markc" id="mapper_marker_r3" class="mapper_marker_r" />'+
      '<input type="radio" value="5" name="mapper_markc" id="mapper_marker_r5" class="mapper_marker_r" />'+
      '<input type="radio" value="7" name="mapper_markc" id="mapper_marker_r7" class="mapper_marker_r" />'+
      '<input type="radio" value="9" name="mapper_markc" id="mapper_marker_r9" class="mapper_marker_r" />'+
      '<input type="radio" value="11" name="mapper_markc" id="mapper_marker_r11" class="mapper_marker_r" />'+
      '<input type="radio" value="13" name="mapper_markc" id="mapper_marker_r13" class="mapper_marker_r" />'+
      '<input type="radio" value="15" name="mapper_markc" id="mapper_marker_r15" class="mapper_marker_r" />'+
      '<input type="radio" value="17" name="mapper_markc" id="mapper_marker_r17" class="mapper_marker_r" />'+
      '<input type="radio" value="19" name="mapper_markc" id="mapper_marker_r19" class="mapper_marker_r" />'+
      '<input type="radio" value="21" name="mapper_markc" id="mapper_marker_r21" class="mapper_marker_r" />'+
      '<br /><img src="'+minimap_images[0][0]+'" width="242" height="44" /><br />'+
      '<input type="radio" value="2" name="mapper_markc" id="mapper_marker_r2" class="mapper_marker_r" />'+
      '<input type="radio" value="4" name="mapper_markc" id="mapper_marker_r4" class="mapper_marker_r" />'+
      '<input type="radio" value="6" name="mapper_markc" id="mapper_marker_r6" class="mapper_marker_r" />'+
      '<input type="radio" value="8" name="mapper_markc" id="mapper_marker_r8" class="mapper_marker_r" />'+
      '<input type="radio" value="10" name="mapper_markc" id="mapper_marker_r10" class="mapper_marker_r" />'+
      '<input type="radio" value="12" name="mapper_markc" id="mapper_marker_r12" class="mapper_marker_r" />'+
      '<input type="radio" value="14" name="mapper_markc" id="mapper_marker_r14" class="mapper_marker_r" />'+
      '<input type="radio" value="16" name="mapper_markc" id="mapper_marker_r16" class="mapper_marker_r" />'+
      '<input type="radio" value="18" name="mapper_markc" id="mapper_marker_r18" class="mapper_marker_r" />'+
      '<input type="radio" value="20" name="mapper_markc" id="mapper_marker_r20" class="mapper_marker_r" />'+
      '<input type="radio" value="22" name="mapper_markc" id="mapper_marker_r22" class="mapper_marker_r" /><br />'+
      'Optional Article: <input type="text" value="" size="15" id="mapper_optional_link" /><br />'+
      '<input type="button" value="Add" onclick="minimap_mapper_add_mark();" />'+
      '</td><td style="vertical-align:top;">'+

      '<select size="6" id="mapper_list" style="width:90px"></select>'+
      '&nbsp;<input type="button" value="Remove" disabled="disabled" id="mapper_mark_remove" onclick="minimap_mapper_remove_mark();" />'+

      '</td></tr></table><table border="0" style="width:510px;overflow:auto;"><tr><td colspan="2" style="border-top:1px #333333 solid;border-bottom:1px #333333 solid;text-align:center;">'+
        'Link and templates'+
        '</td></tr><tr><td>Wiki Link:'+
        '</td><td>'+
          '<table style="width:100%;overflow:auto;"><tr><td>Link text:'+
            '</td><td><input id= "minimap_tcode3" type="text" value="here" size="10" onkeyup="minimap_codes_update();" />'+
            '</td></tr><td>Code:'+
            '</td><td><input id= "minimap_tcode4" readonly="readonly" type="text" value="" size="30" onclick="this.select()" />'+
          '</td></tr></table>'+
        '</td></tr><tr><td>Direct Link:</td><td><input id= "minimap_tcode1" readonly="readonly" type="text" value="" size="45" onclick="this.select()" />'+
        '</td></tr><tr><td>Simple Template:'+
        '</td><td><input id= "minimap_tcode2" readonly="readonly" type="text" value="" size="45" onclick="this.select()" />'
      : '')+
      '</td></tr></table></div>'+
      (wgPageName != 'Mapper' ?
        '<div onclick="window.open(minimap_data_to_url(0)); $(\'.minimap_wx\').click(); return false;" class="minimap_wl" title="Expand on TibiaWiki"></div>'
      : '')+
      '';
      $('#'+tid).html(tmp);
      $('#mapper_list').change(function(){minimap_mapper_list_click();});
      if (wgPageName != 'Mapper') { minimap_center_div(); }
      $('#minimap_img').load(function() {
        $('#minimap_loading').css('display', 'none'); $('#minimap_maindiv').css('display', 'block');
      });
      minimap_pos();
      minimap_dragstart();
      if (wgPageName == 'Mapper') { try { $('#mapper_loading').hide(); } catch(er) { } }
    };

    $('a[href*="'+minimap_mapper_page+'"]').click(function() { minimap_load($(this).attr('href')); return false; });

    if (wgPageName == 'Mapper') { minimap_load(window.location.search.substring(1)); }
    else{ $(window).resize(function(){ minimap_center_div(); }); }

});
Advertisement