values = Array();
   details = Array();
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 4500;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["4"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 4500;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["5"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 4500;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["6"] = detail;
    detail = Array();
    detail["replace"] = 4000;
	detail["replace10"] = 6000;
    detail["repair10"] = 6000;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 3000;
    details["7"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 1500;
    detail["repair10"] = 4500;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 1500;
    details["8"] = detail;
    detail = Array();
  	detail["replace"] = 2000;
	detail["replace10"] = 5000;
    detail["repair10"] = 4500;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 1500;
    details["9"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 2000;
    detail["repair10"] = 5500;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["10"] = detail;
    detail = Array();
    detail["replace"] = 1000;
	detail["replace10"] = 500;
    detail["repair10"] = 3000;
    detail["repair20"] = 3000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 500;
    details["11"] = detail;
    detail = Array();
    detail["replace"] = 500;
	detail["replace10"] = 300;
    detail["repair10"] = 1000;
    detail["repair20"] = 1000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 300;
    detail["parsing100"] = 300
    details["12"] = detail;
    values["3"] = details;
    details = Array();
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 5000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["4"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 5000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["5"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 7000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["6"] = detail;
    detail = Array();
    detail["replace"] = 4000;
	detail["replace10"] = 6000;
    detail["repair10"] = 7500;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 3000;
    details["7"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 1500;
    detail["repair10"] = 5000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 1500;
    details["8"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 5000;
    detail["repair10"] = 5000;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 1500;
    details["9"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 2000;
    detail["repair10"] = 7000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["10"] = detail;
    detail = Array();
    detail["replace"] = 1000;
	detail["replace10"] = 500;
    detail["repair10"] = 3500;
    detail["repair20"] = 3500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 500;
    details["11"] = detail;
    detail = Array();
    detail["replace"] = 500;
	detail["replace10"] = 300;
    detail["repair10"] = 1000;
    detail["repair20"] = 1000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 300;
    detail["parsing100"] = 300;
    details["12"] = detail;
    values["4"] = details;
    details = Array();
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 6000;
    detail["repair20"] = 6000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["4"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 6000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["5"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 8000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["6"] = detail;
    detail = Array();
    detail["replace"] = 4000;
	detail["replace10"] = 6000;
    detail["repair10"] = 9000;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 3000;
    details["7"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 1500;
    detail["repair10"] = 6000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 1500;
    details["8"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 5000;
    detail["repair10"] = 6000;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 1500;
    details["9"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 2000;
    detail["repair10"] = 8000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["10"] = detail;
    detail = Array();
    detail["replace"] = 1000;
	detail["replace10"] = 500;
    detail["repair10"] = 3500;
    detail["repair20"] = 3500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 500;
    details["11"] = detail;
    detail = Array();
    detail["replace"] = 500;
	detail["replace10"] = 300;
    detail["repair10"] = 1000;
    detail["repair20"] = 1000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 300;
    detail["parsing100"] = 300;
    details["12"] = detail;
    values["5"] = details;
    details = Array();
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 6500;
    detail["repair20"] = 6500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["4"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 6500;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1500;
    details["5"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 0;
    detail["repair10"] = 8500;
    detail["repair20"] = 6000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["6"] = detail;
    detail = Array();
    detail["replace"] = 4000;
	detail["replace10"] = 10000;
    detail["repair10"] = 9000;
    detail["repair20"] = 6500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["7"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 2000;
    detail["repair10"] = 6500;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1500;
    detail["parsing100"] = 2000;
    details["8"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 7000;
    detail["repair10"] = 6500;
    detail["repair20"] = 4500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["9"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 2000;
    detail["repair10"] = 8000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["10"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 1000;
    detail["repair10"] = 3000;
    detail["repair20"] = 3000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["11"] = detail;
    detail = Array();
    detail["replace"] = 1000;
	detail["replace10"] = 500;
    detail["repair10"] = 1000;
    detail["repair20"] = 1000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 500;
    details["12"] = detail;
    values["6"] = details;
    details = Array();
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 0;
    detail["repair10"] = 7000;
    detail["repair20"] = 7000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["4"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 0;
    detail["repair10"] = 7000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1500;
    detail["parsing100"] = 2000;
    details["5"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 0;
    detail["repair10"] = 9000;
    detail["repair20"] = 6000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["6"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 10000;
    detail["repair10"] = 9000;
    detail["repair20"] = 6500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 3000;
    detail["parsing100"] = 3000;
    details["7"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 2500;
    detail["repair10"] = 7000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2500;
    details["8"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 7000;
    detail["repair10"] = 7000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 3000;
    details["9"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 3000;
    detail["repair10"] = 8000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 3000;
    details["10"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 1000;
    detail["repair10"] = 4000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["11"] = detail;
    detail = Array();
    detail["replace"] = 1000;
	detail["replace10"] = 500;
    detail["repair10"] = 1000;
    detail["repair20"] = 1000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 500;
    detail["parsing100"] = 500;
    details["12"] = detail;
    values["7"] = details;
    details = Array();
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 0;
    detail["repair10"] = 7000;
    detail["repair20"] = 7000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["4"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 0;
    detail["repair10"] = 7000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1500;
    detail["parsing100"] = 2000;
    details["5"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 0;
    detail["repair10"] = 9000;
    detail["repair20"] = 6000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2000;
    details["6"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 10000;
    detail["repair10"] = 10000;
    detail["repair20"] = 7000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 3000;
    detail["parsing100"] = 3000;
    details["7"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 2500;
    detail["repair10"] = 7000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 2500;
    details["8"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 7000;
    detail["repair10"] = 7000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2000;
    detail["parsing100"] = 3000;
    details["9"] = detail;
    detail = Array();
    detail["replace"] = 3000;
	detail["replace10"] = 2000;
    detail["repair10"] = 8000;
    detail["repair20"] = 5000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1500;
    detail["parsing100"] = 2000;
    details["10"] = detail;
    detail = Array();
    detail["replace"] = 2000;
	detail["replace10"] = 2500;
    detail["repair10"] = 4000;
    detail["repair20"] = 4000;
    detail["parsing0"] = 0;
    detail["parsing50"] = 2500;
    detail["parsing100"] = 2500;
    details["11"] = detail;
    detail = Array();
    detail["replace"] = 1500;
	detail["replace10"] = 1000;
    detail["repair10"] = 1500;
    detail["repair20"] = 1500;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1000;
    detail["parsing100"] = 1000;
    details["12"] = detail;
    values["8"] = details;
    details = Array();
    detail = Array();
    detail["replace"] = 2247;
    detail["repair10"] = 1926;
    detail["repair20"] = 3103;
    detail["repair30"] = 4708;
    detail["repair40"] = 6206;
    detail["painting30"] = 6634;
    detail["painting60"] = 8025;
    detail["painting100"] = 9095;
    detail["parsing0"] = 0;
    detail["parsing50"] = 856;
    detail["parsing100"] = 2247;
    details["4"] = detail;
    detail = Array();
    detail["replace"] = 2247;
    detail["repair10"] = 1926;
    detail["repair20"] = 3103;
    detail["repair30"] = 4708;
    detail["repair40"] = 6206;
    detail["painting30"] = 6420;
    detail["painting60"] = 6955;
    detail["painting100"] = 9309;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1284;
    detail["parsing100"] = 2247;
    details["5"] = detail;
    detail = Array();
    detail["replace"] = 1177;
    detail["repair10"] = 2568;
    detail["repair20"] = 4815;
    detail["repair30"] = 6955;
    detail["repair40"] = 10165;
    detail["painting30"] = 7490;
    detail["painting60"] = 10165;
    detail["painting100"] = 11770;
    detail["parsing0"] = 0;
    detail["parsing50"] = 749;
    detail["parsing100"] = 2247;
    details["6"] = detail;
    detail = Array();
    detail["replace"] = 0;
    detail["repair10"] = 3210;
    detail["repair20"] = 6313;
    detail["repair30"] = 9309;
    detail["repair40"] = 12840;
    detail["painting30"] = 9630;
    detail["painting60"] = 16050;
    detail["painting100"] = 19260;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1070;
    detail["parsing100"] = 0;
    details["7"] = detail;
    detail = Array();
    detail["replace"] = 4815;
    detail["repair10"] = 1926;
    detail["repair20"] = 3103;
    detail["repair30"] = 4708;
    detail["repair40"] = 6206;
    detail["painting30"] = 8025;
    detail["painting60"] = 9095;
    detail["painting100"] = 10165;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1177;
    detail["parsing100"] = 4815;
    details["8"] = detail;
    detail = Array();
    detail["replace"] = 4815;
    detail["repair10"] = 2407,5;
    detail["repair20"] = 3878,75;
    detail["repair30"] = 5885;
    detail["repair40"] = 7757,5;
    detail["painting30"] = 8560;
    detail["painting60"] = 10165;
    detail["painting100"] = 12305;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1177;
    detail["parsing100"] = 4815;
    details["9"] = detail;
    detail = Array();
    detail["replace"] = 0;
    detail["repair10"] = 1926;
    detail["repair20"] = 3103;
    detail["repair30"] = 4708;
    detail["repair40"] = 6206;
    detail["painting30"] = 7704;
    detail["painting60"] = 8667;
    detail["painting100"] = 10165;
    detail["parsing0"] = 0;
    detail["parsing50"] = 428;
    detail["parsing100"] = 0;
    details["10"] = detail;
    detail = Array();
    detail["replace"] = 0;
    detail["repair10"] = 2407,5;
    detail["repair20"] = 3878,75;
    detail["repair30"] = 5885;
    detail["repair40"] = 7757,5;
    detail["painting30"] = 8560;
    detail["painting60"] = 10486;
    detail["painting100"] = 11770;
    detail["parsing0"] = 0;
    detail["parsing50"] = 428;
    detail["parsing100"] = 0;
    details["11"] = detail;
    detail = Array();
    detail["replace"] = 2996;
    detail["repair10"] = 1926;
    detail["repair20"] = 3103;
    detail["repair30"] = 4708;
    detail["repair40"] = 6206;
    detail["painting30"] = 6955;
    detail["painting60"] = 7490;
    detail["painting100"] = 8025;
    detail["parsing0"] = 0;
    detail["parsing50"] = 1498;
    detail["parsing100"] = 2996;
    details["12"] = detail;
    detail = Array();
    detail["replace"] = 1284;
    detail["repair10"] = 1926;
    detail["repair20"] = 3103;
    detail["repair30"] = 4708;
    detail["repair40"] = 6206;
    detail["painting30"] = 5885;
    detail["painting60"] = 6420;
    detail["painting100"] = 6955;
    detail["parsing0"] = 0;
    detail["parsing50"] = 0;
    detail["parsing100"] = 2247;
    details["13"] = detail;
    detail = Array();
    detail["replace"] = 642;
    detail["repair10"] = 535;
    detail["repair20"] = 749;
    detail["repair30"] = 1070;
    detail["repair40"] = 1605;
    detail["painting30"] = 0;
    detail["painting60"] = 0;
    detail["painting100"] = 3745;
    detail["parsing0"] = 0;
    detail["parsing50"] = 0;
    detail["parsing100"] = 1712;
    details["14"] = detail;
    values["9"] = details;
    // scripts for calc client interface
    function calcProcess(row, classid, detail)
    {
     control = document.getElementById("calcControlId"+row);
	 //alert(control);
     if (control) {
      if (detail!=0) {
       str = ""
	   //alert(values[4][detail]["replace"]);
       if (values[classid][detail]["replace"]!=0) // если цена замены не 0, то замена возможна
        str += '<div>Кузовной ремонт:<br /> <select id="calcControlReplaceId'+row+'" onChange="calcProcessRecalc('+row+');" class="smallSelect" style="width:140px"><option value="0">- - - - -</option><option value="'+values[classid][detail]["replace"]+'">Ремонт</option><option value="'+values[classid][detail]["replace10"]+'">Замена</option></select></div>';
       str += '<div style="padding-top:4px">Окраска:<br /><select id="calcControlRepairId'+row+'" onChange="calcProcessRecalc('+row+');" class="smallSelect" style="width:140px"><option value="0">- - - - -</option>';
       if (values[classid][detail]["repair10"]!=0)
        str += '<option value="'+values[classid][detail]["repair10"]+'">Полная</option>';
       if (values[classid][detail]["repair20"]!=0)
        str += '<option value="'+values[classid][detail]["repair20"]+'">Частичная</option>';
       str += '</select></div>';
       str += '<div id="calcBoxParsingId'+row+'" style="padding-top:4px">Арматурные работы:<br /><select id="calcControlParsingId'+row+'" onChange="calcProcessRecalc('+row+');" class="smallSelect" style="width:140px"><option value="'+values[classid][detail]["parsing0"]+'">Без разборки</option>';
       if (values[classid][detail]["parsing50"]!=0)
        str += '<option value="'+values[classid][detail]["parsing50"]+'">Частичная</option>';
       if (values[classid][detail]["parsing100"]!=0)
        str += '<option value="'+values[classid][detail]["parsing100"]+'">Полная</option>';
       str += '</select></div><div style="padding-left:90px"><br /><strong>ИТОГО:</strong></div>';
       control.innerHTML = str;
      } else {
       control.innerHTML = "&nbsp;";
      }
      calcProcessRecalc(row, detail);
     }
    }
    function calcProcessRecalc(row)
    {
     result = document.getElementById("calcResultId"+row);
     if (result) { // пересчет нужной колонки
      replace = document.getElementById("calcControlReplaceId"+row);
      repair = document.getElementById("calcControlRepairId"+row);
      //painting = document.getElementById("calcControlPaintingId"+row);
      parsing = document.getElementById("calcControlParsingId"+row);
      boxparsing = document.getElementById("calcBoxParsingId"+row);
     // boxreplace = document.getElementById("calcBoxReplaceId"+row);
	//  alert(replace.value); alert(repair.value); alert(parsing.value)
      if (replace && repair && parsing && boxparsing) {
       if (replace.value) {
        repair.disabled = false;
        boxparsing.style.display = "block";
        //boxreplace.style.display = "none";
        cost = "<br />"+(parseFloat(replace.value))+"<div style='padding-top:25px'>"+(parseFloat(repair.value))+"</div><div style='padding-top:23px'>"+(parseFloat(parsing.value))+"<div><br /><strong>"+(parseFloat(repair.value)+parseFloat(parsing.value)+parseFloat(replace.value))+"</strong> <span style='font-size: 10px'> руб</span>";
		//alert (cost);
       }
       result.innerHTML = cost;
      } else // нет элементов управления - скрываем результат
       result.innerHTML = "&nbsp;";
     }
    
     result = document.getElementById("calcResultIdAll");
     if (result) { // пересчет общей колонки
      repairSum = 0;
      replaceSum = 0;
      parsingSum = 0;
      for (i = 0; i < 8; i++) {
       replace = document.getElementById("calcControlReplaceId"+i);
       repair = document.getElementById("calcControlRepairId"+i);
       //painting = document.getElementById("calcControlPaintingId"+i);
       parsing = document.getElementById("calcControlParsingId"+i);
       if (replace && repair  && parsing) {
        if (replace.value)  {
		 replaceSum += parseFloat(replace.value);
         repairSum += parseFloat(repair.value);
         parsingSum += parseFloat(parsing.value);
        }
       }
      }
      result.innerHTML = "<div style='padding-top:3px'>"+(parseFloat(replaceSum))+"</div><div style='padding-top:2px'>"+(parseFloat(repairSum))+"</div><div style='padding-top:2px'>"+(parseFloat(parsingSum))+"</div><div style='padding-top:1px'><strong>"+(parseFloat(replaceSum)+parseFloat(repairSum)+parseFloat(parsingSum))+"</strong> <span style='font-size: 10px'> руб</span></div>";
     }
    }
    
    // scripts for calc client ajax
     var calcselectvalue = 0;
     function calcRenderTable(value)
     { // если выбранный класс в списке изменился, отправляем команду на перерисовку табилцы
      if (calcselectvalue!=value)
       calcselectvalue = value;
       calcSendRequest("ajaxaction=table&class="+value, "calc");
     }
     function calcHandler()
     { // вызывается при получении xml данных через ajax
      if ((HttpXMLRequest.readyState == 4) && (HttpXMLRequest.status == 200)) {
       // обновляем таблицу
       var calcNode = window.document.getElementById("calctableconteiner");
       if (calcNode) {
		   //alert (HttpXMLRequest.responseXML.getElementsByTagName("status")[0].firstChild);
        if (HttpXMLRequest.responseXML.getElementsByTagName("status")) {
         if (HttpXMLRequest.responseXML.getElementsByTagName("status")[0].firstChild.data) {
          if (HttpXMLRequest.responseXML.getElementsByTagName("textblock")[0].firstChild.data!="") {
           calcNode.innerHTML = HttpXMLRequest.responseXML.getElementsByTagName("textblock")[0].firstChild.data;
          }
         }
        }
       }
      }
     }
     function calcHandnull()
     {
      if ((HttpRequest.readyState == 4) && (HttpRequest.status == 200)) {
       ;
      }
     }
     function calcSendRequest(url, handik)
     { // посылает запрос через ajax - важная функция
      // branch for native XMLHttpRequest object
      if (window.XMLHttpRequest) {
       if (handik == null) {
        HttpRequest = new XMLHttpRequest();
        HttpRequest.onreadystatechange = calcHandnull;
        HttpRequest.open("GET", "/rsrc/calc/calc.php?"+url, true);
        HttpRequest.send(null);
       } else {
        HttpXMLRequest = new XMLHttpRequest();
        HttpXMLRequest.onreadystatechange = calcHandler;
        HttpXMLRequest.open("GET", "/rsrc/calc/calc.php?"+url, true);
        HttpXMLRequest.send(null);
       }
       return true;
       // branch for IE/Windows ActiveX version
      } else if (window.ActiveXObject) {
       HttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
       HttpXMLRequest = new ActiveXObject("Microsoft.XMLHTTP");
       if (HttpRequest) {
        if (handik == null) {
         HttpRequest.onreadystatechange = calcHandnull;
         HttpRequest.open("GET", "/rsrc/calc/calc.php?"+url, true);
         HttpRequest.send();
        } else {
         HttpXMLRequest.onreadystatechange = calcHandler;
         HttpXMLRequest.open("GET", "/rsrc/calc/calc.php?"+url, true);
         HttpXMLRequest.send();
        }
       }
       return true;
      }
     }

