
// *********************** BEGIN BASE FUNCTIONS ***************************

// prepare/cleanup field contents
function clean(obj)
{
	if (obj.value != "")
	{
		// remove p or commas
			re = /P|,/g;
			var source = obj.value.replace(re,"");
		
		// round source to 2 significant decimal places
			var source = Math.round(source*100)/100;
			var source = source.toFixed(2);
			
		// write updated field value back to form	
			obj.value = source;
			
		// remove NAN if found
			chk4num(obj);
	}
	return(obj);
}

function calcVAT(obj1,obj2)
// calculates the amount of VAT to be added to the supplied NET figure
{
	// perform calculation (calculate VAT on Net source amount)
		var VAT = obj1.value * 12 / 100;
		
		// update field
		obj2.value = VAT ;
		
		clean(obj2);
		
	return(VAT);
}

function chk4num(obj1)
{
	if (obj1.value == "NaN")
	{
		obj1.value = "";
	}
	return(obj1);
}

function retotal(form)
{	
	// begin update 19a
	
		// clean fields
		clean(form.f15a);
		clean(form.f16a);
		clean(form.f17);
		clean(form.f18);
		
	var f15a = parseFloat(form.f15a.value,10);
		if (form.f15a.value==""){var f15a=0;}else{form.f15a.value = f15a.toFixed(2);}
	var f16a = parseFloat(form.f16a.value,10);
		if (form.f16a.value==""){var f16a=0;}else{form.f16a.value = f16a.toFixed(2);}
	var f17 = parseFloat(form.f17.value,10);
		if (form.f17.value==""){var f17=0;}else{form.f17.value = f17.toFixed(2);}
	var f18 = parseFloat(form.f18.value,10);
		if (form.f18.value==""){var f18=0;}else{form.f18.value = f18.toFixed(2);}
		
	var val = f15a + f16a + f17 + f18 ;
	form.f19a.value = val.toFixed(2);
	
	// end update 19a
	
	
	
	// begin update 19b
	
	var f15b = parseFloat(form.f15b.value,10);
		if (form.f15b.value==""){var f15b=0;}
	var f16b = parseFloat(form.f16b.value,10);
		if (form.f16b.value==""){var f16b=0;}
		
	var val = f15b + f16b ;
	form.f19b.value = val.toFixed(2);
	
	// end update 19b


	
	// begin update 20f
	
		// clean fields
		clean(form.f20a);
		clean(form.f20b);
		clean(form.f20c);
		clean(form.f20d);
		clean(form.f20e);
		
	var f20a = parseFloat(form.f20a.value,10);
		if (form.f20a.value==""){var f20a=0;}else{form.f20a.value = f20a.toFixed(2);}
	var f20b = parseFloat(form.f20b.value,10);
		if (form.f20b.value==""){var f20b=0;}else{form.f20b.value = f20b.toFixed(2);}
	var f20c = parseFloat(form.f20c.value,10);
		if (form.f20c.value==""){var f20c=0;}else{form.f20c.value = f20c.toFixed(2);}
	var f20d = parseFloat(form.f20d.value,10);
		if (form.f20d.value==""){var f20d=0;}else{form.f20d.value = f20d.toFixed(2);}
	var f20e = parseFloat(form.f20e.value,10);
		if (form.f20e.value==""){var f20e=0;}else{form.f20e.value = f20e.toFixed(2);}
		
	var val = f20a + f20b + f20c + f20d + f20e ;
	form.f20f.value = val.toFixed(2);
	
	// end update 20f
	
	
	
	// begin update 21a (original NET amount from 21b)
	
		// clean fields
			clean(form.f21b);
			
	var f21b = parseFloat(form.f21b.value,10);
		if (form.f21b.value==""){var f21b=0;}else{form.f21b.value = f21b.toFixed(2);}
		
	var val = (1/0.12) * f21b ;
	if (val==0.00){form.f21a.value="";}else{
	form.f21a.value = val.toFixed(2);}
	
	// end update 21a (original NET amount from 21b)
	
	
	
	// begin update 21c (original NET amount from 21d)
	
		// clean fields
			clean(form.f21d);
			
	var f21d = parseFloat(form.f21d.value,10);
		if (form.f21d.value==""){var f21d=0;}else{form.f21d.value = f21d.toFixed(2);}
		
	var val = (1/0.12) * f21d ;
	if (val==0.00){form.f21c.value="";}else{
	form.f21c.value = val.toFixed(2);}
	
	// end update 21c (original NET amount from 21d)
	
	
	
	// begin update 21e (original NET amount from 21f)
	
		// clean fields
			clean(form.f21f);
			
	var f21f = parseFloat(form.f21f.value,10);
		if (form.f21f.value==""){var f21f=0;}else{form.f21f.value = f21f.toFixed(2);}
		
	var val = (1/0.12) * f21f ;
	if (val==0.00){form.f21e.value="";}else{
	form.f21e.value = val.toFixed(2);}
	
	// end update 21e (original NET amount from 21f)
	
	
		
	// begin update 21i (original NET amount from 21j)
	
		// clean fields
			clean(form.f21j);
			
	var f21j = parseFloat(form.f21j.value,10);
		if (form.f21j.value==""){var f21j=0;}else{form.f21j.value = f21j.toFixed(2);}
		
	var val = (1/0.12) * f21j ;
	if (val==0.00){form.f21i.value="";}else{
	form.f21i.value = val.toFixed(2);}
	
	// end update 21i (original NET amount from 21j)
	
	
	
	// begin update 21p	
		// clean fields
			clean(form.f21a);
			clean(form.f21c);
			clean(form.f21e);
			clean(form.f21g);
			clean(form.f21i);
			clean(form.f21k);
			clean(form.f21m);
			clean(form.f21n);
			
	var f21a = parseFloat(form.f21a.value,10);
		if (form.f21a.value==""){var f21a=0;}else{form.f21a.value = f21a.toFixed(2);}
	var f21c = parseFloat(form.f21c.value,10);
		if (form.f21c.value==""){var f21c=0;}else{form.f21c.value = f21c.toFixed(2);}
	var f21e = parseFloat(form.f21e.value,10);
		if (form.f21e.value==""){var f21e=0;}else{form.f21e.value = f21e.toFixed(2);}
	var f21g = parseFloat(form.f21g.value,10);
		if (form.f21g.value==""){var f21g=0;}else{form.f21g.value = f21g.toFixed(2);}
	var f21i = parseFloat(form.f21i.value,10);
		if (form.f21i.value==""){var f21i=0;}else{form.f21i.value = f21i.toFixed(2);}
	var f21k = parseFloat(form.f21k.value,10);
		if (form.f21k.value==""){var f21k=0;}else{form.f21k.value = f21k.toFixed(2);}
	var f21m = parseFloat(form.f21m.value,10);
		if (form.f21m.value==""){var f21m=0;}else{form.f21m.value = f21m.toFixed(2);}
	var f21n = parseFloat(form.f21n.value,10);
		if (form.f21n.value==""){var f21n=0;}else{form.f21n.value = f21n.toFixed(2);}
	
	var val = f21a + f21c + f21e + f21g + f21i + f21k + f21m + f21n ;
	form.f21p.value = val.toFixed(2);

	// end update 21p
	
	
	
	// begin update 22 (sum of 20f, 21b,d,f,h,j,l and o)
		// clean fields
			clean(form.f21b);
			clean(form.f21d);
			clean(form.f21f);
			clean(form.f21h);
			clean(form.f21j);
			clean(form.f21l);
			clean(form.f21o);
	
	var f20f = parseFloat(form.f20f.value,10);
		if (form.f20f.value==""){var f20f=0;}else{form.f20f.value = f20f.toFixed(2);}
	var f21b = parseFloat(form.f21b.value,10);
		if (form.f21b.value==""){var f21b=0;}else{form.f21b.value = f21b.toFixed(2);}
	var f21d = parseFloat(form.f21d.value,10);
		if (form.f21d.value==""){var f21d=0;}else{form.f21d.value = f21d.toFixed(2);}
	var f21f = parseFloat(form.f21f.value,10);
		if (form.f21f.value==""){var f21f=0;}else{form.f21f.value = f21f.toFixed(2);}
	var f21h = parseFloat(form.f21h.value,10);
		if (form.f21h.value==""){var f21h=0;}else{form.f21h.value = f21h.toFixed(2);}
	var f21j = parseFloat(form.f21j.value,10);
		if (form.f21j.value==""){var f21j=0;}else{form.f21j.value = f21j.toFixed(2);}
	var f21l = parseFloat(form.f21l.value,10);
		if (form.f21l.value==""){var f21l=0;}else{form.f21l.value = f21l.toFixed(2);}
	var f21o = parseFloat(form.f21o.value,10);
		if (form.f21o.value==""){var f21o=0;}else{form.f21o.value = f21o.toFixed(2);}
		
	var val = f20f + f21b + f21d + f21f + f21h + f21j + f21l + f21o ;
	form.f22.value = val.toFixed(2);
	
	// end update 22 (sum of 20f, 21b,d,f,h,j,l and o)
	
	/*
	
	// begin update 23E (calculates whether any input tax to be carried over to next quarter)
	
		// clean fields
			clean(form.f19b);
			clean(form.f22);
		
	var f19b = parseFloat(form.f19b.value,10);
		if (form.f19b.value==""){var f19b=0;}else{form.f19b.value = f19b.toFixed(2);}
	var f22 = parseFloat(form.f22.value,10);
		if (form.f22.value==""){var f22=0;}else{form.f22.value = f22.toFixed(2);}
		
	var val = f19b - f22 ;
	if (val>0.00){form.f23e.value="";}else{
	val = val-val-val;
	form.f23e.value = val.toFixed(2);}
	
	if (val==0.00){form.f23e.value="";}
	
	
	// end update 23E (calculates whether any input tax to be carried over to next month)
	
	*/
	
	// begin update 23f (sum of 23a,b,c,d and e)
		// clean fields
			clean(form.f23a);
			clean(form.f23b);
			clean(form.f23c);
			clean(form.f23d);
			clean(form.f23e);
	
		var f23a = parseFloat(form.f23a.value,10);
			if (form.f23a.value==""){var f23a=0;}else{form.f23a.value = f23a.toFixed(2);}
		var f23b = parseFloat(form.f23b.value,10);
			if (form.f23b.value==""){var f23b=0;}else{form.f23b.value = f23b.toFixed(2);}
		var f23c = parseFloat(form.f23c.value,10);
			if (form.f23c.value==""){var f23c=0;}else{form.f23c.value = f23c.toFixed(2);}
		var f23d = parseFloat(form.f23d.value,10);
			if (form.f23d.value==""){var f23d=0;}else{form.f23d.value = f23d.toFixed(2);}
		var f23e = parseFloat(form.f23e.value,10);
			if (form.f23e.value==""){var f23e=0;}else{form.f23e.value = f23e.toFixed(2);}
			
	var val = f23a + f23b + f23c + f23d + f23e ;
	if (val==0.00){form.f23f.value="";}else{
	form.f23f.value = val.toFixed(2);}
	
	// end update 23f (sum of 23a,b,c,d and e)
	
	
		
	// begin update 24 (22 - 23f)
			// clean fields
			clean(form.f22);
			clean(form.f23f);
	
		var f22 = parseFloat(form.f22.value,10);
			if (form.f22.value==""){var f22=0;}else{form.f22.value = f22.toFixed(2);}
		var f23f = parseFloat(form.f23f.value,10);
			if (form.f23f.value==""){var f23f=0;}else{form.f23f.value = f23f.toFixed(2);}
		
	var val = f22 - f23f ;
	if (val==0.00){form.f24.value="";}else{
	form.f24.value = val.toFixed(2);}
	
	// end update 24 (22 - 23g)
	
	
	
	// begin update 25 (19b - 24)
			// clean fields
			clean(form.f19b);
			clean(form.f24);
	
		var f19b = parseFloat(form.f19b.value,10);
			if (form.f19b.value==""){var f19b=0;}else{form.f19b.value = f19b.toFixed(2);}
		var f24 = parseFloat(form.f24.value,10);
			if (form.f24.value==""){var f24=0;}else{form.f24.value = f24.toFixed(2);}
		
	var val = f19b - f24 ;
	form.f25.value = val.toFixed(2);
	
	// end update 25 (19b - 24)
		
	
	
	// begin update 26h (sum of 26a,b,c,d,e,f and g)
		// clean fields
			clean(form.f26a);
			clean(form.f26b);
			clean(form.f26c);
			clean(form.f26d);
			clean(form.f26e);
			clean(form.f26f);
	
		var f26a = parseFloat(form.f26a.value,10);
			if (form.f26a.value==""){var f26a=0;}else{form.f26a.value = f26a.toFixed(2);}
		var f26b = parseFloat(form.f26b.value,10);
			if (form.f26b.value==""){var f26b=0;}else{form.f26b.value = f26b.toFixed(2);}
		var f26c = parseFloat(form.f26c.value,10);
			if (form.f26c.value==""){var f26c=0;}else{form.f26c.value = f26c.toFixed(2);}
		var f26d = parseFloat(form.f26d.value,10);
			if (form.f26d.value==""){var f26d=0;}else{form.f26d.value = f26d.toFixed(2);}
		var f26e = parseFloat(form.f26e.value,10);
			if (form.f26e.value==""){var f26e=0;}else{form.f26e.value = f26e.toFixed(2);}
		var f26f = parseFloat(form.f26f.value,10);
			if (form.f26f.value==""){var f26f=0;}else{form.f26f.value = f26f.toFixed(2);}
		var f26g = parseFloat(form.f26g.value,10);
			if (form.f26g.value==""){var f26g=0;}else{form.f26g.value = f26g.toFixed(2);}
			
	var val = f26a + f26b + f26c + f26d + f26e + f26f + f26g ;
	if (val==0.00){form.f26h.value="";}else{
	form.f26h.value = val.toFixed(2);}
	
	// end update 26g (sum of 26a,b,c,d,e,f and g)
	
	
	
	// begin update 27 (f25 - f26h)
			// clean fields
			clean(form.f25);
			clean(form.f26h);
	
		var f25 = parseFloat(form.f25.value,10);
			if (form.f25.value==""){var f25=0;}else{form.f25.value = f25.toFixed(2);}
		var f26h = parseFloat(form.f26h.value,10);
			if (form.f26h.value==""){var f26h=0;}else{form.f26h.value = f26h.toFixed(2);}
		
	var val = f25 - f26h ;
	form.f27.value = val.toFixed(2);
	
	// end update 27 (f25 - f26g)
		
	
	
	// begin update 28d (sum of 28a,b and c)
		// clean fields
			clean(form.f28a);
			clean(form.f28b);
			clean(form.f28c);
	
		var f28a = parseFloat(form.f28a.value,10);
			if (form.f28a.value==""){var f28a=0;}else{form.f28a.value = f28a.toFixed(2);}
		var f28b = parseFloat(form.f28b.value,10);
			if (form.f28b.value==""){var f28b=0;}else{form.f28b.value = f28b.toFixed(2);}
		var f28c = parseFloat(form.f28c.value,10);
			if (form.f28c.value==""){var f28c=0;}else{form.f28c.value = f28c.toFixed(2);}
			
	var val = f28a + f28b + f28c ;
	form.f28d.value = val.toFixed(2);
	
	// end update 28d (sum of 28a,b and c)
	
	
	
	// begin update 29 (sum of f27 and f28d)
		// clean fields
			clean(form.f27);
			clean(form.f28d);
	
		var f27 = parseFloat(form.f27.value,10);
			if (form.f27.value==""){var f27=0;}else{form.f27.value = f27.toFixed(2);}
		var f28d = parseFloat(form.f28d.value,10);
			if (form.f28d.value==""){var f28d=0;}else{form.f28d.value = f28d.toFixed(2);}
			
	var val = f27 + f28d ;
	form.f29.value = val.toFixed(2);

	// end update 29 (sum of f27 and f28d)
	
	
	
	return(form);
}


// *********************** END BASE FUNCTIONS ***************************


// ********************** BEGIN MAIN FUNCTIONS **************************

// begin calculate vat of objName1. Put vat in objName2
function getVAT(obj1,obj2,form)
{
		// clean field
			clean(obj1);

		// calculate VAT
			calcVAT(obj1,obj2);
			
		// remove 0.00 if found
			if (obj2.value == 0.00)
			{
				obj2.value = "";
			}
		// retotal sums in main column
			retotal(form);
			
		return(form);
}


// ********************** END MAIN FUNCTIONS **************************

//  BEGIN Funtion to make focus jump in TIN box


<!-- This code makes the jump from textbox one to textbox two -->
function move(form)
{
var letters = form.f6a.value.length +1;
if (letters <= 3)
{form.f6a.focus()}
else
{form.f6b.focus()}
}

function move2(form)
{
var letters = form.f6b.value.length +1;
if (letters <= 3)
{form.f6b.focus()}
else
{form.f6c.focus()}
}

function move3(form)
{
var letters = form.f6c.value.length +1;
if (letters <= 3)
{form.f6c.focus()}
else
{form.f6d.focus()}
}

//  END Funtion to make focus jump in TIN box


// begin location to submit form to, depending on which button was pressed

function task(target){

// the next 3 lines are the main lines of this script
//remember to leave action field blank when defining the form 
	if(target == "create"){
		document.form.action="/bir-form-download/BIR-2550Q-Rev07-form.php";
		document.form.target="_self";
	}
	if(target == "save") {
		document.form.action="";
		document.form.target="_self";
	}
 
}

// end location to submit form to, depending on which button was pressed
