// Global JVP variables
var jvp_currency = "£";

var jvp_rental_lower_limit = 250;
var jvp_rental_upper_limit = 15000;
var jvp_rental_rate_upper_limit = 15000;

var jvp_loan_lower_limit = 0;
var jvp_loan_upper_limit = 15000;
var jvp_loan_rate_upper_limit = 17625;


// Creates a new blank array
function EmptyArray( length )
{
	this.length = length

	for (var i = 0; i < length; i++)
	{
		this[i] = ""
	}
}

// Append item onto given array
function AppendArray( in_array, item )
{
	in_array[in_array.length] = item

	in_array.length++
}

// Global calculation variables
Rates36 = new EmptyArray( 0 )
UpperLimits36 = new EmptyArray( 0 )

Rates48 = new EmptyArray( 0 )
UpperLimits48 = new EmptyArray( 0 )

WarrantyRates36 = new EmptyArray( 0 )
WarrantyUpperLimits36 = new EmptyArray( 0 )

WarrantyRates48 = new EmptyArray( 0 )
WarrantyUpperLimits48 = new EmptyArray( 0 )

Rates = new EmptyArray( 0 )
UpperLimits = new EmptyArray( 0 )

InsuranceRate = 0.0
VATRate = 0.0

// Return the index into the arrays for the given term
function GetTermIndex( pTerm, pIsWarranty )
{
	if (!pIsWarranty)
	{
		if (pTerm == 36)
		{
			return 0
		}
		else if (pTerm == 48)
		{
			return 1
		}
	}
	else
	{
		if (pTerm == 36)
		{
			return 2
		}
		else if (pTerm == 48)
		{
			return 3
		}
	}
	
	return null
}

// Assemble the full list of rates and upper limits
function SetFullRatesList()
{
	UpperLimits[GetTermIndex( 36, false )] = UpperLimits36
	UpperLimits[GetTermIndex( 48, false )] = UpperLimits48
	UpperLimits[GetTermIndex( 36, true )] = WarrantyUpperLimits36
	UpperLimits[GetTermIndex( 48, true )] = WarrantyUpperLimits48
	
	Rates[GetTermIndex( 36, false )] = Rates36
	Rates[GetTermIndex( 48, false )] = Rates48
	Rates[GetTermIndex( 36, true )] = WarrantyRates36
	Rates[GetTermIndex( 48, true )] = WarrantyRates48
}

// Initialise rate arrays
function SetRates()
{
	InsuranceRate = 0;
	VATRate = 0.175;

	AppendArray( UpperLimits36, jvp_rental_rate_upper_limit )
	AppendArray( Rates36, 4.37 )

	AppendArray( UpperLimits48, jvp_rental_rate_upper_limit )
	AppendArray( Rates48, 3.76 )
	
	AppendArray( WarrantyUpperLimits36, jvp_loan_rate_upper_limit )
	AppendArray( WarrantyRates36, 0 )

	AppendArray( WarrantyUpperLimits48, jvp_loan_rate_upper_limit )
	AppendArray( WarrantyRates48, 0 )
	
	SetFullRatesList()
}