var CurrencyRate = 82;
var WholePremiumPaid = -0.12;
var Amortization = [0,0.1,0.2,0.3,0.4,0.5];

var PutnickaVehicleAge = [[1,0.84,0.72,0.62,0.54,0.46,0.40,0.34,0.29,0.24,0.2,0.176,0.152,0.128,0.104,0.1]//>14
				 ,[1,0.82,0.69,0.59,0.51,0.43,0.36,0.30,0.26,0.23,0.2,0.176,0.152,0.128,0.104,0.1]
				 ,[1,0.80,0.66,0.56,0.48,0.41,0.35,0.30,0.26,0.23,0.2,0.176,0.152,0.128,0.104,0.1]];
var MotocikliVehicleAge = [1,0.82,0.70,0.60,0.51,0.44,0.38,0.33,0.28,0.24,0.22,0.2,0.156,0.123,0.1];//>13
var TeretnaVehicleAge = [[1,0.80,0.63,0.50,0.41,0.34,0.28,0.23,0.20,0.176,0.152,0.128,0.104,0.1]//do 2.8t i kombi      >12
						,[1,0.78,0.61,0.48,0.39,0.32,0.27,0.23,0.20,0.176,0.152,0.128,0.104,0.1]//2.8-5.0t
						,[1,0.76,0.59,0.46,0.36,0.30,0.25,0.22,0.20,0.176,0.152,0.128,0.104,0.1]//5.1-7.5t
						,[1,0.74,0.57,0.45,0.36,0.30,0.25,0.22,0.20,0.176,0.152,0.128,0.104,0.1]];//>7.5t i tegljaci
var AutobusiVehicleAge =[[1,0.78,0.60,0.50,0.42,0.36,0.32,0.28,0.24,0.220,0.200,0.156,0.123,0.1]//medjumesni i turisticki
						,[1,0.74,0.60,0.46,0.37,0.31,0.27,0.23,0.20,0.156,0.123,0.100,0.100,0.1]];//gradski i prigradski

var PutnickaA = [3.6,2.88,2.34,2.16,3.13,2.95,2.09,1.48];
var PutnickaD = [[1.37,1.09,0.89,0.82,1.19,1.12,0.79,0.56]//kradja
				,[1.71,1.37,1.12,1.03,1.49,1.4,0.99,0.7]
				,[2.88,2.3,1.87,1.73,2.51,2.36,1.67,1.18]];
var PutnickaFRenta = [2.7,2.16,1.76,1.62,2.35,2.21,1.57,1.11];//otudjenje rentacar
var PutnickaFLeasing = [1.08,0.86,0.7,0.65,0.94,0.86,0.7,0.65];//otudjenje leasing
var PutnickaGlass = 7.2;
var PutnickaPurpose = [0,0.4,0.4,1.5,0];//namena - a,d,glass
var GPS = -0.05;//D
var Probation = -0.1;//preko 10 godina staza - sve
var Expensive = 0.5;//dzipovi - D
var InsuredCarNumber5 = -0.1;//popust na broj vozila 5
var InsuredCarNumber10 = -0.2;//popust na broj vozila 10

var Motocikli = [[2.38,1.9,1.54,1.42,2.07,1.95,1.38,0.98],[2.98,2.38,1.93,1.78,2.59,2.44,1.73,1.22]];
var Sicko = -0.3;

var TeretnaA = [[2.3,1.85,1.5,1.38,2,1.89,1.34,1.18],[1.73,1.38,1.13,1.04,1.51,1.42,1,0.71]];
var TeretnaD = [[0.9,0.71,0.58,0.54,0.78,0.74,0.52,0.46],[0.34,0.27,0.22,0.21,0.3,0.28,0.2,0.14]];
var TeretnaFRenta = [[1.73,1.38,1.13,1.04,1.5,1.42,1,0.89],[1.3,1.04,0.85,0.78,1.13,1.06,0.75,0.53]];
var TeretnaFLeasing = [[0.69,0.55,0.45,0.42,0.6,0.69,0.56,0.65],[0.52,0.42,0.34,0.31,0.45,0.69,0.56,0.52]];
var TeretnaG = [[2.85,2.28,1.86,1.71,2.48,2.34,1.65,1.46],[3.8,3.04,2.47,2.28,3.31,3.12,2.21,1.56]];
var TeretnaGlass = [3.2,2.88];
var TeretnaBreak = [5.9,5.36];
var TeretnaPurpose = [0,0.4,0.4,1.5,0.3,-0.2,-0.2,0];
					//	sve	,sve	,sve	,AGlass,A		A
var ClosedCase = 0.2;//A

var AutobusiA = [[1.67,1.34,1.09,1,1.45,1.37,0.97,0.68],[1.17,0.93,0.76,0.70,1.02,0.96,0.68,0.48]];
var AutobusiD = [[0.34,0.27,0.22,0.2,0.3,0.28,0.2,0.14],[0.23,0.2,0.16,0.14,0.2,0.19,0.13,0.09]];
var AutobusiGlass = 5.4;
var AutobusiBreak = 4.5;
var Tuition = 0.4;//a,d,glass

function ConvertToValue(v){
	if(v%100==0)
		return v/100+",00";
	if(v%10==0)
		b=v/100+"0";
	else 
		b=v/100+"";
	return b.substr(0,b.length-3)+","+b.substr(b.length-2,2)
}

function CheckInput()
{
	form=document.Premium;
	
	if(form.Type.value == 1)//putnicka
	{
		if(form.VehicleType.value == -1)
		{
			window.alert("Morate izabrati zapreminu vozila.");
			return false;
		}
	}
	if(form.Age.value == -1)
	{
		window.alert("Morate izabrati starost vozila.");
		return false;
	}
	
	if(form.VehicleValue.value == "")
	{
		window.alert("Morate uneti novonabavnu vrednost vozila.");
		return false;
	}
	if(parseFloat(form.VehicleValue.value)<1)
	{
		window.alert("Novonabavna vrednost vozila mora biti veca od nule.");
		return false;
	}
	else if(parseFloat(form.VehicleValue.value) != form.VehicleValue.value)
	{
		window.alert("Niste ispravno uneli novonabavnu vrednost vozila.");
		return false;
	}
	if(form.Type.value == 2)//motocikl
	{
		if(form.ParameterValue.value == -1)
		{
			window.alert("Morate izabrati radnu zapreminu motora.");
			return false;
		}
	}
	else if(form.Type.value == 3)//teretno
	{
	
	}
	else if(form.Type.value == 4)//autobus
	{
		if(form.Purpose.value == -1)
		{
			window.alert("Morate izabrati namenu vozila.");
			return false;
		}
	}	
	if(form.Type.value != 2 && form.Glass.checked)
	{
		if(form.GlassVehicleValue.value == "")
		{
			window.alert("Morate uneti osiguranu sumu za delimicni kasko.");
			return false;		
		}
		else if(parseFloat(form.GlassVehicleValue.value)<=0)
		{
			window.alert("Osigurana suma za delimicni kasko mora biti veca od nule.");
			return false;
		}
		else if(parseFloat(form.GlassVehicleValue.value) != form.GlassVehicleValue.value)
		{
			window.alert("Niste ispravno uneli osiguranu sumu za delimicni kasko.");
			return false;
		}
	}
	if(form.Type.value != 2 && form.Type.value != 1 && form.Break.checked)
	{
		if(form.BreakVehicleValue.value == "")
		{
			window.alert("Morate uneti osiguranu sumu za osiguranje radnog uredjaja od loma.");
			return false;		
		}
		if(parseFloat(form.BreakVehicleValue.value)<=0)
		{
			window.alert("Osigurana suma za osiguranje radnog uredjaja od loma mora biti veca od nule.");
			return false;
		}
		else if(parseFloat(form.BreakVehicleValue.value) != form.BreakVehicleValue.value)
		{
			window.alert("Niste ispravno uneli osiguranu sumu za osiguranje radnog uredjaja od loma.");
			return false;
		}
	}
	if(parseFloat(form.Bonus.value)>60)
	{
		window.alert("Bonus ne moze biti veci od 60%.");
		return false;		
	}
	return true;
}

function GetAgeVehiclePersent()
{
	if(document.Premium.Age.value != -1)
	{
		if(document.Premium.Type.value == 1)//putnicka
		{
			if(document.Premium.VehicleType.value != -1)
			{
				return PutnickaVehicleAge[(document.Premium.Diesel.checked? 2 : document.Premium.VehicleType.value)][document.Premium.Age.value];
			}
		}
		else if(document.Premium.Type.value == 2)//motocikl
		{
			return MotocikliVehicleAge[document.Premium.Age.value];
		}
		else if(document.Premium.Type.value == 3)//teretno
		{
			if(document.Premium.Weight.value != -1)
			{
				return TeretnaVehicleAge[document.Premium.Weight.value][document.Premium.Age.value];
			}
		}
		else if(document.Premium.Type.value == 4)//autobus
		{
			if(document.Premium.Purpose.value != -1)
			{
				return AutobusiVehicleAge[document.Premium.Purpose.value][document.Premium.Age.value];
			}
		}
	}		
	return 0;
}

function GetInsuredSum() {
	if(document.Premium.VehicleValue.value != '')
	{
		if(parseFloat(document.Premium.VehicleValue.value)>=0)
		{
			document.Premium.VehicleValue.value = parseFloat(document.Premium.VehicleValue.value);
			if(parseFloat(document.Premium.VehicleValue.value)>=0)
			{
				document.Premium.InsuredSum.value = Math.round(document.Premium.VehicleValue.value * GetAgeVehiclePersent());
			}			
		}
		else
		{
			document.Premium.VehicleValue.value = "";
			document.Premium.InsuredSum.value = "";
		}
	}
	else
	{
		document.Premium.InsuredSum.value = "";
	}
}

function GetVehicleValue() {
	if(document.Premium.InsuredSum.value != '')
	{
		if(parseFloat(document.Premium.InsuredSum.value)>=0)
		{
			document.Premium.InsuredSum.value = parseFloat(document.Premium.InsuredSum.value);
			if(parseFloat(document.Premium.InsuredSum.value)>=0)
			{
				document.Premium.VehicleValue.value = Math.round(document.Premium.InsuredSum.value / GetAgeVehiclePersent());
			}			
		}
		else
		{
			document.Premium.VehicleValue.value = "";
			document.Premium.InsuredSum.value = "";
		}
	}
	else
	{
		document.Premium.VehicleValue.value = "";
	}	
}

function ParseValue(value)
{
	if(parseInt(value) > 0) 
	{
		return parseInt(value);
	} 
	else 
	{
		return '';
	}	
}

function CalcPremium(){
	form=document.Premium;

	if(CheckInput())
	{
		FranchizeClaim = 0;
		if(form.Franchize.value > 0)
		{
			FranchizeClaim = form.Franchize.value;
		}
		else if(form.Claim.value > 0)
		{
			FranchizeClaim = form.Claim.value;
		}
		//VehicleValue = (parseFloat(form.VehicleValue.value)>=0? form.VehicleValue.value : 0);
		if(form.Type.value != 2)
		{
			GlassVehicleValue = (parseFloat(form.GlassVehicleValue.value)>=0? form.GlassVehicleValue.value : 0);
			StartGlassPremium = GlassVehicleValue;
		}
		//StartPremium = VehicleValue * VehicleAge[form.Age.value];
		StartPremium = (parseFloat(form.InsuredSum.value)>=0? form.InsuredSum.value : 0)
		StartEvasionPremium = StartPremium;
		StartTheftPremium = StartPremium;
		if(form.Type.value == 1)//putnicka
		{
			if(StartPremium < 7500 * CurrencyRate)
			{
				IndexByValue = 0;
			}
			else if(StartPremium >= 7500 * CurrencyRate && StartPremium < 20000 * CurrencyRate)
			{
				IndexByValue = 1;
			}
			else if(StartPremium >= 20000 * CurrencyRate)
			{
				IndexByValue = 2;
			}
			
			//kradja
  			TheftGrossPremium = StartTheftPremium * ((form.Theft.checked? PutnickaD[IndexByValue][FranchizeClaim] : 0))
											* (1 + PutnickaPurpose[form.Purpose.value])
											* (1 + (form.Expensive.checked? Expensive : 0))
											* (1 + (form.GPS.checked? GPS : 0))
											* (1 + (form.InsuredCarNumber5.checked? InsuredCarNumber5 : 0))
											* (1 + (form.InsuredCarNumber10.checked? InsuredCarNumber10 : 0));
			//delimicni kasko
			GlassGrossPremium = StartGlassPremium * ((form.Glass.checked? PutnickaGlass : 0));
			
			//utaja
			if(form.Purpose.value == 3)
			{
				EvasionGrossPremium = StartEvasionPremium * (form.Evasion.checked? PutnickaFRenta[FranchizeClaim] : 0);
			}
			else if(form.Purpose.value == 4)
			{
				EvasionGrossPremium = StartEvasionPremium * (form.Evasion.checked? PutnickaFLeasing[FranchizeClaim] : 0);
			}
			else
			{
				EvasionGrossPremium = 0;
			}
			
			StartGrossPremium = StartPremium * PutnickaA[FranchizeClaim];
			
			//amortization
			StartGrossPremium *= (1 + (form.Amortization.checked? Amortization[(form.Age.value > 5? 5 : form.Age.value)] : 0));
			StartGrossPremium *= (1 + (form.InsuredCarNumber5.checked? InsuredCarNumber5 : 0));
			StartGrossPremium *= (1 + (form.InsuredCarNumber10.checked? InsuredCarNumber10 : 0));
		
			//ukupno
 			GrossPremium = ((StartGrossPremium + GlassGrossPremium)
								* (1 + PutnickaPurpose[form.Purpose.value])
								+ EvasionGrossPremium + TheftGrossPremium)
								* (1 + (form.Probation.checked? Probation : 0));
		}
		else if(form.Type.value == 2)//motocikl
		{
			//amortization
			StartGrossPremium = StartPremium * Motocikli[form.ParameterValue.value][FranchizeClaim];
			StartGrossPremium = StartGrossPremium * (1 + (form.Amortization.checked? Amortization[(form.Age.value > 5? 5 : form.Age.value)] : 0));
		
			GrossPremium = StartPremium * (1 + (form.Sicko.checked? Sicko : 0));
		}
		else if(form.Type.value == 3)//teretno
		{
			PickUp = (form.PickUp.checked? 0 : 1);
			
			//kradja
			TheftGrossPremium = StartTheftPremium * (form.Theft.checked? TeretnaD[PickUp][FranchizeClaim] : 0);
			if(form.ParameterValue.value < 4)
			{
				TheftGrossPremium *= (1 + TeretnaPurpose[form.ParameterValue.value]);
			}

			//lom
			BreakVehicleValue = (parseFloat(form.BreakVehicleValue.value)>=0? form.BreakVehicleValue.value : 0);
			BreakGrossPremium = BreakVehicleValue * (form.Break.checked? TeretnaBreak[PickUp] : 0);
			if(form.ParameterValue.value < 4)
			{
				BreakGrossPremium *= (1 + TeretnaPurpose[form.ParameterValue.value]);
			}

			//delimicni kasko
			GlassGrossPremium = StartGlassPremium * (form.Glass.checked?  TeretnaGlass[PickUp] : 0);
			if(form.ParameterValue.value < 5)
			{
				GlassGrossPremium *= (1 + TeretnaPurpose[form.ParameterValue.value]);
			}
	
			//utaja
			if(form.ParameterValue.value == 3)
			{
				EvasionGrossPremium = StartEvasionPremium * (form.Evasion.checked? TeretnaFRenta[PickUp][FranchizeClaim] : 0);
			}
			else if(form.ParameterValue.value == 7)
			{
				EvasionGrossPremium = StartEvasionPremium * (form.Evasion.checked? TeretnaFLeasing[PickUp][FranchizeClaim] : 0);
			}
			else
			{
				EvasionGrossPremium = 0;
			}

			//potpuni kasko
			StartGrossPremium = (StartPremium * TeretnaA[PickUp][FranchizeClaim]) 
								* (1 + (form.ClosedCase.checked? ClosedCase : 0))
								* (1 + TeretnaPurpose[form.ParameterValue.value]);
			//amortization
			StartGrossPremium *= (1 + (form.Amortization.checked? Amortization[(form.Age.value > 5? 5 : form.Age.value)] : 0));
										
			GrossPremium = TheftGrossPremium + BreakGrossPremium + GlassGrossPremium 
								+ EvasionGrossPremium + StartGrossPremium;
		}
		else if(form.Type.value == 4)//autobus
		{
			//kradja
			TheftGrossPremium = StartTheftPremium 
							* (form.Theft.checked? AutobusiD[form.Purpose.value][FranchizeClaim] : 0);
			TheftGrossPremium *= (1 + (form.Tuition.checked? Tuition : 0));

			//lom
			BreakVehicleValue = (parseFloat(form.BreakVehicleValue.value)>=0? form.BreakVehicleValue.value : 0);
			BreakGrossPremium = BreakVehicleValue * (form.Break.checked? AutobusiBreak : 0);

			//delimicni kasko ((lom)
			GlassGrossPremium = StartGlassPremium * ((form.Glass.checked? AutobusiGlass : 0));
			GlassGrossPremium *= (1 + (form.Tuition.checked? Tuition : 0));

			//potpuni kasko
			StartGrossPremium = (StartPremium * AutobusiA[form.Purpose.value][FranchizeClaim])
								* (1 + (form.Tuition.checked? Tuition : 0));			
			//amortization
			StartGrossPremium *= (1 + (form.Amortization.checked? Amortization[(form.Age.value > 5? 5 : form.Age.value)] : 0));
		
			GrossPremium = TheftGrossPremium + BreakGrossPremium + GlassGrossPremium + StartGrossPremium;
		}
		
		//whole premium paid
		GrossPremium *= (1 + (form.WholePremiumPaid.checked? WholePremiumPaid : 0));
		
		//calc bonus malus
		GrossPremium *= (1 + (form.Malus.value != ""? form.Malus.value/100 : 0))
						* (1 - (form.Bonus.value != ""? form.Bonus.value/100 : 0));
		
		form.NetoPremium.value = ConvertToValue(Math.round(GrossPremium));
		form.TaxPremium.value = ConvertToValue(Math.round(GrossPremium*0.05));
		form.RestDiscountPremium.value = ConvertToValue(Math.round(GrossPremium * (form.RestDiscount.value != ""? form.RestDiscount.value/100 : 0)));
		form.GrossPremium.value = ConvertToValue(Math.round(GrossPremium * (1 - (form.RestDiscount.value != ""? form.RestDiscount.value/100 : 0))
											+ GrossPremium * 0.05));
	}
	else
	{
		form.NetoPremium.value = "";
		form.TaxPremium.value = "";
		form.RestDiscountPremium.value = "";
		form.GrossPremium.value = "";
	}
}

function GotoPage(){
	if(document.Premium.Type.value == 1)
	{
		Page1 = "AKPutnicko";
	}
	else if(document.Premium.Type.value == 2)
	{
		Page1 = "AKMotocikl";
	}
	else if(document.Premium.Type.value == 3)
	{
		Page1 = "AKTeretno";
	}
	else if(document.Premium.Type.value == 4)
	{
		Page1 = "AKAutobus";
	}
	
	location.href = Page1 + ".html"
}

