Popup.js: diferenças entre revisões

Fonte: Wiki The-West PT
Saltar para a navegação
Sem resumo de edição
mSem resumo de edição
 
(Há 20 revisões intermédias de 2 utilizadores que não estão a ser apresentadas)
Linha 1: Linha 1:
$('body').append('<div id="popup_window" class="popup_window"><div class="popup_front"><div class="tw_bg_tl"></div><div class="tw_bg_tr"></div><div class="tw_bg_bl"></div><div class="tw_bg_br"></div></div><div id="popup_contents" class="popup_contents"></div></div>');
westui = {
$(document).on('mouseenter','.item_container',function(e){Popup.show(this);Popup.setPosition(e);});
    lang: {
$(document).on('mouseleave','.item_container',function(){Popup.hide();});
        input_level: "Nível",
$(document).on('mousemove','.item_container', function(e){Popup.setPosition(e);});
        input_search: "Procurar",
        damages: "Dano",
        per_level: "por Nível",
        speed: "Velocidade",
        level: "Nível",
        unsalable: "Não pode ser vendido",
        auction: "Leiloável",
        not_auction: "Não é leiloável",
        not_upgrade: "Não é possível melhorar o item",
        upgrade: "Melhorável",
        total: "Total",
        popup: {
            dmg: {
                dmglvl: '<p class="popup_dmg">+ #1 Dano#2</p>'
            },
            skills: {
                str: '<p class="popup_attribute">+ #1 Força#2</p>',
                mob: '<p class="popup_attribute">+ #1 Mobilidade#2</p>',
                dex: '<p class="popup_attribute">+ #1 Destreza#2</p>',
                cha: '<p class="popup_attribute">+ #1 Carisma#2</p>',
                con: '<p class="popup_skill">+ #1 Construção#2</p>',
                vig: '<p class="popup_skill">+ #1 Vigor#2</p>',
                tou: '<p class="popup_skill">+ #1 Resistência#2</p>',
                sta: '<p class="popup_skill">+ #1 Tolerância#2</p>',
                hea: '<p class="popup_skill">+ #1 Pontos de vida#2</p>',
                rid: '<p class="popup_skill">+ #1 Andar a cavalo#2</p>',
                ref: '<p class="popup_skill">+ #1 Reflexos#2</p>',
                dod: '<p class="popup_skill">+ #1 Evasão#2</p>',
                hid: '<p class="popup_skill">+ #1 Esconder#2</p>',
                swi: '<p class="popup_skill">+ #1 Nadar#2</p>',
                aim: '<p class="popup_skill">+ #1 Mira#2</p>',
                sho: '<p class="popup_skill">+ #1 Tiroteio#2</p>',
                pit: '<p class="popup_skill">+ #1 Colocar armadilhas#2</p>',
                fin: '<p class="popup_skill">+ #1 Perícia#2</p>',
                rep: '<p class="popup_skill">+ #1 Reparar#2</p>',
                lea: '<p class="popup_skill">+ #1 Liderança#2</p>',
                tac: '<p class="popup_skill">+ #1 Tática#2</p>',
                tra: '<p class="popup_skill">+ #1 Comércio#2</p>',
                ani: '<p class="popup_skill">+ #1 Instinto Animal#2</p>',
                app: '<p class="popup_skill">+ #1 Aparência#2</p>'
            },
            fb: {
                fbdef: '<p class="popup_fb">+ #1 <b>Defesa</b> (Bónus de batalha no forte)#2</p>',
                fboff: '<p class="popup_fb">+ #1 <b>Ataque</b> (Bónus de batalha no forte)#2</p>',
                fbres: '<p class="popup_fb">+ #1 <b>Resistência</b> (Bónus de batalha no forte)#2</p>',
                fbdefs: '<p class="popup_fb">+ #1 <b>Defesa</b> (Bónus de setor de batalha no forte)#2</p>',
                fboffs: '<p class="popup_fb">+ #1 <b>Ataque</b> (Bónus de setor de batalha no forte)#2</p>',
                fbdmgs: '<p class="popup_fb">+ #1 <b>Dano</b> (Bónus de setor de batalha no forte)#2</p>'
            },
            special: {
                xp: '<p class="popup_txtgreen">+ #1% experiência em trabalhos, duelos e batalhas de forte#2</p>',
                money: '<p class="popup_txtgreen">+ #1% salário nos trabalhos e duelos#2</p>',
                luck: '<p class="popup_txtgreen">+ #1% Aumento de Sorte#2</p>',
                regen: '<p class="popup_txtgreen">+ #1% regeneração#2</p>',
                drop: '<p class="popup_txtgreen">+ #1% aumento de hipóteses de drop#2</p>',
                labor_pts: '<p class="popup_txtgreen">+ #1 pontos de trabalho#2</p>',
                building_pts: '<p class="popup_txtgreen">+ #1 Pontos de trabalho em Expandir#2</p>',
                spd: '<p class="popup_txtgreen">+ #1% Velocidade#2</p>'
            }
        }
    },
    config: {
        enable_set_calc: true,
        plain_popup: true,
        redirect_on_dblclick: false,
        link_on_dblclick:true,
        enable_sorting:true,
        cdn: "https://westzz.innogamescdn.com",
        img_buyprice: "/images/5/57/Buy_price.png",
        img_sellprice: "/images/f/fc/Sell_price.png",
        img_male: "/images/7/72/Masculino.png",
        img_female: "/images/2/24/Feminino.png",
        set_bonus: {
            str: {
                name: "Força",
                img: "/images/thumb/7/74/IconAtributoForça.png/40px-IconAtributoForça.png"
            },
            mob: {
                name: "Mobilidade",
                img: "/images/thumb/9/98/IconAtributoMobilidade.png/40px-IconAtributoMobilidade.png"
            },
            dex: {
                name: "Destreza",
                img: "/images/thumb/3/3c/IconAtributoDestreza.png/40px-IconAtributoDestreza.png"
            },
            cha: {
                name: "Carisma",
                img: "/images/thumb/f/fe/IconAtributoCarisma.png/40px-IconAtributoCarisma.png"
            },
            con: {
                name: "Construção",
                img: "/images/thumb/4/47/IconHabilidadeConstrução.png/40px-IconHabilidadeConstrução.png"
            },
            vig: {
                name: "Vigor",
                img: "/images/thumb/9/91/IconHabilidadeVigor.png/40px-IconHabilidadeVigor.png"
            },
            tou: {
                name: "Resistência",
                img: "/images/thumb/9/9f/IconHabilidadeResistência.png/40px-IconHabilidadeResistência.png"
            },
            sta: {
                name: "Tolerância",
                img: "/images/thumb/3/3d/IconHabilidadeTolerância.png/40px-IconHabilidadeTolerância.png"
            },
            hea: {
                name: "Pontos de vida",
                img: "/images/thumb/3/3a/IconHabilidadePontos_de_vida.png/40px-IconHabilidadePontos_de_vida.png"
            },
            rid: {
                name: "Andar a cavalo",
                img: "/images/thumb/3/3d/IconHabilidadeAndar_a_cavalo.png/40px-IconHabilidadeAndar_a_cavalo.png"
            },
            ref: {
                name: "Reflexos",
                img: "/images/thumb/f/f8/IconHabilidadeReflexos.png/40px-IconHabilidadeReflexos.png"
            },
            dod: {
                name: "Evasão",
                img: "/images/thumb/1/1d/IconHabilidadeEvasão.png/40px-IconHabilidadeEvasão.png"
            },
            hid: {
                name: "Esconder",
                img: "/images/thumb/5/51/IconHabilidadeEsconder.png/40px-IconHabilidadeEsconder.png"
            },
            swi: {
                name: "Nadar",
                img: "/images/thumb/1/1f/IconHabilidadeNadar.png/40px-IconHabilidadeNadar.png"
            },
            aim: {
                name: "Mira",
                img: "/images/thumb/4/48/IconHabilidadeMira.png/40px-IconHabilidadeMira.png"
            },
            sho: {
                name: "Tiroteio",
                img: "/images/thumb/1/19/IconHabilidadeTiroteio.png/40px-IconHabilidadeTiroteio.png"
            },
            pit: {
                name: "Colocar armadilhas",
                img: "/images/thumb/d/db/IconHabilidadeColocar_armadilhas.png/40px-IconHabilidadeColocar_armadilhas.png"
            },
            fin: {
                name: "Perícia",
                img: "/images/thumb/b/bc/IconHabilidadePerícia.png/40px-IconHabilidadePerícia.png"
            },
            rep: {
                name: "Reparar",
                img: "/images/thumb/5/59/IconHabilidadeReparar.png/40px-IconHabilidadeReparar.png"
            },
            lea: {
                name: "Liderança",
                img: "/images/thumb/4/4e/IconHabilidadeLiderança.png/40px-IconHabilidadeLiderança.png"
            },
            tac: {
                name: "Táticas",
                img: "/images/thumb/3/30/IconHabilidadeTática.png/40px-IconHabilidadeTática.png"
            },
            tra: {
                name: "Comércio",
                img: "/images/thumb/0/05/IconHabilidadeComércio.png/40px-IconHabilidadeComércio.png"
            },
            ani: {
                name: "Instinto animal",
                img: "/images/thumb/f/fd/IconHabilidadeInstinto_animal.png/40px-IconHabilidadeInstinto_animal.png"
            },
            app: {
                name: "Aparência",
                img: "/images/thumb/9/90/IconHabilidadeAparência.png/40px-IconHabilidadeAparência.png"
            },
            fbdef: {
                name: "<b>Defesa</b> (Bónus de batalha no forte)",
                img: "/images/8/82/Set_Fb_defense.png"
            },
            fboff: {
                name: "<b>Ataque</b> (Bónus de batalha no forte)",
                img: "/images/3/30/Set_Fb_offense.png"
            },
            fbres: {
                name: "<b>Resistência</b> (Bónus de batalha no forte)",
                img: "/images/4/4b/Resistance.png"
            },
            fbdefs: {
                name: "<b>Defesa</b> (Bónus de setor de batalha no forte)",
                img: "/images/1/1a/Set_Fb_defense_sec.png"
            },
            fboffs: {
                name: "<b>Ataque</b> (Bónus de setor de batalha no forte)",
                img: "/images/f/fe/Set_Fb_offense_sec.png"
            },
            fbdmgs: {
                name: "<b>Dano</b> (Bónus de setor de batalha no forte)",
                img: "/images/b/b3/Damages_sector.png"
            },
            xp: {
                name: "experiência em trabalhos, duelos e batalhas de forte (%)",
                img: "/images/7/71/Set_xp.png"
            },
            money: {
                name: "salário nos trabalhos e duelos (%)",
                img: "/images/d/df/Set_money.png"
            },
            luck: {
                name: "Aumento de Sorte",
                img: "/images/c/c1/Set_luck.png"
            },
            regen: {
                name: "regeneração",
                img: "/images/5/53/Regeneration.png",
            },
            drop: {
                name: "aumento de hipóteses de drop",
                img: "/images/b/b8/Drop.png"
            },
            spd: {
                name: "Velocidade",
                img: "/images/thumb/b/b8/Cavalo_de_corrida.png/40px-Cavalo_de_corrida.png"
            },
            labor_pts: {
                name: "Pontos de trabalho",
                img: "/images/5/5e/Labor_pts.png"
            },
            building_pts: {
                name: "Pontos de trabalho em Expandir",
                img: "/images/2/2c/Building_pts.png" 
            }
        },
        sorting: {
            'Força':'{"str":1}',
            'Mobilidade':'{"mob":1}',
            'Destreza':'{"dex":1}',
            'Carisma':'{"cha":1}',
            'Construção':'{"str":1,"con":1}',
            'Vigor':'{"str":1,"vig":1}',
            'Resistência':'{"str":1,"tou":1}',
            'Tolerância':'{"str":1,"sta":1}',
            'Pontos de vida':'{"str":1,"hea":1}',
            'Andar a cavalo':'{"mob":1,"rid":1}',
            'Reflexos':'{"mob":1,"ref":1}',
            'Evasão':'{"mob":1,"dod":1}',
            'Esconder':'{"mob":1,"hid":1}',
            'Nadar':'{"mob":1,"swi":1}',
            'Mira':'{"dex":1,"aim":1}',
            'Tiroteio':'{"dex":1,"sho":1}',
            'Colocar armadilhas':'{"dex":1,"pit":1}',
            'Perícia':'{"dex":1,"fin":1}',
            'Reparar':'{"dex":1,"rep":1}',
            'Liderança':'{"cha":1,"lea":1}',
            'Tática':'{"cha":1,"tac":1}',
            'ComércIo':'{"cha":1,"tra":1}',
            'Instinto animal':'{"cha":1,"ani":1}',
            'Aparência':'{"cha":1,"app":1}',
            'Pontos de trabalho em Expandir edifício':'{"str":3,"con":3,"dex":1,"rep":1,"cha":1,"lea":1,"labor_pts":1,"building_pts":1}',
            'Experiência em trabalhos, duelos e batalhas de forte (%)':'{"xp":1}',
            'Salário nos trabalhos e duelos (%)':'{"money":1}',
            'Aumento de sorte (%)':'{"luck":1}',
            'Regeneração (%)':'{"regen":1}',
            'Aumento de hipóteses de drop (%)':'{"drop":1}',
            'Velocidade (%)':'{"spd":1,"hspd":1,"mob":1,"rid":1}',
            'Dano médio':'{"dmg_min":0.5,"dmg_max":0.5,"dmglvl":1}',
            'Dano máximo':'{"dmg_max":1,"dmglvl":1}',
        }
    },
    initPage: function () {
        //Append input level
        if ($("#input_level").length === 1) {
            var input_level = $('<input type="number" style="width:80px;" class="west" placeholder="' + westui.lang.input_level + '" min="0" max="250">').bind("propertychange keyup input paste", function () {
                if (this.value > 250) {
                    this.value = 250;
                } else if (this.value < 0) {
                    this.value = 0;
                }
                $(".calc").each(function () {
                    if (input_level.val() == 0) {
                        $(this).html(this.id);
                        $('.per_level_off').addClass('per_level').removeClass('per_level_off');
                    } else {
                        $(this).html(Math.ceil(Number(this.id) * input_level.val()));
                        $('.per_level').addClass('per_level_off').removeClass('per_level');
                    }
                });
            }).appendTo($("#input_level"));
        }


$('.item_level').mousedown(function(e){ e.preventDefault(); });
        //Search
$(document).on('click','.upgrade',function(){
        if ($("#input_search").length === 1) {
    var container = $(this).closest('.item_container');
            var input_search = $('<input type="search" class="west" placeholder="' + westui.lang.input_search + '">').bind("propertychange keyup input paste", function () {
    var lvl = parseInt(container.attr('data-lvl'));
                var val = this.value.toLowerCase();
    if (lvl!==5){
                if (val === '') {
        container.attr('data-lvl',lvl+1);
                    $('.item_container').show();
        container.find('.level').html(lvl+1);
                } else {
    }
                    $('.item_container').hide();
    Popup.show(container[0]);
                    $('.item_container').filter(function () {
});
                        return $(this).attr('data-popup').toLowerCase().indexOf(val) > -1;
$(document).on('click','.downgrade',function(){
                    }).show();
    var container = $(this).closest('.item_container');
                }
    var lvl = parseInt(container.attr('data-lvl'));
            }).appendTo($("#input_search"));
    if (lvl!==0){
        }
        container.attr('data-lvl',lvl-1);
        container.find('.level').html(lvl-1);
    }
    Popup.show(container[0]);
});


if ($("#input_level").length == 1) {
        //Switch weapons
    var input_level = $('<input type="number" style="width:80px;" class="west" placeholder="Your level" min="0" max="150">').bind("propertychange keyup input paste", function() {
        if ($("#switch").length === 1) {
        if (this.value > 150) {
            $("#fire").hide();
             this.value = 150;
            $("#switch").on("click", function () {
        } else if (this.value < 0) {
                $('#melee, #fire').toggle();
            this.value = 0;
             });
         }
         }
        $(".calc").each(function() {
            if (input_level.val() == 0) {
                $(this).html(this.id);
                $('.per_level_off').addClass('per_level').removeClass('per_level_off');
            } else {
                $(this).html(Math.ceil(Number(this.id) * input_level.val()));
                $('.per_level').addClass('per_level_off').removeClass('per_level');
            }
        });
    }).appendTo($("#input_level"));
}


        //Switch products
        if ($("#switch_prod").length === 1) {
            $("#prod2").hide();
            $("#switch_prod").on("click", function () {
                $('#prod, #prod2').toggle();
            });
        }


//Search
        //Show a "plain text" popup in the template
if ($("#input_search").length == 1) {
        if (westui.config.plain_popup && (new RegExp(mw.config.get('wgFormattedNamespaces')[10] + '\:Item\_*').test(mw.config.get('wgPageName'))) && ($('.item_container').length === 1)) {
    var input_search = $('<input type="search" class="west" placeholder="Search">').bind("propertychange keyup input paste", function() {
            $('#mw-content-text').append('<center><div id="popup_plain" class="popup_window"><div class="popup_front"><div class="tw_bg_tl"></div><div class="tw_bg_tr"></div><div class="tw_bg_bl"></div><div class="tw_bg_br"></div></div><div id="popup_plain_contents" class="popup_contents"></div></div></center>');
        var val = this.value.toLowerCase();
             $('#popup_plain').hide();
        if (val == '') {
             $('#popup_plain_contents').append(westui.popup.createPopup($('.item_container').attr('data-popup'), $('.item_container').attr('data-cdn-cat'), $('.item_container').attr('data-cdn-img'), 0));
             $('.item_container').show();
             $('#popup_plain').slideDown();
        } else {
             $('.item_container').hide();
            $('.item_container').filter(function() {
                return $(this).attr('data-popup').toLowerCase().indexOf(val) > -1;
             }).show();
         }
         }
    }).appendTo($("#input_search"));
}


//Switch weapons
        //On dbl click on item, redirect the user to the template
if ($("#switch").length == 1) {
        if (westui.config.redirect_on_dblclick) {
    $("#fire").hide();
            $('.item_container img').on('dblclick', function () {
    $("#switch").on("click", function() {
                window.location = '/wiki/' + mw.config.get('wgFormattedNamespaces')[10] + ':Item_' + JSON.parse($(this).parent().attr('data-popup')).id / 1000;
        $('#melee, #fire').toggle()
            });
    });
        }
}
        if (westui.config.link_on_dblclick) {
            $('.item_container img').on('dblclick', function () {
                window.location = '/wiki/' + $(this).parent().attr('data-link');
            });
        }


var Popup = {
    content : "",
    delay : 200,
    active : false,
    show: function(obj) {
        Popup.content = Popup.createPopup($(obj).attr('data-popup'), $(obj).attr('data-cdn-cat'), $(obj).attr('data-cdn-img'), parseInt($(obj).attr('data-lvl')));
        Popup.active = true;
        Popup.setTimeout();
        Popup.getContainer().html(Popup.content);
     },
     },
     hide: function() {
     popup: {
        Popup.getEl().css({
        content: "",
            display: 'none',
        delay: 200,
            top: 0,
        active: false,
            left: 0
        show: function (obj) {
        });
            westui.popup.content = westui.popup.createPopup($(obj).attr('data-popup'), $(obj).attr('data-cdn-cat'), $(obj).attr('data-cdn-img'), parseInt($(obj).attr('data-lvl')));
        Popup.active = false;
            westui.popup.active = true;
        Popup.clearTimeout();
            westui.popup.setTimeout();
    },
            westui.popup.getContainer().html(westui.popup.content);
    setTimeout: function() {
        },
        Popup.clearTimeout();
        hide: function () {
        Popup.timer = window.setTimeout(function() {
            westui.popup.getEl().css({
            Popup.getEl().css('display', 'block');
                display: 'none',
        }, Popup.delay);
                top: 0,
    },
                left: 0
    clearTimeout : function() {
            });
        if (Popup.timer) window.clearTimeout(Popup.timer);
            westui.popup.active = false;
    },
            westui.popup.clearTimeout();
    getEl : function() {
        },
        return $('#popup_window');
        setTimeout: function () {
    },
            westui.popup.clearTimeout();
    getContainer : function() {
            westui.popup.timer = window.setTimeout(function () {
        return $('#popup_contents');
                westui.popup.getEl().css('display', 'block');
    },
            }, westui.popup.delay);
    createPopup: function(data, cdn_cat, cdn_name, lvl) {
        },
        data = JSON.parse(data);
        clearTimeout: function () {
        var html = '<div class="popup_image"><img src="https://westpt.innogamescdn.com/images/items/' + data.cdn_cat + '/' + data.cdn_img + '.png' + '"/></div><div class="popup_divider"></div><p class="popup_name">' + data.name + '</p><p class="popup_type">' + data.type + '</p><br/>';
            if (westui.popup.timer) window.clearTimeout(westui.popup.timer);
        var upgraded = false;
        },
        if ((lvl>=1)&&(lvl<=5)){
        getEl: function () {
            upgraded = true;
            return $('#popup_window');
            data.auc = false;
        },
        }
        getContainer: function () {
        if (data.dmg_min&&data.dmg_max){
            return $('#popup_contents');
            if (upgraded) {
        },
                data.dmg_min += Math.round(Math.max(1, data.dmg_min * 0.1 * lvl));
        createPopup: function (data, cdn_cat, cdn_name, lvl) {
                data.dmg_max += Math.round(Math.max(1, data.dmg_max * 0.1 * lvl));
            data = JSON.parse(data);
            var html = '<div class="popup_image"><img src="' + westui.config.cdn + '/images/items/' + data.cdn_cat + '/' + data.cdn_img + '.png' + '"/></div><div class="popup_divider"></div><p class="popup_name">' + data.name + '</p><p class="popup_type">' + data.type + '</p><br/>';
            var upgraded = false;
            if ((lvl >= 1) && (lvl <= 5)) {
                upgraded = true;
                data.auc = false;
            }
            if (data.dmg_min && data.dmg_max) {
                if (upgraded) {
                    data.dmg_min += Math.round(Math.max(1, data.dmg_min * 0.1 * lvl));
                    data.dmg_max += Math.round(Math.max(1, data.dmg_max * 0.1 * lvl));
                }
                html += '<p class="popup_dmg">' + data.dmg_min + '-' + data.dmg_max + ' ' + westui.lang.damages + '</p>';
            }
            if (data.text) {
                for (var i = 0; i < data.text.length; i++) {
                    html += '<p class="popup_text">' + data.text[i] + '</p>';
                }
                html += '<br/>';
             }
             }
             html += '<p class="popup_dmg">'+data.dmg_min+'-'+data.dmg_max+' Dano base</p>';
             for (var cat in westui.lang.popup) {
        }
                var cnt = 0;
        for (var cat in Popup.data) {
                for (var key in westui.lang.popup[cat]) {
            var cnt = 0;
                    if (data.hasOwnProperty(key)) {
            for (var key in Popup.data[cat]) {
                        cnt++;
                if (data.hasOwnProperty(key)) {
                        var per_level = "";
                    cnt++;
                        if (data[key] < 0) {
                    var per_level = "";
                            if ($('#input_level input').val() > 0) {
                    if (data[key] < 0) {
                                data[key] = Math.ceil($('#input_level input').val() * -data[key]);
                        if ($('#input_level input').val() > 0) {
                                if (upgraded) {
                            data[key] = Math.ceil($('#input_level input').val() * -data[key]);
                                    data[key] += Math.round(Math.max(1, data[key] * 0.1 * lvl));
                            if (upgraded){
                                }
                                data[key] += Math.round(Math.max(1, data[key] * 0.1 * lvl));
                            } else {
                                data[key] = -data[key];
                                per_level = " (" + westui.lang.per_level + ")";
                                if (upgraded) {
                                    data[key] = Math.round(1e6 * (data[key] * 1 + Math.round(Math.max(1, data[key] * 1000 * lvl)) / 10000)) / 1e6;
                                }
                             }
                             }
                         } else {
                         } else if (upgraded) {
                             data[key] = -data[key];
                             if (data[key] < 1) {
                            per_level = " (por Nível)";
                            if (upgraded){
                                 data[key] = Math.round(1e6 * (data[key] * 1 + Math.round(Math.max(1, data[key] * 1000 * lvl)) / 10000)) / 1e6;
                                 data[key] = Math.round(1e6 * (data[key] * 1 + Math.round(Math.max(1, data[key] * 1000 * lvl)) / 10000)) / 1e6;
                            } else {
                                data[key] += Math.round(Math.max(1, data[key] * 0.1 * lvl));
                             }
                             }
                         }
                         }
                    } else if (upgraded) {
                        html += westui.lang.popup[cat][key].replace('#1', data[key]).replace('#2', per_level);
if (data[key]<1){
data[key] = Math.round(1e6 * (data[key] * 1 + Math.round(Math.max(1, data[key] * 1000 * lvl)) / 10000)) / 1e6;
} else {
    data[key] += Math.round(Math.max(1, data[key] * 0.1  * lvl));
}
                     }
                     }
                     html += Popup.data[cat][key].replace('#1', data[key]).replace('#2', per_level);
                }
                if (cnt > 0) {
                     html += '<br/>';
                 }
                 }
             }
             }
             if (cnt > 0) {
             if (data.textjob) {
                for (var i = 0; i < data.textjob.length; i++) {
                    html += '<p class="popup_txtgreen">' + data.textjob[i] + '</p>';
                }
                 html += '<br/>';
                 html += '<br/>';
             }
             }
        }
            if (data.bonus) {
        if (data.text){
                for (var i = 0; i < data.bonus.length; i++) {
             for (var i = 0; i < data.text.length;i++){
                    html += '<p class="popup_bonus">' + data.bonus[i] + '</p>';
                 html += '<p class="popup_text">'+data.text[i]+'</p>';
                }
                html += '<br/>';
            }
            if (data.jobs) {
                html += '<div style="text-align:center;"><table class="popup_job">';
                for (var i = 0; i < data.jobs.length; i++) {
                    html += '<tr><td><img src="' + westui.config.cdn + '/images/jobs/' + data.jobs[i][1] + '.png"/></td><td><span>&nbsp;&nbsp;' + data.jobs[i][0] + '</span></td></tr>';
                }
                html += '</table></div>';
             }
            if (data.craft) {
                html += '<div style="text-align:center;"><table  class="popup_crafteditem"><tr><td><img src="' + westui.config.cdn + '/images/crafting/profsymbol_' + data.craft.id + '_small.png"/></td><td><table><tr>';
                for (var i = 0; i < data.craft.req.length; i++) {
                    html += '<td><img style="width:36px;height:36px;" src="' + westui.config.cdn + '/images/items/yield/' + data.craft.req[i][0] + '.png"/></td>';
                }
                html += '</tr><tr>';
                for (var i = 0; i < data.craft.req.length; i++) {
                    html += '<td><span>x' + data.craft.req[i][1] + '</span></td>';
                }
                html += '</tr></table></td></tr></table></div>';
            }
            html += '<div class="popup_infos">';
            if (data.hspd) {
                 if (upgraded) {
                    data.hspd += Math.round(Math.max(1, data.hspd * 0.1 * lvl));
                }
                html += '<p class="popup_speed">' + westui.lang.speed + ': +' + data.hspd + '%</p><br/>';
            }
            if (data.set) html += '<p><a class="popup_set" href="/wiki/' + data.set + '">' + data.set + '</a></p><br/>';
            if (data.sp) {
                html += '<img src="' + westui.config.img_buyprice + '"/>' + data.bp + '&nbsp;&nbsp;&nbsp;&nbsp;<img src="' + westui.config.img_sellprice + '"/>&nbsp;' + data.sp + '<br/><br/>';
            } else {
                html += '<i>' + westui.lang.unsalable + '</i><br/><br/>';
            }
            if (data.lvl) html += westui.lang.level + ' <b>' + data.lvl + '</b><br/>';
            if (data.sex) {
                if (data.sex == 0) {
                    html += '<img src="' + westui.config.img_male + '"/>&nbsp;&nbsp;&nbsp;';
                } else {
                    html += '<img src="' + westui.config.img_female + '"/>&nbsp;&nbsp;&nbsp;';
                }
             }
             }
             html+='<br/>';
             if (data.auc == 1) {
        }
                html += '<span class="popup_txtgreen">' + westui.lang.auction + '</span><br/>';
        if (data.bonus){
            } else {
            for (var i = 0; i < data.bonus.length;i++){
                 html += '<span class="popup_txtred">' + westui.lang.not_auction + '</span><br/>';
                 html += '<p class="popup_bonus">'+data.bonus[i]+'</p>';
             }
             }
             html+='<br/>';
             if (data.upg == 0) {
        }
                html += '<span class="popup_txtred">' + westui.lang.not_upgrade + '</span><br/>';
        if (data.jobs){
             } else {
            html += '<div style="text-align:center;"><table class="popup_job">';
                 html += '<span class="popup_txtgreen">' + westui.lang.upgrade + '</span><br/>';
             for (var i =0; i<data.jobs.length;i++){
                 html += '<tr><td><img src="https://westpt.innogamescdn.com/images/jobs/'+data.jobs[i][1]+'.png"/></td><td><span>&nbsp;&nbsp;'+data.jobs[i][0]+'</span></td></tr>';
             }
             }
             html += '</table></div>';
             html += '<br/><p class="popup_id">[item=<b>' + data.id + '</b>]</p></div>';
        }
             return html;
        if (data.craft){
        },
            html += '<div style="text-align:center;"><table  class="popup_crafteditem"><tr><td><img src="https://westpt.innogamescdn.com/images/crafting/profsymbol_'+data.craft.id+'_small.png"/></td><td><table><tr>';
        setPosition: function (e) {
             for (var i = 0;i<data.craft.req.length;i++){
            var window_width = $(window).width();
                 html += '<td><img style="width:36px;height:36px;" src="https://westpt.innogamescdn.com/images/items/yield/'+data.craft.req[i][0]+'.png"/></td>';
            var window_height = $(window).height();
            var popup_width = westui.popup.getEl().outerWidth();
            var popup_height = westui.popup.getEl().outerHeight();
            var pos_x = e.clientX;
            var pos_y = e.clientY;
            var top;
            var left;
            var margin_top = 20;
            var margin_left = 20;
            if (pos_x + popup_width + margin_left > window_width) {
                 left = pos_x - popup_width - margin_left + (e.pageX - e.clientX);
            } else {
                left = pos_x + margin_left + (e.pageX - e.clientX);
             }
             }
             html += '</tr><tr>';
             if (pos_y + popup_height + margin_top > window_height) {
            for (var i = 0;i<data.craft.req.length;i++){
                top = window_height - popup_height + (e.pageY - e.clientY);
                 html += '<td><span>x'+data.craft.req[i][1]+'</span></td>';
            } else {
                 top = pos_y + margin_top + (e.pageY - e.clientY);
             }
             }
             html += '</tr></table></td></tr></table></div>';
             westui.popup.getEl().css({
                top: top,
                left: left
            });
        },
        init: function () {
 
            //Append popup container
            $('body').append('<div id="popup_window" class="popup_window"><div class="popup_front"><div class="tw_bg_tl"></div><div class="tw_bg_tr"></div><div class="tw_bg_bl"></div><div class="tw_bg_br"></div></div><div id="popup_contents" class="popup_contents"></div></div>');
 
            //Set events
            $(document).on('mouseenter', '.item_container', function (e) {
                westui.popup.show(this);
                westui.popup.setPosition(e);
            });
            $(document).on('mouseleave', '.item_container', function () {
                westui.popup.hide();
            });
            $(document).on('mousemove', '.item_container', function (e) {
                westui.popup.setPosition(e);
            });
 
            $('.item_level').mousedown(function (e) {
                e.preventDefault();
            });
            $(document).on('click', '.upgrade', function () {
                var container = $(this).closest('.item_container');
                var lvl = parseInt(container.attr('data-lvl'));
                if (lvl !== 5) {
                    container.attr('data-lvl', lvl + 1);
                    container.find('.level').html(lvl + 1);
                }
                westui.popup.show(container[0]);
            });
            $(document).on('click', '.downgrade', function () {
                var container = $(this).closest('.item_container');
                var lvl = parseInt(container.attr('data-lvl'));
                if (lvl !== 0) {
                    container.attr('data-lvl', lvl - 1);
                    container.find('.level').html(lvl - 1);
                }
                westui.popup.show(container[0]);
            });
         }
         }
         html += '<div class="popup_infos">';
    },
         if (data.spd){
    set_calc: {
if (upgraded){
        bonus: {
data.spd += Math.round(Math.max(1, data.spd * 0.1 * lvl));
            //If there are any other "special" bonuses, they will be dynamically retrieved and stored there
}
            extra_set_bonus: {}
html += '<p class="popup_speed">Speed: +' + data.spd + '%</p><br/>';
        },
}
        //Bonuses from all sets / items :
        if (data.set) html += '<p><a class="popup_set" href="/wiki/'+data.set+'">' + data.set + '</a></p><br/>';
        data: {},
        if (data.sp) {
        //Status of all items (item lvl, activated or not)
            html += '<img src="/images/5/57/Buy_price.png"/>' + data.bp + '&nbsp;&nbsp;&nbsp;&nbsp;<img src="/images/f/fc/Sell_price.png"/>&nbsp;' + data.sp + '<br/><br/>';
        itemStatus: {},
        } else {
         getData: function () {
            html += '<i>Não pode ser vendido</i><br/><br/>';
            $('.set_container').each(function () {
        }
                var set_id = $(this).attr('data-set-id');
        if (data.lvl) html += 'Level <b>' + data.lvl + '</b><br/>';
                westui.set_calc.itemStatus[set_id] = {};
        if (data.sex) {
                westui.set_calc.data[set_id] = {
            if (data.sex == 0) {
                    items: {},
                html += '<img src="/images/c/c5/Gender_m.png"/>&nbsp;&nbsp;&nbsp;';
                    set: {}
                };
            });
            //Get bonuses from all sets
            $('.infoSet').each(function () {
                var set_id = $(this).attr('data-set-id');
                $(this).find('.infosetatt').each(function () {
                    var nb = $(this).attr('data-nb');
                    westui.set_calc.data[set_id].set[nb] = {};
                    $(this).find('.set_bonus').each(function () {
                        key = $(this).attr('data-type');
                        if ($(this).find('.calc').length !== 0) {
                            westui.set_calc.data[set_id].set[nb][key] = -parseFloat($(this).find('.calc').attr('id'));
                        } else {
                            westui.set_calc.data[set_id].set[nb][key] = parseFloat($(this).find('.val').text());
                        }
                        if (!westui.config.set_bonus.hasOwnProperty(key)) {
                            westui.set_calc.bonus.extra_set_bonus[key] = {
                                img: $(this).find('img').attr('src'),
                                name: $(this).find('#tooltip_content').text()
                            };
                        }
                    });
                });
            });
            //Get bonuses from all item sets
            $('.set_container').each(function () {
                var set_id = $(this).attr('data-set-id');
                $(this).find('.item_container').each(function () {
                    var json = JSON.parse($(this).attr('data-popup'));
                    if ($(this).is(":hidden")) {
                        westui.set_calc.itemStatus[set_id][json.id] = false;
                    } else {
                        westui.set_calc.itemStatus[set_id][json.id] = 0;
                    }
                    for (var prop in json) {
                        if (json.hasOwnProperty(prop) && (westui.config.set_bonus.hasOwnProperty(prop) || westui.set_calc.bonus.extra_set_bonus.hasOwnProperty(prop))) {
                            if (!westui.set_calc.data[set_id].items[prop]) {
                                westui.set_calc.data[set_id].items[prop] = {};
                            }
                            westui.set_calc.data[set_id].items[prop][json.id] = json[prop];
                        }
                    }
                });
            });
         },
        calc: function () {
            //Only calc if a player level is provided
            if ($('#input_level').length === 0 | $('#input_level input').val() !== "") {
                var level = parseInt($('#input_level input').val());
                total = {};
                for (var set_id in westui.set_calc.data) {
                    for (var key in westui.set_calc.data[set_id].items) {
                        for (var item_id in westui.set_calc.data[set_id].items[key]) {
                            if (westui.set_calc.itemStatus[set_id][item_id] !== false) {
                                lvl = westui.set_calc.itemStatus[set_id][item_id];
                                if (!total[key]) {
                                    total[key] = 0;
                                }
                                var value = westui.set_calc.data[set_id].items[key][item_id];
 
                                if (westui.set_calc.data[set_id].items[key][item_id] < 0) {
                                    //If bonus (per Level)
                                    value = -value;
 
                                    if (westui.set_calc.itemStatus[set_id][item_id] > 0) {
                                        //If item upgraded
                                        total[key] += Math.ceil(value * level) + Math.round(Math.max(1, Math.ceil(value * level) * 0.1 * lvl));
                                    } else {
                                        total[key] += Math.ceil(value * level);
                                    }
                                } else {
                                    if (westui.set_calc.itemStatus[set_id][item_id] > 0) {
                                        if (value < 1) {
                                            total[key] += Math.round(1e6 * (value * 1 + Math.round(Math.max(1, value * 1000 * lvl)) / 10000)) / 1e6;
                                        } else {
                                            total[key] += value + Math.round(Math.max(1, value * 0.1 * lvl));
                                        }
                                    } else {
                                        total[key] += value;
                                    }
                                }
                            }
                        }
                    }
                    var item_nb = 0;
                    for (var item_id in westui.set_calc.itemStatus[set_id]) {
                        if (westui.set_calc.itemStatus[set_id][item_id] !== false) {
                            item_nb++;
                        }
                    }
                    for (var key in westui.set_calc.data[set_id].set[item_nb]) {
                        if (!total[key]) {
                            total[key] = 0;
                        }
                        if (westui.set_calc.data[set_id].set[item_nb][key] < 0) {
                            total[key] += Math.ceil(-westui.set_calc.data[set_id].set[item_nb][key] * level);
                        } else {
                            total[key] += westui.set_calc.data[set_id].set[item_nb][key];
                        }
                    }
                }
                //Create the html table
                var html = '<center><table class="infoSet"><caption><br><big><b>' + westui.lang.total + '</b></big></caption><tbody><tr><td></center>';
                for (var key in westui.config.set_bonus) {
                    if (total.hasOwnProperty(key)) {
                        html += '<div class="set_bonus tooltip_container"><img src="' + westui.config.set_bonus[key].img + '"><b>+' + total[key] + (['xp', 'money', 'luck', 'spd', 'regen', 'drop'].indexOf(key) !== -1 ? "%" : "") + '</b><div class="tooltip_outer"><div class="tooltip"><div class="tt_bg_tl"></div><div class="tt_bg_tr"></div><div class="tt_bg_bl"></div><div class="tt_bg_br"></div><div id="tooltip_content">' + westui.config.set_bonus[key].name + '</div></div></div></div>';
                    }
                }
                for (var key in westui.set_calc.bonus.extra_set_bonus) {
                    if (total.hasOwnProperty(key)) {
                        html += '<div class="set_bonus tooltip_container"><img src="' + westui.set_calc.bonus.extra_set_bonus[key].img + '"><b>+' + total[key] + (['xp', 'money', 'luck', 'spd', 'regen', 'drop'].indexOf(key) !== -1 ? "%" : "") + '</b><div class="tooltip_outer"><div class="tooltip"><div class="tt_bg_tl"></div><div class="tt_bg_tr"></div><div class="tt_bg_bl"></div><div class="tt_bg_br"></div><div id="tooltip_content">' + westui.set_calc.bonus.extra_set_bonus[key].name + '</div></div></div></div>';
                    }
                }
                //Display the result at the bottom of the page
                $('#set_calc').html(html);
             } else {
             } else {
                 html += '<img src="/images/4/41/Gender_f.png"/>&nbsp;&nbsp;&nbsp;';
                 $('#set_calc').html("");
             }
             }
        },
        initEvents: function () {
            //Deactivate / activate item on click
            $('.item_container > img').on('click', function () {
                var item_container = $(this).closest('.item_container');
                item_container.toggleClass('item_off');
                var set_id = item_container.closest('.set_container').attr('data-set-id');
                var item_id = JSON.parse(item_container.attr('data-popup')).id;
                if (item_container.hasClass('item_off') || item_container.is(":hidden")) {
                    westui.set_calc.itemStatus[set_id][item_id] = false;
                } else {
                    westui.set_calc.itemStatus[set_id][item_id] = parseInt(item_container.attr('data-lvl'));
                }
                westui.set_calc.calc();
            });
            //Update item level on upgrade / downgrade
            $(document).on('click', '.upgrade, .downgrade', function () {
                var item = $(this).closest('.item_container');
                var set_id = item.closest('.set_container').attr('data-set-id');
                if (!item.hasClass('item_off') && !item.is(":hidden")) {
                    westui.set_calc.itemStatus[set_id][JSON.parse(item.attr('data-popup')).id] = parseInt(item.attr('data-lvl'));
                    westui.set_calc.calc();
                }
            });
            //Calc again when player level changes
            $("#input_level").bind("propertychange keyup input paste", function () {
                westui.set_calc.calc();
            });
            //Activate/deactivate melee/fire weapon when the switch btn is clicked
            $("#switch").on('click', function () {
                $('#melee, #fire').each(function () {
                    var item = $(this).find('.item_container');
                    var set_id = $(this).closest('.set_container').attr('data-set-id');
                    if ($(this).is(":hidden")) {
                        westui.set_calc.itemStatus[set_id][JSON.parse(item.attr('data-popup')).id] = false;
                    } else {
                        westui.set_calc.itemStatus[set_id][JSON.parse(item.attr('data-popup')).id] = parseInt(item.attr('data-lvl'));
                    }
                });
                westui.set_calc.calc();
            });
        },
        init: function () {
            westui.set_calc.initEvents();
            westui.set_calc.getData();
            $('#mw-content-text').append('<div id="set_calc"></div>');
            if ($('#input_level').length === 0)
                westui.set_calc.calc();
         }
         }
        if (data.auc == 1){
            html += '<span class="popup_txtgreen">Leiloável</span><br/>';
        } else {
            html += '<span class="popup_txtred">Não é leiloável</span><br/>';
        }
        if (data.upg == 0) {
            html += '<span class="popup_txtred">Não é possível melhorar o item</span><br/>';
        } else {
            html += '<span class="popup_txtgreen">É possível melhorar o item</span><br/>';
        }
        html += '<br/><p class="popup_id">[item=<b>' + data.id + '</b>]</p></div>';
        return html;
     },
     },
     setPosition : function (e) {
     sorting: {
        var window_width = $(window).width();
        sortItems: function(param){
        var window_height = $(window).height();
            $('.item_container').removeAttr('data-sort');
        var popup_width = Popup.getEl().outerWidth();
            function calcSortVal(el){
        var popup_height = Popup.getEl().outerHeight();
                var data = JSON.parse($(el).attr('data-popup'));
        var pos_x = e.clientX;
                var val = 0;
        var pos_y = e.clientY;
                for (var prop in param){
        var top;
                    if (data[prop]){
        var left;
                        if (data[prop]<0){
        var margin_top = 20;
                            val+=Math.ceil(-data[prop]*($('#input_level input').val()?$('#input_level input').val():250))*param[prop];
        var margin_left = 20;
                        } else {
        if (pos_x + popup_width + margin_left > window_width) {
                            val+=data[prop]*param[prop];
             left = pos_x - popup_width - margin_left + (e.pageX - e.clientX);
                        }
        } else {
                    }
            left = pos_x + margin_left + (e.pageX - e.clientX);
                }
        }
                $(el).attr('data-sort',val);
        if (pos_y + popup_height + margin_top > window_height) {
                if ($(el).find('p.number').length!==0){
            top = window_height - popup_height + (e.pageY - e.clientY);
                    $(el).find('p.number').html(val);
         } else {
                } else {
             top = pos_y + margin_top + (e.pageY - e.clientY);
                    $(el).append('<p class="number">'+val+'</p>');
                }
            }
             $('#mw-content-text').find('.sorting_hidden').hide();
            $('#mw-content-text').find('.item_container').sort(function(a, b) {
                if (!$(a).attr('data-sort')){calcSortVal(a);}
                if (!$(b).attr('data-sort')){calcSortVal(b);}
                return $(b).attr('data-sort') - $(a).attr('data-sort');
            }).appendTo('#mw-content-text');
         },
        init:function(){
             if ($('div#sort_items').length===1){
                var html = "<div id='input_search'><select id='sort_items' class='west'><option selected disabled>Ordenar por:</option>";
                for (var prop in westui.config.sorting){
                    html+= "<option value='"+westui.config.sorting[prop]+"'>"+prop+"</option>";
                }
                html += "</select></div>";
                $('div#sort_items').html(html);
                $('select#sort_items').on('change',function(){
                    westui.sorting.sortItems(JSON.parse($(this).find("option:selected").attr('value')));
                });
            }
         }
         }
        Popup.getEl().css({
            top: top,
            left: left
        });
     },
     },
     data: {
     init: function () {
         dmg: {
         westui.initPage();
            danolvl: '<p class="popup_dmg">+ #1 Dano#2</p>'
         westui.popup.init();
         },
         if (westui.config.enable_sorting)
         skills: {
             westui.sorting.init();
            for: '<p class="popup_attribute">+ #1 Força#2</p>',
        if (westui.config.enable_set_calc && $('.infoSet').length !== 0) {
            mob: '<p class="popup_attribute">+ #1 Mobilidade#2</p>',
             westui.set_calc.init();
            des: '<p class="popup_attribute">+ #1 Destreza#2</p>',
            car: '<p class="popup_attribute">+ #1 Carisma#2</p>',
            con: '<p class="popup_skill">+ #1 Construção#2</p>',
            vig: '<p class="popup_skill">+ #1 Vigor#2</p>',
            res: '<p class="popup_skill">+ #1 Resistência#2</p>',
            tol: '<p class="popup_skill">+ #1 Tolerância#2</p>',
            vid: '<p class="popup_skill">+ #1 Pontos de vida#2</p>',
            cav: '<p class="popup_skill">+ #1 Andar a cavalo#2</p>',
            ref: '<p class="popup_skill">+ #1 Reflexos#2</p>',
            eva: '<p class="popup_skill">+ #1 Evasão#2</p>',
            esc: '<p class="popup_skill">+ #1 Esconder#2</p>',
            nad: '<p class="popup_skill">+ #1 Nadar#2</p>',
            mir: '<p class="popup_skill">+ #1 Mira#2</p>',
            tir: '<p class="popup_skill">+ #1 Tiroteio#2</p>',
            arm: '<p class="popup_skill">+ #1 Colocar armadilhas#2</p>',
            per: '<p class="popup_skill">+ #1 Perícia#2</p>',
            rep: '<p class="popup_skill">+ #1 Reparar#2</p>',
            lid: '<p class="popup_skill">+ #1 Liderança#2</p>',
            tac: '<p class="popup_skill">+ #1 Tática#2</p>',
            com: '<p class="popup_skill">+ #1 Comércio#2</p>',
            ani: '<p class="popup_skill">+ #1 Instinto animal#2</p>',
            apa: '<p class="popup_skill">+ #1 Aparência#2</p>'
        },
        fb: {
            fbdef: '<p class="popup_fb">+ #1 <b>Defense</b> (Fort battle bonus)</p>',
             fboff: '<p class="popup_fb">+ #1 <b>Attack</b> (Fort battle bonus)</p>',
            fbres: '<p class="popup_fb">+ #1 <b>Resistance</b> (Fort battle bonus)</p>',
            fbdefs: '<p class="popup_fb">+ #1 <b>Defense</b> (Fort battle sector bonus)</p>',
            fboffs: '<p class="popup_fb">+ #1 <b>Attack</b> (Fort battle sector bonus)</p>',
             fbdmgs: '<p class="popup_fb">+ #1 <b>Damages</b> (Fort battle sector bonus)</p>'
         }
         }
     }
     }
};
};
 
westui.init();
if ((new RegExp(mw.config.get('wgFormattedNamespaces')[10]+'\:Item\_*').test(mw.config.get('wgPageName')))&&($('.item_container').length==1)){
    $('#mw-content-text').append('<center><div id="popup_plain" class="popup_window"><div class="popup_front"><div class="tw_bg_tl"></div><div class="tw_bg_tr"></div><div class="tw_bg_bl"></div><div class="tw_bg_br"></div></div><div id="popup_plain_contents" class="popup_contents"></div></div></center>');
    $('#popup_plain').hide();
    $('#popup_plain_contents').append(Popup.createPopup($('.item_container').attr('data-popup'), $('.item_container').attr('data-cdn-cat'), $('.item_container').attr('data-cdn-img'),0))
    $('#popup_plain').slideDown();
}
 
$('.item_container img').on('dblclick',function(){window.location='/wiki/'+mw.config.get('wgFormattedNamespaces')[10]+':Item_'+JSON.parse($(this).parent().attr('data-popup'))['id']/1000});

Edição atual desde as 12h41min de 14 de maio de 2024

westui = {

   lang: {
       input_level: "Nível",
       input_search: "Procurar",
       damages: "Dano",
       per_level: "por Nível",
       speed: "Velocidade",
       level: "Nível",
       unsalable: "Não pode ser vendido",
       auction: "Leiloável",
       not_auction: "Não é leiloável",
       not_upgrade: "Não é possível melhorar o item",
       upgrade: "Melhorável",
       total: "Total",
       popup: {
           dmg: {

dmglvl: '

'

           },
           skills: {

str: '

', mob: '

', dex: '

', cha: '

', con: '

', vig: '

', tou: '

', sta: '

', hea: '

', rid: '

', ref: '

', dod: '

', hid: '

', swi: '

', aim: '

', sho: '

', pit: '

', fin: '

', rep: '

', lea: '

', tac: '

', tra: '

', ani: '

', app: '

'

           },
           fb: {

fbdef: '

', fboff: '

', fbres: '

', fbdefs: '

', fboffs: '

', fbdmgs: '

'

           },
           special: {

xp: '

', money: '

', luck: '

', regen: '

', drop: '

', labor_pts: '

', building_pts: '

', spd: '

'

           }
       }
   },
   config: {
       enable_set_calc: true,
       plain_popup: true,
       redirect_on_dblclick: false,
       link_on_dblclick:true,
       enable_sorting:true,
       cdn: "https://westzz.innogamescdn.com",
       img_buyprice: "/images/5/57/Buy_price.png",
       img_sellprice: "/images/f/fc/Sell_price.png",
       img_male: "/images/7/72/Masculino.png",
       img_female: "/images/2/24/Feminino.png",
       set_bonus: {
           str: {
               name: "Força",
               img: "/images/thumb/7/74/IconAtributoForça.png/40px-IconAtributoForça.png"
           },
           mob: {
               name: "Mobilidade",
               img: "/images/thumb/9/98/IconAtributoMobilidade.png/40px-IconAtributoMobilidade.png"
           },
           dex: {
               name: "Destreza",
               img: "/images/thumb/3/3c/IconAtributoDestreza.png/40px-IconAtributoDestreza.png"
           },
           cha: {
               name: "Carisma",
               img: "/images/thumb/f/fe/IconAtributoCarisma.png/40px-IconAtributoCarisma.png"
           },
           con: {
               name: "Construção",
               img: "/images/thumb/4/47/IconHabilidadeConstrução.png/40px-IconHabilidadeConstrução.png"
           },
           vig: {
               name: "Vigor",
               img: "/images/thumb/9/91/IconHabilidadeVigor.png/40px-IconHabilidadeVigor.png"
           },
           tou: {
               name: "Resistência",
               img: "/images/thumb/9/9f/IconHabilidadeResistência.png/40px-IconHabilidadeResistência.png"
           },
           sta: {
               name: "Tolerância",
               img: "/images/thumb/3/3d/IconHabilidadeTolerância.png/40px-IconHabilidadeTolerância.png"
           },
           hea: {
               name: "Pontos de vida",
               img: "/images/thumb/3/3a/IconHabilidadePontos_de_vida.png/40px-IconHabilidadePontos_de_vida.png"
           },
           rid: {
               name: "Andar a cavalo",
               img: "/images/thumb/3/3d/IconHabilidadeAndar_a_cavalo.png/40px-IconHabilidadeAndar_a_cavalo.png"
           },
           ref: {
               name: "Reflexos",
               img: "/images/thumb/f/f8/IconHabilidadeReflexos.png/40px-IconHabilidadeReflexos.png"
           },
           dod: {
               name: "Evasão",
               img: "/images/thumb/1/1d/IconHabilidadeEvasão.png/40px-IconHabilidadeEvasão.png"
           },
           hid: {
               name: "Esconder",
               img: "/images/thumb/5/51/IconHabilidadeEsconder.png/40px-IconHabilidadeEsconder.png"
           },
           swi: {
               name: "Nadar",
               img: "/images/thumb/1/1f/IconHabilidadeNadar.png/40px-IconHabilidadeNadar.png"
           },
           aim: {
               name: "Mira",
               img: "/images/thumb/4/48/IconHabilidadeMira.png/40px-IconHabilidadeMira.png"
           },
           sho: {
               name: "Tiroteio",
               img: "/images/thumb/1/19/IconHabilidadeTiroteio.png/40px-IconHabilidadeTiroteio.png"
           },
           pit: {
               name: "Colocar armadilhas",
               img: "/images/thumb/d/db/IconHabilidadeColocar_armadilhas.png/40px-IconHabilidadeColocar_armadilhas.png"
           },
           fin: {
               name: "Perícia",
               img: "/images/thumb/b/bc/IconHabilidadePerícia.png/40px-IconHabilidadePerícia.png"
           },
           rep: {
               name: "Reparar",
               img: "/images/thumb/5/59/IconHabilidadeReparar.png/40px-IconHabilidadeReparar.png"
           },
           lea: {
               name: "Liderança",
               img: "/images/thumb/4/4e/IconHabilidadeLiderança.png/40px-IconHabilidadeLiderança.png"
           },
           tac: {
               name: "Táticas",
               img: "/images/thumb/3/30/IconHabilidadeTática.png/40px-IconHabilidadeTática.png"
           },
           tra: {
               name: "Comércio",
               img: "/images/thumb/0/05/IconHabilidadeComércio.png/40px-IconHabilidadeComércio.png"
           },
           ani: {
               name: "Instinto animal",
               img: "/images/thumb/f/fd/IconHabilidadeInstinto_animal.png/40px-IconHabilidadeInstinto_animal.png"
           },
           app: {
               name: "Aparência",
               img: "/images/thumb/9/90/IconHabilidadeAparência.png/40px-IconHabilidadeAparência.png"
           },
           fbdef: {
               name: "Defesa (Bónus de batalha no forte)",
               img: "/images/8/82/Set_Fb_defense.png"
           },
           fboff: {
               name: "Ataque (Bónus de batalha no forte)",
               img: "/images/3/30/Set_Fb_offense.png"
           },
           fbres: {
               name: "Resistência (Bónus de batalha no forte)",
               img: "/images/4/4b/Resistance.png"
           },
           fbdefs: {
               name: "Defesa (Bónus de setor de batalha no forte)",
               img: "/images/1/1a/Set_Fb_defense_sec.png"
           },
           fboffs: {
               name: "Ataque (Bónus de setor de batalha no forte)",
               img: "/images/f/fe/Set_Fb_offense_sec.png"
           },
           fbdmgs: {
               name: "Dano (Bónus de setor de batalha no forte)",
               img: "/images/b/b3/Damages_sector.png"
           },
           xp: {
               name: "experiência em trabalhos, duelos e batalhas de forte (%)",
               img: "/images/7/71/Set_xp.png"
           },
           money: {
               name: "salário nos trabalhos e duelos (%)",
               img: "/images/d/df/Set_money.png"
           },
           luck: {
               name: "Aumento de Sorte",
               img: "/images/c/c1/Set_luck.png"
           },
           regen: {
               name: "regeneração",
               img: "/images/5/53/Regeneration.png",
           },
           drop: {
               name: "aumento de hipóteses de drop",
               img: "/images/b/b8/Drop.png"
           },
           spd: {
               name: "Velocidade",
               img: "/images/thumb/b/b8/Cavalo_de_corrida.png/40px-Cavalo_de_corrida.png"
           },
           labor_pts: {
               name: "Pontos de trabalho",
               img: "/images/5/5e/Labor_pts.png"
           },
           building_pts: {
               name: "Pontos de trabalho em Expandir",
               img: "/images/2/2c/Building_pts.png"  
           }
       },
       sorting: {
           'Força':'{"str":1}',
           'Mobilidade':'{"mob":1}',
           'Destreza':'{"dex":1}',
           'Carisma':'{"cha":1}',
           'Construção':'{"str":1,"con":1}',
           'Vigor':'{"str":1,"vig":1}',
           'Resistência':'{"str":1,"tou":1}',
           'Tolerância':'{"str":1,"sta":1}',
           'Pontos de vida':'{"str":1,"hea":1}',
           'Andar a cavalo':'{"mob":1,"rid":1}',
           'Reflexos':'{"mob":1,"ref":1}',
           'Evasão':'{"mob":1,"dod":1}',
           'Esconder':'{"mob":1,"hid":1}',
           'Nadar':'{"mob":1,"swi":1}',
           'Mira':'{"dex":1,"aim":1}',
           'Tiroteio':'{"dex":1,"sho":1}',
           'Colocar armadilhas':'{"dex":1,"pit":1}',
           'Perícia':'{"dex":1,"fin":1}',
           'Reparar':'{"dex":1,"rep":1}',
           'Liderança':'{"cha":1,"lea":1}',
           'Tática':'{"cha":1,"tac":1}',
           'ComércIo':'{"cha":1,"tra":1}',
           'Instinto animal':'{"cha":1,"ani":1}',
           'Aparência':'{"cha":1,"app":1}',
           'Pontos de trabalho em Expandir edifício':'{"str":3,"con":3,"dex":1,"rep":1,"cha":1,"lea":1,"labor_pts":1,"building_pts":1}',
           'Experiência em trabalhos, duelos e batalhas de forte (%)':'{"xp":1}',
           'Salário nos trabalhos e duelos (%)':'{"money":1}',
           'Aumento de sorte (%)':'{"luck":1}',
           'Regeneração (%)':'{"regen":1}',
           'Aumento de hipóteses de drop (%)':'{"drop":1}',
           'Velocidade (%)':'{"spd":1,"hspd":1,"mob":1,"rid":1}',
           'Dano médio':'{"dmg_min":0.5,"dmg_max":0.5,"dmglvl":1}',
           'Dano máximo':'{"dmg_max":1,"dmglvl":1}',
       }
   },
   initPage: function () {
       //Append input level
       if ($("#input_level").length === 1) {
           var input_level = $('<input type="number" style="width:80px;" class="west" placeholder="' + westui.lang.input_level + '" min="0" max="250">').bind("propertychange keyup input paste", function () {
               if (this.value > 250) {
                   this.value = 250;
               } else if (this.value < 0) {
                   this.value = 0;
               }
               $(".calc").each(function () {
                   if (input_level.val() == 0) {
                       $(this).html(this.id);
                       $('.per_level_off').addClass('per_level').removeClass('per_level_off');
                   } else {
                       $(this).html(Math.ceil(Number(this.id) * input_level.val()));
                       $('.per_level').addClass('per_level_off').removeClass('per_level');
                   }
               });
           }).appendTo($("#input_level"));
       }
       //Search
       if ($("#input_search").length === 1) {
           var input_search = $('<input type="search" class="west" placeholder="' + westui.lang.input_search + '">').bind("propertychange keyup input paste", function () {
               var val = this.value.toLowerCase();
               if (val === ) {
                   $('.item_container').show();
               } else {
                   $('.item_container').hide();
                   $('.item_container').filter(function () {
                       return $(this).attr('data-popup').toLowerCase().indexOf(val) > -1;
                   }).show();
               }
           }).appendTo($("#input_search"));
       }
       //Switch weapons
       if ($("#switch").length === 1) {
           $("#fire").hide();
           $("#switch").on("click", function () {
               $('#melee, #fire').toggle();
           });
       }
       //Switch products
       if ($("#switch_prod").length === 1) {
           $("#prod2").hide();
           $("#switch_prod").on("click", function () {
               $('#prod, #prod2').toggle();
           });
       }
       //Show a "plain text" popup in the template
       if (westui.config.plain_popup && (new RegExp(mw.config.get('wgFormattedNamespaces')[10] + '\:Item\_*').test(mw.config.get('wgPageName'))) && ($('.item_container').length === 1)) {

$('#mw-content-text').append('

');

           $('#popup_plain').hide();
           $('#popup_plain_contents').append(westui.popup.createPopup($('.item_container').attr('data-popup'), $('.item_container').attr('data-cdn-cat'), $('.item_container').attr('data-cdn-img'), 0));
           $('#popup_plain').slideDown();
       }
       //On dbl click on item, redirect the user to the template
       if (westui.config.redirect_on_dblclick) {
           $('.item_container img').on('dblclick', function () {
               window.location = '/wiki/' + mw.config.get('wgFormattedNamespaces')[10] + ':Item_' + JSON.parse($(this).parent().attr('data-popup')).id / 1000;
           });
       }
       if (westui.config.link_on_dblclick) {
           $('.item_container img').on('dblclick', function () {
               window.location = '/wiki/' + $(this).parent().attr('data-link');
           });
       }
   },
   popup: {
       content: "",
       delay: 200,
       active: false,
       show: function (obj) {
           westui.popup.content = westui.popup.createPopup($(obj).attr('data-popup'), $(obj).attr('data-cdn-cat'), $(obj).attr('data-cdn-img'), parseInt($(obj).attr('data-lvl')));
           westui.popup.active = true;
           westui.popup.setTimeout();
           westui.popup.getContainer().html(westui.popup.content);
       },
       hide: function () {
           westui.popup.getEl().css({
               display: 'none',
               top: 0,
               left: 0
           });
           westui.popup.active = false;
           westui.popup.clearTimeout();
       },
       setTimeout: function () {
           westui.popup.clearTimeout();
           westui.popup.timer = window.setTimeout(function () {
               westui.popup.getEl().css('display', 'block');
           }, westui.popup.delay);
       },
       clearTimeout: function () {
           if (westui.popup.timer) window.clearTimeout(westui.popup.timer);
       },
       getEl: function () {
           return $('#popup_window');
       },
       getContainer: function () {
           return $('#popup_contents');
       },
       createPopup: function (data, cdn_cat, cdn_name, lvl) {
           data = JSON.parse(data);

var html = '


';

           var upgraded = false;
           if ((lvl >= 1) && (lvl <= 5)) {
               upgraded = true;
               data.auc = false;
           }
           if (data.dmg_min && data.dmg_max) {
               if (upgraded) {
                   data.dmg_min += Math.round(Math.max(1, data.dmg_min * 0.1 * lvl));
                   data.dmg_max += Math.round(Math.max(1, data.dmg_max * 0.1 * lvl));
               }

html += '

';

           }
           if (data.text) {
               for (var i = 0; i < data.text.length; i++) {

html += '

';

               }
               html += '
'; } for (var cat in westui.lang.popup) { var cnt = 0; for (var key in westui.lang.popup[cat]) { if (data.hasOwnProperty(key)) { cnt++; var per_level = ""; if (data[key] < 0) { if ($('#input_level input').val() > 0) { data[key] = Math.ceil($('#input_level input').val() * -data[key]); if (upgraded) { data[key] += Math.round(Math.max(1, data[key] * 0.1 * lvl)); } } else { data[key] = -data[key]; per_level = " (" + westui.lang.per_level + ")"; if (upgraded) { data[key] = Math.round(1e6 * (data[key] * 1 + Math.round(Math.max(1, data[key] * 1000 * lvl)) / 10000)) / 1e6; } } } else if (upgraded) { if (data[key] < 1) { data[key] = Math.round(1e6 * (data[key] * 1 + Math.round(Math.max(1, data[key] * 1000 * lvl)) / 10000)) / 1e6; } else { data[key] += Math.round(Math.max(1, data[key] * 0.1 * lvl)); } } html += westui.lang.popup[cat][key].replace('#1', data[key]).replace('#2', per_level); } } if (cnt > 0) { html += '
'; } } if (data.textjob) { for (var i = 0; i < data.textjob.length; i++) {

html += '

';

               }
               html += '
'; } if (data.bonus) { for (var i = 0; i < data.bonus.length; i++) {

html += '

';

               }
               html += '
'; } if (data.jobs) {

html += '

';
               for (var i = 0; i < data.jobs.length; i++) {
html += '';
               }
html += '

';

           }
           if (data.craft) {

html += '

';

           }

html += '

';

           return html;
       },
       setPosition: function (e) {
           var window_width = $(window).width();
           var window_height = $(window).height();
           var popup_width = westui.popup.getEl().outerWidth();
           var popup_height = westui.popup.getEl().outerHeight();
           var pos_x = e.clientX;
           var pos_y = e.clientY;
           var top;
           var left;
           var margin_top = 20;
           var margin_left = 20;
           if (pos_x + popup_width + margin_left > window_width) {
               left = pos_x - popup_width - margin_left + (e.pageX - e.clientX);
           } else {
               left = pos_x + margin_left + (e.pageX - e.clientX);
           }
           if (pos_y + popup_height + margin_top > window_height) {
               top = window_height - popup_height + (e.pageY - e.clientY);
           } else {
               top = pos_y + margin_top + (e.pageY - e.clientY);
           }
           westui.popup.getEl().css({
               top: top,
               left: left
           });
       },
       init: function () {
           //Append popup container

$('body').append('

');

           //Set events
           $(document).on('mouseenter', '.item_container', function (e) {
               westui.popup.show(this);
               westui.popup.setPosition(e);
           });
           $(document).on('mouseleave', '.item_container', function () {
               westui.popup.hide();
           });
           $(document).on('mousemove', '.item_container', function (e) {
               westui.popup.setPosition(e);
           });
           $('.item_level').mousedown(function (e) {
               e.preventDefault();
           });
           $(document).on('click', '.upgrade', function () {
               var container = $(this).closest('.item_container');
               var lvl = parseInt(container.attr('data-lvl'));
               if (lvl !== 5) {
                   container.attr('data-lvl', lvl + 1);
                   container.find('.level').html(lvl + 1);
               }
               westui.popup.show(container[0]);
           });
           $(document).on('click', '.downgrade', function () {
               var container = $(this).closest('.item_container');
               var lvl = parseInt(container.attr('data-lvl'));
               if (lvl !== 0) {
                   container.attr('data-lvl', lvl - 1);
                   container.find('.level').html(lvl - 1);
               }
               westui.popup.show(container[0]);
           });
       }
   },
   set_calc: {
       bonus: {
           //If there are any other "special" bonuses, they will be dynamically retrieved and stored there
           extra_set_bonus: {}
       },
       //Bonuses from all sets / items :
       data: {},
       //Status of all items (item lvl, activated or not)
       itemStatus: {},
       getData: function () {
           $('.set_container').each(function () {
               var set_id = $(this).attr('data-set-id');
               westui.set_calc.itemStatus[set_id] = {};
               westui.set_calc.data[set_id] = {
                   items: {},
                   set: {}
               };
           });
           //Get bonuses from all sets
           $('.infoSet').each(function () {
               var set_id = $(this).attr('data-set-id');
               $(this).find('.infosetatt').each(function () {
                   var nb = $(this).attr('data-nb');
                   westui.set_calc.data[set_id].set[nb] = {};
                   $(this).find('.set_bonus').each(function () {
                       key = $(this).attr('data-type');
                       if ($(this).find('.calc').length !== 0) {
                           westui.set_calc.data[set_id].set[nb][key] = -parseFloat($(this).find('.calc').attr('id'));
                       } else {
                           westui.set_calc.data[set_id].set[nb][key] = parseFloat($(this).find('.val').text());
                       }
                       if (!westui.config.set_bonus.hasOwnProperty(key)) {
                           westui.set_calc.bonus.extra_set_bonus[key] = {
                               img: $(this).find('img').attr('src'),
                               name: $(this).find('#tooltip_content').text()
                           };
                       }
                   });
               });
           });
           //Get bonuses from all item sets
           $('.set_container').each(function () {
               var set_id = $(this).attr('data-set-id');
               $(this).find('.item_container').each(function () {
                   var json = JSON.parse($(this).attr('data-popup'));
                   if ($(this).is(":hidden")) {
                       westui.set_calc.itemStatus[set_id][json.id] = false;
                   } else {
                       westui.set_calc.itemStatus[set_id][json.id] = 0;
                   }
                   for (var prop in json) {
                       if (json.hasOwnProperty(prop) && (westui.config.set_bonus.hasOwnProperty(prop) || westui.set_calc.bonus.extra_set_bonus.hasOwnProperty(prop))) {
                           if (!westui.set_calc.data[set_id].items[prop]) {
                               westui.set_calc.data[set_id].items[prop] = {};
                           }
                           westui.set_calc.data[set_id].items[prop][json.id] = json[prop];
                       }
                   }
               });
           });
       },
       calc: function () {
           //Only calc if a player level is provided
           if ($('#input_level').length === 0 | $('#input_level input').val() !== "") {
               var level = parseInt($('#input_level input').val());
               total = {};
               for (var set_id in westui.set_calc.data) {
                   for (var key in westui.set_calc.data[set_id].items) {
                       for (var item_id in westui.set_calc.data[set_id].items[key]) {
                           if (westui.set_calc.itemStatus[set_id][item_id] !== false) {
                               lvl = westui.set_calc.itemStatus[set_id][item_id];
                               if (!total[key]) {
                                   total[key] = 0;
                               }
                               var value = westui.set_calc.data[set_id].items[key][item_id];
                               if (westui.set_calc.data[set_id].items[key][item_id] < 0) {
                                   //If bonus (per Level)
                                   value = -value;
                                   if (westui.set_calc.itemStatus[set_id][item_id] > 0) {
                                       //If item upgraded
                                       total[key] += Math.ceil(value * level) + Math.round(Math.max(1, Math.ceil(value * level) * 0.1 * lvl));
                                   } else {
                                       total[key] += Math.ceil(value * level);
                                   }
                               } else {
                                   if (westui.set_calc.itemStatus[set_id][item_id] > 0) {
                                       if (value < 1) {
                                           total[key] += Math.round(1e6 * (value * 1 + Math.round(Math.max(1, value * 1000 * lvl)) / 10000)) / 1e6;
                                       } else {
                                           total[key] += value + Math.round(Math.max(1, value * 0.1 * lvl));
                                       }
                                   } else {
                                       total[key] += value;
                                   }
                               }
                           }
                       }
                   }
                   var item_nb = 0;
                   for (var item_id in westui.set_calc.itemStatus[set_id]) {
                       if (westui.set_calc.itemStatus[set_id][item_id] !== false) {
                           item_nb++;
                       }
                   }
                   for (var key in westui.set_calc.data[set_id].set[item_nb]) {
                       if (!total[key]) {
                           total[key] = 0;
                       }
                       if (westui.set_calc.data[set_id].set[item_nb][key] < 0) {
                           total[key] += Math.ceil(-westui.set_calc.data[set_id].set[item_nb][key] * level);
                       } else {
                           total[key] += westui.set_calc.data[set_id].set[item_nb][key];
                       }
                   }
               }
               //Create the html table

var html = '

<tbody>

' + westui.lang.total + '
';
               for (var key in westui.config.set_bonus) {
                   if (total.hasOwnProperty(key)) {
html += '
<img src="' + westui.config.set_bonus[key].img + '">+' + total[key] + (['xp', 'money', 'luck', 'spd', 'regen', 'drop'].indexOf(key) !== -1 ? "%" : "") + '
' + westui.config.set_bonus[key].name + '
';
                   }
               }
               for (var key in westui.set_calc.bonus.extra_set_bonus) {
                   if (total.hasOwnProperty(key)) {
html += '
<img src="' + westui.set_calc.bonus.extra_set_bonus[key].img + '">+' + total[key] + (['xp', 'money', 'luck', 'spd', 'regen', 'drop'].indexOf(key) !== -1 ? "%" : "") + '
' + westui.set_calc.bonus.extra_set_bonus[key].name + '
';
                   }
               }
               //Display the result at the bottom of the page
               $('#set_calc').html(html);
           } else {
               $('#set_calc').html("");
           }
       },
       initEvents: function () {
           //Deactivate / activate item on click
           $('.item_container > img').on('click', function () {
               var item_container = $(this).closest('.item_container');
               item_container.toggleClass('item_off');
               var set_id = item_container.closest('.set_container').attr('data-set-id');
               var item_id = JSON.parse(item_container.attr('data-popup')).id;
               if (item_container.hasClass('item_off') || item_container.is(":hidden")) {
                   westui.set_calc.itemStatus[set_id][item_id] = false;
               } else {
                   westui.set_calc.itemStatus[set_id][item_id] = parseInt(item_container.attr('data-lvl'));
               }
               westui.set_calc.calc();
           });
           //Update item level on upgrade / downgrade
           $(document).on('click', '.upgrade, .downgrade', function () {
               var item = $(this).closest('.item_container');
               var set_id = item.closest('.set_container').attr('data-set-id');
               if (!item.hasClass('item_off') && !item.is(":hidden")) {
                   westui.set_calc.itemStatus[set_id][JSON.parse(item.attr('data-popup')).id] = parseInt(item.attr('data-lvl'));
                   westui.set_calc.calc();
               }
           });
           //Calc again when player level changes
           $("#input_level").bind("propertychange keyup input paste", function () {
               westui.set_calc.calc();
           });
           //Activate/deactivate melee/fire weapon when the switch btn is clicked
           $("#switch").on('click', function () {
               $('#melee, #fire').each(function () {
                   var item = $(this).find('.item_container');
                   var set_id = $(this).closest('.set_container').attr('data-set-id');
                   if ($(this).is(":hidden")) {
                       westui.set_calc.itemStatus[set_id][JSON.parse(item.attr('data-popup')).id] = false;
                   } else {
                       westui.set_calc.itemStatus[set_id][JSON.parse(item.attr('data-popup')).id] = parseInt(item.attr('data-lvl'));
                   }
               });
               westui.set_calc.calc();
           });
       },
       init: function () {
           westui.set_calc.initEvents();
           westui.set_calc.getData();
$('#mw-content-text').append('
');
           if ($('#input_level').length === 0)
               westui.set_calc.calc();
       }
   },
   sorting: {
       sortItems: function(param){
           $('.item_container').removeAttr('data-sort');
           function calcSortVal(el){
               var data = JSON.parse($(el).attr('data-popup'));
               var val = 0;
               for (var prop in param){
                   if (data[prop]){
                       if (data[prop]<0){
                           val+=Math.ceil(-data[prop]*($('#input_level input').val()?$('#input_level input').val():250))*param[prop];
                       } else {
                           val+=data[prop]*param[prop];
                       }
                   }
               }
               $(el).attr('data-sort',val);
               if ($(el).find('p.number').length!==0){
                   $(el).find('p.number').html(val);
               } else {
$(el).append('

'+val+'

');
               }
           }
           $('#mw-content-text').find('.sorting_hidden').hide();
           $('#mw-content-text').find('.item_container').sort(function(a, b) {
               if (!$(a).attr('data-sort')){calcSortVal(a);}
               if (!$(b).attr('data-sort')){calcSortVal(b);}
               return $(b).attr('data-sort') - $(a).attr('data-sort');
           }).appendTo('#mw-content-text');
       },
       init:function(){
           if ($('div#sort_items').length===1){
var html = "";
               $('div#sort_items').html(html);
               $('select#sort_items').on('change',function(){
                   westui.sorting.sortItems(JSON.parse($(this).find("option:selected").attr('value')));
               });
           }
       }
   },
   init: function () {
       westui.initPage();
       westui.popup.init();
       if (westui.config.enable_sorting)
           westui.sorting.init();
       if (westui.config.enable_set_calc && $('.infoSet').length !== 0) {
           westui.set_calc.init();
       }
   }

}; westui.init();