function SetSalaryState() {
    var dc = window.top.document;
    var elem = dc.calc.is_work;
    if(elem[1].checked == true)
        dc.calc.salary.disabled = false;
    else {
        dc.calc.salary.value = 0;
        dc.calc.salary.disabled = true;
    }
}

function SetRnCodeState() {
    var dc = window.top.document;
    var elem = dc.calc.is_rncode;
    if(elem[1].checked == true)
        dc.calc.rncode.disabled = false;
    else {
        dc.calc.rncode.value = 1;
        dc.calc.rncode.disabled = true;
    }
}

function CalcGrantSum() {
    var dc = window.top.document;
  
    if(parseFloat(dc.calc.rncode.value) < 1 || 
       parseFloat(dc.calc.rncode.value) > 2 ) {
        alert('Районный коэффициент должен быть в диапазоне от 1 до 2!');
        return;
    }
  
    var init_sum = parseFloat(dc.calc.salary.value) * 30.4 * 0.4;
    var elem_rncode = dc.calc.is_rncode;
    var elem_child = dc.calc.child;
    var elem_chaes = dc.calc.chaes;
  
    var calc_date = new Date();
  
    var dt_str = String(dc.calc.calc_date.value);
  
    var a = dt_str.split('.');
    // проверяем дату на корректность
    var day = String(a[0]); var month = String(a[1]); var year = String(a[2]);
    if (parseInt(day, 10) < 1 || parseInt(day, 10) > 31 ) {
        alert('Неправильно задан день!');
        return;
    }

    if (parseInt(month, 10) < 1 || parseInt(month, 10) > 12) {
        alert('Неправильно задан месяц!');
        return;
    }

    if (parseInt(year, 10) < 2007 ) {
        alert('Год должен быть не меньше 2007-го!');
        return;
    }

    calc_date.setFullYear(parseInt(year, 10),parseInt(month, 10)-1,parseInt(day, 10));
  
    var dt1 = new Date(); var dt2 = new Date();
    dt1.setFullYear(2007, 0, 1);
    dt2.setFullYear(2008, 0, 1);
         
    var max_sum = 0; var min_sum = 0;
    if (elem_child[0].checked == true) { // 1-й ребенок
        if (calc_date >= dt2) {
            max_sum = 6510;
            min_sum = 1627.5;
        } else if(calc_date >= dt1) {
            max_sum = 6000;
            min_sum = 1500;
        }
    } else { // второй ребенок
        if(calc_date >= dt2) {
            max_sum = 6510;
            min_sum = 3255;
        } else if(calc_date >= dt1) {
            max_sum = 6000;
            min_sum = 3000;
        }
    }
    if(elem_rncode[1].checked == true) { //есть повышающий коэффициент
        max_sum = parseFloat(dc.calc.rncode.value) * max_sum;
        min_sum = parseFloat(dc.calc.rncode.value) * min_sum;
    }

    // с 1-го июля 2008-го года индексация на 1.0185
    var dt_ind_1 = new Date();
    dt_ind_1.setFullYear(2008,6,1);
    
    if(calc_date >= dt_ind_1) {
        // увеличиваем границы
        max_sum = max_sum * 1.0185;
        min_sum = min_sum * 1.0185;
    }

    // с 1-го января 2009-го года индексация на 1.085
    // в мае задним числом коэффициент увеличили до 1.13
    var dt_ind_2 = new Date();
    dt_ind_2.setFullYear(2009,0,1);

    if(calc_date >= dt_ind_2) {
        // увеличиваем границы
        max_sum = max_sum * 1.13;
        min_sum = min_sum * 1.13;
    }
   
    if(init_sum < min_sum)
        init_sum = min_sum;

    if(init_sum > max_sum)
        init_sum = max_sum;

    if(elem_chaes[1].checked == true) //есть ЧАЭС
        init_sum = init_sum * 2;
    
    dc.getElementById('GrantSum').innerHTML = number_format(init_sum, 2, ',', ' ');
}
