Добрый день. Прошу уважаемых гуру помочь разобраться с задачей, понимание которой есть а знаний для реализации крепко не хватает.
Суть задачи: имеем ряд чекбоксов, при их активции значения должны суммироваться по следующей логике:
- при выборе одного чекбокса с наибольшим значением должно выводиться только максимальное значение это чекбокса, при нажатии на остальные значение не меняется, то есть выводится в результат максимальное из всех
При этом есть чекбоксы значения которых должны суммироваться с максимальным значением из выбранных чекбоксов они отмечены жирным.
Например - выбрали смену наименования(10000) и смену руководителя(10000) то сумма должна выйти в 10000 руб. 
Выбрали Смена паспортных данных учредителя(5000) и Выход учредителя или распределение его доли в ООО(8000) сумма должна выйти в 8000 руб. 
Исключение составляет только а)продажи доли и Исправление ошибки(10000), если выбирают их то сумма суммируется. например выбрали смену наименования и продажи доли, то сумма 20000 руб.
Выбрали  Исправление ошибки(10000) и Продажа доли в ООО (смена учредителя)(10000) то результат 20000, при этом если выбирать любые другие чекбоксы к этой сумме должен прибавляться результат максимального значения массива то есть если выбрать еще и Выход учредителя или распределение его доли в ООО(8000) то сумма 28000 и если еще к ним выбрать Смена паспортных данных учредителя(5000) то сумма все равно 28000.
Начал делать но не понимаю как это связать воедино чтобы работало.
Буду крайне признателен всем кто поможет.
 
<---------html_______>
<div id="price">
<ul>
<li><input type="checkbox" name="regcalc" value="10000" />Смена наименования</li>
<li><input type="checkbox" name="regcalc" value="10000" />Смена юридического адреса</li>
<li><input type="checkbox" name="regcalc" value="10000" />Смена видов деятельности</li>
<li><input type="checkbox" name="regcalc" value="10000" />Увеличение уставного капитала или вход участника путем увеличения уставного капитала в ООО</li>
<li><input type="checkbox" name="regcalc" value="10000" />Другие изменения в устав</li>
<li><input type="checkbox" name="regcalc" value="10000" />Изменения в ЕГРЮЛ ООО, АО</li>
<li><input type="checkbox" name="regcalc" value="1000" />Смена юридического адреса</li>
<li><input type="checkbox" name="regcalc" value="5000" />Смена руководителя или его паспортных данных</li>
<li><input type="checkbox" name="regcalc" value="8000" />Выход учредителя или распределение его доли в ООО</li>
<li><input type="checkbox" name="regcalc" value="10000" />Продажа доли в ООО (смена учредителя)</li>
<li><input type="checkbox" name="regcalc" value="5000" />Смена паспортных данных учредителя</li>
<li><input type="checkbox" name="regcalc" value="5000" />Смена видов деятельности</li>
<li><input type="checkbox" name="regcalc" value="10000" />Исправление ошибки</li>
<li><input type="checkbox" name="regcalc" value="5000" />Внесение записи о реестродержателе АО</li>
</ul>
<div class="result" id="sum">0</div>
</div>
<---------html_______>
<------------------------------javascript------------------------->
Array.prototype.map.call(document.querySelectorAll  ('checkbox'),function(element,index,arr){
 	
	element.addEventListener('change',function(){	
   		var _value = this.value;
      Array.prototype.map.call(arr,function(e,i,a){
				a[i].value = _value;
			})
			
	},false)
})
Array.prototype.max = function(){
    var max = parseInt(this[this.length-1]), el;
    for(var i=this.length-2; i>=0; i--){
        el = parseInt(this[i]);
        if(el>max){
            max = el;
        }
    }
    return max;
};
<script language="JavaScript" type="text/javascript">
   $(function(){
   	$("#price").click(function(){
   		var sum=0; // начальное значение можно указать любое
   		$('#price :checked').each(function(){
   			sum+=parseInt($(this).val());
   		});
   		$('#sum').text(sum);	
   	});
   });
</script>
<------------------------------javascript------------------------->