-
Notifications
You must be signed in to change notification settings - Fork 1
/
djrivals.min.js
1 lines (1 loc) · 6.92 KB
/
djrivals.min.js
1
$(document).ready(function(){"use strict";var e={me:[],rival:[]},t=function(e,t){$(e).accordion({active:t,collapsible:true,heightStyle:"content"})},n=function(e,t){$(e).tabs({active:false,collapsible:true,event:"mouseover",heightStyle:"content",activate:t})},r=function(e){$(e).tablesorter({sortReset:true,sortRestart:true})},i=function(e,t){return $.map(e[t.toLowerCase()],function(e,t){return[[t,e[0],e[1]]]})},s=function(t,n){var r=n.newTab.children().text(),i=$("#"+r).children(),s=i.first().text().replace(/\W/g,""),o;o="./database/"+(s==="Master"?s+"/"+r:r+"/"+s)+".json";if(i.last().text()==="Loading..."){$.ajax({cache:false,dataType:"json",url:o.toLowerCase()}).done(function(t){var n=e.me.concat(e.rival),r=[],s=[],o=[],u=10,a,f,l;t=t.ranking;r=$.map(t,function(e){return e["djname"]});r=$.map(n,function(e,t){if($.inArray(e.name,r)<0){n.splice(t,1,false);return e.name}});n=$.map(n,function(e){if(e){return e.name}});s.push("<table><tr><th>Rank</th><th>Icon</th><th>DJ</th><th>Score</th></tr>");o.push("<table><tr><th>Rank</th><th>Icon</th><th>Rival DJ</th><th>Score</th></tr>");for(f=0,l=t.length;f<l;f+=1){if(n.length<1){if(u<1){break}u-=1}s.push("<tr><td>"+t[f]["rank"]+'</td><td><img src="./images/icon/'+t[f]["djicon"]+'" /></td><td>'+t[f]["djname"]+"</td><td>"+t[f]["score"]+"</td></tr>");a=$.inArray(t[f]["djname"],n);if(a>-1){o.push("<tr><td>"+t[f]["rank"]+'</td><td><img src="./images/icon/'+t[f]["djicon"]+'" /></td><td>'+t[f]["djname"]+"</td><td>"+t[f]["score"]+"</td></tr>");n.splice(a,1)}}for(f=0,l=r.length;f<l;f+=1){o.push("<tr><td>-</td><td></td><td>"+r[f]+"</td><td>-</td></tr>")}i.last().empty().html('<table><tr><td class="djrank">'+s.join("")+'</table></td><td class="rivalrank">'+o.join("")+"</table></td></tr></table>")}).fail(function(){i.last().empty().html("Unable to retrieve data.")})}},o=function(e,t,n){var r=["AD2222 (Extended Mix)","EGG (Extended Mix)","Jumping Original Version","Pretty Girl Original Version","Son of Sun - Extended Mix","Step Original Version","SuperSonic (Mr.Funky Extended Mix)","Thor - Extended Mix","Y - Extended Mix"],i,s;if(e===4){if($.inArray(n,r)>-1){i=[1188e3*3,116e4*3,114e4*3,108e4*3,0]}else{i=[297e3*4*2,29e4*4*2,285e3*4*2,27e4*4*2,0]}}else if(e===5){i=[297e3*3*8,29e4*3*8,285e3*3*8,27e4*3*8,0]}else{i=[297e3,29e4,285e3,27e4,0]}if(t>=i[0]){s="fullcombo"}else if(t>=i[1]){s="exhardclear"}else if(t>=i[2]){s="hardclear"}else if(t>=i[3]){s="normalclear"}else if(t>i[4]){s="easyclear"}else{s="noplay"}return'<span class="'+s+'"> </span> '+t},u=function(e){if(e.length===0){$("#me").empty().html("<p>Go to settings to enter your DJ name.</p>")}else{$.ajax({cache:false,dataType:"json",url:"./database/dj/"+e[0].id+".json"}).done(function(e){var t=["Star","NM","HD","MX","Club","Mission"],s=[],u,a,f,l,c;s.push('<div id="me_tabs"><ul>');for(a=0,f=t.length;a<f;a+=1){s.push('<li><a href="#'+t[a]+'">'+t[a]+"</a></li>")}s.push("</ul>");for(a=0,f=t.length;a<f;a+=1){s.push('<div id="'+t[a]+'"><p><img src="./images/icon/'+e.icon+'" />'+e.name+"</p>");s.push('<table class="tablesorter"><thead><tr><th>Title</th><th>Rank</th><th>Score</th></tr></thead><tbody>');u=i(e,t[a]);for(l=0,c=u.length;l<c;l+=1){s.push("<tr><td>"+u[l][0]+"</td><td>"+u[l][1]+"</td><td>"+o(a,u[l][2],u[l][0])+"</td></tr>")}s.pop();s.push("</tbody></table></div>")}s.push("</div>");$("#me").empty().html(s.join(""));n("#me_tabs");r(".tablesorter")}).fail(function(){$("#me").empty().html("Unable to retrieve data.")})}},a=function(e,s){if(s.length===0){$("#rivals").empty().html("<p>Go to settings to enter your DJ rivals.</p>")}else{$.ajax({cache:false,dataType:"json",url:"./database/dj/"+e[0].id+".json"}).done(function(e){var u=["Star","NM","HD","MX","Club","Mission"],a=[],f,l,c;a.push('<div id="rivals_accordion">');for(l=0,c=s.length;l<c;l+=1){f=[0,0];a.push("<h3>"+s[l].name+"</h3>");a.push("<div>");$.ajax({async:false,cache:false,dataType:"json",url:"./database/dj/"+s[l].id+".json"}).done(function(t){var n,r,s,l,c,h,p,d;a.push('<div class="rival_tabs"><ul>');for(c=0,h=u.length;c<h;c+=1){a.push('<li><a href="#'+u[c]+'">'+u[c]+"</a></li>")}a.push("</ul>");for(c=0,h=u.length;c<h;c+=1){a.push('<div id="'+u[c]+'"><p><img src="./images/icon/'+e.icon+'" /> - vs - <img src="./images/icon/'+t.icon+'" /></p>');a.push('<table class="tablesorter"><thead><tr><th>Title</th><th>Me</th><th>Rival</th><th>Delta</th></tr></thead><tbody>');s=i(e,u[c]);l=i(t,u[c]);n=[0,0,0];for(p=0,d=s.length;p<d;p+=1){r=s[p][2]-l[p][2];if(s[p][2]>0&&l[p][2]>0){r>0?n[0]++:r<0?n[1]++:n[2]++}a.push("<tr><td>"+s[p][0]+"</td><td>"+o(c,s[p][2],s[p][0])+"</td><td>"+o(c,l[p][2],s[p][0])+"</td><td>"+r+"</td></tr>")}a.pop();a.push("</tbody></table><br />");a.push('<table id="stats"><thead><tr><th>Win</th><th>Lose</th><th>Draw</th></tr></thead><tbody>');a.push("<tr><td>"+n[0]+"</td><td>"+n[1]+"</td><td>"+n[2]+"</td></tr>");a.push("</tbody></table></div>");f[0]+=n[0];f[1]+=n[1]}a.push("</div>")}).fail(function(){a.push("Unable to retrieve data.")});a.push("</div>");a[$.inArray("<h3>"+s[l].name+"</h3>",a)]="<h3>"+s[l].name+" "+f[0]+":"+f[1]+"</h3>"}a.push("</div>");$("#rivals").empty().html(a.join(""));t("#rivals_accordion",false);n(".rival_tabs");r(".tablesorter")}).fail(function(){$("#rivals").empty().html("Unable to retrieve data.")})}},f={f:function(e){return $.map(e.tokenInput("get"),function(e){return e.id})},g:function(e,t){return $.inArray(e,t)>-1?true:false},m:function(e){if(f.g(e.id,f.f($("#set_rival")))){$("#set_me").tokenInput("remove",{id:e.id})}},r:function(e){if(f.g(e.id,f.f($("#set_me")))){$("#set_rival").tokenInput("remove",{id:e.id})}}},l=function(){var t=function(e,t){var n=$.map(e,function(e){return e.id}).sort(),r=$.map(t,function(e){return e.id}).sort();return JSON.stringify(n)!==JSON.stringify(r)},n=$("#set_me").tokenInput("get"),r=$("#set_rival").tokenInput("get"),i=(new Date((new Date).setDate((new Date).getDate()+365))).toUTCString(),s="";if(t(n,e.me)||t(r,e.rival)){if(n.length>0||n.length===0&&r.length===0){e.me=n;e.rival=r;document.cookie="DJRivals_Settings="+JSON.stringify(e)+"; expires="+i;u(e.me);a(e.me,e.rival);s=":D"}else{s="Please enter your DJ name!"}}return s},c=function(){var t=document.cookie.split(/;\s*/),n,r;for(n=0,r=t.length;n<r;n+=1){if(t[n].indexOf("DJRivals_Settings")===0){t=JSON.parse(t[n].slice(t[n].indexOf("=")+1));e.me=t.me;e.rival=t.rival;break}}u(e.me);a(e.me,e.rival)},h=function(e){$("#set_status").empty();$("<span>"+e+"</span>").prependTo("#set_status").fadeOut(5e3,function(){$(this).remove()})};c();$.ajax({cache:false,dataType:"json",url:"./database/dj_index.json"}).done(function(t){$("#set_me").tokenInput(t,{hintText:"Type a DJ name",theme:"facebook",onAdd:f.m,prePopulate:e.me.length>0?e.me:null,tokenLimit:1});$("#set_rival").tokenInput(t,{hintText:"Type a DJ name",theme:"facebook",onAdd:f.r,prePopulate:e.rival.length>0?e.rival:null,preventDuplicates:true})}).fail(function(){$("#set_me").prop("disabled",true);$("#set_rival").prop("disabled",true);$("#set_apply").prop("disabled",true)});$("#set_apply").button().click(function(){h(l())});t("#root");n("#ranking",s)})