Popup.js

Από Wiki The-West GR
Jump to navigation

westui={lang:{input_level:"Το επίπεδό σου",input_search:"Αναζήτηση: ID, Σετ ή Όνομα",damages:"Ζημιά",per_level:"ανά επίπεδο",speed:"Ταχύτητα",level:"Επίπεδο",unsalable:"Μη εμπορεύσιμο",auction:"Με δυνατότητα δημοπρασίας",not_auction:"Χωρίς δυνατότητα δημοπρασίας",not_upgrade:"Χωρίς δυνατότητα αναβάθμισης",upgrade:"Με δυνατότητα αναβάθμισης",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:'

',fbdmgs:'

',fbdefs:'

',fboffs:'

'},special:{pray:'

',labor_pts:'

',spd:'

',regen:'

',xp:'

',money:'

',luck:'

',drop:'

'}}},config:{enable_set_calc:!0,plain_popup:!0,redirect_on_dblclick:!1,link_on_dblclick:!1,enable_sorting:!0,cdn:"//westgr.innogamescdn.com",media_cdn:"https://media.innogamescdn.com/com_WEST_GR/wiki/event_offers",img_buyprice:"/images/5/57/Buy_price.png",img_sellprice:"/images/f/fc/Sell_price.png",img_male:"/images/e/ed/Ανδρικό.png",img_female:"/images/b/b5/Γυναικείο.png",img_prof:["c/c0","c/c3","2/2d","9/9a","f/fc"],img_job:{all:["d/d1","Οποιαδήποτε εργασία"]},cat_img:'

'),$("#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()),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/1e3})},popup:{content:"",delay:200,active:!1,show:function(t){westui.popup.content=westui.popup.createPopup($(t).attr("data-popup"),$(t).attr("data-cdn-cat"),$(t).attr("data-cdn-img"),parseInt($(t).attr("data-lvl"))),westui.popup.active=!0,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=!1,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(){westui.popup.timer&&window.clearTimeout(westui.popup.timer)},getEl:function(){return $("#popup_window")},getContainer:function(){return $("#popup_contents")},createPopup:function(t,e,p,i){t=JSON.parse(t);var s=westui.lang,a=westui.config,n='

",o=!1;d=t.dmg&&t.dmg.split("-");var l=0;if(t.ico&&(n+='

",n+=""}if(t.typeW){for(c=0;c<t.typeW.length;c++);n+='

",n+=""}if(t.type){for(c=0;c<t.type.length;c++);n+='

",n+=""}if(t.unique?n+='


":n+="
",i>=1&&i<=5&&(o=!0,t.auc=!1),t.text){for(var c=0;c<t.text.length;c++)n+='

";n+=""}for(var r in(t.text&&t.unique||t.text&&t.dmg_max||t.text&&t.textjob||t.text&&t.bonus||t.text&&t.jobs||t.text&&t.craft||t.text&&s.popup)&&(n+="
"),i>=1&&i<=5&&(o=!0,t.auc=!1),d&&(l=1)&&(o&&(d[0]=1*d[0]+Math.round(Math.max(1,.1*d[0]*i)),d[1]=1*d[1]+Math.round(Math.max(1,.1*d[1]*i))),n+='

")&&(t.dmglvl?n+="":n+="
"),i>=1&&i<=5&&(o=!0,t.auc=!1),t.dmg_min&&t.dmg_max&&(o&&(t.dmg_min=1*t.dmg_min+Math.round(Math.max(1,.1*t.dmg_min*i)),t.dmg_max=1*t.dmg_max+Math.round(Math.max(1,.1*t.dmg_max*i))),n+='

")&&(t.dmglvl?n+="":n+="
"),s.popup){l=0;for(var u in s.popup[r])if(t.hasOwnProperty(u)){l++;var _="";t[u]<0?$("#input_level input").val()>0?(t[u]=Math.ceil($("#input_level input").val()*-t[u]),o&&(t[u]+=Math.round(Math.max(1,.1*t[u]*i)))):(t[u]=-t[u],_=" ("+s.per_level+")",o&&(t[u]=Math.round(1e6*(1*t[u]+Math.round(Math.max(1,1e3*t[u]*i))/1e4))/1e6)):o&&(t[u]<1?t[u]=Math.round(1e6*(1*t[u]+Math.round(Math.max(1,1e3*t[u]*i))/1e4))/1e6:t[u]+=Math.round(Math.max(1,.1*t[u]*i))),n+=s.popup[r][u].replace("#1",t[u]).replace("#2",_)}l>0&&(n+="
")}if(t.textjob){for(c=0;c<t.textjob.length;c++)n+='

";n+="
"}if(t.bonus){for(n+='

',c=0;c<t.bonus.length;c++)n+='

";n+="
"}if(t.jobs){for(o in n+='

Από την εργασία:

',t.jobs)if("req"==o){for(var m of(n+='"}else{var g=a.jobIcon(o,t.jobs[o]);n+='"}n+="


"}if(t.craft){for(n+='

Χρειάζονται για την Δημιουργία:


"}var v=i,f=Math.pow(3,v),h=(Math.pow(3,Number(v)+Number(1))-3-2*v)/4,b=(t.bp*(f+h)).toString().replace(/\B(?=(\d{3})+(?!\d))/g,".");return n+='"},setPosition:function(t){var e,p,i=$(window).width(),s=$(window).height(),a=westui.popup.getEl().outerWidth(),n=westui.popup.getEl().outerHeight(),o=t.clientX,l=t.clientY;p=o+a+10>i?o-a-10+(t.pageX-t.clientX):o+10+(t.pageX-t.clientX),e=l+n+10>s?s-n+(t.pageY-t.clientY):l+10+(t.pageY-t.clientY),westui.popup.getEl().css({top:e,left:p})},init:function(){$("body").append(''),$(document).on("mouseenter",".item_container",function(t){westui.popup.show(this),westui.popup.setPosition(t)}),$(document).on("mouseleave",".item_container",function(){westui.popup.hide()}),$(document).on("mousemove",".item_container",function(t){westui.popup.setPosition(t)}),$(".item_level").mousedown(function(t){t.preventDefault()}),$(document).on("click",".upgrade",function(){var t=$(this).closest(".item_container"),e=parseInt(t.attr("data-lvl"));5!==e&&(t.attr("data-lvl",e+1),t.find(".level").html(e+1)),westui.popup.show(t[0])}),$(document).on("click",".downgrade",function(){var t=$(this).closest(".item_container"),e=parseInt(t.attr("data-lvl"));0!==e&&(t.attr("data-lvl",e-1),t.find(".level").html(e-1)),westui.popup.show(t[0])})}},set_calc:{extra_set_bonus:{},data:{},itemStatus:{},getData:function(){var t=westui.set_calc;for(var e in westui.lang.popup){var p=westui.lang.popup[e];for(var i in p){var s=["attribute","skill"].includes(e)?["thumb/","/40px-"+p[i][1].split("/")[2]+".png"]:["",""];westui.config.set_bonus[i]={name:p[i][0],img:"/images/"+s[0]+p[i][1]+".png"+s[1]}}}var a=0;$(".infoSet").each(function(){a++,t.itemStatus[a]={},t.data[a]={items:{},set:{}},$(this).find(".setbonusrow").each(function(){var e=$(this).attr("data-nb");t.data[a].set[e]={},$(this).find(".set_bonus").each(function(){var p=$(this).find("img").attr("src"),i=p.match(/\/(Set_)?((Job_)?\w+)\.png/),s=(i[1]||i[3]?i[2]:i[2].substr(0,3)).toLowerCase();0!==$(this).find(".calc").length?t.data[a].set[e][s]=-parseFloat($(this).find(".calc").attr("id")):t.data[a].set[e][s]=parseFloat($(this).find(".val").text()),westui.config.set_bonus.hasOwnProperty(s)||(t.extra_set_bonus[s]={img:p,name:$(this).find("#tooltip_content").text()})})})}),a=0,$(".set_container").each(function(){$(this).attr("data-set-id",++a),$(this).find(".item_container").each(function(){var e=JSON.parse($(this).attr("data-popup"));for(var p in $(this).is(":hidden")?t.itemStatus[a][e.id]=!1:t.itemStatus[a][e.id]=0,e)if("dmg"!=p){var i=p.startsWith("job_");e.hasOwnProperty(p)&&(westui.config.set_bonus.hasOwnProperty(p)||t.extra_set_bonus.hasOwnProperty(p)||i&&(t.extra_set_bonus[p]={img:westui.config.jobIcon(p.replace("job_",""))[0]+'" width="40',name:westui.lang.aps+e[p][1]}))&&(t.data[a].items[p]||(t.data[a].items[p]={}),t.data[a].items[p][e.id]=i?e[p][0]:e[p])}})})},addBon:function(t,e,p,i){return e?'
<img src="'+p.img+'">+'+Math.round(1e3*e)/1e3+(["exp","dol","luc","reg","dro","spe"].includes(t)?"%":"")+'
'+p.name+(i?'':"")+"
":""},isBon:function(t,e,p){var i="";if(e[t])for(var s=0;s<2;s++)i+=this.addBon(t,e[t][s],p[t],s);return i},lvlUp:function(t,e){var p=e<1?3:-1;return e+(t?Math.round(Math.max(1,e*Math.pow(10,p)*t))/Math.pow(10,p+1):0)},calc:function(){var t,e=westui.set_calc,p=1*$("#input_level input").val(),i={};for(var s in e.data){for(var a in e.data[s].items)for(var n in e.data[s].items[a]){var o=e.itemStatus[s][n];if(!1!==o){i[a]||(i[a]=[0,0]);var l=e.data[s].items[a][n];t=0,l<0&&(l*=-1,t=1),l=e.lvlUp(o,p&&t?Math.ceil(l*p):l),t&&!p?i[a][1]+=l:i[a][0]+=l}}var c=0;for(var r in e.itemStatus[s])!1!==e.itemStatus[s][r]&&c++;for(var u in e.data[s].set[c]){var d=e.data[s].set[c][u];t=0,i[u]||(i[u]=[0,0]),d<0&&(d*=-1,t=1),d=p&&t?Math.ceil(d*p):d,t&&!p?i[u][1]+=d:i[u][0]+=d}}var _='<tbody>
'+westui.lang.total+"
";for(var m in westui.config.set_bonus)_+=e.isBon(m,i,westui.config.set_bonus);for(var g in e.extra_set_bonus)_+=e.isBon(g,i,e.extra_set_bonus);$("#set_calc").html(_)},initEvents:function(){$(".item_container > img").on("click",function(t){var e=$(this).closest(".item_container");e.toggleClass("item_off"),t=e.closest(".set_container").attr("data-set-id"),i=JSON.parse(e.attr("data-popup")).id,e.hasClass("item_off")||e.is(":hidden")?westui.set_calc.itemStatus[t][i]=!1:westui.set_calc.itemStatus[t][i]=parseInt(e.attr("data-lvl")),westui.set_calc.calc()}),$(document).on("click",".upgrade, .downgrade",function(){var t=$(this).closest(".item_container"),e=t.closest(".set_container").attr("data-set-id");t.hasClass("item_off")||t.is(":hidden")||(westui.set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl")),westui.set_calc.calc())}),$("#input_level").on("propertychange keyup input paste",function(){westui.set_calc.calc()}),$(".set_switch, .set_switchF").on("click",function(){$(".set_melee, .set_F").each(function(){$(this).parent().find(".item_container").each(function(){var t=$(this);e=t.closest(".set_container").attr("data-set-id"),t.hasClass("item_off")||t.is(":hidden")?westui.set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=!1:westui.set_calc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl"))})}),westui.set_calc.calc()})},init:function(){westui.set_calc.initEvents(),westui.set_calc.getData(),$("#mw-content-text").append('
'),0===$("#input_level").length&&westui.set_calc.calc()}},sorting:{sortItems:function(t){function e(e){var p=JSON.parse($(e).attr("data-popup")),i=$("#input_level input").val();i=i||150;var s=-1!==Object.keys(t).indexOf("id")||t.bool&&!0===t.bool,a=0;if(t.bool&&!0===t.bool)for(var n in a=1,t)"bool"!==n&&p[n]!==t[n]&&(a=0);else for(var n in t)"id"===n?a-=p[n]:(!p.lvl||p.lvl<=i)&&p[n]&&(p[n]<0?a+=Math.round(Math.round(-p[n]*i)*t[n]):a+=Math.round(Math.round(p[n])*t[n]));$(e).attr("data-sort",a),0==a&&$(e).hide(),0!==$(e).find(".sortval").length?s?$(e).find(".sortval").html(""):$(e).find(".sortval").html(a):s||$(e).append('
'+a+"
")}$(".item_container").removeAttr("data-sort").show(),$("#mw-content-text").find(".sorting_hidden").hide(),$(".sorting_container").each(function(){$(this).find(".item_container").sort(function(t,p){return $(t).attr("data-sort")||e(t),$(p).attr("data-sort")||e(p),$(p).attr("data-sort")-$(t).attr("data-sort")}).appendTo($(this))})},init:function(){if(1===$("div#sort_items").length){var t="",$("div#sort_items").html(t),$("select#sort_items").on("change",function(){westui.sorting.sortItems(JSON.parse($(this).find("option:selected").attr("value")))})}}},init:function(){westui.initPage(),westui.popup.init(),westui.config.enable_sorting&&westui.sorting.init(),westui.config.enable_set_calc&&0!==$(".infoSet").length&&westui.set_calc.init()}},westui.init();