function DoCalc()
{
 /*
 Категория
 <select name="categor" onchange="eclass()">
 <option value="0">Эконом-Класс (ЭК)</option>
 <option value="1" selected="selected">Бизнес-Класс (БК)</option>
 <option value="2">Эконом-Бизнес (ЭБ)</option>
 <option value="3">Бизнес-Эконом (БЭ)</option>
 <!-- <option value="4">Экспресс 1 (Э1)</option> -->
 <option value="5">Офф-Тайм (ОФТ)</option>
 <option value="6">Строго лично в руки (СЛВР)</option>
 <option value="7">Строго в указанное время (ВУВ)</option>
 <!--
 <option value="8">Оплата Получателем (ОП)</option>
 <option value="9">Ин-Аут (ИА)</option>
 <option value="10">Поручение</option>
 -->
 </select>
 */
 var ves     = document.formaa.ves.value;
 var categor = document.formaa.categor.value;
 var RPO     = 18.0; // 14.0; // 10.0;

 //                         0-ЭК    1-БК   2-ЭБ     3-БЭ     4-   5-ОФТ  6-СЛВР  7-ВУВ  8-ОП  9-ИА  10-Поручение
 var CatCoef0_2 = new Array("1.5",  "3",   "2.25",  "2.25",  "0", "6",   "6",    "6");
 var CatCoef0_5 = new Array("1.75", "3.5", "2.625", "2.625", "0", "7",   "7",    "7");
 var CatCoef1_0 = new Array("2",    "4",   "3",     "3",     "0", "8",   "8",    "8");
 var CatCoefP_5 = new Array("0.25", "0.5", "0.375", "0.375", "0", "1",   "1",    "1"); // плюсование на каждые 0,5 кг

 // проверим на коректность заполненых данных
 if (document.formaa.ves.value <= 0)
   {
    alert("Укажите вес больше 0 кг");
    document.formaa.ves.focus();
    return; 
   }

 if (document.formaa.from_town.value.length < 3)
   {
    alert("Укажите город отправителя");
    document.formaa.from_town.focus();
    return; 
   }

 if (document.formaa.to_town.value.length < 3)
   {
    alert("Укажите город получателя");
    document.formaa.to_town.focus();
    return; 
   }

 // заменим в строке "вес" знак ',' на знак '.'
 var i = 0, j;
 while (i < ves.length)
   {
    if (ves.charAt(i) == ',')
      {
       ves[i] = '!'; 

       var vvv="";
       for (j = 0; j < ves.length; j ++)
          {
           if (j == i) { vvv += '.'; }
           else        { vvv += ves.charAt(j); }
          }

       ves = vvv;
       break;
      }
    i ++;
   }

 if (ves > 5.0 &&
     (categor == 0 || categor == 2 || categor == 3)
    )
   {
    alert("В категориях класса \"эконом\" максимальный вес до 5 кг");
    document.formaa.ves.focus();
    return; 
   }

 var sum1 = 0, CatIndex = categor;
 if      (ves <= 0.2              ) { sum1 = RPO * CatCoef0_2[CatIndex]; }
 else if (ves >  0.2 && ves <= 0.5) { sum1 = RPO * CatCoef0_5[CatIndex]; }
 else if (ves >  0.5 && ves <= 1.0) { sum1 = RPO * CatCoef1_0[CatIndex]; }
 else if (ves >  1) 
   {
    sum1  = RPO * CatCoef1_0[CatIndex];
    sum1 += ( Math.ceil( (ves-1.0)*2.0 ) * (CatCoefP_5[CatIndex] * RPO) );
   }

 document.formaa.result.value = sum1;
 document.formaa.srok.value   = "-";

 /*
 var a = document.formaa.from_town.value;
 var b = document.formaa.to_town.value;
 var cc = alltowns[a][b];
 if (cc==0)
   { rozrahvg(10); }
 else
   { rozrahmg(30); }
 */
}
// ------------------------------------------------------------------------------------------------

