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,s,i){t=JSON.parse(t);var p=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+=""}(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&&p.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+="
");for(var r in 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+="
"),p.popup){l=0;for(var u in p.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],_=" ("+p.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+=p.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,b=Math.pow(3,v),h=(Math.pow(3,Number(v)+Number(1))-3-2*v)/4,f=(t.bp*(b+h)).toString().replace(/\B(?=(\d{3})+(?!\d))/g,".");return n+='
"},setPosition:function(t){var e,s,i=$(window).width(),p=$(window).height(),a=westui.popup.getEl().outerWidth(),n=westui.popup.getEl().outerHeight(),o=t.clientX,l=t.clientY;s=o+a+10>i?o-a-10+(t.pageX-t.clientX):o+10+(t.pageX-t.clientX),e=l+n+10>p?p-n+(t.pageY-t.clientY):l+10+(t.pageY-t.clientY),westui.popup.getEl().css({top:e,left:s})},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:{bonus:{extra_set_bonus:{}},data:{},itemStatus:{},getData:function(){$(".set_container").each(function(){var t=$(this).attr("data-set-id");westui.set_calc.itemStatus[t]={},westui.set_calc.data[t]={items:{},set:{}},$(this).find(".item_container").each(function(){var e=JSON.parse($(this).attr("data-popup"));for(var s in $(this).is(":hidden")?westui.set_calc.itemStatus[t][e.id]=!1:westui.set_calc.itemStatus[t][e.id]=0,e)e.hasOwnProperty(s)&&westui.config.set_bonus.hasOwnProperty(s)&&(westui.set_calc.data[t].items[s]||(westui.set_calc.data[t].items[s]={}),westui.set_calc.data[t].items[s][e.id]=e[s])})}),$(".infoSet").each(function(){var t=$(this).attr("data-set-id");$(this).find(".infosetatt").each(function(){var e=$(this).attr("data-nb");westui.set_calc.data[t].set[e]={},$(this).find(".set_bonus").each(function(){key=$(this).attr("data-type"),0!==$(this).find(".calc").length?westui.set_calc.data[t].set[e][key]=-parseFloat($(this).find(".calc").attr("id")):westui.set_calc.data[t].set[e][key]=parseFloat($(this).find(".val").text()),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()})})})})},calc:function(){if(0===$("#input_level").length|""!==$("#input_level input").val()){var t=parseInt($("#input_level input").val());for(var e in total={},westui.set_calc.data){for(var s in westui.set_calc.data[e].items)for(var i in westui.set_calc.data[e].items[s])if(!1!==westui.set_calc.itemStatus[e][i]){lvl=westui.set_calc.itemStatus[e][i],total[s]||(total[s]=0);var p=westui.set_calc.data[e].items[s][i];westui.set_calc.data[e].items[s][i]<0?(p=-p,westui.set_calc.itemStatus[e][i]>0?total[s]+=Math.ceil(p*t)+Math.round(Math.max(1,.1*Math.ceil(p*t)*lvl)):total[s]+=Math.ceil(p*t)):westui.set_calc.itemStatus[e][i]>0?total[s]+=p<1?Math.round(1e6*(1*p+Math.round(Math.max(1,1e3*p*lvl))/1e4))/1e6:Math.round(Math.max(1,.1*p*lvl)):total[s]+=p}var a=0;for(var i in westui.set_calc.itemStatus[e])!1!==westui.set_calc.itemStatus[e][i]&&a++;for(var s in westui.set_calc.data[e].set[a])total[s]||(total[s]=0),westui.set_calc.data[e].set[a][s]<0?total[s]+=Math.ceil(-westui.set_calc.data[e].set[a][s]*t):total[s]+=westui.set_calc.data[e].set[a][s]}var n='
<tbody>

'+westui.lang.total+"
";for(var s in westui.config.set_bonus)total.hasOwnProperty(s)&&(n+='
<img src="'+westui.config.set_bonus[s].img+'">+'+total[s]+'
'+westui.config.set_bonus[s].name+"
");for(var s in westui.set_calc.bonus.extra_set_bonus)total.hasOwnProperty(s)&&(n+='
<img src="'+westui.set_calc.bonus.extra_set_bonus[s].img+'">+'+total[s]+(-1!==["xp","money","luck","spd","regen","drop"].indexOf(s)?"%":"")+'
'+westui.set_calc.bonus.extra_set_bonus[s].name+"
");$("#set_calc").html(n)}else $("#set_calc").html("")},initEvents:function(){$(".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"),s=JSON.parse(t.attr("data-popup")).id;t.hasClass("item_off")||t.is(":hidden")?westui.set_calc.itemStatus[e][s]=!1:westui.set_calc.itemStatus[e][s]=parseInt(t.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").bind("propertychange keyup input paste",function(){westui.set_calc.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")?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 s=JSON.parse($(e).attr("data-popup")),i=$("#input_level input").val();i=i||150;var p=-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&&s[n]!==t[n]&&(a=0);else for(var n in t)"id"===n?a-=s[n]:(!s.lvl||s.lvl<=i)&&s[n]&&(s[n]<0?a+=Math.round(-s[n]*i)*t[n]):a+=Math.round(s[n]*t[n]));$(e).attr("data-sort",a),0==a&&$(e).hide(),0!==$(e).find(".sortval").length?p?$(e).find(".sortval").html(""):$(e).find(".sortval").html(a):p||$(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,s){return $(t).attr("data-sort")||e(t),$(s).attr("data-sort")||e(s),$(s).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();