jbe@945: jsProtect(function() { bsw@519: voting_text_approval_single = "Approval" bsw@519: voting_text_approval_multi = "Approval" bsw@519: voting_text_first_preference_single = "Approval (first preference)" bsw@519: voting_text_first_preference_multi = "Approval (first preference)" bsw@519: voting_text_second_preference_single = "Approval (second preference)" bsw@519: voting_text_second_preference_multi = "Approval (second preference)" bsw@519: voting_text_third_preference_single = "Approval (third preference)" bsw@519: voting_text_third_preference_multi = "Approval (third preference)" bsw@519: voting_text_numeric_preference_single = "Approval (#th preference)" bsw@519: voting_text_numeric_preference_multi = "Approval (#th preference)" bsw@519: voting_text_abstention_single = "Abstention" bsw@519: voting_text_abstention_multi = "Abstention" bsw@519: voting_text_disapproval_above_one_single = "Disapproval (prefer to lower block)" bsw@519: voting_text_disapproval_above_one_multi = "Disapproval (prefer to lower block)" bsw@519: voting_text_disapproval_above_many_single = "Disapproval (prefer to lower blocks)" bsw@519: voting_text_disapproval_above_many_multi = "Disapproval (prefer to lower blocks)" bsw@519: voting_text_disapproval_above_last_single = "Disapproval (prefer to last block)" bsw@519: voting_text_disapproval_above_last_multi = "Disapproval (prefer to last block)" bsw@519: voting_text_disapproval_single = "Disapproval" bsw@519: voting_text_disapproval_multi = "Disapproval" bsw/jbe@19: bsw@519: function voting_setCategoryHeadings() { bsw@519: var approvalCount = 0; bsw@519: var disapprovalCount = 0; bsw@519: var sections = document.getElementById("voting").childNodes; bsw@519: for (var i=0; i 1) { bsw@519: if (approvalIndex == 0) { bsw@519: if (count == 1) setHeading(voting_text_first_preference_single); bsw@519: else setHeading(voting_text_first_preference_multi); bsw@519: } else if (approvalIndex == 1) { bsw@519: if (count == 1) setHeading(voting_text_second_preference_single); bsw@519: else setHeading(voting_text_second_preference_multi); bsw@519: } else if (approvalIndex == 2) { bsw@519: if (count == 1) setHeading(voting_text_third_preference_single); bsw@519: else setHeading(voting_text_third_preference_multi); bsw@519: } else { bsw@519: var text; bsw@519: if (count == 1) text = voting_text_numeric_preference_single; bsw@519: else text = voting_text_numeric_preference_multi; bsw@519: text = text.replace(/#/, "" + (approvalIndex + 1)) bsw@519: setHeading(text); bsw@519: } bsw@519: } else { bsw@519: if (count == 1) setHeading(voting_text_approval_single); bsw@519: else setHeading(voting_text_approval_multi); bsw/jbe@19: } bsw@519: approvalIndex++; bsw@519: } else if (section.className == "abstention") { bsw@519: if (count == 1) setHeading(voting_text_abstention_single); bsw@519: else setHeading(voting_text_abstention_multi); bsw@519: } else if (section.className == "disapproval") { bsw@519: if (disapprovalCount > disapprovalIndex + 2) { bsw@519: if (count == 1) setHeading(voting_text_disapproval_above_many_single); bsw@519: else setHeading(voting_text_disapproval_above_many_multi); bsw@519: } else if (disapprovalCount == 2 && disapprovalIndex == 0) { bsw@519: if (count == 1) setHeading(voting_text_disapproval_above_one_single); bsw@519: else setHeading(voting_text_disapproval_above_one_multi); bsw@519: } else if (disapprovalIndex == disapprovalCount - 2) { bsw@519: if (count == 1) setHeading(voting_text_disapproval_above_last_single); bsw@519: else setHeading(voting_text_disapproval_above_last_multi); bsw@519: } else { bsw@519: if (count == 1) setHeading(voting_text_disapproval_single); bsw@519: else setHeading(voting_text_disapproval_multi); bsw@519: } bsw@519: disapprovalIndex++; bsw/jbe@5: } bsw/jbe@5: } bsw/jbe@5: } bsw@519: } jbe@946: function voting_calculateScoring() { jbe@946: var mainDiv = document.getElementById("voting"); jbe@946: var form = document.getElementById("voting_form"); jbe@946: var scoringString = ""; jbe@946: var approvalCount = 0; jbe@946: var disapprovalCount = 0; jbe@946: var sections = mainDiv.childNodes; jbe@946: for (var j=0; j= section.offsetTop && jbe@945: centerY < section.offsetTop + section.clientHeight jbe@945: ) { jbe@945: var entries = section.childNodes; jbe@945: for (var j=0; j 1) || jbe@945: (section.className == "disapproval" && disapprovalCount > 1) bsw@519: ) { jbe@945: var entries = section.childNodes; jbe@945: for (var j=0; j