var BASIC_ALLOWANCE, FIX01, FIX02, FIX03, RATE01, RATE02, RATE03;

function calculateRebate(year,grincome,taxpaid){
	if(year=='0'){
		window.alert('Please select a Year for Tax Rebate Calculation');
		document.all.Rebate.value = '';
	}
	else{
		if(grincome=='' || isNaN(grincome)){
			window.alert('Please enter a valid numeric value for Gross Income');
			document.all.Rebate.value = '';
		}
		else{
			if(taxpaid=='' || isNaN(taxpaid)){
				window.alert('Please enter a valid numeric value for Tax Paid');
				document.all.Rebate.value = '';
			}
			else{
				switch(eval(year)){
					case 2006:
						BASIC_ALLOWANCE = 4895;

						FIX01 = 2090;
						FIX02 = 30310;
						FIX03 = 0;

						RATE01 = 0.1;
						RATE02 = 0.22;
 						RATE03 = 0.4;

						break;
					case 2005:
						BASIC_ALLOWANCE = 4745;

						FIX01 = 2020;
						FIX02 = 29380;
						FIX03 = 0;

						RATE01 = 0.1;
						RATE02 = 0.22;
 						RATE03 = 0.4;

						break;
					case 2004:
						BASIC_ALLOWANCE = 4615;

						FIX01 = 1960;
						FIX02 = 28540;
						FIX03 = 0;

						RATE01 = 0.1;
						RATE02 = 0.22;
 						RATE03 = 0.4;

						break;
					case 2003:
						BASIC_ALLOWANCE = 4615;

						FIX01 = 1920;
						FIX02 = 27980;
						FIX03 = 0;

						RATE01 = 0.1;
						RATE02 = 0.22;
 						RATE03 = 0.4;

						break;
					case 2002:
						BASIC_ALLOWANCE = 4535;

						FIX01 = 1880;
						FIX02 = 27520;
						FIX03 = 0;

						RATE01 = 0.1;
						RATE02 = 0.22;
 						RATE03 = 0.4;

						break;
					case 2001:
						BASIC_ALLOWANCE = 4385;

						FIX01 = 1520;
						FIX02 = 26880;
						FIX03 = 0;

						RATE01 = 0.1;
						RATE02 = 0.22;
 						RATE03 = 0.4;

						break;
					case 2000:
						BASIC_ALLOWANCE = 4335;

						FIX01 = 1500;
						FIX02 = 26500;
						FIX03 = 0;

						RATE01 = 0.1;
						RATE02 = 0.23;
 						RATE03 = 0.4;

						break;
					default:
						break;
				}

				rebate(grincome,taxpaid);

			}
		}
	}
}

function rebate(r_grincome,r_taxpaid){
	var taxable_income, nsi_amt01, nsi_amt02, nsi_amt03, ns_income01, ns_income02, ns_income03, tax_payable;

	taxable_income = Math.max((r_grincome - BASIC_ALLOWANCE), 0);

	nsi_amt01 = Math.min(taxable_income, FIX01);
	ns_income01 = nsi_amt01 * RATE01;

	nsi_amt02 = Math.min((taxable_income - nsi_amt01), FIX02);
	ns_income02 = nsi_amt02 * RATE02;

	nsi_amt03 = Math.max((taxable_income - nsi_amt02 - nsi_amt01), FIX03);
	ns_income03 = nsi_amt03 * RATE03;

	tax_payable = ns_income01 + ns_income02 + ns_income03;

	document.all.Rebate.value = Math.round(r_taxpaid - tax_payable);
}

function resetRebate(){
	document.all.Year.value = 0;
	document.all.GrIncome.value = '';
	document.all.TaxPaid.value = '';
	document.all.Rebate.value = '';
}