Popup.js

Από Wiki The-West GR
Jump to navigation

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

',money:'

',luck:'

',drop:'

',regen:'

',labor_pts:'

',spd:'

',pray:'

'}}},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:"//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_recipe:['b/b8','e/ec','7/77','b/b4','b/b4'],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,i,a){t=JSON.parse(t);var wl=westui.lang,wc=westui.config,s=t.id?s='

Shift+κλικ για αντιγραφή [item='+t.id+']

':s=,p=!1;d=t.dmg&&t.dmg.split('-');var l=0;t.jobGroup?s+=:s+=;if(t.cdn_img){s+='

'}if(t.id){s+='

'}if(t.name){s+='

'}1==t.useable?s+='

":s+=;if(t.ico){s+='

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

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

";s+=""}if(t.unique){s+='

'}if(a>=1&&a<=5&&(p=!0,t.auc=!1),t.text){if(t.unique){s+='
'}for(var n=0;n<t.text.length;n+=1){s+='

"}s+=""}t.type||t.typeW||t.useable||t.text||t.unique?s+='
':s+=
;if(a>=1&&a<=5&&(p=!0,t.auc=!1),d&&(l=1)&&(p&&(d[0]=d[0]*1+Math.round(Math.max(1,.1*d[0]*a)),d[1]=d[1]*1+Math.round(Math.max(1,.1*d[1]*a))),s+='

')){if(!t.dmglvl&&d[0]){s+="
"}}if(a>=1&&a<=5&&(p=!0,t.auc=!1),t.dmg_min&&t.dmg_max&&(p&&(t.dmg_min=t.dmg_min*1+Math.round(Math.max(1,.1*t.dmg_min*a)),t.dmg_max=t.dmg_max*1+Math.round(Math.max(1,.1*t.dmg_max*a))),s+='

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

"}s+="
"}if(t.bonus){s+='

';for(n=0;n<t.bonus.length;n+=1){s+='

"}s+="
"}if(t.jobs){s+='

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

';for(p in t.jobs){if(p=='req'){s+=''}else{var ji=wc.jobIcon(p,t.jobs[p]);s+='"}}s+="


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

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

"}t.recipe?s+=:t.craft?s+='
':s+=
;if(t.recipe){s+='

"}var upgLvL=a,upgItems=Math.pow(3,upgLvL),upgFees=(Math.pow(3,Number(upgLvL)+Number(1))-3-2*upgLvL)/4,upgTotal=t.bp*(upgItems+upgFees),upgPrice=upgTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".");(t.hspd||t.set||t.sp||t.bp||t.blding||t.lvl||t.cat||t.auc||t.upg)?s+='':s+=;return s+=},setPosition:function(t){var e,i,a=$(window).width(),s=$(window).height(),p=westui.popup.getEl().outerWidth(),n=westui.popup.getEl().outerHeight(),o=t.clientX,l=t.clientY;i=o+p+10>a?o-p-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:i})},copyToClipboard:function(element){var $temp=$("<input>");$("body").append($temp);$temp.val($(element).text()).select();document.execCommand("copy");$temp.remove()},init:function(){var wp=westui.popup;$("body").append(''),$(document).on("mouseenter",".item_container",function(t){wp.show(this),wp.setPosition(t)}),$(document).on("click",".item_container",function(t){if(t.shiftKey){wp.copyToClipboard('.popup_id')}if(t.ctrlKey){var link='https://wiki.the-west.gr/wiki/Πρότυπο:'+$('.popup_id').text().slice(0,-2).replace(/[\[\]]/gi,"")+'0';window.open(link,'_blank')}}),$(document).on("mouseleave",".item_container",function(){wp.hide()}),$(document).on("mousemove",".item_container",function(t){wp.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)),wp.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)),wp.show(t[0])})}},set_calc:{bonus:{extra_set_bonus:{}},data:{},itemStatus:{},getData:function(){var wsc=westui.set_calc,wc=westui.config;$(".set_container").each(function(){var t=$(this).attr("data-set-id");wsc.itemStatus[t]={},wsc.data[t]={items:{},set:{}}}),$(".infoSet").each(function(){var t=$(this).attr("data-set-id");$(this).find(".infosetatt").each(function(){var e=$(this).attr("data-nb");wsc.data[t].set[e]={},$(this).find(".set_bonus").each(function(){key=$(this).attr("data-type"),0!==$(this).find(".calc").length?wsc.data[t].set[e][key]= -parseFloat($(this).find(".calc").attr("id")):wsc.data[t].set[e][key]=parseFloat($(this).find(".val").text()),wc.set_bonus.hasOwnProperty(key)||(wsc.bonus.extra_set_bonus[key]={img:$(this).find("img").attr("src"),name:$(this).find("#tooltip_content").text()})})})}),$(".set_container").each(function(){var t=$(this).attr("data-set-id");$(this).find(".item_container").each(function(){var e=JSON.parse($(this).attr("data-popup"));$(this).is(":hidden")?wsc.itemStatus[t][e.id]=!1:wsc.itemStatus[t][e.id]=0;for(var i in e){if(i=='dmg'){continue}var isJob=i.startsWith('Job_');e.hasOwnProperty(i)&&(wc.set_bonus.hasOwnProperty(i)||wsc.bonus.extra_set_bonus.hasOwnProperty(i)||isJob&&(wsc.bonus.extra_set_bonus[i]={img:wc.jobIcon(i.replace('Job_',))[0],name:e[i][1]}))&&(wsc.data[t].items[i]||(wsc.data[t].items[i]={}),wsc.data[t].items[i][e.id]=(isJob?e[i][0]:e[i]))}})})},calc:function(){var wsc=westui.set_calc,wc=westui.config;if(0===$("#input_level").length|""!==$("#input_level input").val()){var t=parseInt($("#input_level input").val());for(var e in total={},wsc.data){for(var i in wsc.data[e].items){for(var a in wsc.data[e].items[i]){if(!1!==wsc.itemStatus[e][a]){lvl=wsc.itemStatus[e][a],total[i]||(total[i]=0);var s=wsc.data[e].items[i][a];wsc.data[e].items[i][a]<0?(s= -s,wsc.itemStatus[e][a]>0?total[i]+=Math.ceil(s*t)+Math.round(Math.max(1,.1*Math.ceil(s*t)*lvl)):total[i]+=Math.ceil(s*t)):wsc.itemStatus[e][a]>0?total[i]+=s<1?Math.round(1e6*(1*s+Math.round(Math.max(1,1e3*s*lvl))/1e4))/1e6:s+Math.round(Math.max(1,.1*s*lvl)):total[i]+=s}}}var n=0;for(var a in wsc.itemStatus[e]){!1!==wsc.itemStatus[e][a]&&n++}for(var i in wsc.data[e].set[n]){total[i]||(total[i]=0),wsc.data[e].set[n][i]<0?total[i]+=Math.ceil(-wsc.data[e].set[n][i]*t):total[i]+=wsc.data[e].set[n][i]}}var p='
<tbody>

'+westui.lang.total+"
";for(var i in wc.set_bonus){total.hasOwnProperty(i)&&(p+='
<img src="/images/'+wc.set_bonus[i].img+'.png" width="40px">
+'+total[i]+(-1!==["xp","money","luck","spd","regen","drop"].indexOf(i)?"%":"")+'
'+(wc.set_bonus[i].icon?'<img src="/images/'+wc.set_bonus[i].icon+'.png"> ':)+wc.set_bonus[i].name+"
")}for(var z in wsc.bonus.extra_set_bonus){total.hasOwnProperty(z)&&(p+='
<img src="'+wsc.bonus.extra_set_bonus[z].img+'" width="40px">
+'+total[z]+(-1!==["xp","money","luck","spd","regen","drop"].indexOf(z)?"%":"")+'
'+(wsc.bonus.extra_set_bonus[z].icon?'<img src="/images/'+wsc.bonus.extra_set_bonus[z].icon+'.png"> ':)+wsc.bonus.extra_set_bonus[z].name+"
")}$("#set_calc").html(p)}else{$("#set_calc").html("")}},initEvents:function(){var wsc=westui.set_calc;$(".item_container > img").on("click",function(){var t=$(this).closest(".item_container");t.toggleClass("item_off");var e=t.closest(".set_container").attr("data-set-id"),i=JSON.parse(t.attr("data-popup")).id;t.hasClass("item_off")||t.is(":hidden")?wsc.itemStatus[e][i]=!1:westui.set_calc.itemStatus[e][i]=parseInt(t.attr("data-lvl")),wsc.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")||(wsc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl")),wsc.calc())}),$("#input_level").bind("propertychange keyup input paste",function(){wsc.calc()}),$("#switch").on("click",function(){$("#melee, #fire").each(function(){var t=$(this).find(".item_container"),e=$(this).closest(".set_container").attr("data-set-id");$(this).is(":hidden")?wsc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=!1:wsc.itemStatus[e][JSON.parse(t.attr("data-popup")).id]=parseInt(t.attr("data-lvl"))}),wsc.calc()})},init:function(){var wsc=westui.set_calc;wsc.initEvents(),wsc.getData(),$("#mw-content-text").append('
'),0===$("#input_level").length&&wsc.calc()}},sorting:{sortItems:function(e){function t(t){var a=JSON.parse($(t).attr("data-popup")),i=$("#input_level input").val();i=i||250;var s=-1!==Object.keys(e).indexOf("id")||e.bool&&!0===e.bool,p=0;if(e.bool&&!0===e.bool){for(var n in p=1,e){"bool"!==n&&a[n]!==e[n]&&(p=0)}}else{for(var n in e){"id"===n?p-=a[n]:(!a.lvl||a.lvl<=i)&&a[n]&&(a[n]<0?p+=Math.round(-a[n]*i)*e[n]:p+=a[n]*e[n])}}$(t).attr("data-sort",p),0==p&&$(t).hide(),0!==$(t).find(".sortval").length?s?$(t).find(".sortval").html(""):$(t).find(".sortval").html(p):s||$(t).append('
'+p+"
")}$(".item_container").removeAttr("data-sort").show(),$("#mw-content-text").find(".sorting_hidden").hide(),$(".sorting_container").each(function(){$(this).find(".item_container").sort(function(e,a){return $(e).attr("data-sort")||t(e),$(a).attr("data-sort")||t(a),$(a).attr("data-sort")-$(e).attr("data-sort")}).appendTo($(this))})},init:function(){if(1===$("div#sort_items").length){var e="",$("div#sort_items").html(e),$("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();