/*
 * osago.js
 */

var amount;

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

tsowner_names[0] = "---";
tsowner_names[1] = " ";
tsowner_names[2] = " ";


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

tstype_names[0] = "---";
tstype_names[1] = " ";
tstype_names[2] = "   ";
tstype_names[3] = " ( .. )";
tstype_names[4] = "    10 ";
tstype_names[5] = "    10 ";
tstype_names[6] = "   ";
tstype_names[7] = "      20";
tstype_names[8] = "      20";
tstype_names[9] = "";
tstype_names[10] = "";
tstype_names[11] = "";
tstype_names[12] = "  ";
tstype_names[13] = "  ";

tstype_values[0] = 0;
tstype_values[1] = 2375;
tstype_values[2] = 395;
tstype_values[3] = 2965;
tstype_values[4] = 2025;
tstype_values[5] = 3240;
tstype_values[6] = 810;
tstype_values[7] = 1620;
tstype_values[8] = 2025;
tstype_values[9] = 1620;
tstype_values[10] = 1010;
tstype_values[11] = 1215;
tstype_values[12] = 305;
tstype_values[13] = 1215;

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

homeregion_names[0] = "---";
homeregion_names[1] = "";
homeregion_names[2] = "/ -";
homeregion_names[3] = "/ -";
homeregion_names[4] = "/ -";
homeregion_names[5] = "/ -";
homeregion_names[6] = "/ -";
homeregion_names[7] = "/ -";
homeregion_names[8] = "/ -";
homeregion_names[9] = "/ -";
homeregion_names[10] = "/ -";
homeregion_names[11] = "/ -";
homeregion_names[12] = "/ -";
homeregion_names[13] = "/? -";
homeregion_names[14] = "/ -";
homeregion_names[15] = "/ -";
homeregion_names[16] = "/ -";
homeregion_names[17] = "/ -";
homeregion_names[18] = "/ -";
homeregion_names[19] = "/ -";
homeregion_names[20] = "/ -";
homeregion_names[21] = "/ -";
homeregion_names[22] = "/ -";
homeregion_names[23] = "/ -";
homeregion_names[24] = "/ -";
homeregion_names[25] = "/ -";
homeregion_names[26] = "/- -";
homeregion_names[27] = "/ -";
homeregion_names[28] = "/ -";
homeregion_names[29] = "/- -";
homeregion_names[30] = "/- -";
homeregion_names[31] = "/ -";
homeregion_names[32] = "/ -";
homeregion_names[33] = "/- -";
homeregion_names[34] = "/- -";
homeregion_names[35] = "/ -";
homeregion_names[36] = "/ -";
homeregion_names[37] = "/ -";
homeregion_names[38] = "/ -";
homeregion_names[39] = "/ -";
homeregion_names[40] = "/ -";

homeregion_values[0] = 0;
homeregion_values[1] = 2;
homeregion_values[2] = 1.7;
homeregion_values[3] = 1.7;
homeregion_values[4] = 1.7;
homeregion_values[5] = 1.7;
homeregion_values[6] = 1.7;
homeregion_values[7] = 1.7;
homeregion_values[8] = 1.7;
homeregion_values[9] = 1.7;
homeregion_values[10] = 1.7;
homeregion_values[11] = 1.7;
homeregion_values[12] = 1.7;
homeregion_values[13] = 1.7;
homeregion_values[14] = 1.7;
homeregion_values[15] = 1.7;
homeregion_values[16] = 1.7;
homeregion_values[17] = 1.7;
homeregion_values[18] = 1.7;
homeregion_values[19] = 1.7;
homeregion_values[20] = 1.7;
homeregion_values[21] = 1.7;
homeregion_values[22] = 1.7;
homeregion_values[23] = 1.7;
homeregion_values[24] = 1.7;
homeregion_values[25] = 1.7;
homeregion_values[26] = 1.7;
homeregion_values[27] = 1.7;
homeregion_values[28] = 1.7;
homeregion_values[29] = 1.7;
homeregion_values[30] = 1.7;
homeregion_values[31] = 1.7;
homeregion_values[32] = 1.7;
homeregion_values[33] = 1.7;
homeregion_values[34] = 1.7;
homeregion_values[35] = 1.7;
homeregion_values[36] = 1.7;
homeregion_values[37] = 1.7;
homeregion_values[38] = 1.7;
homeregion_values[39] = 1.7;
homeregion_values[40] = 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(9);
var ub_values = new Array(9);

ub_names[0] = "---";
ub_names[1] = ",    ";
ub_names[2] = "  ";
ub_names[3] = "  ";
ub_names[4] = "";

ub_values[0] = 0;
ub_values[1] = 2.45;
ub_values[2] = 1.55;
ub_values[3] = 1;
ub_values[4] = 0.95;

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


function displayHomeregionSelect()
{
    for ( i = 0; i <= 40; 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 <= 4; 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);
};

