
function show_calc() {
	
	var recommended = new Array();
	var alternate = new Array();
	var rec_name;
	
	rates = define_rates();
	input = get_input();
	specs = calc_best_fit(rates, input);
	payg = calc_payg(input, rates);
	if(payg["total_fees"] < specs["cheap"]["total_fees"]) {
		recommended = payg;
		alternate = specs["cheap"];
		rec_name = "payg";
	}
	else {
		recommended = specs["cheap"];
		alternate = payg;
		rec_name = "plan";
	}
	
	display_results(recommended, alternate, rec_name);
}

function display_results(recommended, alternate, rec_name) {
	var value_plan = document.getElementById("value_plan_hidden").innerHTML;
	var payg_plan = document.getElementById("payg_plan_hidden").innerHTML;
	
	if(rec_name == "payg") {
		document.getElementById('payg_rec').style.display = "block";
		document.getElementById('plan_rec').style.display = "none";
		document.getElementById('plan_rec_calcnote').style.display = "none";
		document.getElementById("resultspot1").innerHTML = payg_plan;
		document.getElementById("resultspot2").innerHTML = value_plan;
	}
	else {
		document.getElementById('payg_rec').style.display = "none";
		document.getElementById('plan_rec').style.display = "block";
		document.getElementById('plan_rec_calcnote').style.display = "block";
		document.getElementById("resultspot2").innerHTML = payg_plan;
		document.getElementById("resultspot1").innerHTML = value_plan;
	}
	
	// header content fillings
	document.getElementById("result_plan_name").innerHTML = "<strong>"+recommended["plan_name"]+"</strong>";
	document.getElementById("result_plan_total").innerHTML = fmtMoney(recommended["total_fees"]);
	document.getElementById("result_plan_name2").innerHTML = recommended["plan_name"];
	document.getElementById("result_plan_savings").innerHTML = fmtMoney(alternate["total_fees"] - recommended["total_fees"]);
	document.getElementById("result_plan_minbalance").innerHTML = fmtMoney(recommended["fee_waiver_balance"]);
	document.getElementById("result_plan_cost").innerHTML = fmtMoney(recommended["monthly_fee"]);
	
	// payg header content fillings
	document.getElementById("payg_rec_cost").innerHTML = fmtMoney(recommended["total_fees"]);
	document.getElementById("payg_plan_balance").innerHTML = fmtMoney(alternate["fee_waiver_balance"]);
	
	// results table value header
	var header_name;
	if(recommended["plan_name"]=="Value Plan Option 1" ||
	recommended["plan_name"]=="Value Plan Option 2" ||
	recommended["plan_name"]=="Value Plan Option 3" ||
	recommended["plan_name"]=="Value Plan Option 4" ||
	recommended["plan_name"]=="Value Plan Option 5" ||
	recommended["plan_name"]=="Value Plan Option 6" ||
	alternate["plan_name"]=="Value Plan Option 1" ||
	alternate["plan_name"]=="Value Plan Option 2" ||
	alternate["plan_name"]=="Value Plan Option 3" ||
	alternate["plan_name"]=="Value Plan Option 4" ||
	alternate["plan_name"]=="Value Plan Option 5" ||
	alternate["plan_name"]=="Value Plan Option 6") {
		header_name = "Value Plan&trade;";
		document.getElementById("plan_url").href = "http://www4.bmo.com/business/0,4344,35490_35926,00.html";
	}
	
	if(recommended["plan_name"]=="Value Assist Plan Option 1" ||
	recommended["plan_name"]=="Value Assist Plan Option 2" ||
	recommended["plan_name"]=="Value Assist Plan Option 3" ||
	recommended["plan_name"]=="Value Assist Plan Option 4" ||
	recommended["plan_name"]=="Value Assist Plan Option 5" ||
	recommended["plan_name"]=="Value Assist Plan Option 6" ||
	alternate["plan_name"]=="Value Assist Plan Option 1" ||
	alternate["plan_name"]=="Value Assist Plan Option 2" ||
	alternate["plan_name"]=="Value Assist Plan Option 3" ||
	alternate["plan_name"]=="Value Assist Plan Option 4" ||
	alternate["plan_name"]=="Value Assist Plan Option 5" ||
	alternate["plan_name"]=="Value Assist Plan Option 6") {
		header_name = "Value Assist&trade;";
		document.getElementById("plan_url").href = "http://www4.bmo.com/business/0,4344,35490_35929,00.html";
	}
	
	if(recommended["plan_name"]=="Small Business Banking Plan: More Cheques" ||
	recommended["plan_name"]=="Small Business Banking Plan: More Cash" ||
	alternate["plan_name"]=="Small Business Banking Plan: More Cheques" ||
	alternate["plan_name"]=="Small Business Banking Plan: More Cash") {
		header_name = "Small Business Banking Plan";
		document.getElementById("plan_url").href = "http://www4.bmo.com/business/0,2273,35490_35923,00.html";
	}
	
	document.getElementById('value_plan_header').innerHTML = header_name;
	
	// value plan results table fillings
	var value, payg;
	if(rec_name == "payg") {
		value = alternate;
		payg = recommended;
	}
	else {
		value = recommended;
		payg = alternate;
	}
	
	//document.getElementById("result_inbranch_deposits").innerHTML = value["in_branch_deposit_limit"];
	document.getElementById("total_transactions_offered").innerHTML = value["monthly_transaction_limit"];
	document.getElementById("monthly_plan_fee").innerHTML = fmtMoney(value["monthly_fee"]);
	document.getElementById("additional_costs").innerHTML = fmtMoney(value["additional_costs"]);
	/*
	if(value["plan_name"] == "Small Business Banking Plan: More Cheques" ||
							value["plan_name"]=="Small Business Banking Plan: More Cash") {
		document.getElementById("subtotal").innerHTML = fmtMoney(value["total_fees"]);
	}
	else {
		document.getElementById("subtotal").innerHTML = fmtMoney(value["total_fees"] + value["monthly_fee"]);
	}
	*/
	document.getElementById("subtotal").innerHTML = fmtMoney(value["additional_costs"] + value["monthly_fee"]);
	//alert("Total fees: " + value["total_fees"]);
	//alert("Monthly Fee: " + value["monthly_fee"]);
	
	if(value["fee_waived"] == "0") {
		document.getElementById("fee_waiver").innerHTML = "$0.00";
	}
	else {
		document.getElementById("fee_waiver").innerHTML = fmtMoney(value["monthly_fee"]);
	}
	
	document.getElementById("total_fees").innerHTML = fmtMoney(value["total_fees"]);
	
	// payg plan results table fillings
	document.getElementById("total_transactions").innerHTML = payg["total_transactions"];
	if(input["bank_nonbranch"] == 1) {
		document.getElementById("total_transaction_fees").innerHTML = fmtMoney(payg["total_fees"] - rates["pay_as_you_go_current_account_fee"] - rates["bank_by_pc_cost"]);
		document.getElementById("telephone_fee_amt").innerHTML = fmtMoney(rates["bank_by_pc_cost"]);
		
	}
	else {
		document.getElementById("total_transaction_fees").innerHTML = fmtMoney(payg["total_fees"] - rates["pay_as_you_go_current_account_fee"]);
		document.getElementById("telephone_fee_amt").innerHTML = "n/a";
	}
	
	document.getElementById("monthly_payg_adminfee").innerHTML = fmtMoney(rates["pay_as_you_go_current_account_fee"]);
	document.getElementById("total_payg_fees").innerHTML = fmtMoney(payg["total_fees"]);
	
	// footer content fillings
	document.getElementById("result_plan_minbalance2").innerHTML = fmtMoney(recommended["fee_waiver_balance"]);
	document.getElementById("result_plan_cost2").innerHTML = fmtMoney(recommended["monthly_fee"]);
	
	if(value["new_business"] == "Yes") {
		document.getElementById('young_business').innerHTML = "As part of the new Business Start-Up Package you qualify to have your Business Banking Plan fee waived for the first three months.";
	}
	else {
		document.getElementById('young_business').innerHTML = "";
	}
}


function show_calc_fr() {
	var recommended = new Array();
	var alternate = new Array();
	var rec_name;
	
	rates = define_rates();
	input = get_input();
	specs = calc_best_fit(rates, input);
	payg = calc_payg(input, rates);
	if(payg["total_fees"] < specs["cheap"]["total_fees"]) {
		recommended = payg;
		alternate = specs["cheap"];
		rec_name = "payg";
	}
	else {
		recommended = specs["cheap"];
		alternate = payg;
		rec_name = "plan";
	}
	
	display_results_fr(recommended, alternate, rec_name);
}

function display_results_fr(recommended, alternate, rec_name) {
	var value_plan = document.getElementById("value_plan_hidden").innerHTML;
	var payg_plan = document.getElementById("payg_plan_hidden").innerHTML;
	
	if(rec_name == "payg") {
		document.getElementById('payg_rec').style.display = "block";
		document.getElementById("resultspot1").innerHTML = payg_plan;
		document.getElementById("resultspot2").innerHTML = value_plan;
	}
	else {
		document.getElementById('plan_rec').style.display = "block";
		document.getElementById('plan_rec_calcnote').style.display = "block";
		document.getElementById("resultspot2").innerHTML = payg_plan;
		document.getElementById("resultspot1").innerHTML = value_plan;
	}
	
	// header content fillings
	document.getElementById("result_plan_name").innerHTML = "<strong>"+recommended["plan_name_fr"]+"</strong>";
	document.getElementById("result_plan_total").innerHTML = fmtMoney_fr(recommended["total_fees"]);
	document.getElementById("result_plan_name2").innerHTML = recommended["plan_name_fr"];
	document.getElementById("result_plan_savings").innerHTML = fmtMoney_fr(alternate["total_fees"] - recommended["total_fees"]);
	document.getElementById("result_plan_minbalance").innerHTML = fmtMoney_fr(recommended["fee_waiver_balance"]);
	document.getElementById("result_plan_cost").innerHTML = fmtMoney_fr(recommended["monthly_fee"]);
	
	// payg header content fillings
	document.getElementById("payg_rec_cost").innerHTML = fmtMoney_fr(recommended["total_fees"]);
	document.getElementById("payg_plan_balance").innerHTML = fmtMoney_fr(alternate["fee_waiver_balance"]);
	
	// results table value header
	var header_name;
	if(recommended["plan_name"]=="Value Plan Option 1" ||
	recommended["plan_name"]=="Value Plan Option 2" ||
	recommended["plan_name"]=="Value Plan Option 3" ||
	recommended["plan_name"]=="Value Plan Option 4" ||
	recommended["plan_name"]=="Value Plan Option 5" ||
	recommended["plan_name"]=="Value Plan Option 6" ||
	alternate["plan_name"]=="Value Plan Option 1" ||
	alternate["plan_name"]=="Value Plan Option 2" ||
	alternate["plan_name"]=="Value Plan Option 3" ||
	alternate["plan_name"]=="Value Plan Option 4" ||
	alternate["plan_name"]=="Value Plan Option 5" ||
	alternate["plan_name"]=="Value Plan Option 6") {
		header_name = "Programme Mérite";
		document.getElementById("plan_url").href = "http://www4.bmo.com/entreprise/0,4344,35543_36286,00.html?pChannelId=36262";
	}
	
	if(recommended["plan_name"]=="Value Assist Plan Option 1" ||
	recommended["plan_name"]=="Value Assist Plan Option 2" ||
	recommended["plan_name"]=="Value Assist Plan Option 3" ||
	recommended["plan_name"]=="Value Assist Plan Option 4" ||
	recommended["plan_name"]=="Value Assist Plan Option 5" ||
	recommended["plan_name"]=="Value Assist Plan Option 6" ||
	alternate["plan_name"]=="Value Assist Plan Option 1" ||
	alternate["plan_name"]=="Value Assist Plan Option 2" ||
	alternate["plan_name"]=="Value Assist Plan Option 3" ||
	alternate["plan_name"]=="Value Assist Plan Option 4" ||
	alternate["plan_name"]=="Value Assist Plan Option 5" ||
	alternate["plan_name"]=="Value Assist Plan Option 6") {
		header_name = "Programme Assistance<sup>MD</sup> Mérite";
		document.getElementById("plan_url").href = "http://www4.bmo.com/entreprise/0,4344,35543_36289,00.html";
	}
	
	if(recommended["plan_name"]=="Small Business Banking Plan: More Cheques" ||
	recommended["plan_name"]=="Small Business Banking Plan: More Cash" ||
	alternate["plan_name"]=="Small Business Banking Plan: More Cheques" ||
	alternate["plan_name"]=="Small Business Banking Plan: More Cash") {
		header_name = "Programme Petites Entreprises";
		document.getElementById("plan_url").href = "http://www4.bmo.com/entreprise/0,4344,35543_36283,00.html?pChannelId=36262";
	}
	
	document.getElementById('value_plan_header').innerHTML = header_name;
	
	// value plan results table fillings
	var value, payg;
	if(rec_name == "payg") {
		value = alternate;
		payg = recommended;
	}
	else {
		value = recommended;
		payg = alternate;
	}
	
	//document.getElementById("result_inbranch_deposits").innerHTML = value["in_branch_deposit_limit"];
	document.getElementById("total_transactions_offered").innerHTML = value["monthly_transaction_limit"];
	document.getElementById("monthly_plan_fee").innerHTML = fmtMoney_fr(value["monthly_fee"]);
	document.getElementById("additional_costs").innerHTML = fmtMoney_fr(value["additional_costs"]);
	document.getElementById("subtotal").innerHTML = fmtMoney_fr(value["additional_costs"] + value["monthly_fee"]);
	
	/*
	if(value["plan_name"] == "Small Business Banking Plan: More Cheques" ||
							value["plan_name"]=="Small Business Banking Plan: More Cash") {
		document.getElementById("subtotal").innerHTML = fmtMoney_fr(value["total_fees"]);
	}
	else {
		document.getElementById("subtotal").innerHTML = fmtMoney_fr(value["total_fees"] + value["monthly_fee"]);
	}
	*/
	
	if(value["fee_waived"] == "0") {
		document.getElementById("fee_waiver").innerHTML = "0,00 $";
	}
	else {
		document.getElementById("fee_waiver").innerHTML = fmtMoney_fr(value["monthly_fee"]);
	}
	
	document.getElementById("total_fees").innerHTML = fmtMoney_fr(value["total_fees"]);
	
	// payg plan results table fillings
	document.getElementById("total_transactions").innerHTML = payg["total_transactions"];
	if(input["bank_nonbranch"] == 1) {
		document.getElementById("total_transaction_fees").innerHTML = fmtMoney_fr(payg["total_fees"] - rates["pay_as_you_go_current_account_fee"] - rates["bank_by_pc_cost"]);
		document.getElementById("telephone_fee_amt").innerHTML = fmtMoney_fr(rates["bank_by_pc_cost"]);
		
	}
	else {
		document.getElementById("total_transaction_fees").innerHTML = fmtMoney_fr(payg["total_fees"] - rates["pay_as_you_go_current_account_fee"]);
		document.getElementById("telephone_fee_amt").innerHTML = "n/a";
	}
	document.getElementById("monthly_payg_adminfee").innerHTML = fmtMoney_fr(rates["pay_as_you_go_current_account_fee"]);
	document.getElementById("total_payg_fees").innerHTML = fmtMoney_fr(payg["total_fees"]);
	
	// footer content fillings
	document.getElementById("result_plan_minbalance2").innerHTML = fmtMoney_fr(recommended["fee_waiver_balance"]);
	document.getElementById("result_plan_cost2").innerHTML = fmtMoney_fr(recommended["monthly_fee"]);
	
	if(value["new_business"] == "Oui") {
		document.getElementById('young_business').innerHTML = "Exonération des frais du programme de services bancaires pendant trois mois pour les nouvelles entreprises.";
	}
	else {
		document.getElementById('young_business').innerHTML = "";
	}
}





function define_rates() {
	var rates = new Array();
	rates["deposit_branch_cost"] 				= parseFloat(.90);
	rates["deposit_instabank_cost"] 			= parseFloat(.90);
	rates["deposit_electronic_payment_cost"] 	= parseFloat(.90);
	
	rates["deposit_cheques_cost"] 				= parseFloat(0.18);
	rates["deposit_cash_cost"] 					= parseFloat(2.15);
	rates["deposit_coin_cost"] 					= parseFloat(2.15);
	
	rates["debit_cheque_cost"] 					= parseFloat(.90);
	rates["debit_electronic_payment_cost"] 		= parseFloat(.90);
	
	rates["billpmt_branch_cost"] 				= parseFloat(1.50);
	//rates["charge_back_cost"] 					= parseFloat(7.00);
	rates["bank_by_pc_cost"] 					= parseFloat(10.00);
	rates["pay_as_you_go_current_account_fee"]	= parseFloat(6.00);
	
	return rates;
}

function get_input() {
	var input = new Array();
	input["deposit_branch"] 			= (parseInt(document.getElementById('1a').value)?parseInt(document.getElementById('1a').value):0);
	input["deposit_instabank"] 			= (parseInt(document.getElementById('1b').value)?parseInt(document.getElementById('1b').value):0);
	input["deposit_electronic_payment"]	= (parseInt(document.getElementById('1c').value)?parseInt(document.getElementById('1c').value):0);
	
	input["deposit_cheques"]			= (parseInt(document.getElementById('2a').value)?parseInt(document.getElementById('2a').value):0);
	input["deposit_cash"] 				= (parseInt(document.getElementById('2b').value)?parseInt(document.getElementById('2b').value):0);
	input["deposit_coin"]				= (parseInt(document.getElementById('2c').value)?parseInt(document.getElementById('2c').value):0);
	
	input["debit_cheque"]				= (parseInt(document.getElementById('3a').value)?parseInt(document.getElementById('3a').value):0);
	input["debit_interac_pos"]			= (parseInt(document.getElementById('3b').value)?parseInt(document.getElementById('3b').value):0);
	input["debit_instabank"]			= (parseInt(document.getElementById('3c').value)?parseInt(document.getElementById('3c').value):0);
	input["debit_electronic_payment"]	= (parseInt(document.getElementById('3d').value)?parseInt(document.getElementById('3d').value):0);
	
	input["billpmt_branch"]				= (parseInt(document.getElementById('4a').value)?parseInt(document.getElementById('4a').value):0);
	input["billpmt_instabank"]			= (parseInt(document.getElementById('4b').value)?parseInt(document.getElementById('4b').value):0);
	input["billpmt_instabank_with"]		= (parseInt(document.getElementById('4c').value)?parseInt(document.getElementById('4c').value):0);
	
	input["chargebacks"]				= (parseInt(document.getElementById('5a').value)?parseInt(document.getElementById('5a').value):0);
	
	input["min_balance"]				= (parseInt(document.getElementById('6a').value)?parseInt(document.getElementById('6a').value):0);
	
	input["bank_nonbranch"]				= (parseInt(getCheckedValue(document.getElementById('7a')))?parseInt(getCheckedValue(document.getElementById('7a'))):0);
	input["less_than_9_months"]			= getCheckedValue(document.getElementById('7b'))?getCheckedValue(document.getElementById('7b')):"No";

	return input;
}

function calc_best_fit(rates, input) {
	var specs = new Array();
	var cheap = new Array();
	//var plan name, in_branch_deposit_limit, monthly_transaction_limit, monthly_fee, fee_waiver_balance, deposit_cash_limit, deposit_cheques_limit, chargebacks_limit, transaction_cost;
	
	specs["cheapest_total"]	 	= "untainted";
	
	specs["total_transactions"] = 	input["deposit_branch"] +
									input["deposit_instabank"] +
									input["deposit_electronic_payment"] +
									input["debit_cheque"] +
									input["debit_interac_pos"] +
									input["debit_instabank"] +
									input["debit_electronic_payment"] +
									input["billpmt_branch"] +
									input["billpmt_instabank"] +
									input["billpmt_instabank_with"];

	//alert("Total transactions = " + total_transactions);
	
	// VALUE PLAN 1
	specs["plan_name"] 					= "Value Plan Option 1";
	specs["plan_name_fr"]				= "Programme Mérite 1";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 20;
	specs["monthly_fee"]				= 15;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 5000;
	specs["deposit_cash_limit"]			= 1000;
	specs["deposit_cheques_limit"]		= 10;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN 2
	specs["plan_name"] 					= "Value Plan Option 2";
	specs["plan_name_fr"]				= "Programme Mérite 2";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 35;
	specs["monthly_fee"]				= 24;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 9000;
	specs["deposit_cash_limit"]			= 3000;
	specs["deposit_cheques_limit"]		= 20;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN 3
	specs["plan_name"] 					= "Value Plan Option 3";
	specs["plan_name_fr"]				= "Programme Mérite 3";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 50;
	specs["monthly_fee"]				= 34;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 13000;
	specs["deposit_cash_limit"]			= 5000;
	specs["deposit_cheques_limit"]		= 30;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN 4
	specs["plan_name"] 					= "Value Plan Option 4";
	specs["plan_name_fr"]				= "Programme Mérite 4";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 75;
	specs["monthly_fee"]				= 44;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 17000;
	specs["deposit_cash_limit"]			= 7000;
	specs["deposit_cheques_limit"]		= 50;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN 5
	specs["plan_name"] 					= "Value Plan Option 5";
	specs["plan_name_fr"]				= "Programme Mérite 5";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 125;
	specs["monthly_fee"]				= 85;
	specs["abm_deposit_limit"]			= 25;
	specs["fee_waiver_balance"]			= 32000;
	specs["deposit_cash_limit"]			= 10000;
	specs["deposit_cheques_limit"]		= 70;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN 6
	specs["plan_name"] 					= "Value Plan Option 6";
	specs["plan_name_fr"]				= "Programme Mérite 6";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 200;
	specs["monthly_fee"]				= 125;
	specs["abm_deposit_limit"]			= 25;
	specs["fee_waiver_balance"]			= 45000;
	specs["deposit_cash_limit"]			= 15000;
	specs["deposit_cheques_limit"]		= 100;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN ASSIST 1
	specs["plan_name"] 					= "Value Assist Plan Option 1";
	specs["plan_name_fr"]				= "Programme Assistance Mérite 1";
	specs["in_branch_deposit_limit"] 	= 10;
	specs["monthly_transaction_limit"]	= 20;
	specs["monthly_fee"]				= 22;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 8000;
	specs["deposit_cash_limit"]			= 1000;
	specs["deposit_cheques_limit"]		= 10;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN ASSIST 2
	specs["plan_name"] 					= "Value Assist Plan Option 2";
	specs["plan_name_fr"]				= "Programme Assistance Mérite 2";
	specs["in_branch_deposit_limit"] 	= 10;
	specs["monthly_transaction_limit"]	= 35;
	specs["monthly_fee"]				= 30;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 12000;
	specs["deposit_cash_limit"]			= 3000;
	specs["deposit_cheques_limit"]		= 20;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN ASSIST 3
	specs["plan_name"] 					= "Value Assist Plan Option 3";
	specs["plan_name_fr"]				= "Programme Assistance Mérite 3";
	specs["in_branch_deposit_limit"] 	= 20;
	specs["monthly_transaction_limit"]	= 50;
	specs["monthly_fee"]				= 40;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 16000;
	specs["deposit_cash_limit"]			= 5000;
	specs["deposit_cheques_limit"]		= 30;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN ASSIST 4
	specs["plan_name"] 					= "Value Assist Plan Option 4";
	specs["plan_name_fr"]				= "Programme Assistance Mérite 4";
	specs["in_branch_deposit_limit"] 	= 20;
	specs["monthly_transaction_limit"]	= 75;
	specs["monthly_fee"]				= 50;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 20000;
	specs["deposit_cash_limit"]			= 7000;
	specs["deposit_cheques_limit"]		= 50;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN ASSIST 5
	specs["plan_name"] 					= "Value Assist Plan Option 5";
	specs["plan_name_fr"]				= "Programme Assistance Mérite 5";
	specs["in_branch_deposit_limit"] 	= 25;
	specs["monthly_transaction_limit"]	= 125;
	specs["monthly_fee"]				= 105;
	specs["abm_deposit_limit"]			= 1000000;
	specs["fee_waiver_balance"]			= 42000;
	specs["deposit_cash_limit"]			= 10000;
	specs["deposit_cheques_limit"]		= 70;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// VALUE PLAN ASSIST 6
	specs["plan_name"] 					= "Value Assist Plan Option 6";
	specs["plan_name_fr"]				= "Programme Assistance Mérite 6";
	specs["in_branch_deposit_limit"] 	= 25;
	specs["monthly_transaction_limit"]	= 200;
	specs["monthly_fee"]				= 135;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 55000;
	specs["deposit_cash_limit"]			= 15000;
	specs["deposit_cheques_limit"]		= 100;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 5;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// SMALL BUSINESS "MORE CHEQUES"
	specs["plan_name"] 					= "Small Business Banking Plan: More Cheques";
	specs["plan_name_fr"]				= "Programme Petites entreprises : Chèques Plus";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 15;
	specs["monthly_fee"]				= 9.5;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 4000;
	specs["deposit_cash_limit"]			= 1000;
	specs["deposit_cheques_limit"]		= 20;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 7;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	// SMALL BUSINESS "MORE CASH"
	specs["plan_name"] 					= "Small Business Banking Plan: More Cash";
	specs["plan_name_fr"]				= "Programme Petites entreprises : Espèces Plus";
	specs["in_branch_deposit_limit"] 	= 0;
	specs["monthly_transaction_limit"]	= 15;
	specs["monthly_fee"]				= 9.5;
	specs["abm_deposit_limit"]			= 100000;
	specs["fee_waiver_balance"]			= 4000;
	specs["deposit_cash_limit"]			= 4000;
	specs["deposit_cheques_limit"]		= 10;
	specs["chargebacks_limit"]			= 2;
	specs["transaction_cost"]			= 1;
	specs["charge_back_cost"] 			= 7;
	specs 								= check_fee_discounts_and_waivers(specs, input);
	specs								= check_additional_costs(specs, rates, input);
	specs["cheap"]						= select_cheapest_total(specs, rates, input);
	
	return specs;
	
}


function check_fee_discounts_and_waivers(specs, input) {
	specs["fee_waived"] = 0;
	specs["fee_discount"] = 0;
	if(input["min_balance"] >= specs["fee_waiver_balance"]) {
		specs["fee_waived"] = 1;
		specs["fee_discount"] = specs["monthly_fee"];
	}
	return specs;
}

function check_additional_costs(specs, rates, input) {
	var regular_transactions_above_limit = 0;
	var branch_deposits_above_limit = 0;
	var additional_costs = 0;
	var charge_back_admin_fee = 0;
	var charge_coin_deposit_fee = 0;
	var charge_cheques_deposit_fee = 0;
	var charge_cash_deposit_fee = 0;
	var charge_abm_deposit_fee = 0;
	
	if(specs["plan_name"] == "Small Business Banking Plan: More Cash" || specs["plan_name"] == "Small Business Banking Plan: More Cheques") {
		branch_deposits_above_limit = input["deposit_branch"] - 15; // hard coded free transactions
		if(branch_deposits_above_limit < 0) {
			branch_deposits_above_limit = 0;
		}
		//alert(specs["plan_name"] + " BDAL: " + branch_deposits_above_limit);
	}
	
	else {
		branch_deposits_above_limit =  input["deposit_branch"] - specs["in_branch_deposit_limit"];
		if(branch_deposits_above_limit < 0) {
			branch_deposits_above_limit = 0;
		}
	}
	
	
	
	regular_transactions_above_limit = specs["total_transactions"] - specs["monthly_transaction_limit"] - branch_deposits_above_limit; // 185 - 125 - 0 = 60
	
	var check_for_abm = input["deposit_instabank"] - specs["abm_deposit_limit"]; // 40 - 25 = 15
	if(check_for_abm > 0) {
		regular_transactions_above_limit -= check_for_abm; // 60 - 15 = 45
		charge_abm_deposit_fee = check_for_abm;
	}
	else {
		charge_abm_deposit_fee = 0;
	}
	if(regular_transactions_above_limit < 0) {
		regular_transactions_above_limit = 0;
	}
	
	charge_coin_deposit_fee = input["deposit_coin"] * rates["deposit_coin_cost"];
	charge_coin_deposit_fee = charge_coin_deposit_fee / 100;
	
	if(input["deposit_cheques"] > specs["deposit_cheques_limit"]) {
		charge_cheques_deposit_fee = input["deposit_cheques"] - specs["deposit_cheques_limit"];
		charge_cheques_deposit_fee = charge_cheques_deposit_fee * rates["deposit_cheques_cost"];
	}
	
	if(input["deposit_cash"] > specs["deposit_cash_limit"]) {
		charge_cash_deposit_fee = input["deposit_cash"] - specs["deposit_cash_limit"];
		charge_cash_deposit_fee = charge_cash_deposit_fee * rates["deposit_cash_cost"];
		charge_cash_deposit_fee = charge_cash_deposit_fee / 1000;
	}
	
	charge_back_admin_fee = input["chargebacks"] - specs["chargebacks_limit"];
	if(charge_back_admin_fee > 0) {
		charge_back_admin_fee = charge_back_admin_fee * specs["charge_back_cost"];
	}
	else {
		charge_back_admin_fee = 0;
	}
	
	specs["branch_deposits_above_limit"] = branch_deposits_above_limit;
	specs["regular_transactions_above_limit"] = regular_transactions_above_limit;
	
	specs["additional_costs"] = regular_transactions_above_limit + branch_deposits_above_limit + charge_abm_deposit_fee;
	//alert("Transactions above limit: " + (regular_transactions_above_limit  + branch_deposits_above_limit));
	specs["additional_costs"] += input["billpmt_branch"] * rates["billpmt_branch_cost"];
	//alert("Bill pmt cost: " + (input["billpmt_branch"] * rates["billpmt_branch_cost"]));
	specs["additional_costs"] += charge_back_admin_fee;
	//alert("Chargeback fee: " + charge_back_admin_fee);
	specs["additional_costs"] += charge_coin_deposit_fee;
	//alert("Charge coin deposit fee: " + charge_coin_deposit_fee);
	specs["additional_costs"] += charge_cheques_deposit_fee;
	//alert("Charge cheque deposit fee: " + charge_cheques_deposit_fee);
	specs["additional_costs"] += charge_cash_deposit_fee;
	//alert("Charge cash deposit fee: " + charge_cash_deposit_fee);
	//alert(printf(specs));
	return specs;
}

function select_cheapest_total(specs, rates, input) {
	var cheap = new Array();
	var plan_total = (specs["monthly_fee"] + specs["additional_costs"]) - specs["fee_discount"];
	if(plan_total < specs["cheapest_total"] || specs["cheapest_total"] == "untainted") {
		specs["cheapest_total"] 					= plan_total;
		cheap["plan_name"] 							= specs["plan_name"];
		cheap["plan_name_fr"]						= specs["plan_name_fr"];
		cheap["total_fees"] 						= plan_total;
		cheap["monthly_fee"]						= specs["monthly_fee"];
		cheap["monthly_transaction_limit"]			= specs["monthly_transaction_limit"];
		cheap["in_branch_deposit_limit"]			= specs["in_branch_deposit_limit"];
		cheap["fee_waiver_balance"]					= specs["fee_waiver_balance"];
		cheap["additional_costs"]					= specs["additional_costs"];
		cheap["branch_deposits_above_limit"]		= specs["branch_deposits_above_limit"];
		cheap["regular_transactions_above_limit"] 	= specs["regular_transactions_above_limit"];
		cheap["fee_discount"]						= specs["fee_discount"];
		cheap["fee_waived"]							= specs["fee_waived"];
		cheap["new_business"]					 	= input["less_than_9_months"];
	}	
	else {
		cheap = specs["cheap"];
	}
	
	return cheap;
}

function calc_payg(input, rates) {
	var payg = new Array();
	
	payg["plan_name"]			= "Pay As You Go";
	payg["plan_name_fr"]		= "« à la transaction »";
	payg["fee_waiver_balance"]	= "0";
	
	payg["total_transactions"] = 	input["deposit_branch"] +
									input["deposit_instabank"] +
									input["deposit_electronic_payment"] +
									input["debit_cheque"] +
									input["debit_interac_pos"] +
									input["debit_instabank"] +
									input["debit_electronic_payment"] +
									input["billpmt_branch"] +
									input["billpmt_instabank"] +
									input["billpmt_instabank_with"];
									
	payg["admin_fee"] = rates["pay_as_you_go_current_account_fee"];
	payg["monthly_fee"] = rates["pay_as_you_go_current_account_fee"];								
	payg["total_fees"]  = (input["deposit_branch"] * rates["deposit_branch_cost"]);
	//alert("Deposit branch: " + (input["deposit_branch"] * rates["deposit_branch_cost"]));
	payg["total_fees"] += input["deposit_instabank"] * rates["deposit_instabank_cost"];
	//alert("Deposit instabank: " + input["deposit_instabank"] * rates["deposit_instabank_cost"]);
	payg["total_fees"] += input["deposit_electronic_payment"] * rates["deposit_electronic_payment_cost"];
	//alert("Deposit electronic: " + input["deposit_electronic_payment"] * rates["deposit_electronic_payment_cost"]);
	
	payg["total_fees"] += input["debit_cheque"] * rates["debit_cheque_cost"];
	//alert("Debit cheques: " + input["debit_cheque"] * rates["debit_cheque_cost"]);
	payg["total_fees"] += input["debit_interac_pos"] * rates["debit_electronic_payment_cost"];
	//alert("Debit interac: " + input["debit_interac_pos"] * rates["debit_electronic_payment_cost"]);
    payg["total_fees"] += input["debit_instabank"] * rates["debit_electronic_payment_cost"];
	//alert("Debit instabank: " + input["debit_instabank"] * rates["debit_electronic_payment_cost"]);
    payg["total_fees"] += input["debit_electronic_payment"] * rates["debit_electronic_payment_cost"];
	//alert("Debit PAC: " + input["debit_electronic_payment"] * rates["debit_electronic_payment_cost"]);
	
	payg["total_fees"] += input["billpmt_branch"] * (rates["billpmt_branch_cost"] + rates["deposit_branch_cost"]);
	//alert("Bill Pmt Branch: " + input["billpmt_branch"] * (rates["billpmt_branch_cost"] + rates["deposit_branch_cost"]));
	payg["total_fees"] += input["billpmt_instabank"] * rates["debit_electronic_payment_cost"];
	//alert("Bill Pmt Instabank: " + input["billpmt_instabank"] * rates["debit_electronic_payment_cost"]);
	payg["total_fees"] += input["billpmt_instabank_with"] * rates["debit_electronic_payment_cost"];
	//alert("Bill Pmt Tele: " + input["billpmt_instabank_with"] * rates["debit_electronic_payment_cost"]);
	
	//alert("Total fees: " + payg["total_fees"]);
	
	var coin_deposit_fees = input["deposit_coin"] * rates["deposit_coin_cost"];
	coin_deposit_fees = coin_deposit_fees / 100;
	payg["total_fees"] += coin_deposit_fees;
	//alert("Coin deposit fees: " + coin_deposit_fees);
	
	var cheque_deposit_fees = input["deposit_cheques"] * rates["deposit_cheques_cost"];
	payg["total_fees"] += cheque_deposit_fees;
	//alert("Cheque deposit fees: " + cheque_deposit_fees);
	
	var cash_deposit_fees = input["deposit_cash"] * rates["deposit_cash_cost"];
	cash_deposit_fees = cash_deposit_fees / 1000;
	payg["total_fees"] += cash_deposit_fees;
	//alert("Cash deposit fees: " + cash_deposit_fees);
	
	payg["total_fees"] += input["chargebacks"] * specs["charge_back_cost"];
	//alert("Chargebacks: " + input["chargebacks"] * rates["charge_back_cost"]);
	payg["total_fees"] += input["bank_nonbranch"] * rates["bank_by_pc_cost"];
	//alert("PC Banking: " + input["bank_nonbranch"]);
	payg["total_fees"] += rates["pay_as_you_go_current_account_fee"];
	//printf(payg);
	return payg;
}


function printf(array) {
	var str = "array contents:\n";
	for(i in array) {
		str = str + i + ": " + array[i] + "\n";
	}
	alert(str);
}

function fmtMoney(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
}


function fmtMoney_fr(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+' '+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + dblValue + ',' + strCents + ' $');
}


/* tabbing mechanism

function toggle_tabs(id) {
	var tabs = new Array();
	tabs[0] = "tab_intro";
	tabs[1] = "tab_needs";
	tabs[2] = "tab_right";
	var t, tabname, pagename, tabactive, pageactive;
	for(t in tabs) {
		if(tabs[t] != id) {
			tabname = "images/"+tabs[t]+"_inactive.jpg";
			pagename = tabs[t]+"_page";
			
			document.getElementById(tabs[t]).src = tabname;
			document.getElementById(pagename).style.display = "none";
		}
	}
	tabactive = "images/"+id+"_active.jpg";
	pageactive = id + "_page";
	document.getElementById(id).src = tabactive;
	document.getElementById(pageactive).style.display = "block";
}
*/

function toggle_tabs(id) {
	var tabs = new Array();
	tabs[0] = "tab_intro";
	tabs[1] = "tab_needs";
	tabs[2] = "tab_plan";
	var t, taboff, tabon, pagename, tabactive, pageactive;
	for(t in tabs) {
		if(tabs[t] != id) {
			taboff = "nav_"+tabs[t]+"_off";
			document.getElementById(taboff).style.display = "block";
			tabon = "nav_"+tabs[t];
			document.getElementById(tabon).style.display = "none";
			pagename = tabs[t]+"_page";
			document.getElementById(pagename).style.display = "none";
		}
		else {
			tabon = "nav_"+tabs[t];
			document.getElementById(tabon).style.display = "block";
			pagename = tabs[t]+"_page";
			document.getElementById(pagename).style.display = "block";
			taboff = "nav_"+tabs[t]+"_off";
			document.getElementById(taboff).style.display = "none";
		}
	}
	pageactive = id + "_page";
	document.getElementById(pageactive).style.display = "block";
}
/*
function toggle_tabs_fr(id) {
	var tabs = new Array();
	tabs[0] = "tab_intro";
	tabs[1] = "tab_needs";
	tabs[2] = "tab_right";
	var t, tabname, pagename, tabactive, pageactive;
	for(t in tabs) {
		if(tabs[t] != id) {
			tabname = "images/"+tabs[t]+"_fr_inactive.gif";
			pagename = tabs[t]+"_page";
			
			document.getElementById(tabs[t]).src = tabname;
			document.getElementById(pagename).style.display = "none";
		}
	}
	tabactive = "images/"+id+"_fr_active.gif";
	pageactive = id + "_page";
	document.getElementById(id).src = tabactive;
	document.getElementById(pageactive).style.display = "block";
}
*/
function switchTo(id) {
	var i;
	var page;
	for(i=1;i<9;i++) {
		page = "needs_"+i;
		if(i != id) {
			document.getElementById(page).style.display = "none";
		}
		else {
			document.getElementById(page).style.display = "block";
		}
	}
	
	if(id != "7") {
		// set all non-set values to zero
		var screen = id - 1;
		var letters = new Array();
		letters["a"] = screen+"a";
		letters["b"] = screen+"b";
		letters["c"] = screen+"c";
		letters["d"] = screen+"d";
		for(i in letters) {
			if(document.getElementById(letters[i])) {
				if(document.getElementById(letters[i]).value == "") {
					document.getElementById(letters[i]).value = 0;
					reviewThis(document.getElementById(letters[i]));
				}
			}
		}
	}
	else {
		document.getElementById("review_7a").innerHTML = "No";
		document.getElementById("review_7b").innerHTML = "No";
	}
	
}

function switchTo_fr(id) {
	var i;
	var page;
	for(i=1;i<9;i++) {
		page = "needs_"+i;
		if(i != id) {
			document.getElementById(page).style.display = "none";
		}
		else {
			document.getElementById(page).style.display = "block";
		}
	}
	
	if(id != "7") {
		// set all non-set values to zero
		var screen = id - 1;
		var letters = new Array();
		letters["a"] = screen+"a";
		letters["b"] = screen+"b";
		letters["c"] = screen+"c";
		letters["d"] = screen+"d";
		for(i in letters) {
			if(document.getElementById(letters[i])) {
				if(document.getElementById(letters[i]).value == "") {
					document.getElementById(letters[i]).value = 0;
					reviewThis(document.getElementById(letters[i]));
				}
			}
		}
	}
	else {
		document.getElementById("review_7a").innerHTML = "Non";
		document.getElementById("review_7b").innerHTML = "Non";
	}
	
}

function reviewThis(id) {
	if(IsNumeric(id["value"]) || id["id"] == "7b") {
		var reviewId = "review_"+id["id"];
		if(id["id"] == "7a" || id["id"]=="7b") {
			
			var radio_value;
			var newValue = getCheckedValue(id);
			var showValue;
			if(id["id"] == "7a" && newValue == "1") {
				newValue = "Yes";
			}
			
			if(id["id"] == "7a" && newValue == "0") {
				newValue = "No";
			}
			
			document.getElementById(reviewId).innerHTML = newValue;
		}
		else {
			var newValue = document.getElementById(id["id"]).value;
			document.getElementById(reviewId).innerHTML = newValue;
		}
	}
	else {
		alert("Please enter a number in this field.");
		document.getElementById(id["id"]).focus();
	}
	
}

function reviewThis_fr(id) {
	if(IsNumeric(id["value"]) || id["id"] == "7b") {
		var reviewId = "review_"+id["id"];
		if(id["id"] == "7a" || id["id"]=="7b") {
			var radio_value;
			var newValue = getCheckedValue(id);
			var showValue;
			if(id["id"] == "7a" && newValue == "1") {
				newValue = "Oui";
			}
			
			if(id["id"] == "7a" && newValue == "0") {
				newValue = "Non";
			}
			
			document.getElementById(reviewId).innerHTML = newValue;
		}
		else {
			var newValue = document.getElementById(id["id"]).value;
			document.getElementById(reviewId).innerHTML = newValue;
		}
	}
	else {
		alert("Assurez-vous d'entrer un nombre valide de transactions.");
		document.getElementById(id["id"]).focus();
	}
	
}

function setEditFlag() {
	var i, page;
	for(i=1;i<8;i++) {
		page = "rev"+i;
		document.getElementById(page).innerHTML = "<a href='javascript:void(true);' onclick='switchTo(8)'><img src='/vgn/buscalc/images/review.gif' alt='Review' border='0' class='qcontinue' /></a>";
	}
}

function setEditFlag_fr() {
	var i, page;
	for(i=1;i<8;i++) {
		page = "rev"+i;
		document.getElementById(page).innerHTML = "<a href='javascript:void(true);' onclick='switchTo(8)'><img src='/vgn/buscalc/images/revoir.gif' alt='Revoir' border='0' class='qcontinue' /></a>";
	}
}

function getCheckedValue(radioObj) {
	if(!radioObj){
		//alert("Value doesn't exist");
		return "";
		
	}
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		if(radioObj.checked) {
			//alert("Undefined length: " + radioObj.value);
			return radioObj.value;
		}
		else {
			//alert("Object unchecked");
			return "";
		}
			
	}
	
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			//alert("var checked");
			return radioObj[i].value;
		}
	}
	return "";
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}