| @@ -22,6 +22,10 @@ String.prototype.cut_before = function(substr) { | |||||
| return this.substr(0, this.indexOf(substr)); | return this.substr(0, this.indexOf(substr)); | ||||
| }; | }; | ||||
| String.prototype.cut = function(after, before) { | |||||
| return this.cut_after(after).cut_before(before); | |||||
| } | |||||
| function round_score(num) { | function round_score(num) { | ||||
| num = Math.round(num * 10) / 10; | num = Math.round(num * 10) / 10; | ||||
| if (isNaN(num)) | if (isNaN(num)) | ||||
| @@ -245,15 +249,15 @@ function sort_list() { | |||||
| } | } | ||||
| function apply_stats(elem, old_sum, new_sum, nums) { | function apply_stats(elem, old_sum, new_sum, nums) { | ||||
| var old_score = elem.text().cut_after("Score: ").cut_before(","); | |||||
| var old_dev = elem.text().cut_after("Dev.: ").cut_before("\n"); | |||||
| var old_score = elem.text().cut("Mean Score: ", ","); | |||||
| var old_dev = elem.text().cut("Score Dev.: ", "\n"); | |||||
| var mean = round_score(new_sum / nums) || "0.0"; | var mean = round_score(new_sum / nums) || "0.0"; | ||||
| var deviation = (new_sum - old_sum) / nums + parseFloat(old_dev) || 0; | var deviation = (new_sum - old_sum) / nums + parseFloat(old_dev) || 0; | ||||
| deviation = Math.round(deviation * 100) / 100; | deviation = Math.round(deviation * 100) / 100; | ||||
| elem.text(elem.text() | elem.text(elem.text() | ||||
| .replace("Score: " + old_score, "Score: " + mean) | |||||
| .replace("Dev.: " + old_dev, "Dev.: " + deviation)); | |||||
| .replace("Mean Score: " + old_score, "Mean Score: " + mean) | |||||
| .replace("Score Dev.: " + old_dev, "Score Dev.: " + deviation)); | |||||
| } | } | ||||
| function update_list_stats() { | function update_list_stats() { | ||||
| @@ -436,8 +440,7 @@ function hook_shared() { | |||||
| var score_sum = 0, diff_sum = 0, score_nums = 0, diff_nums = 0; | var score_sum = 0, diff_sum = 0, score_nums = 0, diff_nums = 0; | ||||
| shared_table.find("tr").slice(1, -2).each(function(i, row) { | shared_table.find("tr").slice(1, -2).each(function(i, row) { | ||||
| var anime_id = $(row).find("a").attr("href") | |||||
| .cut_after("/anime/").cut_before("/"); | |||||
| var anime_id = $(row).find("a").attr("href").cut("/anime/", "/"); | |||||
| var our_cell = $($(row).find("td")[our_pos]).find("span"); | var our_cell = $($(row).find("td")[our_pos]).find("span"); | ||||
| var their_cell = $($(row).find("td")[our_pos == 1 ? 2 : 1]); | var their_cell = $($(row).find("td")[our_pos == 1 ? 2 : 1]); | ||||
| var diff_cell = $($(row).find("td")[3]); | var diff_cell = $($(row).find("td")[3]); | ||||
| @@ -457,16 +460,18 @@ function hook_shared() { | |||||
| unique_table = $($("#content h2")[our_pos]).next(); | unique_table = $($("#content h2")[our_pos]).next(); | ||||
| unique_table.find("tr").slice(1, -1).each(function(i, row) { | unique_table.find("tr").slice(1, -1).each(function(i, row) { | ||||
| var anime_id = $(row).find("a").attr("href") | |||||
| .cut_after("/anime/").cut_before("/"); | |||||
| var anime_id = $(row).find("a").attr("href").cut("/anime/", "/"); | |||||
| var cell = $(row).find("td:nth(1)").find("span"); | var cell = $(row).find("td:nth(1)").find("span"); | ||||
| load_score_into_element(data, anime_id, cell); | load_score_into_element(data, anime_id, cell); | ||||
| }); | }); | ||||
| mean_score = round_score(score_sum / score_nums); | mean_score = round_score(score_sum / score_nums); | ||||
| if (!isNaN(mean_score)) | |||||
| $(shared_means.find("td")[our_pos]).find("span").text(mean_score); | |||||
| mean_diff = Math.round(diff_sum / diff_nums * 100) / 100; | mean_diff = Math.round(diff_sum / diff_nums * 100) / 100; | ||||
| $(shared_means.find("td")[our_pos]).find("span").text(mean_score); | |||||
| $(shared_means.find("td")[3]).text(mean_diff); | |||||
| if (!isNaN(mean_diff)) | |||||
| $(shared_means.find("td")[3]).text(mean_diff); | |||||
| }); | }); | ||||
| } | } | ||||