//begin_lib

//  Copyright (C) 2002 - 2006 by Walter Harder ALL RIGHTS RESERVED
//  e-mail walter@walterharder.ca

document.onkeydown=hotkeyHandler;

function hotkeyHandler() {  
  if(event.keyCode == 13) event.keyCode = 9;
}

<!-- CalcTHP function to calculate worksheet -->

function CalcTHP(){
var form = document.T1;
var ProvNo = document.T1.Province.value - 0;
var Year = document.T1.TaxYear.value;
SetYear(Year);
var AnnualIncome = strip(document.T1.AnnualIncome.value);
var PayPeriods = document.T1.Frequency.value;
var Spouse = document.T1.Spouse.value;
form.YGross.value = document.T1.AnnualIncome.value;
form.PGross.value = formatdollar(AnnualIncome / PayPeriods);
var Deductions = strip(document.T1.Deductions.value);
var YDeductions = Deductions * PayPeriods;
var Withholding = strip(document.T1.Withholding.value);
var YWithholding = Withholding * PayPeriods;
form.PD.value = formatdollar(Deductions - - Withholding);
form.YD.value = formatdollar(YDeductions - - YWithholding);

var aCPP = CalcCPP([AnnualIncome,20],[0,0]);
var CPP = aCPP[0];
var CPP2 = Math.max((AnnualIncome - CPPExempt)/PayPeriods * CPPRate/100,0);
var CPPPeriods = Math.round(CPP/CPP2);
var aEI = CalcEI([AnnualIncome,0]);
var EI = aEI[0];
var EI2 = AnnualIncome/PayPeriods*EIRate/100;
var EIPeriods = Math.round(EI/EI2);
var Taxes=CalcTax(AnnualIncome - YDeductions,Year,ProvNo,Spouse,CPP,EI);
form.YTax.value = formatdollar(Taxes);
form.PTax.value = formatdollar(Taxes / PayPeriods);
form.YCPP.value = formatdollar(CPP);
form.PCPP.value = formatdollar(CPP2);
form.YEI.value = formatdollar(EI);
form.PEI.value = formatdollar(EI2);
form.YNet.value = formatdollar(strip(form.YGross.value) - strip(form.YTax.value) - strip(form.YCPP.value) - strip(form.YEI.value) - strip(form.YD.value));
form.PNet.value = formatdollar(strip(form.PGross.value) - strip(form.PTax.value) - strip(form.PCPP.value) - strip(form.PEI.value) - strip(form.PD.value));

if (CPPPeriods > 0){
	var obj= document.getElementById("CPPNote");
	obj.innerHTML = "<small><sup>1</sup> CPP paid in first " + CPPPeriods + " periods.</small>";
};
if (EIPeriods > 0){
	var obj= document.getElementById("EINote");
	obj.innerHTML = "<small><sup>2</sup> EI paid in first " + EIPeriods + " periods.</small>";
};
}

function CalcTax(Income, Year, Province, Spouse,CPP,EI){
SetProv(Province);
var FTax = CalcFedTax(Income,Province,0);
var PTax = CalcProvTax(Income,0);
var FExempt = FedBasic;
var PExempt = ProvBasic;
if (document.T1.Spouse.value == 1){
	FExempt = FedBasic - - FedSpousalAmount;
	PExempt = ProvBasic - - PSpousalAmount;
};
if (document.T1.Spouse.value > 1) {
	if (Year >= 7) {factor = (document.T1.Spouse.value - 1)} else {factor = 0}; 
	FExempt = FedBasic - - FedSpousalAmount - - (factor * 2000) ;
	PExempt = ProvBasic - - PSpousalAmount - - (factor * 0);
};
if (document.T1.Spouse.value == 6){
	document.getElementById("Other").style.display = "inline";
	document.T1.Exemptions.focus();
	var Exemption = strip(document.T1.Exemptions.value)
	FExempt = Exemption;
	PExempt = Exemption;}
else {
	document.getElementById("Other").style.display = "none";
};
FExempt = FExempt - - CPP - - EI;
PExempt = PExempt - - CPP - - EI;
FTax = FTax - FExempt * aFedRates[0]/100;
if (FTax < 0) {FTax = 0};
PTax = PTax - (PExempt * ProvBrackets[0][0]/100);
if (PTax < 0) {PTax = 0};
PTax = PTax - - CalcProvSurtax(PTax);
if (Province == 4) {PTax = PTax - - CalcOntarioMedical(Income)};
return FTax - - PTax;
}


function CalcIt() {
}
//end_lib

