var err='error';

function getEl(id){
	return document.getElementById(id);
}
function getElv(id){
	return document.getElementById(id).value;
}

function getElvA(id){
	return Math.abs(document.getElementById(id).value);
}
function HideI(id){
	getEl(id).className='CKhide';
}
function ShowI(id){
	getEl(id).className='CKshow';
}

function numfor(n,d)
{
	var i=0;
	var _i=0;
	var p=0;
	var pp=0;
	var t=0;
	t=n;
	if (t==err || t=='') return '';

	t=Math.round(t*Math.pow(10,d))/Math.pow(10,d);

	t=t.toString();
	p=t.indexOf('.');
	if (p==-1)
		if (d>0)
		{
			t=t+'.';
			for (i=0;i<d;i++) t=t+'0';
			pp=t.length-d-1;
		}
		else
			pp=t.length;
	else
	{
		for (i=t.length-p-1;i<d;i++) t=t+'0';
		pp=p;
	}

	if (t.charAt(0)=='-') _i=1;
	for (i=pp-3;i>_i;i=i-3) t=t.substr(0,i)+' '+t.substring(i);
	return t.replace('.',',');
}

//////////////////////////////////////////////////////////////////////////////////////////////////////

var arC = [
[
	['36','Воронеж ',true],
	[
		['Воронеж',1.3]
	]
],
[
	['36','Воронежская обл.'],
	[
		['Воронежская обл.',0.55]
	]
]
];



var _Tb = new Array (1980,2375,395,2965,2025,3240,810,1620,2025,1620,1010,1215,305,1215,2965);
var _Kt = new Array (2.0,1.2, 1.8,1.0, 1.6,1.0, 1.3,0.8, 1.0,0.8, 0.6,0.6, 0.4,0.4);
var _Kbm= new Array (1.00,2.45,2.30,1.55,1.40,1.00,0.95,0.90,0.85,0.80,0.75,0.70,0.65,0.60,0.55,0.50);
var _Kvs= new Array (1.30,1.30,1.20,1.15,1.0,1.0);
var _Km = new Array (1.0,0.5,0.7,1.0,1.3,1.5,1.7);
var _Ks = new Array (1.00,1.00,0.95,0.90,0.80,0.70);
var _Kp = new Array (1.00,1.00,0.95,0.9,0.80,0.70,0.65,0.60,0.50,0.4,0.3,0.2);
var _Kn = new Array (1.00,1.00,1.50);

var Tb	= 0;
var Kt	= 0;
var Kbm	= 0;
var Kvs	= 0;
var Ko	= 0;
var Km	= 0;
var Ks	= 0;
var Kp	= 0;
var Kn	= 0;
var p	= 0;

var klient,registration,kind,city,bonus,drivers,stage,power,usage,period,nr,terr;

function region()
{
	var sText;
	var oTerrOpt = getEl('territorya').options;
	oTerrOpt.length = null;
	for (var i=0; i < arC.length; i++){
		sText = arC[i][0][0] + ' ' + arC[i][0][1];
		oTerrOpt[i] = new Option(sText,i+1);
		oTerrOpt[i].setAttribute('region',arC[i][0][0]);
		if ( arC[i][0][2] ) {
			oTerrOpt[i].selected = true;
		}
	}
	//alert(arC.length);
	//(arC.length == 2) ? HideI('city') : ShowI('city'); 
}

function territory()
{
	var x = parseInt(getElv('territorya')) - 1;
	var cities = arC[x][1];
	getEl('city').options.length = null;
	for (var i=0; i < cities.length; i++)
		getEl('city').options[i]=new Option(cities[i][0],cities[i][1]);
	check();
}

function check()
{
	klient=getElvA('klient');
	registration=getElvA('registr');
	kind=getElvA('tip');
	city=getElvA('city');
	bonus=getElvA('bonusmalus');
	drivers=getElvA('vozrast');
	stag=getElvA('stage');
	power=getElvA('power');
	usage=getElvA('usage');
	period=getElvA('period');
	nr=getElvA('narush');
	terr = parseInt(getEl('territorya').options[getEl('territorya').selectedIndex].getAttribute('region'));
 
	if (kind==1 || kind==3)
	{
		HideI('hd_power');
		ShowI('power');
	}
	else
	{
		HideI('power');
		ShowI('hd_power');
		power=0;
	}


	if (klient==2 || registration>2 || kind==2 || kind==6 || kind==12)
	{
		HideI('vozrast');
		ShowI('hd_drivers');
		HideI('stage');
		ShowI('hd_stage');
	}
	else
	{
		HideI('hd_drivers');
		ShowI('vozrast');
	}


	if (klient==2 || drivers==3 || registration>2 || kind==2 || kind==6 || kind==12)
	{
		HideI('stage');
		ShowI('hd_stage');
	}
	else
	{
		HideI('hd_stage');
		ShowI('stage');
	}

  if (registration>=2)
	{
		HideI('territorya');
		ShowI('hd_territorya');
		HideI('city');
		ShowI('hd_city');
	}
	else
	{
		HideI('hd_territorya');
		ShowI('territorya');
		
		if (terr==50 || terr==77 || terr==78)
		{
			HideI('city');
			ShowI('hd_city');
		}
		else
		{
			HideI('hd_city');
			ShowI('city');
		}
	}


	if (registration>1 || kind==2 || kind==6 || kind==12)
	{
		HideI('bonusmalus');
		ShowI('hd_class');
		bonus=0;
	}
	else
	{
		HideI('hd_class');
		ShowI('bonusmalus');
	}


	if (registration==1)
	{
		HideI('period');
		ShowI('hd_period');
		period=0;
	}
	else
	{
		HideI('hd_period');
		ShowI('period');
	}


	if (registration==2 && klient==1 || klient==2)
	{
		HideI('period');
		ShowI('hd_period');

	}

	if (registration>2 && klient==2)
	{
		ShowI('period');
		HideI('hd_period');

	}


	if (registration==1 && klient==2)
	{
		period=1;
	}


if (registration==2 && klient==2)
	{
		period=11;
	}


	if (klient==2 || registration>1)
	{
		HideI('usage');
		ShowI('hd_usage');
		usage=0;
	}
	else
	{
		HideI('hd_usage');
		ShowI('usage');
	}


	if (kind==2 || kind==6 || kind==12 && klient==2)
	{
		HideI('narush');
		ShowI('hd_nr');
		nr=0, Ko=1, drivers=5;
	}
	else
	{
		HideI('hd_nr');
		ShowI('narush');
		Ko=1.5
	}

calc();
}


function calc()
{
	if (klient==1 && kind==1)
		Tb=_Tb[0];
	else
		Tb=_Tb[kind];


switch (registration)
	{
		case 1:
		case 2:
			if (kind==11 || kind==12) // тракторы и прицепы к ним
				switch(city)
				{
					case 2:
						Kt=1.2;
						break;
					case 1.8:
						Kt=1;
						break;
					case 1.6:
						Kt=1;
						break;
					case 1.3:
						Kt=0.8;
						break;
					case 1:
						Kt=0.8;
						break;
					default:
						Kt=city;
				}
			else Kt=city;
			break;
		case 3:
			Kt=1;
			break;
		default:
			Kt=2;
	}


if (klient==1 && registration==1 && drivers==2 && stag==2) drivers=4, Ko=1;
else if (klient==1 && registration==1 && drivers==2 && stag==1) drivers=3, Ko=1;
else if (klient==1 && registration==1 && drivers==1 && stag==1) drivers=1, Ko=1;
else if (klient==1 && registration==1 && drivers==1 && stag==2) drivers=2, Ko=1;

else if (klient==1 && registration==2 && drivers==2 && stag==2) drivers=4, Ko=1, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==2 && stag==1) drivers=3, Ko=1, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==1 && stag==1) drivers=1, Ko=1, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==1 && stag==2) drivers=2, Ko=1, Kt=1, Kbm=1;
else if (klient==1 && registration==1 && drivers==3 && kind==1) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==2) drivers=4, Ko=1, Kbm=1;

else if (klient==1 && registration==1 && drivers==3 && kind==3) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==4) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==5) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==6) drivers=4, Ko=1;
else if (klient==1 && registration==1 && drivers==3 && kind==7) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==8) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==9) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==10) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==11) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==12) drivers=4, Ko=1;
else if (klient==1 && registration==1 && drivers==3 && kind==13) drivers=4, Ko=1.5;
else if (klient==1 && registration==1 && drivers==3 && kind==14) drivers=4, Ko=1.5;

else if (klient==1 && registration==2 && drivers==3 && kind==1) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==2) drivers=4, Ko=1, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==3) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==4) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==5) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==6) drivers=4, Ko=1, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==7) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==8) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==9) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==10) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==11) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==12) drivers=4, Ko=1, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==13) drivers=4, Ko=1.5, Kt=1, Kbm=1;
else if (klient==1 && registration==2 && drivers==3 && kind==14) drivers=4, Ko=1.5, Kt=1, Kbm=1;

else if (klient==1 && registration==2) period=11;
else if (klient==1 && registration==3) drivers=5, Ko=1;
else if (klient==1 && registration==4 && kind==1) drivers=1;
else if (klient==1 && registration==4 && kind==2) drivers=5;
else if (klient==1 && registration==4 && kind==3) drivers=1;
else if (klient==1 && registration==4 && kind==4) drivers=1;
else if (klient==1 && registration==4 && kind==5) drivers=1;
else if (klient==1 && registration==4 && kind==6) drivers=5;
else if (klient==1 && registration==4 && kind==7) drivers=1;
else if (klient==1 && registration==4 && kind==8) drivers=1;
else if (klient==1 && registration==4 && kind==9) drivers=1;
else if (klient==1 && registration==4 && kind==10) drivers=1;
else if (klient==1 && registration==4 && kind==11) drivers=1;
else if (klient==1 && registration==4 && kind==12) drivers=5;
else if (registration>1 || kind==2 || kind==6 || kind==12) bonus=0;
else if (klient==1 && registration==1 || kind==2 || kind==6 || kind==12) Kbm=1;
else if (klient==2) Ko=1.5, drivers=5;

if (klient==2 && registration==2) Kt=1, drivers=5;
else if (klient==2 && registration==3) Kt=1, drivers=5, Ko=1;
else if (klient==2 && registration==4) Kt=2, drivers=5, Ko=1.5;




	Kbm=_Kbm[bonus];

	Kvs=_Kvs[drivers];

	Km=_Km[power];

	Ks=_Ks[usage];

	Kp=_Kp[period];

	Kn=_Kn[nr];

	p=Tb*Kt*Kbm*Kvs*Ko*Km*Ks*Kp*Kn;

	if (Kn>1)
	{
		if (p>5*Tb*Kt) p=5*Tb*Kt;
	}
	else
	{
		if (p>3*Tb*Kt) p=3*Tb*Kt;
	}

	//getEl('CKresult').innerTEXT = numfor(p,2);
	$('#CKresult').html(numfor(p,2)+' <span class="rur bold">p<span>уб.</span></span>');
	getEl('Tb').innerHTML = 'Базовая ставка: ' + numfor(Tb,2) + ' руб.';

	getEl('Kfs').innerHTML='Коэффициенты: Кт='+numfor(Kt,2)+'; Кбм='+numfor(Kbm,2)+'; Квс='+numfor(Kvs,2)+'; Ко='+numfor(Ko,2)+'; Км='+numfor(Km,2)+'; Кс='+numfor(Ks,2)+'; Кп='+numfor(Kp,2)+'; Кн='+numfor(Kn,2);

}

region();
territory();



function drawArray(){
	//for (var i=0; i < eval('arrTexts'+x+'.length'); i++)
	//	getEl('city').options[i]=new Option(eval('arrTexts'+x+'[i]'),eval('arrValues'+x+'[i]'));

  var iRegions = arC.length;
  var itm, cityes;

	document.write("<pre>");
	document.write("ar = [\r\n");
	for(var i = 0; i < iRegions; i++){
		itm = arC[i];
		region = itm[0];
		cityes = itm[1];
		document.write("\r\n[\r\n");
		document.write("\r\n\t['" + region[0] + "','" + region[1] + "'],");
		document.write("\r\n\t[");
		icount = cityes.length;
   	for(var j = 0; j < icount; j++){
			document.write("\r\n\t\t['" + cityes[j][0] + "'," + cityes[j][1] + "]");
			if ( j != icount - 1) {
			  document.write(",");
			}
		}
		document.write("\r\n\t]\r\n");
		document.write("]");
			if ( i != iRegions - 1) {
			  document.write(",");
			}
	}
	document.write("\r\n];\r\n");
	document.write("</pre>");

}  // (drawArray

