/*
 * osago.js
 */

var amount;

/* * * */
var tsowner_names = new Array(3);

tsowner_names[0] = "---";
tsowner_names[1] = "Физическое лицо";
tsowner_names[2] = "Юридическое лицо";


/* * * */
var tstype_names = new Array(8);
var tstype_values = new Array(8);

tstype_names[0] = "---";
tstype_names[1] = "легковой автомобиль";
tstype_names[2] = "грузовой автомобиль грузоподъёмностью до 16 тонн";
tstype_names[3] = "грузовой автомобиль грузоподъёмностью свыше 16 тонн";
tstype_names[4] = "прицеп к грузовому автомобилю";
tstype_names[5] = "автобус с числом мест сидения до 20";
tstype_names[6] = "автобус с числом мест сидения свыше 20";
tstype_names[7] = "мотоциклы и мотороллеры";

tstype_values[0] = 0;
tstype_values[1] = 2375;
tstype_values[2] = 2025;
tstype_values[3] = 3240;
tstype_values[4] = 810;
tstype_values[5] = 1620;
tstype_values[6] = 2025;
tstype_values[7] = 1215;

/* * * */
var homeregion_names = new Array(3);
var homeregion_values = new Array(3);

homeregion_names[0] = "---";
homeregion_names[1] = "Москва";
homeregion_names[2] = "Московская область";

homeregion_values[0] = 0;
homeregion_values[1] = 2;
homeregion_values[2] = 1.7;


/* * * */
var drivernum_names = new Array(3);

drivernum_names[0] = "---";
drivernum_names[1] = "Ограничено";
drivernum_names[2] = "Неограничено";


/* * * */
var driverage_names = new Array(3);

driverage_names[0] = "---";
driverage_names[1] = "до 22 лет";
driverage_names[2] = "свыше 22 лет";


/* * * */
var driverexp_names = new Array(3);

driverexp_names[0] = "---";
driverexp_names[1] = "до 2 лет";
driverexp_names[2] = "свыше 2 лет";


/* * * */
var tspower_names = new Array(7);
var tspower_values = new Array(7);

tspower_names[0] = "---";
tspower_names[1] = "&lt;= 50 л.с.";
tspower_names[2] = "&gt; 50 л.с и &lt;= 70 л.с.";
tspower_names[3] = "&gt; 70 л.с и &lt;= 100 л.с.";
tspower_names[4] = "&gt; 100 л.с и &lt;= 120 л.с.";
tspower_names[5] = "&gt; 120 л.с и &lt;= 150 л.с.";
tspower_names[6] = "&gt; 150 л.с";


tspower_values[0] = 0;
tspower_values[1] = 0.5;
tspower_values[2] = 0.7
tspower_values[3] = 1;
tspower_values[4] = 1.3;
tspower_values[5] = 1.5;
tspower_values[6] = 1.7;

var ub_names = new Array(10);
var ub_values = new Array(10);

ub_names[0] = "---";
ub_names[1] = "были, и более одного раза";
ub_names[2] = "были один раз";
ub_names[3] = "договор заключается впервые";
ub_names[4] = "Не было 1 год";
ub_names[5] = "Не было 2 года";
ub_names[6] = "Не было 3 года";
ub_names[7] = "Не было 4 года";
ub_names[8] = "Не было 5 лет";
ub_names[9] = "Не было 6 лет";

ub_values[0] = 0;
ub_values[1] = 2.45;
ub_values[2] = 1.55;
ub_values[3] = 1;
ub_values[4] = 0.95;
ub_values[5] = 0.9;
ub_values[6] = 0.85;
ub_values[7] = 0.8;
ub_values[8] = 0.75;
ub_values[9] = 0.7;

function displayTSTypeSelect()
{
    for ( i = 0; i <= 7; i++ ) {
	document.write("<option value=\""+i+"\">"+tstype_names[i]+"</option>\n");
    }
}


function displayHomeregionSelect()
{
    for ( i = 0; i <= 2; i++ ) {
	document.write("<option value=\""+i+"\">"+homeregion_names[i]+"</option>\n");
    }
}


function displayDriverNumSelect()
{
    for ( i = 0; i <= 2; i++ ) {
	document.write("<option value=\""+i+"\">"+drivernum_names[i]+"</option>\n");
    }
}


function displayDriverAgeSelect()
{
    for ( i = 0; i <= 2; i++ ) {
	document.write("<option value=\""+i+"\">"+driverage_names[i]+"</option>\n");
    }
}


function displayDriverExpSelect()
{
    for ( i = 0; i <= 2; i++ ) {
	document.write("<option value=\""+i+"\">"+driverexp_names[i]+"</option>\n");
    }
}


function displayTSPowerSelect()
{
    for ( i = 0; i <= 6; i++ ) {
	document.write("<option value=\""+i+"\">"+tspower_names[i]+"</option>\n");
    }
}

function displayUBSelect()
{
    for ( i = 0; i <= 9; i++ ) {
	document.write("<option value=\""+i+"\">"+ub_names[i]+"</option>\n");
    }
}


function recalcAmount()
{
	amount = 0;
	
	document.f.TSOWNER_NAME.value =
	    tsowner_names[ document.f.tsowner.value ];
	if ( document.f.tsowner.value == "2" ) {
	    // юр.лицо
	    document.f.drivernum.disabled = true;
	    document.f.driverage.disabled = true;
	    document.f.driverexp.disabled = true;
	} else {
	    //
	    document.f.drivernum.disabled = false;
	    document.f.driverage.disabled = false;
	    document.f.driverexp.disabled = false;
	}
	
	document.f.TSTYPE_NAME.value =
	    tstype_names[ document.f.tstype.value ];
	amount =
	    tstype_values[ document.f.tstype.value ];
	if (( document.f.tsowner.value == "1" ) &&
	    ( document.f.tstype.value == "1" )) 
	{
    	    amount = 1980;
	}
	    
	document.f.HOMEREGION_NAME.value = 
	    homeregion_names[document.f.homeregion.value];
	amount = amount * homeregion_values[document.f.homeregion.value];

	if ( document.f.tsowner.value == "1" ) {
    	    document.f.DRIVERNUM_NAME.value =
		drivernum_names[document.f.drivernum.value];
    	    if ( document.f.drivernum.value == 1 ) {
       		amount = amount * 1;
    	    } else if ( document.f.drivernum.value == 2 ) {
       		amount = amount * 1.5;
	    } else {
		amount = 0;
	    }

    	    document.f.DRIVERAGE_NAME.value =
		driverage_names[ document.f.driverage.value ];
	    document.f.DRIVEREXP_NAME.value =
		driverexp_names[ document.f.driverexp.value ];
	    if ( document.f.driverage.value == 1 ) {
    		    if ( document.f.driverexp.value == 1 ) {
                	amount = amount * 1.3;
            	    } else if ( document.f.driverexp.value == 2 ) {
                	amount = amount * 1.2;
            	    } else {
                	amount = 0;
            	    }
    	    } else if ( document.f.driverage.value == 2 ) {
        	if ( document.f.driverexp.value == 1 ) {
                	amount = amount * 1.15;
                } else if ( document.f.driverexp.value == 2 ) {
                	amount = amount * 1;
                } else {
                	amount = 0;
                }
    	    } else {
        	amount = 0;
    	    }
	} else if ( document.f.tsowner.value == "2" ) {
	    // юр.лицо
	} else {
	    amount = 0;	
	}

	document.f.TSPOWER_NAME.value =
	    tspower_names[ document.f.tspower.value ];
        if (( document.f.tstype.value == 1 ) || 
        	( document.f.tstype.value == 3 ))
        {
        	amount = amount * tspower_values[document.f.tspower.value];
        }

	document.f.UB_NAME.value = 
	    ub_names[document.f.ub.value];
	amount = amount * ub_values[document.f.ub.value];
        document.f.AMOUNT.value = MoneyFormat(amount)+ " руб.";
}


function roundEx(x, dgt)
{
	var p, n;
	p=Math.floor(Math.pow(10,dgt));
	(x>0) ? n = Math.floor(x) : n = Math.ceil(x);
	return(n + Math.round((x-n)*p)/p);
};

function MoneyFormat(x)
{
	var p,i,j;
	var s="", s2="";
	p=roundEx(x,2);	s=p.toString();
	p=s.lastIndexOf(".");
	if (p>0) {s2="," + s.substring(p+1, s.length); s = s.substring(0,p);} else {s2=",00";};
	if(s2.length<3)s2+="0";	j=1; i=s.length;
	for((i%3)?i=Math.floor(i/3):i=Math.floor(i/3)-1; i>0;--i)
	{
		p=s.length-(3*j)-(j-1);j++;
		s=s.substring(0,p) + " "+ s.substring(p,s.length);
	}
	return(s+s2);
};

