// begin_lib
//  functions to calculate the T1 Calcualtor
//  Copyright (C) 2002 - 2009 by Walter Harder ALL RIGHTS RESERVED
//  e-mail walter@walterharder.ca

function EnterkeyHandler() {  
  if(event.keyCode == 13) event.keyCode = 9;
}

<!-- global variables -->
var zero = "$0.00";
var TaxYear
var EIRate,EIMax,EIBase;
var CPPRate, CPPExempt, CPPMaxEarnings, CPPMax;
var MaxOAS,OASBase;
var FedAgeAmount, FedAgeBase;
var PAgeAmount, PAgeBase; 
var PPension, aPPension;
var PSpousalAmount, PSpousalBase;

var FedBasic,aFedBrackets, aFedRates;
var FedDTC = 40/3;
var FedDTCL = 99/522;  // 2011: 533/3243  2012: 38/253
var FedLDivGU = 9/20;  // 2011: 41/100    2012: 19/50
var FedPA;
var FedDepAmt, CEA;
var aPBasic, ProvBasic, aProvBrackets, aProvSurtax, aProvDTC, aProvDTCL,  ProvBrackets, ProvSurtax, ProvDTC, ProvDTCL, aPDonCredits, PDonCredits, SaskAgeAmt, SaskDepAmt;


function colour(c){
c.style.background = "#CCFFFF";
c.select();
}

function clr(c){
c.style.background = "white";
}

function SetProv(ProvNo) {
ProvBrackets = aProvBrackets[ProvNo];
ProvSurtax = aProvSurtax[ProvNo];
ProvDTC = aProvDTC[ProvNo];
ProvDTCL = aProvDTCL[ProvNo];
ProvBasic = aPBasic[ProvNo];
PAgeAmount = aPAgeAmount[ProvNo];
PAgeBase = aPAgeBase[ProvNo];
PPension = aPPension[ProvNo];
PSpousalAmount = aPSpousalAmount[ProvNo];
PSpousalBase = aPSpousalBase[ProvNo];
PDonCredits = aPDonCredits[ProvNo];
SaskAgeAmt = (document.T1.Province.value == 2) * SaskAgeAmt;
CalcIt();
}

function SetYear(Year){
Year += "";
TaxYear = Year;

switch (Year) {
  case "1": {
FormBackGround.bgColor = "FFFF99";
FedDepAmt=0;
CEA=0;
FedBasic = 7412;
aPBasic = [
8000,	//BC
12900,//AB
8000,	//SK
7412,	//MB
7426,	//ON
7412,	//NB
7231,	//NS
7412,	//PE
7410,	//NF
7412,	//YT
7412,	//NT
7412]	//NU
aFedBrackets = [0,30754,61509,100000];
aFedRates = [16,22,26,29];
aProvBrackets = [
[[ 7.30,0],[10.50,30484],[13.70,60969],[15.7,70000],[16.7,85000]], 		//BC
[[10.00,0]],											//AB
[[11.50,0],[13.50,30000],[16.00,60000]],							//SK
[[10.90,0],[16.20,30544],[17.40,61089]],							//MB
[[ 6.16,0],[ 9.22,30814],[11.16,61629]],							//ON
[[ 9.68,0],[14.82,30754],[16.52,61509],[17.84,100000]],				//NB
[[ 9.77,0],[14.95,29590],[16.67,59180]],							//NS
[[ 9.80,0],[13.80,30754],[16.70,61509]],							//PE
[[10.57,0],[16.16,29590],[18.02,59180]],							//NF
[[ 7.36,0],[10.12,30754],[11.96,61509],[13.34,100000]],				//YT
[[ 7.20,0],[ 9.90,30754],[11.70,61509],[13.05,100000]],				//NT
[[ 7.20,0],[ 9.90,30754],[11.70,61509],[13.05,100000]]				//NU
]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,3560],[36,4491]],	//ON
[],				//NB
[[10,10000]],		//NS
[[10,5200]],		//PE
[[ 9,7032]],		//NF
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
]

aPDonCredits = [  //2001
[ 7.30,16.70], 		//BC
[10.00,12.75],		//AB
[11.50,16.00],		//SK
[10.90,17.40],		//MB
[ 6.16,11.16],		//ON
[ 9.68,17.84],		//NB
[ 9.77,16.67],		//NS
[ 9.80,16.70],		//PE
[10.57,18.02],		//NF
[ 7.36,13.34],		//YT
[ 7.20,13.05],		//NT
[ 7.20,13.05]		//NU
]

aProvDTC = [
5.9,	//BC
6.4,	//AB
8.0,	//SK
6.0,	//MB
5.13,	//ON
7.6,	//NB
7.7,	//NS
7.7,	//PE
9.0,	//NF
6.1,	//YT
6.0,	//NT
6.0	//NU
]
aProvDTCL = aProvDTC;
FedSpousalAmount = 6293;
FedSpousalBase = 6923;
FedAgeAmount=3619;
FedAgeBase = 26941;
aPAgeAmount = [3587, 3619, 3619, 3619, 3626, 3619, 3531, 3619, 3482, 3619, 3619, 3619];
aPAgeBase =  [26705,26941,26941,26941,26994,26941,26284,26941,25921,26941,26941,26941];
SaskAgeAmt = 500;
FedPA = 1000;
aPPension =  [1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000];
SaskDepamt = 1500;
aPSpousalAmount = [6850,12900,8000,6294,6306,6294,6140,6294,6055,6924,6924,6924];
aPSpousalBase =   [7535,12900,8800,6923,6937,6923,6754,6923,6661,6923,6923,6923];
  	
EIRate = 2.25;
EIMax = 878;
CPPRate = 4.3;
CPPExempt = 3500;
CPPMaxEarnings = 38300;
CPPMax = 1496.4;
				
GSTAdult = 213;
GSTChild = 112;
GSTBase1 = 6911;
GSTBase1Pct = 2;
GSTBase2 = 27749;
GSTBase2Pct = 5;

CTBBasic = 1151;
CTBBasicThird = 80;
aCTBBasicRedRate=[2.5,5.0];
aCTBSupplement=[1293,1087,1009];
aCTBSupRedRate=[12.2,22.5,32.1];
CTBSupBase = 22397;
CTBBaseBase = 32960;
MaxOAS = 5232.27;
EIBase = 48750;
OASBase = 55309;
	break;
  	}
//////////////////////////////////////////////////////// 2002
  case "2" :{ //2002
FormBackGround.bgColor = "FF99FF";
FedBasic = 7634;
FedDepAmt=0;
CEA=0;
aPBasic = [
8168,	//BC
13339,//AB
8000,	//SK
7634,	//MB
7686,	//ON
7634,	//NB
7231,	//NS
7412,	//PE
7410,	//NF
7634,	//YT
9342,	//NT  Updated 2002 10 06
10000	//NU
]
aFedBrackets = [0,31677,63354,103000];
aFedRates = [16,22,26,29];
aProvBrackets = [
[[ 6.05,0],[ 9.15,31124],[11.70,62249],[13.7,71470],[14.7,86785]], 		//BC
[[10.00,0]],											//AB
[[11.25,0],[13.25,30000],[15.50,60000]],							//SK
[[10.90,0],[15.40,30544],[17.40,65000]],							//MB
[[ 6.05,0],[ 9.15,31892],[11.16,63786]],							//ON
[[ 9.68,0],[14.82,31677],[16.52,63354],[17.84,103000]],				//NB
[[ 9.77,0],[14.95,29590],[16.67,59180]],							//NS
[[ 9.80,0],[13.80,30754],[16.70,61509]],							//PE
[[10.57,0],[16.16,29590],[18.02,59180]],							//NF
[[ 7.04,0],[ 9.68,31677],[11.44,63354],[12.76,103000]],				//YT
[[ 7.20,0],[ 9.90,31667],[11.70,63354],[13.05,103000]],				//NT
[[ 4.00,0],[ 7.00,31667],[ 9.00,63354],[11.50,103000]]				//NU
]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,3685],[36,4648]],	//ON
[],				//NB
[[10,10000]],		//NS
[[10,5200]],		//PE
[[ 9,7032]],		//NF
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
]

aPDonCredits = [	//2002
[ 6.00,14.70], 		//BC
[10.00,12.75],		//AB
[11.25,15.50],		//SK
[10.90,17.40],		//MB
[ 6.05,11.16],		//ON
[ 9.68,17.84],		//NB
[ 9.77,16.67],		//NS
[ 9.80,16.70],		//PE
[10.57,18.02],		//NF
[ 7.04,12.76],		//YT
[ 7.20,13.05],		//NT
[ 4.00,11.50]		//NU
]

aProvDTC = [
5.1,	//BC
6.4,	//AB
8.0,	//SK
5.0,	//MB
5.13,	//ON
7.7,	//NB
7.7,	//NS
7.7,	//PE
5.0,	//NF
5.87,	//YT
6.0,	//NT
4.0	//NU
]
aProvDTCL = aProvDTC;
FedSpousalAmount = 6482;
FedSpousalBase = 7131;
FedAgeAmount=3728;
FedAgeBase = 27749;
FedPA=1000;
aPAgeAmount = [3663, 3742, 3728, 3728, 3753, 3728, 3531, 3619, 3482, 3728, 4566, 3728];
aPAgeBase =  [26705,27857,27749,27749,27938,27749,26284,26941,25921,27749,27749,27749];
aPPension =  [1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000];
SaskAgeAmt = 750;
SaskDepAmt = 2000;
aPSpousalAmount = [6994,13339,8000,6483,6526,6483,6140,6294,6055,6483,8766,10000];
aPSpousalBase =   [7693,13339,8800,7131,7174,7131,6754,6923,6661,7131,9091,10000];

EIRate = 2.20;
EIMax = 858;
CPPRate = 4.7;
CPPExempt = 3500;
CPPMaxEarnings = 39100;
CPPMax = 1673.2;
				
GSTAdult = 216;  //GST/CTB updated 2002 11 16
GSTChild = 114;
GSTBase1 = 7022;
GSTBase1Pct = 2;
GSTBase2 = 28193;
GSTBase2Pct = 5;

CTBBasic = 1169;
CTBBasicThird = 82;
aCTBBasicRedRate=[2.5,5.0];
aCTBSupplement=[1463,1254,1176]; //Supplement updated 2003 02 28
aCTBSupRedRate=[12.2,22.5,32.1];
CTBSupBase = 21529;
CTBBaseBase = 33487;

MaxOAS = 5335.89;
EIBase = 48750;
OASBase = 56968;

  	break;
  	}
//////////////////////////////////////////////////////////////////2003
  case "3":{    //Federal amounts updated 2002 11 16 Provincial 2002 12 15
FormBackGround.bgColor = "99FFFF";
FedBasic = 7756;
FedDepAmt=0;
CEA=0;
aPBasic = [
8307,	//BC
13525,//AB
8000,	//SK
7634,	//MB
7817,	//ON
7756,	//NB
7231,	//NS
7412,	//PE
7410,	//NF
7756,	//YT
11050,	//NT
10160	//NU
]
aFedBrackets = [0,32183,64368,104648];
aFedRates = [16,22,26,29];
aProvBrackets = [
[[ 6.05,0],[ 9.15,31563],[11.70,63308],[13.7,72685],[14.7,88260]], 	//BC updated 2002 8 23
[[10.00,0]],														//AB
[[11.00,0],[13.00,35000],[15.00,100000]],							//SK updated 2002 8 23
[[10.90,0],[14.90,30544],[17.40,65000]],							//MB updated 2002 8 23
[[ 6.05,0],[ 9.15,32435],[11.16,64871]],							//ON updated 2002 12 19
[[ 9.68,0],[14.82,32183],[16.52,64368],[17.84,104648]],				//NB updated 2002 12 19
[[ 9.77,0],[14.95,29590],[16.67,59180]],							//NS
[[ 9.80,0],[13.80,30754],[16.70,61509]],							//PE
[[10.57,0],[16.16,29590],[18.02,59180]],							//NF
[[ 7.04,0],[ 9.68,32183],[11.44,64368],[12.76,104648]],				//YT updated 2002 12 19
[[ 7.20,0],[ 9.90,32183],[11.70,64368],[13.05,104648]],				//NT updated 2002 12 19
[[ 4.00,0],[ 7.00,32183],[ 9.00,64368],[11.50,104648]]				//NU updated 2002 12 19
]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,3747],[36,4727]],	//ON
[],				//NB
[[10,10000]],		//NS
[[10,5200]],		//PE
[[ 9,7032]],		//NF
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
]

aPDonCredits = [	//2003
[ 6.00,14.70], 		//BC
[10.00,12.75],		//AB
[11.00,15.00],		//SK
[10.90,17.40],		//MB
[ 6.05,11.16],		//ON
[ 9.68,17.84],		//NB
[ 9.77,16.67],		//NS
[ 9.80,16.70],		//PE
[10.57,18.02],		//NF
[ 7.04,12.76],		//YT
[ 7.20,13.05],		//NT
[ 7.20,13.05]		//NU
]

aProvDTC = [
5.1,	//BC
6.4,	//AB
8.0,	//SK
5.0,	//MB
5.13,	//ON
7.7,	//NB
7.7,	//NS
7.7,	//PE
5.0,	//NF
5.87,	//YT
6.0,	//NT
4.0		//NU
]
aProvDTCL = aProvDTC;
FedSpousalAmount = 6586;
FedSpousalBase = 7245;
FedAgeAmount=3787;
FedAgeBase = 28193;
FedPA=1000;
aPAgeAmount = [3725, 3794, 3787, 3728, 3817, 3787, 3531, 3619, 3482, 3787, 5405, 7620];
aPAgeBase =  [27729,28247,28193,27749,28413,28193,26284,26941,25921,28193,28193,28193];
aPPension =  [1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000];
SaskAgeAmt = 1000;
SaskDepAmt = 2500;
aPSpousalAmount = [7113,13525,8000,6482,6637,6586,6140,6294,6055,6586,11050,10160];
aPSpousalBase =   [7824,13525,8800,7131,7301,7245,6754,6923,6661,7245,11050,10160];

  EIRate = 2.10;  //Updated Nov 28 2002
  EIMax = 819;
  CPPRate = 4.95;
  CPPExempt = 3500;
  CPPMaxEarnings = 39900;
  CPPMax = 1801.80;
				
  GSTAdult = 224;     //updated 2002 12 15
  GSTChild = 118;
  GSTBase1 = 7253;
  GSTBase1Pct = 2;
  GSTBase2 = 29123;
  GSTBase2Pct = 5;

  CTBBasic = 1169;
  CTBBasicThird = 82;
  aCTBBasicRedRate=[2.5,5.0];
  aCTBSupplement=[1313,1104,1026];
  aCTBSupRedRate=[12.2,22.5,32.1];
  CTBSupBase = 22755;
  CTBBaseBase = 33487;

  MaxOAS = 5497;    
  EIBase = 48750;  
  OASBase = 57879; 
  break;	
  	}
//////////////////////////////////////////////////////////////////2004
  case "4" :{    //Updated 2004 3 12
FormBackGround.bgColor = "FFFFCC";
FedBasic = 8012;
FedDepAmt=0;
CEA=0;
aPBasic = [
8523,	//BC
14337,  //AB
8264,	//SK
7634,	//MB
8044,	//ON
7756,	//NB
7231,	//NS
7412,	//PE
7410,	//NF
8012,	//YT
11415,	//NT
10495	//NU
]
aFedBrackets = [0,35000,70000,113804];
aFedRates = [16,22,26,29];
aProvBrackets = [
[[ 6.05,0],[ 9.15,32477],[11.70,64955],[13.7,74576],[14.7,90555]], 	//BC 
[[10.00,0]],														//AB
[[11.00,0],[13.00,36155],[15.00,103300]],							//SK 
[[10.90,0],[14.00,30545],[17.40,65000]],							//MB 
[[ 6.05,0],[ 9.15,33375],[11.16,66752]],							//ON  updated 20050809
[[ 9.68,0],[14.82,32183],[16.52,64368],[17.84,104648]],				//NB  
[[ 8.79,0],[14.95,29590],[16.67,59180],[17.50,93000]],				//NS  updated 20060803
[[ 9.80,0],[13.80,30754],[16.70,61509]],							//PE
[[10.57,0],[16.16,29590],[18.02,59180]],							//NF
[[ 7.04,0],[ 9.68,35000],[11.44,70000],[12.76,113804]],				//YT  updated 20060803
[[ 7.20,0],[ 9.90,33245],[11.95,66492],[13.55,108101]],				//NT 
[[ 4.00,0],[ 7.00,35000],[ 9.00,70000],[11.50,113804]]				//NU 
]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,3856],[36,4864]],	//ON
[],				//NB
[[10,10000]],		//NS
[[10,5200]],		//PE
[[ 9,7032]],		//NF
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
]

aPDonCredits = [	//2004
[ 6.05,14.70], 		//BC
[10.00,12.75],		//AB
[11.00,15.00],		//SK
[10.90,17.40],		//MB
[ 6.05,11.16],		//ON
[ 9.68,17.84],		//NB
[ 8.79,17.50],		//NS
[ 9.80,16.70],		//PE
[10.57,18.02],		//NF
[ 7.04,12.76],		//YT
[ 7.20,13.55],		//NT
[ 4.00,11.50]		//NU
]

aProvDTC = [
5.1,	//BC
6.4,	//AB
8.0,	//SK
5.0,	//MB
5.13,	//ON
3.7,	//NB
7.7,	//NS
7.7,	//PE
5.0,	//NF
5.87,	//YT
6.0,	//NT
4.0		//NU
]
aProvDTCL = aProvDTC;
FedSpousalAmount = 6804;
FedSpousalBase = 7484;
FedAgeAmount=3912;
FedAgeBase = 29124;
FedPA=1000;
aPAgeAmount = [3822, 4022, 3912, 3728, 3928, 3787, 3531, 3619, 3482, 3912, 5583, 7871];
aPAgeBase =  [28450,29942,29124,27749,29237,28193,26284,26941,25921,29124,29124,29124];
aPPension =  [1000,1111,1000,1000,1112,1000,1000,1000,1000,1000,1000,1000];
SaskAgeAmt = 1033;
SaskDepAmt = 2583;
aPSpousalAmount = [7298,14337,8264,6482,6830,6586,6140,6294,6055,6803,11414,10495];
aPSpousalBase =   [8028,14337,9090,7131,7513,7245,6754,6923,6661,7484,11414,10495];

  EIRate = 1.98;  
  EIMax = 772.2;
  CPPRate = 4.95;
  CPPExempt = 3500;
  CPPMaxEarnings = 40500;
  CPPMax = 1831.50;
				
  GSTAdult = 227;
  GSTChild = 120;
  GSTBase1 = 7377;
  GSTBase1Pct = 2;
  GSTBase2 = 29618;
  GSTBase2Pct = 5;

  CTBBasic = 1208;  
  CTBBasicThird = 84;
  aCTBBasicRedRate=[2.5,5.0];
  aCTBSupplement=[1511,1295,1215];
  aCTBSupRedRate=[12.2,22.7,32.5];
  CTBSupBase = 22619;
  CTBBaseBase = 35000;

  MaxOAS = 5592.75;
  EIBase = 48750;  
  OASBase = 59790; 
break;  	
  	}
//////////////////////////////////////////////////////////////////2005
  case "5":{    //2005 Federal amounts updated 2005 08 02
FormBackGround.bgColor = "FFCCFF";
FedBasic = 8648;
FedDepAmt=0;
CEA=0;
aPBasic = [
8676,	//BC
14523,  //AB
8404,	//SK
7634,	//MB
8196,	//ON
7888,	//NB
7231,	//NS
7412,	//PE
7410,	//NF
8149,	//YT
11609,	//NT
10674	//NU
]
aFedBrackets = [0,35595,71190,115739];
aFedRates = [15,22,26,29];
aProvBrackets = [
[[ 6.05,0],[ 9.15,33061],[11.70,66124],[13.7,75917],[14.7,92185]], 	//BC 
[[10.00,0]],														//AB
[[11.00,0],[13.00,36770],[15.00,105056]],							//SK 
[[10.90,0],[14.00,30545],[17.40,65000]],							//MB 
[[ 6.05,0],[ 9.15,34009],[11.16,68020]],							//ON 
[[ 9.68,0],[14.82,32731],[16.52,65462],[17.84,106427]],				//NB
[[ 8.79,0],[14.95,29590],[16.67,59180],[17.50,93000]],				//NS
[[ 9.80,0],[13.80,30754],[16.70,61509]],							//PE
[[10.57,0],[16.16,29590],[18.02,59180]],							//NF
[[ 7.04,0],[ 9.68,35595],[11.44,70190],[12.76,115739]],				//YT 
[[ 5.90,0],[ 8.60,33811],[12.20,67622],[14.05,109939]],				//NT 
[[ 4.00,0],[ 7.00,35595],[ 9.00,70190],[11.50,115739]]				//NU 
]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,3929],[36,4957]],	//ON
[],				//NB
[[10,10000]],		//NS
[[10,5200]],		//PE
[[ 9,7032]],		//NF
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
]

aPDonCredits = [	//2005
[ 6.05,14.70], 		//BC
[10.00,12.75],		//AB
[11.00,15.00],		//SK
[10.90,17.40],		//MB
[ 6.05,11.16],		//ON
[ 9.68,17.84],		//NB
[ 8.79,17.50],		//NS
[ 9.80,16.70],		//PE
[10.57,18.02],		//NF
[ 7.04,12.76],		//YT
[ 7.20,14.05],		//NT
[ 4.00,11.50]		//NU
]
		
aProvDTC = [
5.1,	//BC
6.4,	//AB
8.0,	//SK
5.0,	//MB
5.13,	//ON
3.7,	//NB
7.7,	//NS
7.7,	//PE
5.0,	//NF
5.87,	//YT
6.0,	//NT
4.0		//NU
]
aProvDTCL = aProvDTC;
FedSpousalAmount = 7344;
FedSpousalBase = 8078;	
FedAgeAmount=3979;
FedAgeBase = 29619;
FedPA=1000;
aPAgeAmount = [3890, 4074, 3979, 3728, 4002, 3852, 3531, 3619, 3482, 3979, 5678, 8005];
aPAgeBase =  [28962,30331,29619,27749,29793,28672,26284,26941,25921,29619,29619,29619];
aPPension =  [1000,1126,1000,1000,1133,1000,1000,1000,1000,1000,1000,1000];
SaskAgeAmt = 1051;
SaskDepAmt = 2626;
aPSpousalAmount = [7429,14523,8404,6483,6960,6698,6140,6294,6055,6920,11609,10674];
aPSpousalBase =   [8172,14523,9244,7131,7656,7368,6754,6923,6661,7612,11609,10674];
		
EIRate = 1.95;  
EIMax = 760.5;
CPPRate = 4.95;
CPPExempt = 3500;
CPPMaxEarnings = 41100;
CPPMax = 1861.20;
						
  GSTAdult = 232;  
  GSTChild = 122;
  GSTBase1 = 7539;
  GSTBase1Pct = 2;
  GSTBase2 = 30270;
  GSTBase2Pct = 5;

  CTBBasic = 1255;  
  CTBBasicThird = 88;
  aCTBBasicRedRate=[2.5,5.0];
  aCTBSupplement=[1945,1720,1637];
  aCTBSupRedRate=[12.2,22.8,32.9];
  CTBSupBase = 36378;
  CTBBaseBase = 36378;

  MaxOAS = 5687.81;
  EIBase = 48750;  
  OASBase = 60806; 
break;		  	
  	}
//////////////////////////////////////////////////////////////////2008
 case "8":{    //2008 Federal amounts updated 2007 11 30
FormBackGround.bgColor = "CCFFFF";
FedDTCL = 99/522;
FedLDivGU = 9/20;
FedBasic = 9600;
FedDepAmt=2038;
CEA=1019;
aFedBrackets = [0,37885,75769,123184];
aFedRates = [15,22,26,29];
aProvBrackets = [
[[ 5.06,0],[ 7.70,35016],[10.50,70033],[12.29,80406],[14.7,97636]], 	//BC rev 2008 10 23
[[10.00,0]],														//AB
[[11.00,0],[13.00,39135],[15.00,111814]],							//SK 
[[10.90,0],[12.75,30544],[17.40,66000]],							//MB  rev 2007 11 30
[[ 6.05,0],[ 9.15,36020],[11.16,72041]],							//ON rev 2007 11 30
[[10.12,0],[15.48,34836],[16.80,69673],[17.95,113273]],				//NB rev 2007 11 30
[[ 8.79,0],[14.95,29590],[16.67,59180],[17.50,93000]],				//NS
[[ 9.80,0],[13.80,31984],[16.70,63969]],							//PE rev 2007 11 30
[[ 8.2,0],[13.3,30215],[16.0,60429]],							//NF rev 2008 06 30
[[ 7.04,0],[ 9.68,37885],[11.44,75769],[12.76,123184]],				//YT 
[[ 5.90,0],[ 8.60,35986],[12.20,71973],[14.05,117011]],				//NT 
[[ 4.00,0],[ 7.00,37885],[ 9.00,75770],[11.50,123184]]				//NU 
	]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,4162],[36,5249]],	//ON  rev 2007 11 30
[],				//NB
[[10,10000]],		//NS
[[10,12500]],		//PE rev 2007 11 30
[],		//NF elimated July 2007
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
	]
	
aPDonCredits = [	//2008
[ 5.35,14.70], 		//BC
[10.00,21.00],		//AB updated 2007 04 20 per budget
[11.00,15.00],		//SK
[10.90,17.40],		//MB
[ 6.05,11.16],		//ON
[ 10.12,17.95],		//NB
[ 8.79,17.50],		//NS
[ 9.80,16.70],		//PE
[8.7,16.5],		//NF
[ 7.04,12.76],		//YT
[ 5.9,14.05],		//NT
[ 4.00,11.50]		//NU
]
			
aProvDTC = [
5.1,	//BC
4.5,	//AB updated 9/22/2006 rates 2006 -2009: 6.0 5.5 4.5 3.5
6.0,	//SK updated 4/5/2008
3.15,	//MB updated 11/15/2008
5.13,	//ON
5.3,	//NB rev 2007 03 14
7.7,	//NS
6.5,	//PE updated 2008 11 15
5.0,	//NF
4.45,	//YT
6.0,	//NT
4.0		//NU
];  	
aProvDTCL = [
12,		//BC 
9.0,	//AB updated 9/22/2006 rates 2006 -2009: 7.5 8.0 9.0 10.0
8.0,	//SK
11.00,	//MB  
7.0,	//ON  Updated 8/8/2006  2006:6.5;2007:6.7,2008:7.0;2009:7.4;2010:7.7
12,	//NB updated 11/15/2008
8.85,	//NS updated 11/15/2008
10.5,	//PE updated 11/22/2006
6.65,	//NF 
11,	//YT updated 11/22/2006
11.5,	//NT 
6.2		//NU updated 11/15/2008
]  	

FedSpousalAmount = 9600;
FedSpousalBase = 9600;   
FedAgeAmount=5276;
FedPA=2000;
FedAgeBase = 31524;
//					  BC,   AB,   SK,   MB,   ON,  NB,    NS,   PE,   NL,   YT,   NT,   NU	Rev 2008 10 24
aPBasic =         [ 9189,16161, 12945, 8034, 8681, 8395, 7731, 7708, 7566, 9600,12355,11360];
aPAgeAmount =     [ 4120, 4503, 4234, 3728, 4239, 4100, 3649, 3691, 3556, 5276, 6044, 8520];
aPAgeBase =       [30675,33525,31524,27749,31554,30517,27163,27480,26468,31524,31524,31524];
aPPension = 	  [ 1000, 1244, 1000, 1000, 1201, 1000, 1000, 1000, 1000, 2000, 1000, 2000];  //NU updated per budget
aPSpousalAmount = [ 7836,16161, 12945, 8034, 7371, 7129, 6565, 6546, 6183, 9600,12355,11360];
aPSpousalBase =   [ 8655,16161, 14240, 8034, 8109, 7842, 7222, 7201, 6802, 9600,12355,11360];
SaskAgeAmt = 1118;
SaskDepAmt = 4795;  //updated 2008 10 24
			
EIRate = 1.73;  
EIMax = 711.03;
CPPRate = 4.95;
CPPExempt = 3500;
CPPMaxEarnings = 44900;
CPPMax = 2049.3;
							
GSTAdult = 248;  //updated 2009 07 02    
GSTChild = 130;
GSTBase1 = 8047;
GSTBase1Pct = 2;
GSTBase2 = 32312;
GSTBase2Pct = 5;
	
  CTBBasic = 1340;  // Updated 2008 07 21 per CRA website
  CTBBasicThird = 93;
  aCTBBasicRedRate=[2,5];
  aCTBSupplement=[2076,1837,1747];
  aCTBSupRedRate=[12.2,23,33.3];
  CTBSupBase = 23710;
  CTBBaseBase = 40726;

  MaxOAS = 6082.23  //Updated 2008/10/05
  EIBase = 51375;  // updated 2008 11 15
  OASBase = 64751;	// updated 2007 12 23
break;		  	
  	}

	//////////////////////////////////////////////////////////////////2009
	 case "9":{    //2009 Federal amounts updated 2008 11 15 and 2009 01 27 for Budget
	FormBackGround.bgColor = "FFCCFF";
FedDTCL = 99/522;
FedLDivGU = 9/20;
	FedBasic = 10320;
	FedDepAmt=2089;
	CEA=1044;
	aFedBrackets = [0,40726,81452,126264];
	aFedRates = [15,22,26,29];
	aProvBrackets = [
	[[ 5.06,0],[ 7.70,35716],[10.50,71433],[12.29,82014],[14.7,99588]], 	//BC rev 2008 11 15
	[[10.00,0]],														//AB
	[[11.00,0],[13.00,40113],[15.00,114610]],							//SK  rev 2008 11 15
	[[10.80,0],[12.75,31000],[17.40,67000]],							//MB  rev 2008 11 15
	[[ 6.05,0],[ 9.15,36848],[11.16,73698]],							//ON rev 2008 11 15  - 6.05->5.05 as of 2010
	[[ 9.65,0],[14.50,35707],[16.00,71415],[17.00,116105]],				//NB rev 2009 03 17
	[[ 8.79,0],[14.95,29590],[16.67,59180],[17.50,93000]],				//NS rev 2008 11 15 no change
	[[ 9.80,0],[13.80,31984],[16.70,63969]],							//PE rev 2008 11 15 no change
	[[ 7.7,0],[12.8,31061],[15.5,62121]],							//NF rev 2008 11 15
	[[ 7.04,0],[ 9.68,40726],[11.44,81452],[12.76,126264]],				//YT rev 2008 11 15
	[[ 5.90,0],[ 8.60,36885],[12.20,73772],[14.05,119936]],				//NT rev 2008 11 15
	[[ 4.00,0],[ 7.00,38832],[ 9.00,77664],[11.50,126264]]				//NU rev 2008 11 15
	]
	aProvSurtax = [
	[],				//BC
	[],				//AB
	[],				//SK
	[],				//MB
	[[20,4257],[36,5370]],	//ON  for 2010: 20,3978 36,5370
	[],				//NB
	[[10,10000]],		//NS rev 2008 11 15 no change
	[[10,12500]],		//PE rev 2008 11 15 no change
	[],		//NF rev 2008 11 15 eliminated
	[[ 5,6000]],		//YT rev 2008 11 15 no change
	[],				//NT
	[]				//NU
	]
		
	aPDonCredits = [	//2009
	[ 5.06,14.70], 		//BC
	[10.00,21.00],		//AB updated 2007 04 20 per budget
	[11.00,15.00],		//SK
	[10.80,17.40],		//MB
	[ 6.05,11.16],		//ON
	[ 10.12,17.95],		//NB
	[ 8.79,17.50],		//NS
	[ 9.80,16.70],		//PE
	[7.7,15.5],		//NF
	[ 7.04,12.76],		//YT
	[ 5.9,14.05],		//NT
	[ 4.00,11.50]		//NU
	]
				
	aProvDTC = [
	4.2,	//BC rev 2008 11 15
	3.5,	//AB updated 9/22/2006 rates 2006 -2009: 6.0 5.5 4.5 3.5
	6.0,	//SK updated 4/5/2008
	2.5,	//MB  updated 2008 11 15 - will reduce to 1.75 for 2011
	5.13,	//ON  4.5% for 2010
	5.3,	//NB rev 2007 03 14
	7.7,	//NS
	6.5,	//PE updated 2008 11 15
	5.0,	//NF
	4.45,	//YT
	6.0,	//NT
	4.0		//NU
	];  	
	aProvDTCL = [
	11,		//BC rev 2008 11 15
	10.0,	//AB updated 9/22/2006 rates 2006 -2009: 7.5 8.0 9.0 10.0
	8.0,	//SK
	11.00,	//MB  
	7.4,	//ON  6.4% for 2010
	12,	//NB updated 11/15/2008
	8.85,	//NS updated 11/15/2008
	10.5,	//PE updated 11/22/2006
	9.75,	//NF updated 3/26/2009
	11,	//YT updated 11/22/2006
	11.5,	//NT 
	6.2		//NU updated 11/15/2008
	]  	
	
	FedSpousalAmount = 10320;  // updated 2009 07 09
	FedSpousalBase = 10320;   
	FedAgeAmount=6408;
	FedPA=2000;
	FedAgeBase = 32312;
	//			  		       BC,  AB,    SK,    MB,    ON,   NB,    NS,    PE,    NL,   YT,     NT,  NU	Rev 2009 11 16
	aPBasic =             	[9373,16775,13269,  8134,  8881, 8605,  7981,  7708,  7778, 10320, 12664, 11644];
	aPAgeAmount =         	[4203, 4675,  4340, 3728,  4336, 4202,  3797,  3764,  3655,  6408,  6195,  8733];
	aPAgeBase =            [31288,34799, 32312,27749, 32280,31280, 29010, 28019, 27209, 32312, 32312, 32312];
	aPPension = 	      	[1000, 1292,  1000, 1000,  1229, 1000,  1000,  1000,  1000,  2000,  1000,  2000];  //NU updated per budget
	aPSpousalAmount = 		[8026,16775, 13269, 8134,  7541, 7307,  6778,  6546,  6356, 10320, 12664, 11664];
	aPSpousalBase =     	[8829,16775, 14596, 8134,  8295, 8038,  7456,  7201,  6992, 10310, 12664, 11664];
	SaskAgeAmt = 1146;
	SaskDepAmt = 4915;  
				
	EIRate = 1.73;  
	EIMax = 731.79;
	CPPRate = 4.95;
	CPPExempt = 3500;
	CPPMaxEarnings = 46300;
	CPPMax = 2118.6;
								
	GSTAdult = 250;  
	GSTChild = 131;
	GSTBase1 = 8096;
	GSTBase1Pct = 2;
	GSTBase2 = 32506;
	GSTBase2Pct = 5;
		
	  CTBBasic = 1348;  
	  CTBBasicThird = 94;
	  aCTBBasicRedRate=[2,4];
	  aCTBSupplement=[2088,1848,1757];
	  aCTBSupRedRate=[12.2,23,33.3];
	  CTBSupBase = 23954;
	  CTBBaseBase = 40970;
		
	  MaxOAS = 6203.52 
	  EIBase = 52875;  
	  OASBase = 66335;	// updated 2009 10 30
		break;		  	
		  	}

	//////////////////////////////////////////////////////////////////2009
	 case "10":{    //2010 Federal amounts updated 2009 11 16 per payroll guide
	FormBackGround.bgColor = "FFFFCC";
	FedLDivGU = 11/25;
	FedDTCL = 55/306;
    FedBasic = 10383;
	FedDepAmt=2101;
	CEA=1051;
	aFedBrackets = [0,40970,81941,127021];
	aFedRates = [15,22,26,29];
	aProvBrackets = [
	[[ 5.06,0],[ 7.70,35859],[10.50,71719],[12.29,82342],[14.7,99987]], 	//BC 
	[[10.00,0]],														//AB
	[[11.00,0],[13.00,40354],[15.00,115297]],							//SK
	[[10.80,0],[12.75,31000],[17.40,67000]],							//MB
	[[ 5.05,0],[ 9.15,37106],[11.16,74214]],							//ON
	[[ 9.3,0],[12.50,36421],[13.30,72843],[14.30,118427]],				//NB
	[[ 8.79,0],[14.95,29590],[16.67,59180],[17.50,93000],[21.00,150000]],			 //NS updated per budget 2010 04 07
	[[ 9.80,0],[13.80,31984],[16.70,63969]],							//PE
	[[ 7.7,0],[12.8,31278],[15.5,62556]],								//NF
	[[ 7.04,0],[ 9.68,40970],[11.44,81941],[12.76,127021]],				//YT
	[[ 5.90,0],[ 8.60,37106],[12.20,74214],[14.05,120656]],				//NT
	[[ 4.00,0],[ 7.00,39065],[ 9.00,78130],[11.50,127021]]				//NU
	]
	aProvSurtax = [
	[],				//BC
	[],				//AB
	[],				//SK
	[],				//MB
	[[20,3978],[36,5091]],	//ON  updated 2010 03 15
	[],				//NB
	[],	//NS updated per budget 2010 04 07
	[[10,12500]],	//PE
	[],				//NF
	[[ 5,6000]],	//YT
	[],				//NT
	[]				//NU
	]
		
	aPDonCredits = [	//2009
	[ 5.06,14.70], 		//BC
	[10.00,21.00],		//AB
	[11.00,15.00],		//SK
	[10.8,14.40],		//MB
	[ 5.05,11.16],		//ON
	[ 9.3,14.3],		//NB
	[ 8.79,17.50],		//NS
	[ 9.80,16.70],		//PE
	[7.7,15.5],			//NF
	[ 7.04,12.76],		//YT
	[ 5.9,14.05],		//NT
	[ 4.00,11.50]		//NU
	]
				
	aProvDTC = [
	3.4,	//BC updated 2010 3 15
	3.5,	//AB 
	6.0,	//SK
	2.5,	//MB  updated 2008 11 15 - will reduce to 1.75 for 2011
	4.5,	//ON  
	5.3,	//NB 
	7.7,	//NS
	6.5,	//PE
	5.0,	//NF
	4.45,	//YT
	6.0,	//NT
	4.0		//NU
	];  	
aProvDTCL = [ //All rates updated 5/5/2010
	10.83,		//BC 
	10.0,	//AB 
	11,	//SK
	11,	//MB  
	6.4,	//ON  
	11.82,		//NB 
	8.71,	//NS
	10.34,	//PE
	9.6,	//NF
	10.83,		//YT
	11.32,	//NT 
	6.11		//NU

]  	
	
	FedSpousalAmount = 10382;  // updated 2009 11 16
	FedSpousalBase = 10382;   
	FedAgeAmount=6446;
	FedPA=2000;
	FedAgeBase = 32506;
	//			            	BC,   AB,   SK,    MB,    ON,   NB,   NS,    PE,     NL,   YT,   NT,   NU	Rev 2009 11 16
	aPBasic =             [  11000,16825,13348,  8134,  8943, 8777,  8231,  7708,  7833,10382,12740,11714];
	aPAgeAmount =         [  4219,  4688, 4366,  3728,  4356, 4211,  3885,  3691,  3685,  5440,  6232,  8785];
	aPAgeBase =            [31414, 34903,32506, 27749, 32506,31343, 28919, 27480, 27399, 32506, 32506, 32506];
	aPPension = 	      [  1000,  1330,  1000,  1000,  1238,1000,  1000,  1000,  1000,  2000,  1000,  2000];  //NU updated per budget
	aPSpousalAmount = 	  [  9373,16825, 13348,  8134,   7594,7307,  6989,  6546,  6400, 10382, 12740, 11714];
	aPSpousalBase =      [   9373,16825, 14683,  8134,   8353,8038,  7688,  7201,  7040, 10382, 12740, 11714];
	SaskAgeAmt = 1153;
	SaskDepAmt = 4944;  
				
	EIRate = 1.73;  
	EIMax = 747.36;
	CPPRate = 4.95;
	CPPExempt = 3500;
	CPPMaxEarnings = 47200;
	CPPMax = 2163.15;
								
	GSTAdult = 250;  //estimated at .6% indexation    
	GSTChild = 131;
	GSTBase1 = 8096;
	GSTBase1Pct = 2;
	GSTBase2 = 32506;
	GSTBase2Pct = 5;
		
	  CTBBasic = 1348;  // updated per CRA
	  CTBBasicThird = 94;
	  aCTBBasicRedRate=[2,4];
	  aCTBSupplement=[2088,1848,1757];
	  aCTBSupRedRate=[12.2,23,33.3];
	  CTBSupBase = 23855;
	  CTBBaseBase = 40970;

		
	  MaxOAS = 6240.75 	// estimated at .6%
	  EIBase = 54000;  	// updated 12/31/2009
	  OASBase = 66733;	// estimated at .6%
		break;		  	
		  	}

//////////////////////////////////////////////////////////////////2006
  case "6":{    //2006 Federal amounts updated 2006 06 05
FormBackGround.bgColor = "D0D0D0";
FedDTCL = 99/522;
FedLDivGU = 9/20;
FedBasic = 8839;
FedDepAmt=0;
CEA=250;
aFedBrackets = [0,36378,72756,118285];
aFedRates = [15.25,22,26,29];
aProvBrackets = [
[[ 6.05,0],[ 9.15,33755],[11.70,67512],[13.7,77512],[14.7,94121]], 	//BC 
[[10.00,0]],														//AB
[[11.00,0],[13.00,37579],[15.00,107367]],							//SK 
[[10.90,0],[13.50,30545],[17.40,65000]],							//MB 
[[ 6.05,0],[ 9.15,34758],[11.16,69517]],							//ON 
[[ 9.68,0],[14.82,33450],[16.52,66902],[17.84,108768]],				//NB
[[ 8.79,0],[14.95,29590],[16.67,59180],[17.50,93000]],				//NS
[[ 9.80,0],[13.80,30754],[16.70,61509]],							//PE
[[10.57,0],[16.16,29590],[18.02,59180]],							//NF
[[ 7.04,0],[ 9.68,36378],[11.44,72756],[12.76,118285]],				//YT 
[[ 5.90,0],[ 8.60,34555],[12.20,69110],[14.05,112358]],				//NT 
[[ 4.00,0],[ 7.00,36378],[ 9.00,72756],[11.50,118285]]				//NU 
]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,4016],[36,5065]],	//ON
[],				//NB
[[10,10000]],		//NS
[[10,5200]],		//PE
[[ 9,7032]],		//NF
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
]

aPDonCredits = [	//2005
[ 6.05,14.70], 		//BC
[10.00,12.75],		//AB
[11.00,15.00],		//SK
[10.90,17.40],		//MB
[ 6.05,11.16],		//ON
[ 9.68,17.84],		//NB
[ 8.79,17.50],		//NS
[ 9.80,16.70],		//PE
[10.57,18.02],		//NF
[ 7.04,12.76],		//YT
[ 5.9,14.05],		//NT
[ 4.00,11.50]		//NU
]
		
aProvDTC = [
5.1,	//BC
6.0,	//AB updated 9/22/2006 rates 2006 -2009: 6.0 5.5 4.5 3.5
8.0,	//SK
4.87,	//MB updated 6/5/2006
5.13,	//ON
3.7,	//NB
7.7,	//NS
7.7,	//PE
5.0,	//NF
5.87,	//YT
6.0,	//NT
4.0		//NU
];  	
aProvDTCL = [
12,		//BC updated 10/10/2006
7.5,	//AB updated 9/22/2006 rates 2006 -2009: 7.5 8.0 9.0 10.0
8.0,	//SK
11.00,	//MB  Update 6/5/2006
6.5,	//ON  Updated 8/8/2006  2006:6.5;2007:6.7,2008:7.0;2009:7.4;2010:7.7
3.7,	//NB
7.7,	//NS
7.7,	//PE
6.65,	//NF Update 10/23/2006
5.87,	//YT
11.5,	//NT Update 9/28/2006
4.0		//NU Rate remains
]  	
FedSpousalAmount = 7505;
FedSpousalBase = 8256;	
FedAgeAmount=5066;  //Updated 2006/11/01
FedPA=2000;
FedAgeBase = 30270;
aPBasic =         [8858,14899, 8589, 7734, 8377, 8061, 7231, 7412, 7410, 8328,11864,10909]
aPAgeAmount =     [3972, 4152, 4066, 3728, 4090, 3936, 3531, 3619, 3482, 5066, 5803, 8181];
aPAgeBase =      [29570,30907,30270,27749,30448,29303,26284,26941,25921,30270,30270,30270];
aPPension =       [1000, 1147, 1000, 1000, 1158, 1000, 1000, 1000, 1000, 2000, 1000, 	1000];
aPSpousalAmount = [7585,14899, 8589, 6482, 7113, 6845, 6140, 6294, 6055, 7505, 11864,10909];
aPSpousalBase =   [8344,14899, 9448, 7131, 7824, 7530, 6754, 6923, 6661, 8256, 11864,10909];
SaskAgeAmt = 1074;
SaskDepAmt = 2684;
		
EIRate = 1.87;  
EIMax = 729.3;
CPPRate = 4.95;
CPPExempt = 3500;
CPPMaxEarnings = 42100;
CPPMax = 1910.70;
						
  GSTAdult = 232;  
  GSTChild = 122;
  GSTBase1 = 7539;
  GSTBase1Pct = 2;
  GSTBase2 = 30270;
  GSTBase2Pct = 5;

  CTBBasic = 1255;  
  CTBBasicThird = 88;
  aCTBBasicRedRate=[2.5,5.0];
  aCTBSupplement=[1945,1720,1637];
  aCTBSupRedRate=[12.2,22.8,32.9];
  CTBSupBase = 36378;
  CTBBaseBase = 36378;

  MaxOAS = 5846;  //
  EIBase = 48750;  
  OASBase = 62144;	//updated 2006 08 08 
break;		  	
  	}
//////////////////////////////////////////////////////////////////2007
  default:{    //2007 Federal amounts updated 2006 12 05
FormBackGround.bgColor = "80FF80";
FedDTCL = 99/522;
FedLDivGU = 9/20;
FedBasic = 9600;
FedDepAmt=2000;
CEA=1000;
aFedBrackets = [0,37178,74357,120887];
aFedRates = [15.0,22,26,29];
aProvBrackets = [
[[ 5.70,0],[ 8.65,34397],[11.10,68794],[13.0,78984],[14.7,95909]], 	//BC rev 2007 03 14
[[10.00,0]],														//AB
[[11.00,0],[13.00,38405],[15.00,109729]],							//SK 
[[10.90,0],[13.00,30545],[17.40,65000]],							//MB 
[[ 6.05,0],[ 9.15,35488],[11.16,70976]],							//ON 
[[10.12,0],[15.48,34186],[16.80,68374],[17.95,111161]],				//NB rev 2007 03 14
[[ 8.79,0],[14.95,29590],[16.67,59180],[17.50,93000]],				//NS
[[ 9.80,0],[13.80,31368],[16.70,62739]],							//PE rev 2007 04 20
[[ 9.64,0],[14.98,29886],[17.26,59772]],							//NF rev 2007 05 01
[[ 7.04,0],[ 9.68,37178],[11.44,74358],[12.76,120887]],				//YT 
[[ 5.90,0],[ 8.60,35315],[12.20,70631],[14.05,114830]],				//NT 
[[ 4.00,0],[ 7.00,37178],[ 9.00,74357],[11.50,120887]]				//NU 
]
aProvSurtax = [
[],				//BC
[],				//AB
[],				//SK
[],				//MB
[[20,4100],[36,5172]],	//ON  rev 2007 05 28 
[],				//NB
[[10,10000]],		//NS
[[10,8850]],		//PE
[[ 4.5,7102]],		//NF rev 2007 05 01
[[ 5,6000]],		//YT
[],				//NT
[]				//NU
]

aPDonCredits = [	//2007
[ 6.05,14.70], 		//BC
[10.00,21.00],		//AB updated 2007 04 20 per budget
[11.00,15.00],		//SK
[10.90,17.40],		//MB
[ 6.05,11.16],		//ON
[ 9.68,17.84],		//NB
[ 8.79,17.50],		//NS
[ 9.80,16.70],		//PE
[10.57,18.02],		//NF
[ 7.04,12.76],		//YT
[ 5.9,14.05],		//NT
[ 4.00,11.50]		//NU
]
		
aProvDTC = [
5.1,	//BC
5.5,	//AB updated 9/22/2006 rates 2006 -2009: 6.0 5.5 4.5 3.5
6.0,	//SK updated 4/5/2008
4.87,	//MB 
5.13,	//ON
5.3,	//NB rev 2007 03 14
7.7,	//NS
7.7,	//PE
5.0,	//NF
5.87,	//YT
6.0,	//NT
4.0		//NU
];  	
aProvDTCL = [
12,		//BC 
8.0,	//AB updated 9/22/2006 rates 2006 -2009: 7.5 8.0 9.0 10.0
8.0,	//SK
11.00,	//MB  
6.7,	//ON  Updated 8/8/2006  2006:6.5;2007:6.7,2008:7.0;2009:7.4;2010:7.7
3.7,	//NB
7.7,	//NS
7.7,	//PE
6.65,	//NF 
5.87,	//YT
11.5,	//NT 
4.0		//NU 
]  	
FedSpousalAmount = 9600;
FedSpousalBase = 9600;   // Updated per March budget	
FedAgeAmount=5177;
FedPA=2000;
FedAgeBase = 30936;
//					  BC,   AB,   SK,   MB,   ON,  NB,    NS,   PE,   NL,   YT,   NT,   NU	Rev 2006 12 06 per payroll 
aPBasic =         [ 9027,15435, 8778, 7834, 8553, 8239, 7481, 7560, 7484, 8929,12125,11149]
aPAgeAmount =     [ 4047, 4301, 4155, 3728, 4176, 4023, 3531, 3691, 3517, 5177, 5931, 8361];
aPAgeBase =       [30132,32020,30936,27749,31087,29948,26284,27480,26180,30936,30936,30936];
aPPension = 	  [ 1000, 1188, 1000, 1000, 1183, 1000, 1000, 1000, 1000, 2000, 1000, 1000];
aPSpousalAmount = [ 7729,15435, 8778, 6482, 7262, 6996, 6352, 6420, 6116, 7581,12125,11149];
aPSpousalBase =   [ 8502,15435, 9656, 7131, 7988, 7696, 6987, 7062, 6728, 8339,12125,11149];
SaskAgeAmt = 1097;
SaskDepAmt = 2743;
		
EIRate = 1.80;  
EIMax = 720;
CPPRate = 4.95;
CPPExempt = 3500;
CPPMaxEarnings = 43700;
CPPMax = 1989.90;
						
  GSTAdult = 237;  
  GSTChild = 124;
  GSTBase1 = 7705;
  GSTBase1Pct = 2;
  GSTBase2 = 30936;
  GSTBase2Pct = 5;

  CTBBasic = 1283;
  CTBBasicThird = 90;
  aCTBBasicRedRate=[2.5,5.0];
  aCTBSupplement=[1988,1758,1673];
  aCTBSupRedRate=[12.2,22.8,32.9];
  CTBSupBase = 37178;
  CTBBaseBase = 37178;

  MaxOAS = 5952;  //updated 2007 10 28
  EIBase = 48750;  
  OASBase = 63511;	// confirmed 2007 10 28
  	}
}
SetProv(document.T1.Province.value); //set provincial rates for year
}

function CalcGSTC(Kids,FamilyIncome){
var form = document.T1;
var Spouse = !(form.Single.checked);
var	GSTMax = GSTAdult + GSTAdult * Spouse + GSTChild * (Kids);
var GSTAdd = 0;
var GSTSub = 0;
var GSTC = 0;

	if (!(Spouse) && (Kids == 0)) GSTAdd = (FamilyIncome - GSTBase1) * GSTBase1Pct /100;
		else GSTAdd = 0;
	if (!(Spouse) && (Kids > 0)) GSTAdd = GSTChild; 	
	if (GSTAdd < 0) GSTAdd = 0;
	if (GSTAdd > GSTChild) GSTAdd = GSTChild;
	GSTSub = (FamilyIncome - GSTBase2) * GSTBase2Pct /100;
	if (GSTSub < 0) GSTSub = 0;
	GSTC = GSTMax + GSTAdd - GSTSub;
	if (GSTC < 0) GSTC = 0;
return GSTC;
}

function CalcCTB(Kids,FamilyIncome){
var CTB = 0;
var CTBBase = CTBBasic * Kids;
var CTBSupplement = 0;
var CTBMax = 0;
var CTBClawback = 0;
var Temp = 0;
var Temp2 = 0;
	if (Kids == 0) return 0;
	if (Kids > 2) CTBBase = CTBBase + CTBBasicThird * (Kids - 2);
	if (Kids > 0) CTBSupplement = CTBSupplement + aCTBSupplement[0];
	if (Kids > 1) CTBSupplement = CTBSupplement + aCTBSupplement[1];
	if (Kids > 2) CTBSupplement = CTBSupplement + aCTBSupplement[2] * (Kids - 2);  
	CTBMax = CTBBase + CTBSupplement;
	if (FamilyIncome > CTBSupBase) {
		if (Kids > 2) Temp = aCTBSupRedRate[2]
			else Temp = aCTBSupRedRate[Kids - 1];
		Temp2 = (FamilyIncome - CTBSupBase) * Temp /100
		if (Temp2 > CTBSupplement) Temp2 = CTBSupplement;
		}  
	CTBClawback = Temp2;
	if (Kids > 1) Temp2 = 1 
		else Temp2 = 0;
	if (FamilyIncome > CTBBaseBase) 
		Temp = (FamilyIncome - CTBBaseBase) * aCTBBasicRedRate[Temp2] / 100
		else Temp = 0;
	if (Temp > CTBBase) Temp = CTBBase;
	CTBClawback = CTBClawback + Temp;
	CTB = CTBMax - CTBClawback;

return CTB;
}


function CalcAge(){
var ag = [0,0];
var pag = [0,0];
var OAS = [0,0];
var form = document.T1;
var net = [strip(form.NetIncome1.value),strip(form.NetIncome2.value)];
var Age = [form.Age1.value,form.Age2.value];

for (var i=0;i<2;i++){
if (net[i] < 0) net[i] = 0;
if ((Age[i] == 1) || (Age[i] == 2)){
	if (net[i] > FedAgeBase) ag[i] = Math.max(0,FedAgeAmount - (net[i] - FedAgeBase) * 0.15);
	else ag[i] = FedAgeAmount;
	if (net[i] > PAgeBase) {pag[i] = Math.max(0,PAgeAmount - (net[i] - PAgeBase) * 0.15) + SaskAgeAmt}
	else pag[i] = PAgeAmount + SaskAgeAmt;	
	OAS[i] = MaxOAS;
}
	else {
	ag[i] = 0;
	pag[i] = 0;
	OAS[i] = 0;
	}
}
	form.AgeAmount1.value = formatdollar(ag[0],2);				
	form.AgeAmount2.value = formatdollar(ag[1],2);				
	form.PAgeAmount1.value = formatdollar(pag[0],2);
	form.PAgeAmount2.value = formatdollar(pag[1],2);
	if ((strip(form.OAS1.value) == 0) || (strip(form.OAS1.value) == MaxOAS)) form.OAS1.value = formatdollar(OAS[0],2);				
	if ((strip(form.OAS2.value) == 0) || (strip(form.OAS2.value) == MaxOAS)) form.OAS2.value = formatdollar(OAS[1],2);				

}


function CalcSpouse(){
var spincome, sp
var form = document.T1;
var Single = form.Single.checked;
var Children = (form.Children.value > 0);
if (Single){
	form.SpouseAmount2.value = zero;
	form.PSpouseAmount2.value = zero;
	if (Children){
		form.SpouseAmount1.value = formatdollar(FedSpousalAmount,2);
		form.PSpouseAmount1.value = formatdollar(PSpousalAmount,2);
	}
	else{
		form.SpouseAmount1.value = zero;
		form.PSpouseAmount1.value = zero;
	}
}
else{ // not single
if ((strip(form.NetIncome1.value)-0) > (strip(form.NetIncome2.value)-0)){
	spincome = strip(form.NetIncome2.value);
	if (spincome < FedSpousalBase){	
		sp = FedSpousalBase - spincome;
		if (sp > FedSpousalAmount) sp = FedSpousalAmount; 
		}
	else sp = 0;
	form.SpouseAmount1.value = formatdollar(sp,2)
	form.SpouseAmount2.value = zero	
	if (spincome < PSpousalBase){
		sp = PSpousalBase - spincome;
		if (sp > PSpousalAmount) sp = PSpousalAmount; 
		}
	else sp = 0;
	form.PSpouseAmount1.value = formatdollar(sp,2)
	form.PSpouseAmount2.value = zero	
}
else{
	spincome = strip(form.NetIncome1.value);
	if (spincome < FedSpousalBase){	
		sp = FedSpousalBase - spincome;
		if (sp > FedSpousalAmount) sp = FedSpousalAmount; 
		}
	else sp = 0;
	form.SpouseAmount2.value = formatdollar(sp,2)
	form.SpouseAmount1.value = zero	
	if (spincome < PSpousalBase){
		sp = PSpousalBase - spincome;
		if (sp > PSpousalAmount) sp = PSpousalAmount; 
		}
	else sp = 0;
	form.PSpouseAmount2.value = formatdollar(sp,2)
	form.PSpouseAmount1.value = zero	
}
}
}

function CalcOther(){
var form = document.T1;
var children = form.Children.value * FedDepAmt;
var temp1, temp2;
var emp = [strip(form.Employment1.value)- 0,strip(form.Employment2.value) - 0];
if ((strip(form.TaxableIncome1.value)-0) >= (strip(form.TaxableIncome2.value)-0)){
	temp1 = children;
	temp2 = 0;
}
else {
	temp1 = 0;
	temp2 = children;
}
if (emp[0] > CEA) 
	{temp1 = temp1 - - CEA} 
else 
	{temp1 = temp1 - - emp[0]};	
if (emp[1] > CEA) 
	{temp2 = temp2 - - CEA} 
else 
	{temp2 = temp2 - - emp[1]};	

var Extra2 = (strip(form.PersonalAmounts2.value)-0) - (strip(form.OtherAmounts2.value)-0) - - temp2 - (strip(form.TaxableIncome2.value)-0);
if ((Extra2 > 0) && ((strip(form.TaxableIncome1.value)-0) > (strip(form.TaxableIncome2.value)-0))) {
	var transfer = (strip(form.AgeAmount2.value)-0) - - (strip(form.Pension2.value)-0);
	temp1 = temp1 - - Math.min(Extra2,transfer);
	}
var Extra1 = (strip(form.PersonalAmounts1.value)-0) - (strip(form.OtherAmounts1.value)-0) - - temp1 - (strip(form.TaxableIncome1.value)-0);
if ((Extra1 > 0) && ((strip(form.TaxableIncome2.value)-0) > (strip(form.TaxableIncome1.value)-0))) {
	var transfer = (strip(form.AgeAmount1.value)-0) - - (strip(form.Pension1.value)-0);
	temp2 = temp2 - - Math.min(Extra1,transfer);
	}
if (form.OtherAmounts1.className == "OR") {form.OtherAmounts1.value = formatdollar(temp1,true)};
if (form.OtherAmounts2.className == "OR") {form.OtherAmounts2.value = formatdollar(temp2,true)};
//Provincial
temp1 = 0;
temp2 = 0;
var Extra2 = (strip(form.PPersonalAmounts2.value)-0) - (strip(form.POtherAmounts2.value)-0) - - temp2 - (strip(form.TaxableIncome2.value)-0);
if ((Extra2 > 0) && ((strip(form.TaxableIncome1.value)-0) > (strip(form.TaxableIncome2.value)-0))) {
	var transfer = (strip(form.PAgeAmount2.value)-0) - - (strip(form.PPension2.value)-0);
	temp1 = temp1 - - Math.min(Extra2,transfer);
	}
var Extra1 = (strip(form.PPersonalAmounts1.value)-0) - (strip(form.POtherAmounts1.value)-0) - - temp1 - (strip(form.TaxableIncome1.value)-0);
if ((Extra1 > 0) && ((strip(form.TaxableIncome2.value)-0) > (strip(form.TaxableIncome1.value)-0))) {
	var transfer = (strip(form.PAgeAmount1.value)-0) - - (strip(form.PPension1.value)-0);
	temp2 = temp2 - - Math.min(Extra1,transfer);
	}
if (form.POtherAmounts1.className == "OR") {form.POtherAmounts1.value = formatdollar(temp1,true)};
if (form.POtherAmounts2.className == "OR") {form.POtherAmounts2.value = formatdollar(temp2,true)};

}

function CalcEmployment(){
var form = document.T1;
var emp = [strip(form.Employment1.value)- 0,strip(form.Employment2.value) - 0];
var Age = [strip(form.Age1.value),strip(form.Age2.value)];
var cpp = CalcCPP(emp,Age);
var ei = CalcEI(emp);
var se = [Math.max(0,strip(form.SEInc1.value) - 0),Math.max(0,strip(form.SEInc2.value) - 0)];
var acppse = CalcCPP([se[0] - - emp[0],se[1] - - emp[1]],Age);
var cppse = [acppse[0]-cpp[0],acppse[1]-cpp[1]];

form.SECPP1.value = formatdollar(cppse[0],true);
form.CPPSelf1.value = formatdollar(cppse[0]*2,true);
if (form.CPP1.className == "OR") {form.CPP1.value = formatdollar(cppse[0] + cpp[0],true)};
form.PCPP1.value = form.CPP1.value;
if (form.EI1.className == "OR") {form.EI1.value = formatdollar(ei[0],true)};
form.PEI1.value = form.EI1.value;
form.SECPP2.value = formatdollar(cppse[1],true);
form.CPPSelf2.value = formatdollar(cppse[1]*2,true);
if (form.CPP2.className == "OR") {form.CPP2.value = formatdollar(cppse[1] + cpp[1],true)};
form.PCPP2.value = form.CPP2.value;
if (form.EI2.className == "OR") {form.EI2.value = formatdollar(ei[1],true)};
form.PEI2.value = form.EI2.value;
}

function CalcCPP(earnings,Age){
var result = [0,0];

for (var i=0;i<2;i++){
if ((earnings[i] < CPPExempt) || (Age[i] > 1)) result[i] = 0
else if (earnings[i] > CPPMaxEarnings) result[i] = CPPMax
else result[i] = (earnings[i] - CPPExempt) * CPPRate / 100;
}
return result;
}

function CalcEI(earnings){
var result = [0,0];

for (var i=0;i<2;i++){
if (earnings[i] < 2000) result[i] = 0
else if (earnings[i] < 2000 * (1 + EIRate/100) + 1) result[i] = earnings[i] - 2000
else if (earnings[i] > EIMax / EIRate * 100) result[i] = EIMax
else result[i] = earnings[i] * EIRate / 100;
}
return result;
}

function CalcPension(){
var pa, ppa, SP1;
var form = document.T1;
dollar(form.PensionIncome1,2);
pa = Math.max(0,Math.min(strip(form.PensionIncome1.value),FedPA));
form.Pension1.value = formatdollar(pa,2);
ppa = Math.max(0,Math.min(strip(form.PensionIncome1.value),PPension));
form.PPension1.value = formatdollar(ppa,2);
dollar(form.PensionIncome2,2);
pa = Math.max(0,Math.min(strip(form.PensionIncome2.value),FedPA));
form.Pension2.value = formatdollar(pa,2);
ppa = Math.max(0,Math.min(strip(form.PensionIncome2.value),PPension));
form.PPension2.value = formatdollar(ppa,2);
}

function CalcDiv(){
var form = document.T1;
if (TaxYear > 5)
{
form.DividendGrossup1.value = formatdollar((strip(form.Dividends1.value)/4 - - strip(form.Dividends1L.value) *FedLDivGU),2);
form.DividendGrossup2.value = formatdollar((strip(form.Dividends2.value)/4 - - strip(form.Dividends2L.value) *FedLDivGU),2);
var FDTC1 = (strip(form.Dividends1.value) * FedDTC/80) - - (strip(form.Dividends1L.value) * FedDTCL * (1+FedLDivGU));
var FDTC2 = (strip(form.Dividends2.value) * FedDTC/80) - - (strip(form.Dividends2L.value) * FedDTCL * (1+FedLDivGU));
var PDTC1 = (strip(form.Dividends1.value) * ProvDTC/80) - - (strip(form.Dividends1L.value) * ProvDTCL/100 * (1+FedLDivGU));
var PDTC2 = (strip(form.Dividends2.value) * ProvDTC/80) - - (strip(form.Dividends2L.value) * ProvDTCL/100 * (1+FedLDivGU));
form.DTC1.value = formatdollar(FDTC1);
form.DTC2.value = formatdollar(FDTC2);
form.PDTC1.value = formatdollar(PDTC1);
form.PDTC2.value = formatdollar(PDTC2);
}
else
{
form.DividendGrossup1.value = formatdollar((strip(form.Dividends1.value) - - strip(form.Dividends1L.value)) / 4,2);
form.DividendGrossup2.value = formatdollar((strip(form.Dividends2.value) - - strip(form.Dividends2L.value)) / 4,2);
form.DTC1.value = formatdollar((strip(form.Dividends1.value) - - strip(form.Dividends1L.value))* FedDTC/80);
form.DTC2.value = formatdollar((strip(form.Dividends2.value) - - strip(form.Dividends2L.value))* FedDTC/80);
form.PDTC1.value = formatdollar((strip(form.Dividends1.value) - - strip(form.Dividends1L.value))* ProvDTC/80);
form.PDTC2.value = formatdollar((strip(form.Dividends2.value) - - strip(form.Dividends2L.value))* ProvDTC/80);
}
}

function CalcCGR(){
var form = document.T1;
form.CapGainsReduction1.value = formatdollar(0 - (strip(form.CapGains1.value) / 2),2);
form.CapGainsReduction2.value = formatdollar(0 - (strip(form.CapGains2.value) / 2),2);
dollar(form.CapGains1,1);
dollar(form.CapGains2,1);
}

function CalcFedTax(income){
var tax = 0;
for (i = 4; i > -1; i--)
	if (income > aFedBrackets[i]){ 
		tax = tax + (income - aFedBrackets[i]) * aFedRates[i] / 100;
		income = aFedBrackets[i];
		}
return tax; 
}

function CalcDonationCredit(donation){
var ldon = Math.min(200,donation);
var hdon = Math.max(0,donation - 200);
var dcr = [0,0];
dcr[0] = ldon * aFedRates[0] / 100 + hdon * aFedRates[3] / 100
dcr[1] = ldon * PDonCredits[0] / 100 + hdon * PDonCredits[1] / 100;	
return dcr;
}

function CalcProvTax(income){
var tax = 0;
for (i = ProvBrackets.length - 1; i > -1; i--)
if (income > ProvBrackets[i][1]){
	tax = tax + (income - ProvBrackets[i][1]) * ProvBrackets[i][0] /100;
	income = ProvBrackets[i][1];
}
return tax; 
}

function CalcProvSurtax(tax){
var surtax = 0;
if (ProvSurtax.length > 0){
for (i = ProvSurtax.length - 1; i > -1; i--){
if (tax > ProvSurtax[i][1])
   surtax += (tax - ProvSurtax[i][1]) * ProvSurtax[i][0] / 100;
}
}
return surtax;
}

function CalcOntarioMedical(income){
var premium = 0;
if (TaxYear > 4){
	if (income > 20000) {premium = (income - 20000) * .06};
	if (income > 25000) {premium = 300};
	if (income > 36000) {premium = 300 - - (income - 36000) * .06};
	if (income > 38500) {premium = 450};
	if (income > 48000) {premium = 450 - - (income - 48000) * .25};
	if (income > 48600) {premium = 600};
	if (income > 72000) {premium = 600 - - (income - 72000) * .25};
	if (income > 72600) {premium = 750};
	if (income > 200000) {premium = 750 - - (income - 200000) * .25};
	if (income > 200600) {premium = 900};
} 
return premium;
}

function SplitP(){
var pa1, pa2, OldTax1, OldTax2, SP1;
var form = document.T1;
if (form.SplitPension.checked) {
form.PensionOld1.value = form.PensionIncome1.value;
form.PensionOld2.value = form.PensionIncome2.value;
pa1 = strip(form.PensionIncome1.value);
pa2 = strip(form.PensionIncome2.value);
SP1 = (pa1 - - pa2) /2
OldTax1 = strip(form.TotalPay1.value);
OldTax2 = strip(form.TotalPay2.value);
form.PensionIncome1.value = formatdollar(SP1,2);
form.PensionIncome2.value = formatdollar(SP1,2);
CalcIt();
form.PS1.value = formatdollar(OldTax1 - strip(form.TotalPay1.value),2);
form.PS2.value = formatdollar(OldTax2 - strip(form.TotalPay2.value),2);
}
else {
form.PensionIncome1.value = form.PensionOld1.value;
form.PensionIncome2.value = form.PensionOld2.value;
CalcIt();
form.PS1.value="";
form.PS2.value="";
}
}

function CalcIt(){
var form = document.T1;
var sp = 0;
var temp = 0;
var temp2 = 0;
var temp3 = 0;

CalcEmployment();
CalcAge();
CalcDiv();
CalcPension();
<!-- TotalIncome -->
for (var j = 0; j < 2; j++){	
temp = 0;
for (var i = 6; i < 27 ; i = i + 2) {temp = temp - - strip(form.elements[i+j].value)};
form.elements[28+j].value = formatdollar(temp,2);
}
if (temp != 0) form.Single.checked = false;
<!-- EI /OAS clawback -->
temp = strip(form.TotalIncome1.value)
		- strip(form.RRSP1.value)
		- strip(form.SECPP1.value)
		- strip(form.Deductions1.value);
temp2 = Math.min(Math.max(0,temp - EIBase),strip(form.EIIncome1.value)) * 0.3;
temp3 = temp2 + Math.min(Math.max(0,temp - temp2 - OASBase) * 0.15,strip(form.OAS1.value));
form.SocBen11.value=formatdollar(temp3,2);
form.SocBen21.value=formatdollar(temp3,2);
form.NetIncome1.value=formatdollar(temp-temp3);
temp = strip(form.TotalIncome2.value)
		- strip(form.RRSP2.value)
		- strip(form.SECPP2.value)
		- strip(form.Deductions2.value);
temp2 = Math.min(Math.max(0,temp - EIBase),strip(form.EIIncome2.value)) * 0.3;
temp3 = temp2 + Math.min(Math.max(0,temp - temp2 - OASBase) * 0.15,strip(form.OAS2.value));
form.SocBen12.value=formatdollar(temp3,2);
form.SocBen22.value=formatdollar(temp3,2);
form.NetIncome2.value=formatdollar(temp-temp3);
var TaxableIncome1 = strip(form.NetIncome1.value) - strip(form.DedNet1.value);
var TaxableIncome2 = strip(form.NetIncome2.value) - strip(form.DedNet2.value);
form.TaxableIncome1.value=formatdollar(TaxableIncome1,2);
form.TaxableIncome2.value=formatdollar(TaxableIncome2,2);
<!-- Federal Personal Amounts -->
form.BasicPersonal1.value=formatdollar(FedBasic,2);
form.BasicPersonal2.value=formatdollar(FedBasic,2);
form.PBasicPersonal1.value=formatdollar(ProvBasic,2);
form.PBasicPersonal2.value=formatdollar(ProvBasic,2);
CalcAge();
CalcSpouse();
if (form.Province.value == 2) { //SK
form.PSpouseAmount1.value = formatdollar(strip(form.SpouseAmount1.value) - - SaskDepAmt * form.Children.value,2);
};
CalcOther();
//total credits
for (var k = 0; k < 37; k=k+36){
for (var j = 0; j < 2; j++){	
temp = 0;
for (var i = 46+k; i < 60+k ; i = i + 2) {temp = temp - - strip(form.elements[i+j].value)};
//}
form.elements[60+j+k].value = formatdollar(temp,2);
}
}

form.CreditRate1.value = formatpct(aFedRates[0],2);
form.CreditRate2.value = formatpct(aFedRates[0],2);
form.Credits1.value = formatdollar(strip(form.PersonalAmounts1.value) * aFedRates[0]/100,2)
form.Credits2.value = formatdollar(strip(form.PersonalAmounts2.value) * aFedRates[0]/100,2)
var doncr = CalcDonationCredit(strip(form.Donations1.value));
form.DonationCredit1.value = formatdollar(doncr[0],2);
form.PDonationCredit1.value = formatdollar(doncr[1],2);
var doncr = CalcDonationCredit(strip(form.Donations2.value));
form.DonationCredit2.value = formatdollar(doncr[0],2);
form.PDonationCredit2.value = formatdollar(doncr[1],2);
form.FederalTax1.value = formatdollar(CalcFedTax(TaxableIncome1),2);
form.FederalTax2.value = formatdollar(CalcFedTax(TaxableIncome2),2);
temp = strip(form.FederalTax1.value) - strip(form.Credits1.value);
for (var i = 68; i < 74 ; i = i + 2) {temp = temp - strip(form.elements[i].value)};
for (var i = 74; i < 78 ; i = i + 2) {temp = temp - - strip(form.elements[i].value)};
form.FedTax1.value = formatdollar(Math.max(0,temp),2);
temp = strip(form.FederalTax2.value) - strip(form.Credits2.value);
for (var i = 69; i < 75 ; i = i + 2) {temp = temp - strip(form.elements[i].value)};
for (var i = 75; i < 79 ; i = i + 2) {temp = temp - - strip(form.elements[i].value)};
form.FedTax2.value = formatdollar(Math.max(0,temp),2);
//provincial
form.ProvincialTax1.value = formatdollar(CalcProvTax(TaxableIncome1),2);
form.ProvincialTax2.value = formatdollar(CalcProvTax(TaxableIncome2),2);
form.PCreditRate1.value = formatpct(ProvBrackets[0][0],2);
form.PCreditRate2.value = formatpct(ProvBrackets[0][0],2);
form.PCredits1.value = formatdollar(strip(form.PPersonalAmounts1.value) * ProvBrackets[0][0]/100,2)
form.PCredits2.value = formatdollar(strip(form.PPersonalAmounts2.value) * ProvBrackets[0][0]/100,2)
temp = strip(form.ProvincialTax1.value)
		- strip(form.PCredits1.value)
		- strip(form.PDonationCredit1.value)
		- strip(form.PDTC1.value);
var PSurtax1 = CalcProvSurtax(temp);
if (form.Province.value == 4) {PSurtax1 = PSurtax1 - - CalcOntarioMedical(TaxableIncome1)};
form.PSurTax1.value = formatdollar( PSurtax1,2);		
temp2 = strip(form.ProvincialTax2.value)
		- strip(form.PCredits2.value)
		- strip(form.PDonationCredit2.value)
		- strip(form.PDTC2.value);
var PSurtax2 = CalcProvSurtax(temp2);
if (form.Province.value == 4) {PSurtax2 = PSurtax2 - - CalcOntarioMedical(TaxableIncome2)};
form.PSurTax2.value = formatdollar( PSurtax2,2);		
form.ProvTax1.value = formatdollar(Math.max(0,temp - - strip(form.PSurTax1.value)),2);
form.ProvTax2.value = formatdollar(Math.max(0,temp2 - - strip(form.PSurTax2.value)),2);
form.TotalPay1.value = formatdollar(strip(form.FedTax1.value) - - strip(form.ProvTax1.value),2);
form.TotalPay2.value = formatdollar(strip(form.FedTax2.value) - - strip(form.ProvTax2.value),2);
temp = strip(form.TotalPay1.value) - strip(form.TaxPaid1.value);
if (temp > 0){
form.Balance1.value = formatdollar(temp,2);
form.Refund1.value = "";
}
else{
form.Refund1.value = formatdollar(0 - temp,2);
form.Balance1.value = "";
}
temp = strip(form.TotalPay2.value) - strip(form.TaxPaid2.value);
if (temp > 0){
form.Balance2.value = formatdollar(temp,2);
form.Refund2.value = "";
}
else{
form.Refund2.value = formatdollar(0 - temp,2);
form.Balance2.value = "";
}
if (TaxYear > 6 && !form.Single.checked && (strip(form.PensionIncome1.value) - - strip(form.PensionIncome2.value)) > 2000) {
var obj=document.getElementById('PSplit1');
obj.style.display = "block"
obj=document.getElementById('PSplit2');
obj.style.display = "block"
}
else
{
var obj=document.getElementById('PSplit1');
obj.style.display = "none"
obj=document.getElementById('PSplit2');
obj.style.display = "none"
}

<!--- GSTC -->
var Kids = form.Children.value;
var FamilyIncome = strip(form.NetIncome1.value) - - strip(form.NetIncome2.value);
form.GSTC.value = formatdollar(CalcGSTC(Kids,FamilyIncome),2);
<!--- CTB -->
form.CTB.value = formatdollar(CalcCTB(Kids,FamilyIncome),2);
}
function ShowDisclaimer(){
var top = screen.availHeight / 2 - 150;
var left = screen.availWidth / 2 - 150;
var details ="toolbar=no, location=no, directories=no, status=no, scrollbars=yes, "+
			"menubar=no, top="+top+", left="+left+", width=300, height=300";
	window.open("Disclaimer.html","Disclaimer",details);
}
function init(){
var form = document.T1;
form.Province.value = 4;
var today = new Date();
var ThisYear = today.getFullYear() - 2000;
if (ThisYear > 0) {SetYear(ThisYear);form.Year.value = ThisYear} else {SetYear(7);form.Year.value = 7};				   	   
for (var i = 6; i < 112; i++){
form.elements[i].value = zero;
if (form.elements[i].className == "nbr"){
form.elements[i].onblur = function anonymous(){clr(this)};
form.elements[i].onfocus = function anonymous(){colour(this)};
}
}
CalcIt();
form.Province.focus();
}
//end_lib



