forked from emeryberger/CSrankings
-
Notifications
You must be signed in to change notification settings - Fork 0
/
csrankings.min.js
52 lines (52 loc) · 25.6 KB
/
csrankings.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,d){a!=Array.prototype&&a!=Object.prototype&&(a[b]=d.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}();
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};
$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,b){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var d=0,e={next:function(){if(d<a.length){var c=d++;return{value:b(c,a[c]),done:!1}}e.next=function(){return{done:!0,value:void 0}};return e.next()}};e[Symbol.iterator]=function(){return e};return e};
$jscomp.polyfill=function(a,b,d,e){if(b){d=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var c=a[e];c in d||(d[c]={});d=d[c]}a=a[a.length-1];e=d[a];b=b(e);b!=e&&null!=b&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:b})}};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(b){return b})}},"es6","es3");
$jscomp.findInternal=function(a,b,d){a instanceof String&&(a=String(a));for(var e=a.length,c=0;c<e;c++){var g=a[c];if(b.call(d,g,c,a))return{i:c,v:g}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(b,a){return $jscomp.findInternal(this,b,a).v}},"es6","es3");
var CSRankings=function(){function a(){var b=this;this.authorFile="/csrankings.csv";this.authorinfoFile="/generated-author-info.csv";this.countryinfoFile="/country-info.csv";this.aliasFile="/dblp-aliases.csv";this.homepageImage="/house-logo.png";this.allowRankingChange=!1;this.areaMap=[{area:"ai",title:"AI"},{area:"aaai",title:"AI"},{area:"ijcai",title:"AI"},{area:"vision",title:"Vision"},{area:"cvpr",title:"Vision"},{area:"eccv",title:"Vision"},{area:"iccv",title:"Vision"},{area:"mlmining",title:"ML"},
{area:"icml",title:"ML"},{area:"kdd",title:"ML"},{area:"nips",title:"ML"},{area:"nlp",title:"NLP"},{area:"acl",title:"NLP"},{area:"emnlp",title:"NLP"},{area:"naacl",title:"NLP"},{area:"ir",title:"Web & IR"},{area:"sigir",title:"Web & IR"},{area:"www",title:"Web & IR"},{area:"arch",title:"Arch"},{area:"asplos",title:"Arch"},{area:"isca",title:"Arch"},{area:"micro",title:"Arch"},{area:"hpca",title:"Arch"},{area:"comm",title:"Networks"},{area:"sigcomm",title:"Networks"},{area:"nsdi",title:"Networks"},
{area:"sec",title:"Security"},{area:"ccs",title:"Security"},{area:"oakland",title:"Security"},{area:"usenixsec",title:"Security"},{area:"ndss",title:"Security"},{area:"pets",title:"Security"},{area:"mod",title:"DB"},{area:"sigmod",title:"DB"},{area:"vldb",title:"DB"},{area:"icde",title:"DB"},{area:"pods",title:"DB"},{area:"hpc",title:"HPC"},{area:"sc",title:"HPC"},{area:"hpdc",title:"HPC"},{area:"ics",title:"HPC"},{area:"mobile",title:"Mobile"},{area:"mobicom",title:"Mobile"},{area:"mobisys",title:"Mobile"},
{area:"sensys",title:"Mobile"},{area:"metrics",title:"Metrics"},{area:"imc",title:"Metrics"},{area:"sigmetrics",title:"Metrics"},{area:"ops",title:"OS"},{area:"sosp",title:"OS"},{area:"osdi",title:"OS"},{area:"fast",title:"OS"},{area:"usenixatc",title:"OS"},{area:"eurosys",title:"OS"},{area:"pldi",title:"PL"},{area:"popl",title:"PL"},{area:"icfp",title:"PL"},{area:"oopsla",title:"PL"},{area:"plan",title:"PL"},{area:"soft",title:"SE"},{area:"fse",title:"SE"},{area:"icse",title:"SE"},{area:"ase",title:"SE"},
{area:"issta",title:"SE"},{area:"act",title:"Theory"},{area:"focs",title:"Theory"},{area:"soda",title:"Theory"},{area:"stoc",title:"Theory"},{area:"crypt",title:"Crypto"},{area:"crypto",title:"Crypto"},{area:"eurocrypt",title:"Crypto"},{area:"log",title:"Logic"},{area:"cav",title:"Logic"},{area:"lics",title:"Logic"},{area:"graph",title:"Graphics"},{area:"siggraph",title:"Graphics"},{area:"siggraph-asia",title:"Graphics"},{area:"chi",title:"HCI"},{area:"chiconf",title:"HCI"},{area:"ubicomp",title:"HCI"},
{area:"uist",title:"HCI"},{area:"robotics",title:"Robotics"},{area:"icra",title:"Robotics"},{area:"iros",title:"Robotics"},{area:"rss",title:"Robotics"},{area:"bio",title:"Comp. Biology"},{area:"ismb",title:"Comp. Biology"},{area:"recomb",title:"Comp. Biology"},{area:"da",title:"EDA"},{area:"dac",title:"EDA"},{area:"iccad",title:"EDA"},{area:"bed",title:"Embedded"},{area:"emsoft",title:"Embedded"},{area:"rtas",title:"Embedded"},{area:"rtss",title:"Embedded"},{area:"visualization",title:"Visualization"},
{area:"vis",title:"Visualization"},{area:"vr",title:"Visualization"},{area:"ecom",title:"ECom"},{area:"ec",title:"ECom"},{area:"wine",title:"ECom"}];this.aiAreas=["ai","vision","mlmining","nlp","ir"];this.systemsAreas="arch comm sec mod hpc mobile metrics ops plan soft da bed".split(" ");this.theoryAreas=["act","crypt","log"];this.interdisciplinaryAreas="graph chi robotics bio visualization ecom".split(" ");this.areaNames=[];this.fields=[];this.aiFields=[];this.systemsFields=[];this.theoryFields=
[];this.otherFields=[];this.areaDict={};this.areaPosition={};this.scholarInfo={};this.aliases={};this.countryInfo={};this.homepages={};this.useDenseRankings=!1;this.authors=[];this.authorAreas={};this.stats={};this.areaDeptAdjustedCount={};this.color="#f30000 #0600f3 #00b109 #14e4b4 #0fe7fb #67f200 #ff7e00 #8fe4fa #ff5300 #640000 #3854d1 #d00ed8 #7890ff #01664d #04231b #e9f117 #f3228e #7ce8ca #ff5300 #ff5300 #7eff30 #9a8cf6 #79aff9 #bfbfbf #56b510 #00e2f6 #ff4141 #61ff41".split(" ");this.RightTriangle=
"►";this.DownTriangle="▼";this.PieChart="◕";a.theInstance=this;this.navigoRouter=new Navigo(null,!0);for(var d=0;d<this.areaMap.length;d++){var e=this.areaMap[d],c=e.area;e=e.title;a.areas[d]=c;this.areaNames[d]=e;this.fields[d]=c;this.areaDict[c]=this.areaNames[d];this.areaPosition[c]=d}d=0;for(e=this.aiAreas;d<e.length;d++)c=e[d],this.aiFields.push(this.areaPosition[c]);d=0;for(e=this.systemsAreas;d<e.length;d++)c=e[d],this.systemsFields.push(this.areaPosition[c]);d=0;for(e=this.theoryAreas;d<
e.length;d++)c=e[d],this.theoryFields.push(this.areaPosition[c]);d=0;for(e=this.interdisciplinaryAreas;d<e.length;d++)c=e[d],this.otherFields.push(this.areaPosition[c]);for(var g in a.parentMap)c=a.parentMap[g],c in a.childMap?a.childMap[c].push(g):a.childMap[c]=[g];this.displayProgress(1);this.loadAliases(this.aliases,function(){b.displayProgress(2);b.loadAuthorInfo(function(){b.displayProgress(3);b.loadAuthors(function(){b.setAllOn();b.navigoRouter.on({"/index":b.navigation,"/fromyear/:fromyear/toyear/:toyear/index":b.navigation}).resolve();
b.displayProgress(4);b.loadCountryInfo(b.countryInfo,function(){setTimeout(function(){b.addListeners();a.geoCheck()},0)})})})})}a.getInstance=function(){return a.theInstance};a.prototype.translateNameToDBLP=function(b){b=b.replace(/'|\-|\./g,"=");b=b.replace(/\u00c1/g,"=Aacute=");b=b.replace(/\u00e1/g,"=aacute=");b=b.replace(/\u00e8/g,"=egrave=");b=b.replace(/\u00e9/g,"=eacute=");b=b.replace(/\u00ef/g,"=iuml=");b=b.replace(/\u00f3/g,"=oacute=");b=b.replace(/\u00e7/g,"=ccedil=");b=b.replace(/\u00e4/g,
"=auml=");b=b.replace(/\u00f6/g,"=ouml=");b=b.replace(/\u00f8/g,"=oslash=");b=b.replace(/\u00d6/g,"=Ouml=");b=b.replace(/\u00fc/g,"=uuml=");b=b.split(" ");var a=b[b.length-1];0<parseInt(a)&&(b.pop(),a=b[b.length-1]+"_"+a);b.pop();b=b.join(" ");b=b.replace(/\s/g,"_");b=b.replace(/\-/g,"=");return"http://dblp.uni-trier.de/pers/hd"+("/"+a[0].toLowerCase()+"/"+a+":"+b)};a.prototype.makePrologue=function(){return'<div class="table-responsive" style="overflow:auto; height:700px;"><table class="table table-fit table-sm table-striped"id="ranking" valign="top">'};
a.prototype.compareNames=function(b,a){b=b.split(" ");a=a.split(" ");b=b[b.length-1];a=a[a.length-1];return b<a?-1:b>a?1:0};a.prototype.makeChart=function(b){console.assert(this.color.length>=a.areas.length,"Houston, we have a problem.");for(var d=[],e={},c=a.areas,g=unescape(b),f=0;f<c.length;f++){var h=c[f];if(!(g in this.authorAreas))return;if(!(h in a.nextTier)){var k=this.authorAreas[g][h];k=Math.round(10*k)/10;0<k&&(h in a.parentMap&&(h=a.parentMap[h]),h in e||(e[h]=0),e[h]+=k)}}for(h in e)d.push({label:this.areaDict[h],
value:Math.round(10*e[h])/10,color:this.color[this.areaPosition[h]]});new d3pie(b+"-chart",{header:{title:{text:g,fontSize:24,font:"open sans"},subtitle:{text:"Publication Profile",color:"#999999",fontSize:14,font:"open sans"},titleSubtitlePadding:9},size:{canvasHeight:500,canvasWidth:500,pieInnerRadius:"38%",pieOuterRadius:"83%"},data:{content:d,smallSegmentGrouping:{enabled:!0,value:1}},labels:{outer:{pieDistance:32},inner:{format:"value",hideWhenLessThanPercentage:5},mainLabel:{fontSize:10.5},
percentage:{color:"#ffffff",decimalPlaces:0},value:{color:"#ffffff",fontSize:10},lines:{enabled:!0},truncation:{enabled:!0}},effects:{load:{effect:"none"},pullOutSegmentOnClick:{effect:"linear",speed:400,size:8}},misc:{gradient:{enabled:!0,percentage:100}}})};a.prototype.displayProgress=function(b){var a="",e=1;["Loading alias data.","Loading author information.","Loading publication data.","Computing ranking."].map(function(c){a=e==b?a+("<strong>"+c+"</strong>"):a+("<font color='gray'>"+c+"</font>");
a+="<br />";e+=1});jQuery("#progress").html(a)};a.prototype.loadAliases=function(b,a){Papa.parse(this.aliasFile,{header:!0,download:!0,complete:function(d){var c=0;for(d=d.data;c<d.length;c++){var e=d[c];b[e.alias]=e.name}setTimeout(a,0)}})};a.prototype.loadCountryInfo=function(b,a){Papa.parse(this.countryinfoFile,{header:!0,download:!0,complete:function(d){var c=0;for(d=d.data;c<d.length;c++){var e=d[c];b[e.institution]=e.region}setTimeout(a,0)}})};a.prototype.loadAuthorInfo=function(b){var a=this;
Papa.parse(this.authorFile,{download:!0,header:!0,complete:function(d){d=d.data;for(var c=0;c<d.length;c++){var e=d[c],f=e.name;a.homepages[f.trim()]=e.homepage;a.scholarInfo[f.trim()]=e.scholarid}setTimeout(b,0)}})};a.prototype.loadAuthors=function(b){var a=this;Papa.parse(this.authorinfoFile,{download:!0,header:!0,complete:function(d){a.authors=d.data;setTimeout(b,0)}})};a.prototype.inRegion=function(b,a){switch(a){case "USA":if(b in this.countryInfo)return!1;break;case "europe":if(!(b in this.countryInfo)||
"europe"!=this.countryInfo[b])return!1;break;case "canada":if(!(b in this.countryInfo)||"canada"!=this.countryInfo[b])return!1;break;case "northamerica":if(b in this.countryInfo&&"canada"!=this.countryInfo[b])return!1;break;case "australasia":if(!(b in this.countryInfo)||"australasia"!=this.countryInfo[b])return!1;break;case "southamerica":if(!(b in this.countryInfo)||"southamerica"!=this.countryInfo[b])return!1;break;case "asia":if(!(b in this.countryInfo)||"asia"!=this.countryInfo[b])return!1}return!0};
a.prototype.activateFields=function(b,d){for(var e=0;e<d.length;e++){var c=this.fields[d[e]],g="input[name="+c+"]";jQuery(g).prop("checked",b);c in a.childMap&&(jQuery(g).prop("disabled",!1),a.childMap[c].forEach(function(c){c in a.nextTier?jQuery("input[name="+c+"]").prop("checked",!1):jQuery("input[name="+c+"]").prop("checked",b)}))}this.rank();return!1};a.prototype.sortIndex=function(b){var a=Object.keys(b);a.sort(function(a,c){return b[a]>b[c]?-1:b[c]>b[a]?1:a<c?-1:c<a?1:0});return a};a.prototype.countAuthorAreas=
function(b,a){for(var d in this.authors)if(this.authors.hasOwnProperty(d)){var c=this.authors[d],g=c.year;if(!(g<b||g>a)){g=c.area;var f=c.dept,h=parseFloat(c.count);c=c.name;c in this.aliases&&(c=this.aliases[c]);if(!(c in this.authorAreas)){this.authorAreas[c]={};for(var k in this.areaDict)this.areaDict.hasOwnProperty(k)&&(this.authorAreas[c][k]=0)}if(!(f in this.authorAreas))for(k in this.authorAreas[f]={},this.areaDict)this.areaDict.hasOwnProperty(k)&&(this.authorAreas[f][k]=0);this.authorAreas[c][g]+=
h;this.authorAreas[f][g]+=h}}};a.prototype.buildDepartments=function(b,d,e,c,g,f,h,k){var m={},q;for(q in this.authors)if(this.authors.hasOwnProperty(q)){var n=this.authors[q],p=n.name,r=n.year,l=n.area;n=n.dept;p in this.aliases&&(p=this.aliases[p]);if("undefined"!==typeof n&&!(0===e[l]||r<b||r>d)&&this.inRegion(n,c)){l in a.parentMap&&(l=a.parentMap[l]);r=l+n;l=p+n;r in this.areaDeptAdjustedCount||(this.areaDeptAdjustedCount[r]=0);var v=parseInt(this.authors[q].count),t=parseFloat(this.authors[q].adjustedcount);
this.areaDeptAdjustedCount[r]+=t;p in m||(m[p]=!0,h[l]=0,k[l]=0,n in g||(g[n]=0,f[n]=[]),f[n].push(p),g[n]+=1);h[l]+=v;k[l]+=t}}};a.prototype.computeStats=function(b,d,e){this.stats={};for(var c in b)if(b.hasOwnProperty(c)){this.stats[c]=1;for(var g=0,f=a.areas;g<f.length;g++){var h=f[g];if(!(h in a.parentMap)){var k=h+c;k in this.areaDeptAdjustedCount||(this.areaDeptAdjustedCount[k]=0);0!=e[h]&&(this.stats[c]*=this.areaDeptAdjustedCount[k]+1)}}this.stats[c]=Math.pow(this.stats[c],1/d)}};a.prototype.updateWeights=
function(b){for(var d=0,e=0;e<a.areas.length;e++){var c=a.areas[e];b[c]=jQuery("input[name="+this.fields[e]+"]").prop("checked")?1:0;1!==b[c]||c in a.parentMap||d++}return d};a.prototype.canonicalizeNames=function(b,a,e){for(var c in b)if(b.hasOwnProperty(c))for(var d=0;d<b[c].length;d++){var f=b[c][d];f in this.aliases&&(b[c][d]=this.aliases[f],this.aliases[f]+c in a?(a[this.aliases[f]+c]+=a[f+c],e[this.aliases[f]+c]+=e[f+c]):(a[this.aliases[f]+c]=a[f+c],e[this.aliases[f]+c]=e[f+c]))}};a.prototype.buildDropDown=
function(b,a,e){var c=this,d={},f=function(f){if(!b.hasOwnProperty(f))return"continue";for(var g='<div class="table"><table class="table table-sm table-striped"><thead><th></th><td><small><em><abbr title="Click on an author\'s name to go to their home page.">Faculty</abbr></em></small></td><td align="right"><small><em> <abbr title="Total number of publications (click for DBLP entry)."># Pubs</abbr></em></small></td><td align="right"><small><em><abbr title="Count divided by number of co-authors">Adj. #</abbr></em></small></td></thead><tbody>',
k={},p=0,r=b[f];p<r.length;p++){var l=r[p];k[l]=a[l+f]}p=Object.keys(k);p.sort(function(b,a){if(k[a]===k[b]){var d=Math.round(10*e[a+f])/10,h=Math.round(10*e[b+f])/10;return d===h?c.compareNames(b,a):d-h}return k[a]-k[b]});for(r=0;r<p.length;r++){l=p[r];var m=encodeURI(h.homepages[l]),t=h.translateNameToDBLP(l);g+='<tr><td> </td><td><small><a title="Click for author\'s home page." target="_blank" href="'+m+'" onclick="trackOutboundLink(\''+m+"', true); return false;\">"+l+"</a> ";
if(h.scholarInfo.hasOwnProperty(l)&&"NOSCHOLARPAGE"!=h.scholarInfo[l]){var u="https://scholar.google.com/citations?user="+h.scholarInfo[l]+"&hl=en&oi=ao";g+='<a title="Click for author\'s Google Scholar page." target="_blank" href="'+u+'" onclick="trackOutboundLink(\''+u+'\', true); return false;"><img src="scholar-favicon.ico" height="10" width="10"></a> '}g+='<a title="Click for author\'s home page." target="_blank" href="'+m+'" onclick="trackOutboundLink(\''+m+'\', true); return false;"><img src="'+
h.homepageImage+'"></a> ';g+="<span onclick='csr.toggleChart(\""+escape(l)+'");\' title="Click for author\'s publication profile." class="hovertip" ><font color="blue">'+h.PieChart+'</font></span></small></td><td align="right"><small><a title="Click for author\'s DBLP entry." target="_blank" href="'+t+'" onclick="trackOutboundLink(\''+t+"', true); return false;\">"+k[l]+'</a></small></td><td align="right"><small>'+(Math.round(10*e[l+f])/10).toFixed(1)+'</small></td></tr><tr><td colspan="4"><div style="display:none;" id="'+
escape(l)+'-chart"></div></td></tr>'}d[f]=g+"</tbody></table></div>"},h=this,k;for(k in b)f(k);return d};a.prototype.buildOutputString=function(b,a,e){var c=this.makePrologue();c+='<thead><tr><th align="left">Rank </th><th align="right">Institution </th><th align="right"><abbr title="Geometric mean count of papers published across all areas.">Count</abbr></th><th align="right"> <abbr title="Number of faculty who have published in these areas.">Faculty</abbr></th></th></tr></thead><tbody>';
if(0<b){b=1;for(var d=0,f=9999999.999,h=this.sortIndex(this.stats),k=0;k<h.length;k++){var m=h[k],q=Math.round(10*this.stats[m])/10;if(99999<=k&&q!=f)break;if(0===q)break;f!=q&&(this.useDenseRankings?d+=1:(d+=b,b=0));f=escape(m);c+="\n<tr><td>"+d+"</td>";c+='<td><span class="hovertip" onclick="csr.toggleFaculty(\''+f+'\')";" id="'+f+'-widget"><font color="blue">'+this.RightTriangle+"</font></span>";c+=" "+m+' <font color="blue"><span class="hovertip" onclick="csr.toggleChart(\''+f+'\')";" >'+
this.PieChart+"</span></font>";c+="</td>";c+='<td align="right">'+(Math.round(10*q)/10).toFixed(1)+"</td>";c+='<td align="right">'+a[m]+"<br />";c+="</td>";c+="</tr>\n";c+='<tr><td colspan="4"><div style="display:none;" style="width: 100%; height: 350px;" id="'+f+'-chart"></div></td></tr>';c+='<tr><td colspan="4"><div style="display:none;" id="'+f+'-faculty">'+e[m]+"</div></td></tr>";b++;f=q}c+="</tbody></table><br /></div></div>\n<br></body></html>"}else c="<h3>Please select at least one area by clicking one or more checkboxes.</h3>";
return c};a.prototype.setAllOn=function(b){void 0===b&&(b=!0);for(var d=0;d<a.areas.length;d++){var e=this.fields[d],c="input[name="+e+"]";b?e in a.nextTier?jQuery(c).prop("checked",!1):(jQuery(c).prop("checked",!0),jQuery(c).prop("disabled",!1)):(jQuery(c).prop("checked",!1),jQuery(c).prop("disabled",!1))}};a.prototype.rank=function(b){void 0===b&&(b=!0);var a={},e={},c={},g={},f={};this.areaDeptAdjustedCount={};var h=parseInt(jQuery("#fromyear").find(":selected").text()),k=parseInt(jQuery("#toyear").find(":selected").text()),
m=jQuery("#regions").find(":selected").val(),q=this.updateWeights(f);this.authorAreas={};this.countAuthorAreas(h,k);this.buildDepartments(h,k,f,m,e,a,c,g);this.computeStats(a,q,f);this.canonicalizeNames(a,c,g);a=this.buildDropDown(a,c,g);e=this.buildOutputString(q,e,a);jQuery("#success").html(e);b?this.navigoRouter.resume():this.navigoRouter.pause();this.urlUpdate();return!1};a.prototype.toggleChart=function(a){var b=document.getElementById(a+"-chart");"block"===b.style.display?(b.style.display="none",
b.innerHTML=""):(b.style.display="block",this.makeChart(a))};a.prototype.toggleConferences=function(a){var b=document.getElementById(a+"-conferences");a=document.getElementById(a+"-widget");"block"===b.style.display?(b.style.display="none",a.innerHTML='<font color="blue">'+this.RightTriangle+"</font>"):(b.style.display="block",a.innerHTML='<font color="blue">'+this.DownTriangle+"</font>")};a.prototype.toggleFaculty=function(a){var b=document.getElementById(a+"-faculty");a=document.getElementById(a+
"-widget");"block"===b.style.display?(b.style.display="none",a.innerHTML='<font color="blue">'+this.RightTriangle+"</font>"):(b.style.display="block",a.innerHTML='<font color="blue">'+this.DownTriangle+"</font>")};a.prototype.activateAll=function(a){void 0===a&&(a=!0);this.setAllOn(a);this.rank();return!1};a.prototype.activateNone=function(){return this.activateAll(!1)};a.prototype.activateSystems=function(a){void 0===a&&(a=!0);return this.activateFields(a,this.systemsFields)};a.prototype.activateAI=
function(a){void 0===a&&(a=!0);return this.activateFields(a,this.aiFields)};a.prototype.activateTheory=function(a){void 0===a&&(a=!0);return this.activateFields(a,this.theoryFields)};a.prototype.activateOthers=function(a){void 0===a&&(a=!0);return this.activateFields(a,this.otherFields)};a.prototype.deactivateSystems=function(){return this.activateSystems(!1)};a.prototype.deactivateAI=function(){return this.activateAI(!1)};a.prototype.deactivateTheory=function(){return this.activateTheory(!1)};a.prototype.deactivateOthers=
function(){return this.activateOthers(!1)};a.prototype.urlUpdate=function(){var b="",d=0,e=0,c=function(c){var f="input[name="+g.fields[c]+"]";g.fields[c]in a.parentMap||(e+=1);if(jQuery(f).prop("checked")&&!(g.fields[c]in a.parentMap)){var h=1;g.fields[c]in a.childMap&&a.childMap[g.fields[c]].forEach(function(b){var c=jQuery("input[name="+b+"]").prop("checked");h=b in a.nextTier?h&(c?0:1):h&c});h&&(b+=g.fields[c]+"&",d+=1)}},g=this,f=0;for(;f<this.fields.length;f++)c(f);0<d&&(b=b.slice(0,-1));c=
jQuery("#regions").find(":selected").val();f="";var h=(new Date).getFullYear(),k=parseInt(jQuery("#fromyear").find(":selected").text()),m=parseInt(jQuery("#toyear").find(":selected").text());if(k!=h-10||m!=h)f+="/fromyear/"+k.toString(),f+="/toyear/"+m.toString();f=d==e?f+"/index?all":0==d?f+"/index?none":f+("/index?"+b);"USA"!=c&&(f+="&"+c);this.navigoRouter.navigate(f)};a.geoCheck=function(){jQuery.getJSON("http://freegeoip.net/json/",function(b){switch(b.country_code){case "US":case "CN":case "IN":case "KR":case "JP":case "TW":case "SG":jQuery("#regions").val("USA");
a.getInstance().rank();break;default:jQuery("#regions").val("world"),a.getInstance().rank()}}).fail(function(){a.getInstance().rank()})};a.prototype.navigation=function(b,d){null!==b&&Object.keys(b).forEach(function(a){jQuery("#"+a).prop("value",b[a].toString())});a.clearNonSubsetted();var e=d.split("&");d=e.some(function(a){return"all"==a});var c=e.some(function(a){return"none"==a});if(e.some(function(b){return 0<=a.regions.indexOf(b)})){var g=0;e.forEach(function(b){0<=a.regions.indexOf(b)&&e.splice(g,
1);jQuery("#regions").val(b);g+=1})}if(d)for(var f=0;f<a.areas.length;f++)d=a.areas[f],d in a.nextTier||(c="input[name="+d+"]",jQuery(c).prop("checked",!0),d in a.childMap&&(jQuery(c).prop("disabled",!1),a.childMap[d].forEach(function(b){b in a.nextTier||jQuery("input[name="+b+"]").prop("checked",!0)})));else if(c)a.clearNonSubsetted();else for(a.clearNonSubsetted(),f=0;f<e.length;f++)d=e[f],"none"!=d&&""!=d&&(c="input[name="+d+"]",jQuery(c).prop("checked",!0),jQuery(c).prop("disabled",!1),d in a.childMap&&
a.childMap[d].forEach(function(b){b in a.nextTier||jQuery("input[name="+b+"]").prop("checked",!0)}))};a.clearNonSubsetted=function(){for(var b=0,d=a.areas;b<d.length;b++){var e=d[b];if(e in a.childMap){var c=a.childMap[e];a.subsetting(c)||(e="input[name="+e+"]",jQuery(e).prop("checked",!1),jQuery(e).prop("disabled",!1),c.forEach(function(a){jQuery("input[name="+a+"]").prop("checked",!1)}))}}};a.subsetting=function(b){var d=[],e=[];b.forEach(function(b){b in a.nextTier?e.push(b):d.push(b)});var c=
0;d.forEach(function(a){jQuery("input[name="+a+"]").prop("checked")&&c++});var g=0;e.forEach(function(a){jQuery("input[name="+a+"]").prop("checked")&&g++});b=0<g&&0!=e.length;return 0<c&&c<d.length||b};a.prototype.addListeners=function(){var b=this;["toyear","fromyear","regions"].forEach(function(a){document.getElementById(a).addEventListener("change",function(){b.rank()})});var d=function(c){var d=a.areas[c];d in a.parentMap||document.getElementById(d+"-widget").addEventListener("click",function(){b.toggleConferences(d)})},
e=0;for(;e<a.areas.length;e++)d(e);d=function(d){var e="input[name="+c.fields[d]+"]",f=c.fields[d];jQuery(e).click(function(){var c=!0;if(f in a.parentMap){c=!1;var d=a.parentMap[f],g="input[name="+d+"]",h=0,k=1;a.childMap[d].forEach(function(b){var c=jQuery("input[name="+b+"]").prop("checked");h|=c;k=b in a.nextTier?k&(c?0:1):k&c});jQuery(g).prop("checked",h);h&&!k||jQuery(g).prop("disabled",!1);h&&!k&&jQuery(g).prop("disabled",!0)}else if(d=jQuery(e).prop("checked"),f in a.childMap){g=0;for(var m=
a.childMap[f];g<m.length;g++){var t=m[g],u="input[name="+t+"]";t in a.nextTier?jQuery(u).prop("checked",!1):jQuery(u).prop("checked",d)}}b.rank(c)})};var c=this;for(e=0;e<this.fields.length;e++)d(e);var g={all_areas_on:function(){b.activateAll()},all_areas_off:function(){b.activateNone()},ai_areas_on:function(){b.activateAI()},ai_areas_off:function(){b.deactivateAI()},systems_areas_on:function(){b.activateSystems()},systems_areas_off:function(){b.deactivateSystems()},theory_areas_on:function(){b.activateTheory()},
theory_areas_off:function(){b.deactivateTheory()},other_areas_on:function(){b.activateOthers()},other_areas_off:function(){b.deactivateOthers()}};d=function(a){document.getElementById(a).addEventListener("click",function(){g[a]()})};for(var f in g)d(f)};a.areas=[];a.regions="USA europe canada northamerica southamerica australasia asia world".split(" ");a.parentMap={aaai:"ai",ijcai:"ai",cvpr:"vision",eccv:"vision",iccv:"vision",icml:"mlmining",kdd:"mlmining",nips:"mlmining",acl:"nlp",emnlp:"nlp",naacl:"nlp",
sigir:"ir",www:"ir",asplos:"arch",isca:"arch",micro:"arch",hpca:"arch",ccs:"sec",oakland:"sec",usenixsec:"sec",ndss:"sec",pets:"sec",vldb:"mod",sigmod:"mod",icde:"mod",pods:"mod",dac:"da",iccad:"da",emsoft:"bed",rtas:"bed",rtss:"bed",sc:"hpc",hpdc:"hpc",ics:"hpc",mobicom:"mobile",mobisys:"mobile",sensys:"mobile",imc:"metrics",sigmetrics:"metrics",osdi:"ops",sosp:"ops",eurosys:"ops",fast:"ops",usenixatc:"ops",popl:"plan",pldi:"plan",oopsla:"plan",icfp:"plan",fse:"soft",icse:"soft",ase:"soft",issta:"soft",
nsdi:"comm",sigcomm:"comm",siggraph:"graph","siggraph-asia":"graph",focs:"act",soda:"act",stoc:"act",crypto:"crypt",eurocrypt:"crypt",cav:"log",lics:"log",ismb:"bio",recomb:"bio",ec:"ecom",wine:"ecom",chiconf:"chi",ubicomp:"chi",uist:"chi",icra:"robotics",iros:"robotics",rss:"robotics",vis:"visualization",vr:"visualization"};a.nextTier={ase:!0,issta:!0,icde:!0,pods:!0,hpca:!0,ndss:!0,pets:!0,fast:!0,usenixatc:!0,icfp:!0,oopsla:!0};a.childMap={};return a}(),csr=new CSRankings;