// javascript to make the form interactive

SQM_SQF = 10.7639104;
SQF_SQM = 0.0929;

VENDOR_RENT_SQF = 16.50 
VENDOR_SERVICE_SQF = 6.50 
VENDOR_RATES_SQF = 3.69 
VENDOR_RENT_INC_SQF = 30.00 


function update(obj)
{
	// this function is called whenever 
	// a key press is registered

	// define the elements we want to talk to
	sq_feet = document.getElementById('req_sqf');
	sq_metre = document.getElementById('req_sqm');

	c1_sqm = document.getElementById('c1_sqm');
	c1_sqf = document.getElementById('c1_sqf');

	c2_sqm = document.getElementById('c2_sqm');
	c2_sqf = document.getElementById('c2_sqf');

	c3_sqm = document.getElementById('c3_sqm');
	c3_sqf = document.getElementById('c3_sqf');

	c4 = document.getElementById('c4');
	c5 = document.getElementById('c5');
	c6 = document.getElementById('c6');
	c7 = document.getElementById('c7');
	c8 = document.getElementById('c8');
	c9 = document.getElementById('c9');

	// update the fields
	if(obj.name == 'sq_metre')
		sq_feet.value = sqm2sqf(sq_metre.value).toFixed(2);
	else if(obj.name == 'sq_feet')
		sq_metre.value = sqf2sqm(sq_feet.value).toFixed(2);

	else if(obj.name == 'c1_sq_metre')
		c1_sqf.value = cost_sqm2sqf(c1_sqm.value).toFixed(2);
	else if(obj.name == 'c1_sq_feet')
		c1_sqm.value = cost_sqf2sqm(c1_sqf.value).toFixed(2);

	else if(obj.name == 'c2_sq_metre')
		c2_sqf.value = cost_sqm2sqf(c2_sqm.value).toFixed(2);
	else if(obj.name == 'c2_sq_feet')
		c2_sqm.value = cost_sqf2sqm(c2_sqf.value).toFixed(2);

	else if(obj.name == 'c3_sq_metre')
		c3_sqf.value = cost_sqm2sqf(c3_sqm.value).toFixed(2);
	else if(obj.name == 'c3_sq_feet')
		c3_sqm.value = cost_sqf2sqm(c3_sqf.value).toFixed(2);

	// update the totals
	set_totals();
}

function set_totals()
{
	// this function loops through all math
	// and updates the total <td> fields
	total = 0;
	vtotal = 0;
	vtotal_inc = 0;

	v1t = document.getElementById('v1_total');
	v2t = document.getElementById('v2_total');
	v3t = document.getElementById('v3_total');

	v1t_inc = document.getElementById('v1_total_inc');

	c1t = document.getElementById('c1_total');
	c2t = document.getElementById('c2_total');
	c3t = document.getElementById('c3_total');
	c4t = document.getElementById('c4_total');
	c5t = document.getElementById('c5_total');
	c6t = document.getElementById('c6_total');
	c7t = document.getElementById('c7_total');
	c8t = document.getElementById('c8_total');
	c9t = document.getElementById('c9_total');

	// update the vendor total values
	t = (sq_feet.value * VENDOR_RENT_SQF);
	v1t.value = t.toFixed(2);
	vtotal = vtotal + t;

	t = (sq_feet.value * VENDOR_RENT_INC_SQF);
	v1t_inc.value = t.toFixed(2);
	vtotal_inc = vtotal_inc + t;

	t = (sq_feet.value * VENDOR_RATES_SQF);
	v2t.value = t.toFixed(2);
	vtotal = vtotal + t;

	t = (sq_feet.value * VENDOR_SERVICE_SQF);
	v3t.value = t.toFixed(2);
	vtotal = vtotal + t;

	// rates and charges

	t = ((c1_sqf.value * sq_feet.value) );
	c1t.value = t.toFixed(2);
	total = total + t;

	t = ((c2_sqf.value * sq_feet.value) );
	c2t.value = t.toFixed(2);
	total = total + t;

	t = ((c3_sqf.value * sq_feet.value) );
	c3t.value = t.toFixed(2);
	total = total + t;

	// other expensses

	t = (c4.value * 12);
	c4t.value = t.toFixed(2);
	total = total + t;
	vtotal = vtotal + t;
	document.getElementById('c4_vtotal').value = t.toFixed(2);


	t = (c5.value * 12);
	c5t.value = t.toFixed(2);
	total = total + t;

	t = (c6.value * 12);
	c6t.value = t.toFixed(2);
	total = total + t;

	t = (c7.value * 12);
	c7t.value = t.toFixed(2);
	total = total + t;

	t = (c8.value * 12);
	c8t.value = t.toFixed(2);
	total = total + t;

	t = (c9.value * 12);
	c9t.value = t.toFixed(2);
	total = total + t;

	// set the grand totals
	document.getElementById('total_pa').value = total.toFixed(2);
	document.getElementById('vtotal_pa').value = vtotal.toFixed(2);
	document.getElementById('vtotal_inc_pa').value = vtotal_inc.toFixed(2);

	t = total / 12;
	document.getElementById('total_pm').value = t.toFixed(2);

	t = vtotal / 12;
	document.getElementById('vtotal_pm').value = t.toFixed(2);

	t = vtotal_inc / 12;
	document.getElementById('vtotal_inc_pm').value = t.toFixed(2);
}

function vendor_note(str)
{
	return "Our price: " + str;
}

function cost_sqm2sqf(i)
{
	return i / SQM_SQF;
}

function cost_sqf2sqm(i)
{
	return i * SQM_SQF;
}

function sqm2sqf(i)
{
	return i * SQM_SQF;
}

function sqf2sqm(i)
{
	return i * SQF_SQM;
}
