/* Возврат к предложениям */
function back_to_proposal(form)
{
   form.s_id.value='3780' ;
   form.cart_add.value = 0 ;
   form.submit() ;
   return 1      ;
} 

/* Возврат к оформлению заказа */
function back_to_order(form)
{
   resolve() ;
   if (form.osago_premia.value<1) return 0;
   form.s_id.value='4733' ;
   form.cart_add.value = 1 ;
   //alert(form.osago_premia.value) ;
   resolve()     ;
   form.submit() ;
   return 1 ;
} 

/* Дизэйбл списков */
function chk_zag() 
{
  form = document.tarificator;
  if (form.zagran.checked) 
  {
   form.srok1.disabled=true ;
  }
  else 
  {
    form.srok1.disabled=false ;      
  } 
}

/* базовый тариф */
var tb=1, kt=1, kbm=1, kvs=1, ko=1, km=1, ks=1, kn=1;

function get_base_tarif(form) 
{
    var bt   = new Array ();
    var indx = 0 ;
    var baset = 0;
    //------ все базовые тарифы ----//  
    
        
          bt[indx] =  new Array(1,"1980","2375");   
          ++indx ;
        
          bt[indx] =  new Array(2,"395","395");   
          ++indx ;
        
          bt[indx] =  new Array(3,"2025","2025");   
          ++indx ;
        
          bt[indx] =  new Array(4,"3240","3240");   
          ++indx ;
        
          bt[indx] =  new Array(5,"810","810");   
          ++indx ;
        
          bt[indx] =  new Array(6,"1620","1620");   
          ++indx ;
        
          bt[indx] =  new Array(7,"2025","2025");   
          ++indx ;
        
          bt[indx] =  new Array(8,"1215","1215");   
          ++indx ;
        
          bt[indx] =  new Array(9,"305","305");   
          ++indx ;
        
          bt[indx] =  new Array(10,"1215","1215");   
          ++indx ;
        
        
    
    //--------  значение из дублирующего поля --------//
    var uct_id_h_val  = (  form.uct_id_h  ) ? form.uct_id_h.value : 0 ;
    var pt_id_h_val   = (  form.pt_id_h   ) ? form.pt_id_h.value  : 0 ;   
    
    if (! form.uct_id.selectedIndex &&  ! uct_id_h_val )
    {
        alert("Выберите тип ТС") ;
        form.uct_id.focus()      ;
        return 0                 ;
    }
    var car_type_id    = form.uct_id.options[form.uct_id.selectedIndex].value || uct_id_h_val   ;
    var person_type_id = form.pt_id.options[form.pt_id.selectedIndex].value   || pt_id_h_val  ;
     
    for(var i=0;i<bt.length;i++)
    {
        if ( bt[i][0] == car_type_id )
        {
            //------ в зависимости от типа лица : физ. / юр. ------//
            baset = ( person_type_id == 1 ) ? bt[i][1] : bt[i][2];
            tb = baset;
            return  baset;
        }
    }
}

/*-------------------------------------
          к-т от мощи двигат  KM
---------------------------------------*/
function get_engine_capacity_coef(form)
{
    var coef_ary = new Array ();
    var indx     = 0 ;
    
    
        
          coef_ary[indx] = new Array(1,1.5);    
          ++indx ;
        
          coef_ary[indx] = new Array(2,1.7);    
          ++indx ;
        
          coef_ary[indx] = new Array(3,1.9);    
          ++indx ;
        
          coef_ary[indx] = new Array(4,0.7);    
          ++indx ;
        
          coef_ary[indx] = new Array(5,1);    
          ++indx ;
        
          coef_ary[indx] = new Array(6,1.3);    
          ++indx ;
        
          coef_ary[indx] = new Array(7,0.5);    
          ++indx ;
        
     
    
    //--------  значение из дублирующего поля --------//
    var capacity_id_h_val  = (  form.capacity_id_h  ) ? form.capacity_id_h.value : 0 ;
    
    if (!form.capacity_id.selectedIndex && !capacity_id_h_val )
    {
        alert("Выберите мощность ТС");
        form.capacity_id.focus();
        return 0 ;
    }
    var capacity_id  = form.capacity_id.options[form.capacity_id.selectedIndex].value || capacity_id_h_val ;
         
    for(var i=0;i<coef_ary.length;i++)
    {
        if ( coef_ary[i][0] == capacity_id )
        {
            //------ в зависимости от типа лица : физ. / юр. ------//
            km = coef_ary[i][1]
            return km;
        }
    }
} 

/*--------------------------------------
              От региона KT
---------------------------------------*/

function get_region_coef(form) 
{
    var region_id      = -1 ;
    for (var i=0; i<form.region_id.length; i++ ) 
    {
        if (form.region_id[i].checked)  { region_id = form.region_id[i].value }
    }
    if (region_id < 0 )
    {
        alert("Выберите территорию преимущественного использования ТС");
        form.region_id[0].focus();
        return  0 ;
    }
    var coef_ary = new Array ();
    var indx     = 0 ;
    
        
          coef_ary[indx] = new Array(3800,2,1.2) ;   
          ++indx ;
        
          coef_ary[indx] = new Array(3801,1.8,1) ;   
          ++indx ;
        
          coef_ary[indx] = new Array(3803,1.6,1) ;   
          ++indx ;
        
          coef_ary[indx] = new Array(3804,1.3,0.8) ;   
          ++indx ;
        
          coef_ary[indx] = new Array(3805,1,0.8) ;   
          ++indx ;
        
          coef_ary[indx] = new Array(3806,0.6,0.4) ;   
          ++indx ;
        
          coef_ary[indx] = new Array(3807,0.6,0.4) ;   
          ++indx ;
        
     
    
    var is_traktor = 0 ;
    if (  form.uct_id.options[form.uct_id.selectedIndex].value == 8 || form.uct_id.options[form.uct_id.selectedIndex].value == 9  ) { is_traktor = 1 ; }

    for(var i=0;i<coef_ary.length;i++)
    {
        if ( coef_ary[i][0] == region_id )
        {
            //------ в зависимости от типа лица : физ. / юр. ------//
            kt = coef_ary[i][is_traktor+1];
            return kt ;
        }
    }
    
}       
  
/*--==================================================
    Коэффициент зависимости от срока/периода использования   KS
=====================================================--*/

function get_insurence_period_coef(form,location_type)
{
    var coef_ary = new Array ();
    var indx     = 0 ;
    
        
          coef_ary[indx] = new Array(1,0.3) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(2,0.2) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(3,0.4) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(4,0.5) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(5,0.6) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(7,0.7) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(8,0.7) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(9,0.8) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(10,0.9) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(11,0.95) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(12,1) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(13,0.65) ; 
          ++indx ;
        
     
    
    var period_id ;
    if ( location_type == 1 )
    {
        period_id = form.srok1.options[form.srok1.selectedIndex].value  ;
    }
    else if ( location_type == 2 ) 
    {
        //period_id = form.srok2.options[form.srok1.selectedIndex].value  ;
    }
    else
    {
        return ;
    }
    for(var i=0;i<coef_ary.length;i++)
    {
        if ( coef_ary[i][0] == period_id )
        {
            ks = coef_ary[i][1]
            return ks ;
        }
    }
    
}


/*--==================================================
    Коэффициент зависимости от количества доп. лиц KO
=====================================================--*/

function  get_person_limit_coef(form) 
{
   var coef_ary = new Array ();
   var indx     = 0 ;
   
        
          coef_ary[indx] = new Array(1,1) ; 
          ++indx ;
        
          coef_ary[indx] = new Array(2,1.5) ; 
          ++indx ;
        
   
   
   //------  текущее выбранное значение  -----//
   var person_limit_id ;
   for(var i=0; i< form.kdop.length ; i++)
   {
        if ( form.kdop[i].checked )  {  person_limit_id = form.kdop[i].value ;  }
   }
   //alert('person_limit='+person_limit) ;
   for(var i=0; i < coef_ary.length;i++)
    {
        if ( person_limit_id ==  coef_ary[i][0] )
        {
            ko  = coef_ary[i][1] ;
            if ( person_limit_id  == 2 )
            {
                /*-- если  "не ограничено" то возрастной не применяется  --*/   
                kvs = 1 ;
            }
        }        
    }
  
   var ret_ary = new Array(ko,kvs) ; 
   return ret_ary ;
}  
/*--====================================
             Подсчёт стоимости               
=====================================--*/
function resolve () 
{
  form = document.tarificator ;
  
  
  /*----- базовый тариф  -----*/ 
  var btar = get_base_tarif(form) ;   
  if ( !btar ) return ;
  //alert(btar) ;
  
  /*-----  к-т от мощи двигат -----*/
  km = get_engine_capacity_coef(form) ;   
  if ( ! km ) return ;
  //alert(km) ;
  
  /*----   Коэффициент зависимости от территории преимущественного использования  -----*/
  kt = get_region_coef(form) ;
  //alert(kt) ;
  if( !kt ) return ;
  
  //***********************//
  var st_voz_h_val  = (  form.st_voz_h ) ? form.st_voz_h.value : 0 ;
  if ( !form.st_voz.length && form.st_voz.value > 0 && form.st_voz.checked ) 
  { 
    kvs  =  form.st_voz.value ; 
  }
  else 
  {    
        for(var i=0; i< form.st_voz.length ; i++) 
        {
            if ( form.st_voz[i].checked )  {  kvs = form.st_voz[i].value ;  }
        }
  }   
  if(!kvs) kvs = st_voz_h_val  ;  
  
  //alert(Kvs) ;
  //к-т от стажа и возраста
  
  /*------- Коэффициент  : есть ли ограничение количества допущенных лиц ------*/
   var ret_ary = get_person_limit_coef(form) ; 
   ko      = ret_ary[0] ;
   kvs     = ret_ary[1] ;

  //если нет ограничения, то возрастной не применяется
  //Коэффициент зависимости от количества лиц
  
  /*--  Коэффициент зависимости от периода использования --*/
  var ks = get_insurence_period_coef(form,1) ; 
  
  /*--    Коэффициент зависимости от срока страхования   --*/ 
  var kp = get_insurence_period_coef(form,2) ;
  
  if (form.zagran.checked)
  {  
    kt=2;
    kvs=1.3; 
    ko=1;
    ks=1;
  } 
  else 
  {
    kp=1;
  }
  /*---------------------------------------------------------
                            ТИП ЛИЦА 
  -----------------------------------------------------------*/              
  var person_type_id   = (  form.pt_id_h   ) ? form.pt_id_h.value  : 0 ;
  if ( ! person_type_id  ) person_type_id  = form.pt_id.options[form.pt_id.selectedIndex].value
  var formula='??';

//+--------+---------------------------+-----------------+
//| uct_id | coef_1                    | coef_2          |
//+--------+---------------------------+-----------------+
//|      1 | TB;KT;KBM;KVS;KO;KM;KS;KN | TB;KT;KBM;KM;KN |
//|      2 | TB;KT;KS                  | TB;KT           |
//|      3 | TB;KT;KBM;KVS;KO;KS;KN    | TB;KT;KBM;KN    |
//|      4 | TB;KT;KBM;KVS;KO;KS;KN    | TB;KT;KBM;KN    |
//|      5 | TB;KT;KS                  | TB;KT           |
//|      6 | TB;KT;KBM;KVS;KO;KS;KN    | TB;KT;KBM;KN    |
//|      7 | TB;KT;KBM;KVS;KO;KS;KN    | TB;KT;KBM;KN    |
//|      8 | TB;KT;KBM;KVS;KO;KS;KN    | TB;KT;KBM;KN    |
//|      9 | TB;KT;KS                  | TB;KT           |
//|     10 | TB;KT;KBM;KVS;KO;KS;KN    | TB;KT;KBM;KN    |
//+--------+---------------------------+-----------------+

  var tts = form.uct_id.options[form.uct_id.selectedIndex].value ; 

  if ( person_type_id == 2 )
  {
    //---  возраст ---//
    kvs = 1 ;
    //--- период ----//
    ks  = 1 ;
    //----- срок ----//
    kp = 1 ;
    //---- кол-во допущенных ли ц ---//
    ko = 1 ;
    
    var Kit;
    if(tts==1) { Kit=km; formula='kbm*km*kn' }
    else if (tts==2 || tts==5 || tts==9) { Kit=1; formula='' }
    else { Kit=1; formula='kbm*kn' }
    prem = btar*kt*Kit*1 ; 
  }
  else
  {
    var Kit=1 ;
    if (tts==1){Kit = kvs*ko*km*ks; formula='kvs*ko*km*ks'}
    else if (tts==2 || tts==5 || tts==9){Kit = ks; formula='ks'}
    else {Kit = kvs*ko*ks; formula='kvs*ko*ks'}
   
    if (Kit>3){Kit=3}; 
    
    prem = btar*kt*Kit*1; 
  }
  form.osago_premia.value = Math.ceil(prem*100)/100  ;
  if (prem>0) { form.osago_premia.disabled = false; }
} 

function test () {
  resolve();
  var form = document.tarificator
  form.submit();
}