forked from emeryberger/CSrankings
-
Notifications
You must be signed in to change notification settings - Fork 0
/
csrankings.min.js
40 lines (40 loc) · 19.8 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
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(b,a,c){b!=Array.prototype&&b!=Object.prototype&&(b[a]=c.value)};$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$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 b=0;return function(a){return $jscomp.SYMBOL_PREFIX+(a||"")+b++}}();
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var b=$jscomp.global.Symbol.iterator;b||(b=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[b]&&$jscomp.defineProperty(Array.prototype,b,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(b){var a=0;return $jscomp.iteratorPrototype(function(){return a<b.length?{done:!1,value:b[a++]}:{done:!0}})};
$jscomp.iteratorPrototype=function(b){$jscomp.initSymbolIterator();b={next:b};b[$jscomp.global.Symbol.iterator]=function(){return this};return b};$jscomp.iteratorFromArray=function(b,a){$jscomp.initSymbolIterator();b instanceof String&&(b+="");var c=0,e={next:function(){if(c<b.length){var d=c++;return{value:a(d,b[d]),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(b,a,c,e){if(a){c=$jscomp.global;b=b.split(".");for(e=0;e<b.length-1;e++){var d=b[e];d in c||(c[d]={});c=c[d]}b=b[b.length-1];e=c[b];a=a(e);a!=e&&null!=a&&$jscomp.defineProperty(c,b,{configurable:!0,writable:!0,value:a})}};$jscomp.polyfill("Array.prototype.keys",function(b){return b?b:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3");
$jscomp.findInternal=function(b,a,c){b instanceof String&&(b=String(b));for(var e=b.length,d=0;d<e;d++){var g=b[d];if(a.call(c,g,d,b))return{i:d,v:g}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
var CSRankings=function(){function b(){var a=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.parentMap={aaai:"ai",ijcai:"ai",cvpr:"vision",eccv:"vision",iccv:"vision"};this.childMap={ai:["aaai","ijcai"],vision:["cvpr","eccv","iccv"]};this.areaMap=[{area:"ai",title:"AI"},{area:"vision",title:"Vision"},{area:"mlmining",
title:"ML"},{area:"nlp",title:"NLP"},{area:"ir",title:"Web & IR"},{area:"arch",title:"Arch"},{area:"comm",title:"Networks"},{area:"sec",title:"Security"},{area:"mod",title:"DB"},{area:"hpc",title:"HPC"},{area:"mobile",title:"Mobile"},{area:"metrics",title:"Metrics"},{area:"ops",title:"OS"},{area:"plan",title:"PL"},{area:"soft",title:"SE"},{area:"act",title:"Theory"},{area:"crypt",title:"Crypto"},{area:"log",title:"Logic"},{area:"graph",title:"Graphics"},{area:"chi",title:"HCI"},{area:"robotics",title:"Robotics"},
{area:"bio",title:"Comp. Biology"},{area:"da",title:"EDA"},{area:"bed",title:"Embedded"},{area:"vis",title:"Visualization"},{area:"ecom",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 vis 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="◕";this.navigoRouter=new Navigo(null,!0);for(var c=0;c<this.areaMap.length;c++){var e=this.areaMap[c],d=e.area;e=e.title;b.areas[c]=d;this.areaNames[c]=e;this.fields[c]=d;this.areaDict[d]=this.areaNames[c];this.areaPosition[d]=c}c=0;for(e=this.aiAreas;c<e.length;c++)d=e[c],this.aiFields.push(this.areaPosition[d]);c=0;for(e=this.systemsAreas;c<e.length;c++)d=e[c],this.systemsFields.push(this.areaPosition[d]);c=0;for(e=this.theoryAreas;c<e.length;c++)d=e[c],this.theoryFields.push(this.areaPosition[d]);
c=0;for(e=this.interdisciplinaryAreas;c<e.length;c++)d=e[c],this.otherFields.push(this.areaPosition[d]);this.loadAliases(this.aliases,function(){a.loadAuthorInfo(function(){a.loadAuthors(function(){a.loadCountryInfo(a.countryInfo,function(){a.setAllOn();a.navigoRouter.on("/index",a.navigator).resolve();a.rank();a.addListeners()})})})})}b.prototype.translateNameToDBLP=function(a){a=a.replace(/'|\-|\./g,"=");a=a.replace(/\u00c1/g,"=Aacute=");a=a.replace(/\u00e1/g,"=aacute=");a=a.replace(/\u00e8/g,"=egrave=");
a=a.replace(/\u00e9/g,"=eacute=");a=a.replace(/\u00ef/g,"=iuml=");a=a.replace(/\u00f3/g,"=oacute=");a=a.replace(/\u00e7/g,"=ccedil=");a=a.replace(/\u00e4/g,"=auml=");a=a.replace(/\u00f6/g,"=ouml=");a=a.replace(/\u00f8/g,"=oslash=");a=a.replace(/\u00d6/g,"=Ouml=");a=a.replace(/\u00fc/g,"=uuml=");a=a.split(" ");var c=a[a.length-1];0<parseInt(c)&&(a.pop(),c=a[a.length-1]+"_"+c);a.pop();a=a.join(" ");a=a.replace(/\s/g,"_");a=a.replace(/\-/g,"=");return"http://dblp.uni-trier.de/pers/hd"+("/"+c[0].toLowerCase()+
"/"+c+":"+a)};b.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">'};b.prototype.compareNames=function(a,c){a=a.split(" ");c=c.split(" ");a=a[a.length-1];c=c[c.length-1];return a<c?-1:a>c?1:0};b.prototype.makeChart=function(a){console.assert(this.color.length>=b.areas.length,"Houston, we have a problem.");for(var c=[],e={},d=b.areas,g=unescape(a),f=0;f<d.length;f++){var h=
d[f],k=this.authorAreas[g][h];k=Math.round(10*k)/10;0<k&&(h in e||(e[h]=0),e[h]+=k)}for(h in e)c.push({label:this.areaDict[h],value:Math.round(10*e[h])/10,color:this.color[this.areaPosition[h]]});new d3pie(a+"-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:c,smallSegmentGrouping:{enabled:!0,
value:1}},labels:{outer:{pieDistance:32},inner:{format:"value",hideWhenLessThanPercentage:5},mainLabel:{fontSize:12},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}}})};b.prototype.loadAliases=function(a,c){jQuery("#progress").html("<strong><h4>Loading data.</h4></strong>");Papa.parse(this.aliasFile,
{header:!0,download:!0,complete:function(e){var d=0;for(e=e.data;d<e.length;d++){var b=e[d];a[b.alias]=b.name}setTimeout(c,0)}})};b.prototype.loadCountryInfo=function(a,c){jQuery("#progress").html("<strong><h4>Computing ranking.</h4></strong>");Papa.parse(this.countryinfoFile,{header:!0,download:!0,complete:function(e){var d=0;for(e=e.data;d<e.length;d++){var b=e[d];a[b.institution]=b.region}setTimeout(c,0)}})};b.prototype.loadAuthorInfo=function(a){var c=this;jQuery("#progress").html("<strong><h4>Loading author information.</h4></strong>");
Papa.parse(this.authorFile,{download:!0,header:!0,complete:function(e){e=e.data;for(var d=0;d<e.length;d++){var b=e[d],f=b.name;c.homepages[f.trim()]=b.homepage;c.scholarInfo[f.trim()]=b.scholarid}setTimeout(a,0)}})};b.prototype.loadAuthors=function(a){var c=this;jQuery("#progress").html("<strong><h4>Loading publication data.</h4></strong>");Papa.parse(this.authorinfoFile,{download:!0,header:!0,complete:function(b){c.authors=b.data;setTimeout(a,0)}})};b.prototype.inRegion=function(a,c){switch(c){case "USA":if(a in
this.countryInfo)return!1;break;case "europe":if(!(a in this.countryInfo)||"europe"!=this.countryInfo[a])return!1;break;case "canada":if(!(a in this.countryInfo)||"canada"!=this.countryInfo[a])return!1;break;case "northamerica":if(a in this.countryInfo&&"canada"!=this.countryInfo[a])return!1;break;case "australasia":if(!(a in this.countryInfo)||"australasia"!=this.countryInfo[a])return!1;break;case "southamerica":if(!(a in this.countryInfo)||"southamerica"!=this.countryInfo[a])return!1;break;case "asia":if(!(a in
this.countryInfo)||"asia"!=this.countryInfo[a])return!1}return!0};b.prototype.activateFields=function(a,c){for(var b=0;b<c.length;b++)jQuery("input[name="+this.fields[c[b]]+"]").prop("checked",a);this.rank();return!1};b.prototype.sortIndex=function(a){var c=Object.keys(a);c.sort(function(c,d){return a[c]>a[d]?-1:a[d]>a[c]?1:c<d?-1:d<c?1:0});return c};b.prototype.countAuthorAreas=function(a,c){for(var b in this.authors)if(this.authors.hasOwnProperty(b)){var d=this.authors[b],g=d.year;if(!(g<a||g>c)){g=
d.area;var f=d.dept,h=parseFloat(d.count);d=d.name;d in this.aliases&&(d=this.aliases[d]);if(!(d in this.authorAreas)){this.authorAreas[d]={};for(var k in this.areaDict)this.areaDict.hasOwnProperty(k)&&(this.authorAreas[d][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[d][g]+=h;this.authorAreas[f][g]+=h}}};b.prototype.buildDepartments=function(a,c,b,d,g,f,h,k){var e={},r;for(r in this.authors)if(this.authors.hasOwnProperty(r)){var m=
this.authors[r],n=m.name,p=m.year,l=m.area;m=m.dept;n in this.aliases&&(n=this.aliases[n]);if("undefined"!==typeof m&&!(0===b[l]||p<a||p>c)&&this.inRegion(m,d)){l in this.parentMap&&(l=this.parentMap[l]);p=l+m;l=n+m;p in this.areaDeptAdjustedCount||(this.areaDeptAdjustedCount[p]=0);var v=parseInt(this.authors[r].count),t=parseFloat(this.authors[r].adjustedcount);this.areaDeptAdjustedCount[p]+=t;n in e||(e[n]=!0,h[l]=0,k[l]=0,m in g||(g[m]=0,f[m]=[]),f[m].push(n),g[m]+=1);h[l]+=v;k[l]+=t}}};b.prototype.computeStats=
function(a,c,e){this.stats={};for(var d in a)if(a.hasOwnProperty(d)){this.stats[d]=1;for(var g=0,f=b.areas;g<f.length;g++){var h=f[g];if(!(h in this.parentMap)){var k=h+d;k in this.areaDeptAdjustedCount||(this.areaDeptAdjustedCount[k]=0);0!=e[h]&&(this.stats[d]*=this.areaDeptAdjustedCount[k]+1)}}this.stats[d]=Math.pow(this.stats[d],1/c)}};b.prototype.updateWeights=function(a){for(var c=0,e=0;e<b.areas.length;e++){var d=b.areas[e];a[d]=jQuery("input[name="+this.fields[e]+"]").prop("checked")?1:0;1===
a[d]&&c++}return c};b.prototype.canonicalizeNames=function(a,c,b){for(var d in a)if(a.hasOwnProperty(d))for(var e=0;e<a[d].length;e++){var f=a[d][e];f in this.aliases&&(a[d][e]=this.aliases[f],this.aliases[f]+d in c?(c[this.aliases[f]+d]+=c[f+d],b[this.aliases[f]+d]+=b[f+d]):(c[this.aliases[f]+d]=c[f+d],b[this.aliases[f]+d]=b[f+d]))}};b.prototype.buildDropDown=function(a,c,b){var d=this,e={},f=function(f){if(!a.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={},n=0,p=a[f];n<p.length;n++){var l=p[n];k[l]=c[l+f]}n=Object.keys(k);n.sort(function(a,c){if(k[c]===k[a]){var e=Math.round(10*b[c+f])/10,h=Math.round(10*b[a+f])/10;return e===h?d.compareNames(a,c):e-h}return k[c]-k[a]});for(p=0;p<n.length;p++){l=n[p];var q=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="'+q+'" onclick="trackOutboundLink(\''+q+"', 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="'+q+'" onclick="trackOutboundLink(\''+q+'\', 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*b[l+f])/10).toFixed(1)+'</small></td></tr><tr><td colspan="4"><div style="display:none;" id="'+
escape(l)+'-chart"></div></td></tr>'}e[f]=g+"</tbody></table></div>"},h=this,k;for(k in a)f(k);return e};b.prototype.buildOutputString=function(a,c,b){var d=this.makePrologue();d+='<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<a){a=1;for(var e=0,f=9999999.999,h=this.sortIndex(this.stats),k=0;k<h.length;k++){var q=h[k],r=Math.round(10*this.stats[q])/10;if(99999<=k&&r!=f)break;if(0===r)break;f!=r&&(this.useDenseRankings?e+=1:(e+=a,a=0));f=escape(q);d+="\n<tr><td>"+e+"</td>";d+='<td><span class="hovertip" onclick="csr.toggleFaculty(\''+f+'\')";" id="'+f+'-widget"><font color="blue">'+this.RightTriangle+"</font></span>";d+=" "+q+' <font color="blue"><span class="hovertip" onclick="csr.toggleChart(\''+f+'\')";" >'+
this.PieChart+"</span></font>";d+="</td>";d+='<td align="right">'+(Math.round(10*r)/10).toFixed(1)+"</td>";d+='<td align="right">'+c[q]+"<br />";d+="</td>";d+="</tr>\n";d+='<tr><td colspan="4"><div style="display:none;" style="width: 100%; height: 350px;" id="'+f+'-chart"></div></td></tr>';d+='<tr><td colspan="4"><div style="display:none;" id="'+f+'-faculty">'+b[q]+"</div></td></tr>";a++;f=r}d+="</tbody></table><br /></div></div>\n<br></body></html>"}else d="<h3>Please select at least one area by clicking one or more checkboxes.</h3>";
return d};b.prototype.setAllCheckboxes=function(){this.activateAll()};b.prototype.setAllOn=function(a){void 0===a&&(a=!0);for(var c=0;c<b.areas.length;c++)if(jQuery("input[name="+this.fields[c]+"]").prop("checked",a),this.fields[c]in this.childMap)for(var e=0,d=this.childMap[this.fields[c]];e<d.length;e++)jQuery("input[name="+d[e]+"]").prop("checked",a)};b.prototype.rank=function(){var a={},c={},b={},d={},g={};this.areaDeptAdjustedCount={};var f=parseInt(jQuery("#fromyear").find(":selected").text()),
h=parseInt(jQuery("#toyear").find(":selected").text()),k=jQuery("#regions").find(":selected").val(),q=this.updateWeights(g);this.authorAreas={};this.countAuthorAreas(f,h);this.buildDepartments(f,h,g,k,c,a,b,d);this.computeStats(a,q,g);this.canonicalizeNames(a,b,d);a=this.buildDropDown(a,b,d);c=this.buildOutputString(q,c,a);jQuery("#success").html(c);this.urlUpdate();return!1};b.prototype.toggleChart=function(a){var c=document.getElementById(a+"-chart");"block"===c.style.display?(c.style.display="none",
c.innerHTML=""):(c.style.display="block",this.makeChart(a))};b.prototype.toggleConferences=function(a){var c=document.getElementById(a+"-conferences");a=document.getElementById(a+"-widget");"block"===c.style.display?(c.style.display="none",a.innerHTML='<font color="blue">'+this.RightTriangle+"</font>"):(c.style.display="block",a.innerHTML='<font color="blue">'+this.DownTriangle+"</font>")};b.prototype.toggleFaculty=function(a){var c=document.getElementById(a+"-faculty");a=document.getElementById(a+
"-widget");"block"===c.style.display?(c.style.display="none",a.innerHTML='<font color="blue">'+this.RightTriangle+"</font>"):(c.style.display="block",a.innerHTML='<font color="blue">'+this.DownTriangle+"</font>")};b.prototype.activateAll=function(a){void 0===a&&(a=!0);this.setAllOn(a);this.rank();return!1};b.prototype.activateNone=function(){return this.activateAll(!1)};b.prototype.activateSystems=function(a){void 0===a&&(a=!0);return this.activateFields(a,this.systemsFields)};b.prototype.activateAI=
function(a){void 0===a&&(a=!0);return this.activateFields(a,this.aiFields)};b.prototype.activateTheory=function(a){void 0===a&&(a=!0);return this.activateFields(a,this.theoryFields)};b.prototype.activateOthers=function(a){void 0===a&&(a=!0);return this.activateFields(a,this.otherFields)};b.prototype.deactivateSystems=function(){return this.activateSystems(!1)};b.prototype.deactivateAI=function(){return this.activateAI(!1)};b.prototype.deactivateTheory=function(){return this.activateTheory(!1)};b.prototype.deactivateOthers=
function(){return this.activateOthers(!1)};b.prototype.urlUpdate=function(){for(var a="",c=0,b=0;b<this.fields.length;b++)jQuery("input[name="+this.fields[b]+"]").prop("checked")&&(a+=this.fields[b]+"&",c+=1);0<c&&(a=a.slice(0,-1));b=jQuery("#regions").find(":selected").val();a=c==this.fields.length?"/index?all":0==c?"/index?none":"/index?"+a;"USA"!=b&&(a=a+"&"+b);this.navigoRouter.navigate(a)};b.geoCheck=function(){jQuery.getJSON("http://freegeoip.net/json/",function(a){switch(a.country_code){case "US":case "CN":case "IN":case "KR":case "JP":case "TW":case "SG":jQuery("#regions").val("USA");
break;default:jQuery("#regions").val("world")}})};b.prototype.navigator=function(a,c){var e="USA europe canada northamerica southamerica australasia asia world".split(" ");null!==a&&Object.keys(a).forEach(function(b){jQuery("#"+b).prop("value",a[b])});for(var d=0;d<b.areas.length;d++)jQuery("input[name="+b.areas[d]+"]").prop("checked",!1);var g=c.split("&");c=g.some(function(a){return"all"==a});if(g.some(function(a){return 0<=e.indexOf(a)})){var f=0;g.forEach(function(a){0<=e.indexOf(a)&&g.splice(f,
1);jQuery("#regions").val(a);f+=1})}else b.geoCheck();if(c)for(d=0;d<b.areas.length;d++)jQuery("input[name="+b.areas[d]+"]").prop("checked",!0);else for(c=0;c<g.length;c++)d=g[c],"none"!=d&&""!=d&&jQuery("input[name="+d+"]").prop("checked",!0)};b.prototype.addListeners=function(){var a=this;["toyear","fromyear","regions"].forEach(function(b){document.getElementById(b).addEventListener("change",function(){a.rank()})});for(var c=function(c){var d=b.areas[c];document.getElementById(d+"-widget").addEventListener("click",
function(){a.toggleConferences(d)})},e=0;e<b.areas.length;e++)c(e);for(c=0;c<this.fields.length;c++)jQuery("input[name="+this.fields[c]+"]").click(function(){a.rank()});var d={all_areas_on:function(){a.activateAll()},all_areas_off:function(){a.activateNone()},ai_areas_on:function(){a.activateAI()},ai_areas_off:function(){a.deactivateAI()},systems_areas_on:function(){a.activateSystems()},systems_areas_off:function(){a.deactivateSystems()},theory_areas_on:function(){a.activateTheory()},theory_areas_off:function(){a.deactivateTheory()},
other_areas_on:function(){a.activateOthers()},other_areas_off:function(){a.deactivateOthers()}};c=function(a){document.getElementById(a).addEventListener("click",function(){d[a]()})};for(var g in d)c(g)};b.areas=[];return b}(),csr=new CSRankings;