function st(str)	{
	for (a=0; a < str.length; a++)	{
		if (isNaN(parseInt(str.charAt(a))))	{
			if (((str.charAt(a) == ".") && (a == (str.length-3))) || ((str.charAt(a) == "-") && (a == 0)))	{
				continue;
			}
			else	{
				str = str.substring(0,a) + str.substring((a+1));
				a--;
			}
		}
	}
	if (str == "")	{
		str = 0;
	}
	return str;
}

function fo(str)	{
	str = "$" + str;
	if (str.charAt(1) == "-")	{
		str = "-$" + str.substring(2);
	}
	for (b=str.length; b > -1; b--)	{
		if ((!isNaN(parseInt(str.charAt(b)))) && (!isNaN(parseInt(str.charAt(b-1)))) && (!isNaN(parseInt(str.charAt(b-2)))) && (!isNaN(parseInt(str.charAt(b-3)))))	{
			str = str.substring(0,b-2) + "," + str.substring(b-2);
			b++;
		}
	}

	return str;
}		

function addCOA()	{
	for (i=0; i<4; i++)	{
		COA = 0;
		for (j=0; j<5; j++)	{
			if (document.columns.elements[(i+(4*j)+4)].value == "")	{
				continue;
			}
			else	{
				COA += parseFloat(st(document.columns.elements[(i+(4*j)+4)].value));
			}
		}
		if (COA == 0)	{
			document.columns.elements[(25+i)].value = "";
		}
		else	{
			document.columns.elements[(25+i)].value = fo(COA);
		}
	}
}

function TotalNeed()	{
	addCOA();
	
	if (document.columns.b6.value != "") 	{document.columns.b7.value = fo(parseFloat(st(document.columns.a7.value)));}
	if (document.columns.c6.value != "")	{document.columns.c7.value = fo(parseFloat(st(document.columns.a7.value)));}
	if (document.columns.d6.value != "")	{document.columns.d7.value = fo(parseFloat(st(document.columns.a7.value)));}
	if (document.columns.a6.value != "")	{document.columns.a8.value = fo(parseFloat(st(document.columns.a6.value)) - parseFloat(st(document.columns.a7.value)));}
	if (document.columns.b6.value != "")	{document.columns.b8.value = fo(parseFloat(st(document.columns.b6.value)) - parseFloat(st(document.columns.b7.value)));}
	if (document.columns.c6.value != "")	{document.columns.c8.value = fo(parseFloat(st(document.columns.c6.value)) - parseFloat(st(document.columns.c7.value)));}
	if (document.columns.d6.value != "")	{document.columns.d8.value = fo(parseFloat(st(document.columns.d6.value)) - parseFloat(st(document.columns.d7.value)));}
}


function GiftAid()	{
for (i=0; i<4; i++)	{
		GA = 0;
		empty = 0;
		for (j=0; j<3; j++)	{
			if (document.columns.elements[(38+(4*j)+i)].value == "")	{
				empty++;
			}
			else	{
				GA += parseFloat(st(document.columns.elements[(38+(4*j)+i)].value));
			}
		}
		if ((GA == 0) && (empty == 3))	{
			document.columns.elements[(51+i)].value = "";
		}
		else	{
			document.columns.elements[(51+i)].value = fo(GA);
		}
	}
}

function SelfHelp()	{
for (i=0; i<4; i++)	{
		Selfhelp = 0;
		empty = 0;
		for (j=0; j<3; j++)	{
			if (document.columns.elements[(55+(4*j)+i)].value == "")	{
				empty++;
			}
			else	{
				Selfhelp += parseFloat(st(document.columns.elements[(55+(4*j)+i)].value));
			}
		}
		if ((Selfhelp == 0) && (empty == 3))	{
			document.columns.elements[(68+i)].value = "";
			document.columns.elements[(86+i)].value = "";
		}
		else	{
			document.columns.elements[(68+i)].value = fo(Selfhelp);
			document.columns.elements[(86+i)].value = fo(Selfhelp);
		}
	}
}

function AddAid()	{
	GiftAid();
	SelfHelp();
	if ((document.columns.a12.value != "") || (document.columns.a16.value != ""))	{
		document.columns.a17.value = fo(parseFloat(st(document.columns.a12.value)) + parseFloat(st(document.columns.a16.value)));
	}
	if ((document.columns.b12.value != "") || (document.columns.b16.value != ""))	{
		document.columns.b17.value = fo(parseFloat(st(document.columns.b12.value)) + parseFloat(st(document.columns.b16.value)));
	}
	if ((document.columns.c12.value != "") || (document.columns.c16.value != ""))	{
		document.columns.c17.value = fo(parseFloat(st(document.columns.c12.value)) + parseFloat(st(document.columns.c16.value)));
	}
	if ((document.columns.d12.value != "") || (document.columns.d16.value != ""))	{
		document.columns.d17.value = fo(parseFloat(st(document.columns.d12.value)) + parseFloat(st(document.columns.d16.value)));
	}
}

function UnmetNeed()	{
	AddAid();
	TotalNeed();
	if ((document.columns.a8.value != "") || (document.columns.a17.value != ""))	{
		document.columns.a18.value = fo(parseFloat(st(document.columns.a8.value)) - parseFloat(st(document.columns.a17.value)));
	}
	if ((document.columns.b8.value != "") || (document.columns.b17.value != ""))	{
		document.columns.b18.value = fo(parseFloat(st(document.columns.b8.value)) - parseFloat(st(document.columns.b17.value)));
	}
	if ((document.columns.c8.value != "") || (document.columns.c17.value != ""))	{
		document.columns.c18.value = fo(parseFloat(st(document.columns.c8.value)) - parseFloat(st(document.columns.c17.value)));
	}
	if ((document.columns.d8.value != "") || (document.columns.d17.value != ""))	{
		document.columns.d18.value = fo(parseFloat(st(document.columns.d8.value)) - parseFloat(st(document.columns.d17.value)));
	}
	for (i=0; i < 4; i++)	{
		if (document.columns.elements[(29+i)].value != "")	{
			document.columns.elements[(82+i)].value = fo(st(document.columns.elements[(29+i)].value));
		}
	}
}

function TotalCost()	{
UnmetNeed();
for (i=0; i<4; i++)	{
		total = 0;
		empty = 0;
		for (j=0; j<3; j++)	{
			if (document.columns.elements[(78+(4*j)+i)].value == "")	{
				empty++;
			}
			else	{
				total += parseFloat(st(document.columns.elements[(78+(4*j)+i)].value));
			}
		}
		if ((total == 0) && (empty == 3))	{
			document.columns.elements[(91+i)].value = "";
		}
		else	{
			document.columns.elements[(91+i)].value = fo(total);
		}
	}
}
