//the following 3 functions were intended to export the pages without the left and top sections,
//including all data entered...for a print friendly version...this idea was scrapped

/*function data_pass (form_name,value_entered) {
	alert(form_name);
	alert(value_entered);
}

function data_write() {
	alert('data write');
}

//Print function, give it the content div, and it will replace the page with just the content div
//NOT currently in use, since entered data is lost
function printpage(divname) {
	alert('printpage');
	html = "<html><head><link rel='stylesheet' type='text/css' href='/rbc/style.css'><link rel=stylesheet type='text/css' href='/rbc/general.css'></head><body>" + divname + "</body></html>";
    data_write();
	document.open();
	document.write(html);
	document.close();
}*/



/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	roundNum(myNumber)
	Created:  	October 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Helper function to round any passed number
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function roundNum(myNumber){
	myNumber = parseInt(myNumber)
	/*
	if (isNaN(myNumber)) myNumber = 0;
	
	if (myNumber > 100000 || myNumber < -100000) myNumber = Math.round(myNumber/1000)*1000;
	else if (myNumber > 1000 || myNumber < -1000) myNumber = Math.round(myNumber/100)*100;
	else if (myNumber > 100 || myNumber < -100) myNumber = Math.round(myNumber/10)*10;
	else if (myNumber < 1 && myNumber > -1) myNumber = Math.round(myNumber*100)/100;
	else myNumber = Math.round(myNumber);
	*/	
	return myNumber;
}

/*
GLOBAL VARIABLES
e1e0ff
*/

// core benefits: transit, parking, telecommuting, employer-defined, !Required!
var coreBenefits = new Array("","","","",""); // none of them are initially checked
// support benefits: rideshare, transit, pre-tax-transit, parking, shuttle, preferred-parking, bicycle-parking, incentives, telecommuting
var supportBenefits = new Array("","","","","","","","",""); // none of them are initially checked

var numberOfEmployees = 100; // default value
var percentOfEmployeesTelecommuting = 0; // default value
var g_locType = "Urban"; // default value
var g_orgType = "For-profit"; // default value
var g_provideparking = "Free"; // default value
var g_kindofparking = "Surface"; // default value
var expectedtotalnumberofemployees = 0; // default value

//mkwan
var default_costpergallonofgasoline = 4.29;
var default_mpg = 23.4;
var default_gascostpermile = .1825;
var default_othercostpermile = .531;

var currentNumExpected = 0;
var employercostofvanpoolvouchers = 0;
var reductionFromVanpool = 0;
var empGainFromAdvantageRideshare = 0;
var avgVanpoolCostPerPerson 		= parseFloat(1000/8.5);
var countyVanpoolProgramBenefit 	= 0;

	
var firstLoad = true; // tracks whether we are dealing with first loaded page or with already loaded and manipulated
var firstSequence = true; // will check whether the user is going through the first sequence of inputs (this will trigger the display of tabs on the Employer Info screen)
var directFinEffectsUpdate = false; // this variable will control when an update to the Direct Financial Effects section is due (we want to refresh that section only at certain conditions)

// here we hold the validation results from: REQUIRED BENEFIT, three or more SUPPORTING BENEFIT OPTIONS, minimum for Transit/Vanpool Primary Benefits, minimum for Telecommuting Primary Benefits, minimum for Parking Cash Out Primary Benefits
var validation = new Array("","","","","");

var programInfoInputs = new Array(); // storage of input fields for Program Selection section (divSubMenu2) needed for the refresh function

var employerInfoInputs = new Array(); // storage of input fields for Employer/Site Information section (divSubMenu1) needed for the refresh function
	for (i=0; i<21; i++) programInfoInputs[i] = 0;
	programInfoInputs[7] = 4000; // preset
	programInfoInputs[13] = "rack"; // preset
	programInfoInputs[21] = 4000; // preset
	programInfoInputs[22] = "No"
	for (i=0; i<43; i++) employerInfoInputs[i] = 0;	
	employerInfoInputs[0] = 51; // default to For-profit (orgtype)
	employerInfoInputs[2] = 0; // default to For-profit (orgtype)
	employerInfoInputs[3] = 3; // default to 34% (fedtaxrate) (third index)
	employerInfoInputs[5] = 35; // default to 35%	(calcmarginalfedcorptaxrate)
	employerInfoInputs[8] = 700; // default to 700 employees (numfemployees)
	employerInfoInputs[9] = 30000; // default to $30000	(averageemployeesalary)
	employerInfoInputs[10] = 90; // default to 90% (percentlessthan)
	employerInfoInputs[12] = 28; // default to 28% (fedemployeemarginalincometaxrate)
	employerInfoInputs[13] = 4.3; // default to 3.9%	(stateemployeemarginalincometaxrate)
	employerInfoInputs[15] = 0;

// the variables below (override and calc) allow the user to override calculated fields with custom values
var overrider_numberoffulltimetelecommuters = ""; // user override option
var overrider_averagecostperhomeoffice = "4000"; // user override option
var overrider_numberofbicycleparkingspaces = ""; // user override option
var overrider_PotentialNumberoffulltimetelecommuters = ""; // user override option
var overrider_PotentialBuildingSpaceCost = ""; // user override option
var overrider_Expectedchangeinturnover = ""; // user override option
	var calcr_numberoffulltimetelecommuters = ""; // user calc option
	var calcr_averagecostperhomeoffice = "4000"; // user calc option
	var calcr_numberofbicycleparkingspaces = ""; // user calc option
	var calcr_PotentialNumberoffulltimetelecommuters = ""; // user calc option
	var calcr_PotentialBuildingSpaceCost = ""; // user calc option
	var calcr_Expectedchangeinturnover = ""; // user calc option
var user_ReducedAutoCommuteTrips = "";
// ***************************************************  

// More global variables used in interim calculations
// **********
var g_marginalcorporatetaxrate = 0;
var g_averagemarginalfica = 0;
var g_expectednumberemployeestelecommuting = 0;
var g_expectednumberemployeestransit = 0;
var g_expectednumberemployeesparkingcashout = 0;
var g_reductionnumberdrivers = 0;
var g_TaxFreeLimit = 230; // Changed from to $65 in 2001, changed from $100 in 2005, $110 in 2007
var employee_row = new Array (-1,0,0,0,0,0,0); // Employee Paid Pre-Tax Benefit variables (under direct costs and savings)
var employer_row = new Array (-1,0,0,0,0,0,0); // Employer Pre-Tax Savings variables (under direct costs and savings)
// **********

//var imgCache = new Image();
//imgCache.src= "images/picture4.gif";

var myCommuterModelResult = ""; // this is the concatenated string of the selected programs
var g_commuterModelLookup = "0~0~0"; // initalize the variable being set from the "purple" table
var g_commuterModelLookupSmall = "0~0~0"; // this will help get a range (smallest)
var g_commuterModelLookupLarge = "0~0~0"; // this will help get a range (largest)

var transitVanpoolDetails = ""; // details string variable (used to display details from within a section via a pop-up window)
var parkingCashOutIncentives = ""; // details string variable (used to display details from within a section via a pop-up window)
var employeePreTaxDetails = ""; // details string variable (used to display details from within a section via a pop-up window)
var detailsWindow; // global details window object variable (related to transitVanpoolDetails detailed window)
var detailsWindow2; // global details window object variable (related to parkingCashOutIncentives detailed window)
var detailsWindow3; // global details window object variable (related to employeePreTaxDetails detailed window)

var windowOpened = false; // is there a second (child) window opened
var resultsWindow; // global results window object variable
var employerGraphValues = new Array(0,0,0)
var employeeGraphValues = new Array(0,0,0)

var printPage = null; // global variable for the page that will be generated for printing
var summaryHTML = ""; //stores the core results summary
var divSubMenu3HTML = ""; // can be used as a storage vehicle for the information on the Estimated Participation page


var myVersion = returnVersion(); // this variable controls most of the functionality of this tool: it will determine whether the functionality is suitable for 508-compliant version

if (myVersion == "multitab") var dynamicVersion = true; // let's set our dynamicVersion control variable
else var dynamicVersion = false;

// define all the forms (within a number of DIVs)
	var auxFormId11 = ""; //site information
	var auxFormId12 = ""; //program selection
	var auxFormId13 = ""; // employee participation
	var auxFormId2 = ""; // financial results
	var auxFormId3 = ""; // parking and office savings
	var auxFormId4 = ""; // recruitment and productivity
	var auxFormId5 = ""; // community benefits

/*
****************
*/

function changeparkingcostprovided(formId) {
	if(formId.provideparking.value=="Free") {
		formId.employeecontributiontoparking.disabled = true;
		formId.employeecontributiontoparking.value = "0";
		formId.employercontributiontoparking.value = formId.spacecost.value;
		}
	else if(formId.provideparking.value=="Subsidized"){
		formId.employeecontributiontoparking.disabled = false;
		formId.employercontributiontoparking.value = formId.spacecost.value - formId.employeecontributiontoparking.value;
		}
	else {
		formId.employeecontributiontoparking.disabled = false;
		formId.employeecontributiontoparking.value = formId.spacecost.value;
		formId.employercontributiontoparking.value = 0;
		}
}











/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getFormId(formOrder)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	A helper function to convert a form order into a form object!
	i.e. "1.1" would represent divSubMenu1.1   and    "2" will represent divMenu2
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getFormId(formOrder) {
	var majorOrder = parseInt(formOrder);
	var minorOrder = Math.round((formOrder - majorOrder)*10);
	if (minorOrder == 0) formOrder = "divMenu" + majorOrder;
	else formOrder = "divSubMenu" + minorOrder;

	if (is_nav){	// if browser is Netscape
		if (is_NOTnav6){
			return eval("document.layers[\""+formOrder+"\"].document."+formOrder+"Form")
		}
		else { 		// if browser is Netscape 6
			return eval("document.getElementById["+formOrder+"].document."+formOrder+"Form")			
		}
	}
	else {			// if browser is IE
		return eval("document.forms[\""+formOrder+"Form\"]")	
	}
}


/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	initializeForms()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Initializes all forms depending on the functionality needed: 508-compliant or multitab.
	Creates dynamic content for several sections.
	Initializes a number of fields with default values taken from the lookup table (lookupTable.js) and/or hard coded constants

    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function initializeForms() {
	//TwistnSpin(); this is for some nice DHTML effects
	
	if (myVersion == "multitab") {
		auxFormId11 = getFormId(1.1);
		auxFormId12 = getFormId(1.2);
		auxFormId13 = getFormId(1.3);
		auxFormId2 = getFormId(2);
		auxFormId3 = getFormId(3);
		auxFormId4 = getFormId(4);
		auxFormId5 = getFormId(5);
	}
	else {
		auxFormId11 = document.forms[0];
		auxFormId12 = document.forms[0];
		auxFormId13 = document.forms[0];		
		auxFormId2 = document.forms[0];
		auxFormId3 = document.forms[0];
		auxFormId4 = document.forms[0];
		auxFormId5 = document.forms[0];
		auxFormId5.reset();
	}
	
	if (myVersion == "multitab") {
		writeDivSubMenu3(); // create the employee participation section
		writeDivSubMenu1(); // create the site information section
		writeDivSubMenu2(); // create the program selection section
		writeDivMenu2(); // create the financial results section
		directFinEffectsUpdate = false; // we do not want to update financial results section for now
	}
//mkwan
dispOrgName = trimStr(auxFormId11.dispOrgName.value);
if(dispOrgName=="") { dispOrgName = "Employer"; }
	//statecorptaxrate AND stateemployeemarginalincometaxrate
	updateStatecorptaxrate();
	//marginalcorporatetaxrate
	updateMarginalcorporatetaxrate();
	//averagemarginalfica
	updateAveragemarginalfica();
	//employeemarginalincometaxrate
	updateEmployeemarginalincometaxrate();
	//spacecost
	auxFormId11.spacecost.value = getParkingCosts("Surface");
	//employercontributiontoparking
	updateEmployercontributiontoparking();
	//reductionnumberdrivers
	//updateCommuterModelResults();
}
//mkwan: page1 version (condensed)
function initializeForms1(){
	//TwistnSpin(); this is for some nice DHTML effects
	if (myVersion == "multitab") {
		auxFormId11 = getFormId(1.1);
		auxFormId12 = getFormId(1.2);
		auxFormId13 = getFormId(1.3);
		auxFormId2 = getFormId(2);
		auxFormId3 = getFormId(3);
		auxFormId4 = getFormId(4);
		auxFormId5 = getFormId(5);
	}
	else {
		auxFormId11 = document.forms[0];
		auxFormId12 = document.forms[0];
		auxFormId13 = document.forms[0];		
		auxFormId2 = document.forms[0];
		auxFormId3 = document.forms[0];
		auxFormId4 = document.forms[0];
		auxFormId5 = document.forms[0];
		auxFormId11.reset();
	}
	
	if (myVersion == "multitab") {
		writeDivSubMenu3(); // create the employee participation section
		writeDivSubMenu1(); // create the site information section
		writeDivSubMenu2(); // create the program selection section
		writeDivMenu2(); // create the financial results section
		directFinEffectsUpdate = false; // we do not want to update financial results section for now
	}
	/*
	//statecorptaxrate AND stateemployeemarginalincometaxrate
	updateStatecorptaxrate();
	//marginalcorporatetaxrate
	updateMarginalcorporatetaxrate();
	//averagemarginalfica
	updateAveragemarginalfica();
	//employeemarginalincometaxrate
	updateEmployeemarginalincometaxrate();
	//spacecost
	auxFormId11.spacecost.value = getParkingCosts("Surface");
	//employercontributiontoparking
	updateEmployercontributiontoparking();
	//reductionnumberdrivers
	updateCommuterModelResults();
	*/
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateRequiredBenefit()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Toggles the state of the Required Benefit
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateRequiredBenefit(){
	if (auxFormId12.accessguaranteedridehomeprogram.checked) coreBenefits[4] = "x";
	else coreBenefits[4] = "";
	updateCommuterModelResults();
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	setCoreBenefits(arrayPos)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Toggles the state of a Core/Primary Benefit based on its position (see line 5 for detailed list of all core benefits)
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function setCoreBenefits(arrayPos){
	if (coreBenefits[arrayPos] == "x") coreBenefits[arrayPos] = "";
	else coreBenefits[arrayPos] = "x";
	writeDivSubMenu2();	
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	setSupportBenefits(arrayPos)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Toggles the state of a Supporting Benefit based on its position (see line 7 for detailed list of all supporting benefits)
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function setSupportBenefits(arrayPos){
	if (supportBenefits[arrayPos] == "x") supportBenefits[arrayPos] = "";
	else supportBenefits[arrayPos] = "x";
	directFinEffectsUpdate = true; // we need to update the Direct Financial Effects section
	writeDivSubMenu2();
	updateCommuterModelResults();
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getStatecorptaxrate(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Get State corporate income tax rate based on selected state and update other fields based on that
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getStatecorptaxrate(formId){
	var myState = "CA";
	myState = getStateTaxRate(myState,1).split("~")
	auxFormId11.statecorptaxrate.value = myState[0];
	auxFormId11.stateemployeemarginalincometaxrate.value = myState[1];
	updateMarginalcorporatetaxrate(formId);
	updateEmployeemarginalincometaxrate(formId);
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	setLoctype(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	In which type of location? -- Urban/Suburban/etc.  set the correct value
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function setLoctype(formId) {
	g_locType = auxFormId11.loctype.options[auxFormId11.loctype.selectedIndex].value;
	overrider_PotentialBuildingSpaceCost = ""; // user's value is reset
	//mkwan
	//updateCommuterModelResults(formId)
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	setOrgType(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	What type of organization are you?  -- set the correct orgType
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function setOrgType(formId) {
	g_orgType = auxFormId11.orgtype.options[auxFormId11.orgtype.selectedIndex].text;
	if(g_orgType == "For-profit"){
		auxFormId11.calcmarginalfedcorptaxrate.value = "35";
		}
	else if(g_orgType == "Non-profit"){
		auxFormId11.calcmarginalfedcorptaxrate.value = "15";
		}
	else {
		auxFormId11.calcmarginalfedcorptaxrate.value = "15";	
		}
	updateMarginalcorporatetaxrate(formId)
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getMarginalcorporatetaxrate(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Get marginal federal corporate tax rate based on selected federal corporate income tax rate (pull-down)
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getMarginalcorporatetaxrate(formId){
	var myFedtaxrate = auxFormId11.fedtaxrate.options[auxFormId11.fedtaxrate.selectedIndex].text;
	//var myFedtaxrate = auxFormId11.fedtaxrate.options[auxFormId11.fedtaxrate.selectedIndex].text;
	if (myFedtaxrate != "") {
		eval(auxFormId11.corpnetincome.options[0].selected=true);
		myFedtaxrate = myFedtaxrate.split("%");
		auxFormId11.calcmarginalfedcorptaxrate.value = myFedtaxrate[0];
		updateMarginalcorporatetaxrate(formId)
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getCorpnetincome(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Get marginal federal corporate tax rate based on selected annual corporate net income
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getCorpnetincome(formId){
	var myCorpnetincome = auxFormId11.corpnetincome.options[auxFormId11.corpnetincome.selectedIndex].value;
	if (myCorpnetincome > 0) {
		eval(auxFormId11.fedtaxrate.options[0].selected=true)
		myCorpnetincome = getFederalTaxRate(myCorpnetincome)
		auxFormId11.calcmarginalfedcorptaxrate.value = myCorpnetincome;
		updateMarginalcorporatetaxrate(formId)
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateStatecorptaxrate(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update state corporate income tax rate based on a lookup table
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateStatecorptaxrate(formId) {
	txr = getStateTaxRate("NT",1); txr = txr.split("~");
	auxFormId11.statecorptaxrate.value=txr[0];
	auxFormId11.stateemployeemarginalincometaxrate.value=txr[1];
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateMarginalcorporatetaxrate(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update marginal corporate tax rate based on calculations (sum of Calculated marginal federal corporate tax rate and State corporate income tax rate)
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateMarginalcorporatetaxrate(formId){
	//g_marginalcorporatetaxrate = (1-auxFormId11.statecorptaxrate.value/100)*(auxFormId11.calcmarginalfedcorptaxrate.value/100)+auxFormId11.statecorptaxrate.value/100
	g_marginalcorporatetaxrate = (parseFloat(auxFormId11.statecorptaxrate.value) + parseFloat(auxFormId11.calcmarginalfedcorptaxrate.value))/100;
	auxFormId11.marginalcorporatetaxrate.value=roundNum(g_marginalcorporatetaxrate*100)
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateAveragemarginalfica(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update average marginal FICA for the employer and employee based on current selections
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateAveragemarginalfica(formId){
	g_averagemarginalfica = (auxFormId11.percentlessthan.value/100)*(0.062)+0.0145;
	if (isNaN(g_averagemarginalfica)) g_averagemarginalfica = 0;
	auxFormId11.averagemarginalfica.value= roundNum(g_averagemarginalfica*100);
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateEmployeemarginalincometaxrate(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update employee marginal income tax rate based on current selections
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateEmployeemarginalincometaxrate(formId){
	var var1 = parseFloat(auxFormId11.fedemployeemarginalincometaxrate.value);
	if (isNaN(var1)) var1 = 0;
	var var2 = parseFloat(auxFormId11.stateemployeemarginalincometaxrate.value);
	if (isNaN(var2)) var2 = 0;
	
	var myResult = var1 + var2;
	
	auxFormId11.employeemarginalincometaxrate.value = myResult;
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	setProvideparking()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Calculate constant based on a lookup of type of parking
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function setProvideparking(){
	g_provideparking = auxFormId11.provideparking.options[auxFormId11.provideparking.selectedIndex].value;
	updateEmployercontributiontoparking();
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getSpacecost(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Get space cost ($/space-month) based on a lookup and what kind of parking do employees use
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getSpacecost1(formId){
	var mySpaceCost = auxFormId11.kindofparking.options[auxFormId11.kindofparking.selectedIndex].value;
	g_kindofparking = mySpaceCost;
	mySpaceCost = getParkingCosts(mySpaceCost);
	auxFormId11.spacecost.value = mySpaceCost;

	if (dynamicVersion) auxFormId3.d_spacecost.value = mySpaceCost;
	
	updateEmployercontributiontoparking();
}
//mkwan
function autopopulatecontributionamounts(formId) {
if(auxFormId12.supportingpretaxtransitbenefits.checked) {
	auxFormId12.supportingaverageemployeepretaxvouchercontribution.disabled = false;
	auxFormId12.supportingaverageemployeepretaxvouchercontribution.value = "200";
	//updateCommuterModelResults(formId);
	}
else {
	auxFormId12.supportingaverageemployeepretaxvouchercontribution.value = "0"
	auxFormId12.supportingaverageemployeepretaxvouchercontribution.disabled = true;
	}

}

//
function getSpacecost(formId){
	var mySpaceCost = auxFormId11.kindofparking.options[auxFormId11.kindofparking.selectedIndex].value;
	g_kindofparking = mySpaceCost;
	mySpaceCost = getParkingCosts(mySpaceCost);
	auxFormId11.spacecost.value = mySpaceCost;

	if (dynamicVersion) auxFormId3.d_spacecost.value = mySpaceCost;
	
	updateEmployercontributiontoparking();
	updateCoreparkingcashout(formId) // update one of the core benefits as needed
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateEmployercontributiontoparking(userOverwrite)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Will calculate what the employeer  - OR -  employee contribution to parking is based on 
	what was entered and WHERE it was entered.  If the entry is by employer, the employee 
	contribution is calculated.  The userOverwrite parameters is the user: employer OR employee
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateEmployercontributiontoparking(userOverwrite){

	var costC = parseFloat(auxFormId11.spacecost.value);
	var employeeC = parseFloat(auxFormId11.employeecontributiontoparking.value);
	var employerC = parseFloat(auxFormId11.spacecost.value);

/*
	var employerC = parseFloat(auxFormId11.employercontributiontoparking.value);

	if (isNaN(costC)) costC = 0;
	if (isNaN(employerC)) employerC = 0;
	if (isNaN(employeeC)) employeeC = 0;	

	if (userOverwrite == null) {
		if (g_provideparking == "Free") {employerC = costC;}
		else if (g_provideparking == "No contribution to employee parking") {employerC = 0;}
		else if (g_provideparking == "Subsidized") {
			if (g_kindofparking == "Surface") employerC = 30;
			else if (g_kindofparking == "Structure") employerC = 75;		
			else if (g_kindofparking == "Underground") employerC = 125;	
		}
		
		auxFormId11.employercontributiontoparking.value= employerC;
		auxFormId11.employeecontributiontoparking.value= costC - employerC;
	}
	else if (userOverwrite == "employer"){
		auxFormId11.employeecontributiontoparking.value= costC - employerC;
		if (g_provideparking == "Free") {auxFormId11.spacecost.value = employerC} // added 11/13
		updateEmployerInputs()
	}
	else if (userOverwrite == "employee"){
		auxFormId11.employercontributiontoparking.value= costC - employeeC;	
		updateEmployerInputs()
	}
	//updateCoreparkingcashout(); // added 11/13
*/	
}


/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateCommuterModelResults(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This funtion will extract the required value from a two-dimensional table: commuteModel from lookupTables.js
	It would use cureBenefits selection, coreProgram, supportingBenefits,  locationType.
	The final lookup results will be compared and a min and max will be established 
	(for the range in the employee participation section)
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateCommuterModelResults(formId,userValueFlag) { // 11/12
	// begin generating lookup for getExpectedchangeinturnover
	var coreProgram = "";
	var nPrograms = 0;
	var arrayOfPrograms = new Array();
	var myCoreBenefits = new Array();
	myCoreBenefits[0] = coreBenefits[1];
	myCoreBenefits[1] = coreBenefits[2];
	myCoreBenefits[2] = coreBenefits[0];
	// note that we do not take into account coreBenefits[3] and coreBenefits[4] -- they do not have quantitative representation

	//alert(myCoreBenefits)
	for (i=0; i<3; i++) {
		if (myCoreBenefits[i] == "x") {
			nPrograms++;
			arrayOfPrograms[nPrograms] = (i+1);
		}
	}

	if (nPrograms == 0) coreProgram += "No Core Program"	

	for (i=1; i<=nPrograms; i++) {
		if (arrayOfPrograms[i] == 3) coreProgram += "Transit or Vanpool Benefits"
		else if (arrayOfPrograms[i] == 1) coreProgram += "Parking Cash Out"		
		else if (arrayOfPrograms[i] == 2) coreProgram += "Telecommute"
		
		if ((nPrograms-i)>0) coreProgram += " and ";
	}
	myCommuterModelResult = coreProgram;
	// end generating lookup for getExpectedchangeinturnover

	var returnedValues = new Array(0,0,0)
	
	var my_locationType = 2; // Suburban office park (low density)
	if (g_locType == "Urban") my_locationType = 0; // Downtown central business district
	else if (g_locType == "Suburban") my_locationType = 1; // Other urban (high density)


	//mkwan: add vanpool! 	
	if (auxFormId12.vanpoolvouchers.checked) {
		my_lookupValue = parseFloat(auxFormId12.employervanpool.value);
		if (isNaN(my_lookupValue)) my_lookupValue = 0;
		tmpValue = getTransitVanpool(my_lookupValue,my_locationType)
		
		reductionFromVanpool = Math.round(parseFloat(tmpValue[1]*(.001))*numberOfEmployees);
		//returnedValues[0] += reductionFromVanpool*(7/8.5);
		//returnedValues[1] += reductionPercentFromVanpool;
		returnedValues[2] += tmpValue[2];
		}
	
	
	if (coreBenefits[0]=="x") {
		my_lookupValue = parseFloat(auxFormId12.coretransit.value);
		if (isNaN(my_lookupValue)) my_lookupValue = 0;
		tmpValue = getTransitVanpool(my_lookupValue,my_locationType)
		for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj]; // keep running total
	}
	else if (supportBenefits[1]=="x") {
		my_lookupValue = parseFloat(auxFormId12.supportingtransitvanpoolmonthlybenefits.value);
		//alert(my_lookupValue)
		if (isNaN(my_lookupValue)) my_lookupValue = 0;
		tmpValue = getTransitVanpool(my_lookupValue,my_locationType)
		for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
		//alert("tv-support   \n" + tmpValue)
	}
	
	if (coreBenefits[1]=="x") {
		my_lookupValue = parseFloat(auxFormId12.coreparkingmonthlybenefit.value);
		if (isNaN(my_lookupValue)) my_lookupValue = 0;
		tmpValue = getParkingCashOut(my_lookupValue,my_locationType)
		for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
		//alert("pco   \n" + tmpValue)
	}
	else if (supportBenefits[3]=="x") {
		my_lookupValue = parseFloat(auxFormId12.supportingmonthlyparkingcashout.value);
		if (isNaN(my_lookupValue)) my_lookupValue = 0;
		tmpValue = getParkingCashOut(my_lookupValue,my_locationType)
		for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
		//alert("pco-support   \n" + tmpValue)
	}
	
	if (supportBenefits[0]=="x") {
		tmpValue = getSupportingBenefit(0,my_locationType); for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
	}
	if (supportBenefits[2]=="x") {
		tmpValue = getSupportingBenefit(2,my_locationType); for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
	}
	if (supportBenefits[4]=="x") {
		tmpValue = getSupportingBenefit(4,my_locationType); for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
	}
	if (supportBenefits[5]=="x") {
		tmpValue = getSupportingBenefit(5,my_locationType); for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
	}
	if (supportBenefits[6]=="x") {
		tmpValue = getSupportingBenefit(6,my_locationType); for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
	}
	if (supportBenefits[7]=="x") {
		tmpValue = getSupportingBenefit(7,my_locationType); for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
	}
	if (coreBenefits[4]=="x") {
		tmpValue = getSupportingBenefit(-1,my_locationType); for (jj=0; jj<3; jj++) returnedValues[jj] += tmpValue[jj];
	}	
	var lowV = 0.75;
	var highV = 1.2;

//mkwan:updatecommutermodel
	var computedLookupSmall = new Array(returnedValues[0]*lowV,returnedValues[1]*lowV,returnedValues[2]*lowV);
	var computedLookup = new Array(returnedValues[0],returnedValues[1],returnedValues[2]);
	var computedLookupLarge = new Array(returnedValues[0]*highV,returnedValues[1]*highV,returnedValues[2]*highV);
	
	//alert('v1: ' + computedLookup[0] + ',' + computedLookup[1] + ',' + computedLookup[2]);
	var telecommValues = new Array (0,0,0)	
	var telecommInput = 0;
	//mkwan kill telecomm!
	/*
	if (coreBenefits[2]=="x") {
		//my_lookupValue = parseFloat(auxFormId12.coretelecommutingpercentemployeestelecommutingaverageday.value);
		//my_lookupValue = g_expectednumberemployeestelecommuting; // added 11/15/01
		my_lookupValue = percentOfEmployeesTelecommuting; // added 11/26/01
		if (isNaN(parseInt(my_lookupValue))) my_lookupValue = 0;
		telecommInput = my_lookupValue;
		tmpValue = getTelecommuting(my_lookupValue,my_locationType)
		for (jj=0; jj<3; jj++) {
			telecommValues[jj] += tmpValue[jj];
			}
		//alert("pco   \n" + tmpValue)
		//alert("--"+tmpValue)
	}
	else if (supportBenefits[8]=="x") {
		//my_lookupValue = parseFloat(auxFormId12.supportingpercentemployeestelecommutingonanaverageday.value);
		//my_lookupValue = g_expectednumberemployeestelecommuting; // added 11/15/01
		my_lookupValue = percentOfEmployeesTelecommuting; // added 11/26/01
		if (isNaN(my_lookupValue)) my_lookupValue = 0;
		telecommInput = my_lookupValue;
		tmpValue = getTelecommuting(my_lookupValue,my_locationType)
		for (jj=0; jj<3; jj++) telecommValues[jj] += tmpValue[jj];
		//alert("pco-support   \n" + tmpValue)
	}
	*/
	// special treatment fot the Telecommuting area
	computedLookupSmall[0] += telecommValues[0]*lowV;
	computedLookupLarge[0] += telecommInput;
	computedLookup[0]+= telecommValues[0];
	computedLookup[1]+= telecommValues[1];
	computedLookupSmall[1] += telecommValues[1]*highV;
	computedLookupLarge[1] += 0;
	
	//alert('v2: ' + computedLookup[0] + ',' + computedLookup[1] + ',' + computedLookup[2]);
	//mkwan: force to small estimates
	g_commuterModelLookupSmall = computedLookupSmall[0]+"~"+computedLookupSmall[1]+"~"+computedLookupSmall[2];
	//g_commuterModelLookup = computedLookup[0]+"~"+computedLookup[1]+"~"+computedLookup[2];
	g_commuterModelLookup = g_commuterModelLookupSmall
	g_commuterModelLookupLarge = computedLookupLarge[0]+"~"+computedLookupLarge[1]+"~"+computedLookupLarge[2];
	
	//mkwan: lookup
	//alert(g_commuterModelLookup);
	
	//alert(myCommuterModelResult+"  \n" + g_commuterModelLookup)
	
	overrider_Expectedchangeinturnover = ""; // user's value is reset
	//cats
	updateExpectedtotalnumberofemployees(formId);
	updateExpectednumberemployeesparkingcashout(formId);
	updateReductionnumberdrivers(formId,userValueFlag);
	addCustomIncentives(expectedtotalnumberofemployees);
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateFederalEmployeeMarginalIncomeTaxRate(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Federal employee marginal income tax rate is calculated based on averageemployeesalary
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateFederalEmployeeMarginalIncomeTaxRate(formId){
	var avgEmplSalary = parseFloat(auxFormId11.averageemployeesalary.value);
	if (isNaN(avgEmplSalary)) avgEmplSalary = 0;
	var emplTxRt = getFederalEmployeeMarginalIncomeTaxRate(avgEmplSalary);
	auxFormId11.fedemployeemarginalincometaxrate.value = emplTxRt;
	updateEmployeemarginalincometaxrate(formId)
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateTransitvouchers(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Transit/Vanpool Benefits (coreBenefits[0]) based on core benefits' selection (checkbox)
	This function will also toggle the corresponding core/supporting benefit (from "x" to "" and vice versa)
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateTransitvouchers(formId){
	var transitvouchers = auxFormId12.transitvouchers.checked;
	if (transitvouchers) {
		auxFormId12.coretransit.disabled=false;
		coreBenefits[0] = "x";
		supportBenefits[1] = "";
		//eval(auxFormId12.supportingtransitvanpoolbenefits.checked=false);
		fieldValue = parseFloat(auxFormId12.coretransit.value);
		if (isNaN(fieldValue) || fieldValue==0) fieldValue = "30";
		auxFormId12.coretransit.value=fieldValue;
		programInfoInputs[0]=fieldValue;
		auxFormId12.supportingtransitvanpoolmonthlybenefits.value="";
		auxFormId11.supportingtransitvanpoolpercentemployees.value="";
		updateCommuterModelResults(formId);
	}
	else {
		auxFormId12.coretransit.disabled=true;
		coreBenefits[0] = "";
		auxFormId12.coretransit.value="0";
		auxFormId11.corecurrentemployeestakingtransit.value="";		
		updateCommuterModelResults(formId);
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateTransitvouchers(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Transit/Vanpool Benefits (supportBenefits[1]) based on supporting benefits' selection (checkbox)
	This function will also toggle the corresponding core/supporting benefit (from "x" to "" and vice versa)
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateSupportingtransitvanpoolbenefits(formId){
	var transitvouchers = auxFormId12.supportingtransitvanpoolbenefits.checked;
	if (transitvouchers) {
		supportBenefits[1] = "x";
		coreBenefits[0] = "";
		eval(auxFormId12.transitvouchers.checked=false);
		auxFormId12.coretransit.value="";
		auxFormId11.corecurrentemployeestakingtransit.value="";
		//updateCommuterModelResults(formId);
	}
	else {
		supportBenefits[1] = "";
		auxFormId12.supportingtransitvanpoolmonthlybenefits.value="";
		auxFormId11.supportingtransitvanpoolpercentemployees.value="";
		//updateCommuterModelResults(formId);		
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateCoreparkingcashout(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Parking Cash Out Benefits (coreBenefits[1]) based on core benefits' selection (checkbox)
	This function will also toggle the corresponding core/supporting benefit (from "x" to "" and vice versa)
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */

function updateCoreparkingcashout(formId){
	var coreparkingcashout = auxFormId12.coreparkingcashout.checked;
	if (coreparkingcashout) {
		coreBenefits[1] = "x";
		supportBenefits[3] = "";
		//eval(auxFormId12.supportingparkingcashout.checked=false);
		fieldValue = parseFloat(auxFormId11.spacecost.value);
		//alert(fieldValue)
		if (isNaN(fieldValue)) fieldValue = 0;
		else fieldValue = fieldValue*0.75
		if (fieldValue < 30.00) fieldValue = 30.00;
		//alert(fieldValue)
		//fieldValue = numFormat(fieldValue);
		//mkwan overwrite!
		fieldValue = 50;
		programInfoInputs[2] = fieldValue;
		auxFormId12.coreparkingmonthlybenefit.value = fieldValue;
		auxFormId12.supportingmonthlyparkingcashout.value="0";
		updateCommuterModelResults(formId);
		//mkwan
		auxFormId12.coreparkingmonthlybenefit.disabled=false;
	}
	else {
		coreBenefits[1] = "";
		auxFormId12.coreparkingmonthlybenefit.value="0";
		updateCommuterModelResults(formId);
		//mkwan
		auxFormId12.coreparkingmonthlybenefit.disabled=true;		
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateSupportingparkingcashout(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Parking cash out Benefits (supportBenefits[3]) based on supporting benefits' selection (checkbox)
	This function will also toggle the corresponding core/supporting benefit (from "x" to "" and vice versa)
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateSupportingparkingcashout(formId){
	var supportingparkingcashout = auxFormId12.supportingparkingcashout.checked;
	if (supportingparkingcashout) {
		supportBenefits[3] = "x";
		coreBenefits[1] = "";
		eval(auxFormId12.coreparkingcashout.checked=false);
		auxFormId12.coreparkingmonthlybenefit.value="";
		//updateCommuterModelResults(formId);		
	}
	else {
		supportBenefits[3] = "";
		auxFormId12.supportingmonthlyparkingcashout.value="";
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateCoretelecommuting(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Telecommuting Benefits (coreBenefits[2]) based on core benefits' selection (checkbox)
	This function will also toggle the corresponding core/supporting benefit (from "x" to "" and vice versa)
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateCoretelecommuting(formId){
	var coretelecommuting = auxFormId12.coretelecommuting.checked;
	var flextime = auxFormId12.flextime.checked;
	
	if (coretelecommuting || flextime) {
		coreBenefits[2] = "x";
		supportBenefits[8] = "";
		//eval(auxFormId12.supportingtelecommuting.checked=false);
		if (coretelecommuting && flextime) {
			auxFormId12.coretelecommutingpercentemployeestelecommutingfulltime.value="12";
			percentOfEmployeesTelecommuting = 12;
			}
			else {
			auxFormId12.coretelecommutingpercentemployeestelecommutingfulltime.value="6";
			percentOfEmployeesTelecommuting = 6;
			}
		auxFormId12.supportingpercentemployeestelecommutingfulltime.value="";
		auxFormId12.supportingpercentemployeestelecommutingparttime.value="";
		auxFormId12.supportingaveragedaystelecommutingperweekforparttimetelecommuters.value="";
		auxFormId12.supportingpercentemployeestelecommutingonanaverageday.value="";	
		auxFormId12.supportingcostsettingupandmaintaininghomeoffice.value="";	
		updateCommuterModelResults(formId);
	}
	else {
		coreBenefits[2] = "";
		auxFormId12.coretelecommutingpercentemployeestelecommutingfulltime.value="";	
		auxFormId12.coretelecommutingpercentemployeestelecommutingparttime.value="";		
		auxFormId12.coretelecommutingaveragedaysperweekforparttimetelecommuters.value="";
		auxFormId12.coretelecommutingpercentemployeestelecommutingaverageday.value="";	
		auxFormId12.coretelecommutingcosthomeoffice.value="";	
		updateCommuterModelResults(formId);		
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateSupportingtelecommuting(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Telecommuting Benefits (supportBenefits[8]) based on supporting benefits' selection (checkbox)
	This function will also toggle the corresponding core/supporting benefit (from "x" to "" and vice versa)
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateSupportingtelecommuting(formId){
	var coretelecommuting = auxFormId12.supportingtelecommuting.checked;
	if (coretelecommuting) {
		supportBenefits[8] = "x";
		coreBenefits[2] = "";
		eval(auxFormId12.coretelecommuting.checked=false);
		auxFormId12.coretelecommutingpercentemployeestelecommutingfulltime.value="";	
		auxFormId12.coretelecommutingpercentemployeestelecommutingparttime.value="";		
		auxFormId12.coretelecommutingaveragedaysperweekforparttimetelecommuters.value="";
		auxFormId12.coretelecommutingpercentemployeestelecommutingaverageday.value="";	
		auxFormId12.coretelecommutingcosthomeoffice.value="";	
		//updateCommuterModelResults(formId);		
	}
	else {
		supportBenefits[8] = "";
		auxFormId12.supportingpercentemployeestelecommutingfulltime.value="";
		auxFormId12.supportingpercentemployeestelecommutingparttime.value="";
		auxFormId12.supportingaveragedaystelecommutingperweekforparttimetelecommuters.value="";
		auxFormId12.supportingpercentemployeestelecommutingonanaverageday.value="";	
		auxFormId12.supportingcostsettingupandmaintaininghomeoffice.value="";		
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateCoretelecommutingpercentemployeestelecommutingaverageday(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Percent of employees telecommuting on an average day based on selection 
	from the core Telecommuting benefit
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
//mkwan
function updateCoretelecommutingpercentemployeestelecommutingaverageday(formId) {
	var var1 = parseFloat(auxFormId12.coretelecommutingpercentemployeestelecommutingfulltime.value);
	if (isNaN(var1)) var1=0;
	var var2 = parseFloat(auxFormId12.coretelecommutingpercentemployeestelecommutingparttime.value);
	if (isNaN(var2)) var2=0;
	var var3= parseFloat(auxFormId12.coretelecommutingaveragedaysperweekforparttimetelecommuters.value);
	if (isNaN(var3)) var3=0;
	var myResult = var1 + (var2*var3/5);
	//if (myResult == 0) myResult = "";
	//if (coreBenefits[2] == "") myResult=0;
	auxFormId12.coretelecommutingpercentemployeestelecommutingaverageday.value = myResult;
	//alert("reset")
	overrider_numberoffulltimetelecommuters = ""; // reset the user specified values
	//overrider_averagecostperhomeoffice = ""; // reset the user specified values
	overrider_PotentialNumberoffulltimetelecommuters = ""; // reset the user specified values
	programInfoInputs[6] = myResult;
	if (coreBenefits[2] == "") programInfoInputs[6] = 0; // 11/20/01
	//mkwan
	//percentOfEmployeesTelecommuting = myResult;
	if(auxFormId12.coretelecommuting.checked && auxFormId12.flextime.checked) {
		percentOfEmployeesTelecommuting = 12;
		}
	else {
		percentOfEmployeesTelecommuting = 6;
		}
	//
		if (coreBenefits[2] == "") percentOfEmployeesTelecommuting = 0; // 11/20/01
	updateExpectednumberemployeestelecommuting(formId)
	updateExpectednumberemployeesparkingcashout(formId);
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateSupportingpercentemployeestelecommutingonanaverageday(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Updates the Percent of employees telecommuting on an average day based on selection 
	from the supporting Telecommuting benefit
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateSupportingpercentemployeestelecommutingonanaverageday(formId){
	var var1 = parseFloat(auxFormId12.supportingpercentemployeestelecommutingfulltime.value);
	if (isNaN(var1)) var1=0;
	var var2 = parseFloat(auxFormId12.supportingpercentemployeestelecommutingparttime.value);
	if (isNaN(var2)) var2=0;
	var var3= parseFloat(auxFormId12.supportingaveragedaystelecommutingperweekforparttimetelecommuters.value);
	if (isNaN(var3)) var3=0;
	
	var myResult = var1 + (var2*var3/5);
	if (myResult == 0) myResult = "";
	auxFormId12.supportingpercentemployeestelecommutingonanaverageday.value = myResult;
	
	overrider_numberoffulltimetelecommuters = ""; // reset the user specified values
	//overrider_averagecostperhomeoffice = ""; // reset the user specified values
	overrider_PotentialNumberoffulltimetelecommuters = ""; // reset the user specified values	
	
	programInfoInputs[20] = myResult;
	percentOfEmployeesTelecommuting = myResult;	
/*kill
	updateExpectednumberemployeestelecommuting(formId)
	updateExpectednumberemployeesparkingcashout(formId)
	*/
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	setNumfemployees(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Set the number of employees do you have -- will be used to update a number of calculated fields
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function setNumfemployees1(formId){
	numberOfEmployees = parseInt(auxFormId11.numfemployees.value);
	if (isNaN(numberOfEmployees)) numberOfEmployees = 0;
	
	overrider_numberoffulltimetelecommuters = ""; // reset the user specified values
	//overrider_averagecostperhomeoffice = ""; // reset the user specified values
	overrider_PotentialNumberoffulltimetelecommuters = ""; // reset the user specified values
	
}
function setNumfemployees(formId){
	numberOfEmployees = parseInt(auxFormId11.numfemployees.value);
	if (isNaN(numberOfEmployees)) numberOfEmployees = 0;
	
	overrider_numberoffulltimetelecommuters = ""; // reset the user specified values
	//overrider_averagecostperhomeoffice = ""; // reset the user specified values
	overrider_PotentialNumberoffulltimetelecommuters = ""; // reset the user specified values
	
	/*kill
	updateExpectedtotalnumberofemployees(formId);
	updateExpectednumberemployeestelecommuting(formId);
	updateExpectednumberemployeesparkingcashout(formId);
	*/
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	setExpectedtotalnumberofemployees(formId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Provide an option for the user to overwrite the calculated expectedtotalnumberofemployees
	in the Employee Participation section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function setExpectedtotalnumberofemployees(formId) {
	expectedtotalnumberofemployees = parseInt(auxFormId13.expectedtotalnumberofemployees.value);
	if (isNaN(numberOfEmployees)) expectedtotalnumberofemployees = 0;
	auxFormId11.corecurrentemployeestakingtransit.value = auxFormId13.employeescurrentlyusing.value;
	auxFormId11.supportingtransitvanpoolpercentemployees.value = auxFormId13.employeescurrentlyusing.value;
	auxFormId11.supportingpercentemployeestakingtransit.value = auxFormId13.employeescurrentlyusing.value;
	//updateExpectedtotalnumberofemployees(null,1);updateProgramInputs(1)
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateExpectedtotalnumberofemployees(formId,userValueFlag)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update expectedtotalnumberofemployees based on a lookup from lookupTables.js.
	Get a range of default values from there too.
	If userValueFlag == 1 then allow for the user value to override the calculated lookup value.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateExpectedtotalnumberofemployees(formId,userValueFlag){ // Transit / Vanpool Users
	lookupResult = g_commuterModelLookup.split("~");
	lookupResult = Math.round((parseFloat(lookupResult[1])/100)*numberOfEmployees)
	
	// get a lookup range:
		lookupResultSmall = g_commuterModelLookupSmall.split("~");
		lookupResultSmall = Math.round((parseFloat(lookupResultSmall[1])/100)*numberOfEmployees)
		lookupResultLarge = g_commuterModelLookupLarge.split("~");
		lookupResultLarge = Math.round((parseFloat(lookupResultLarge[1])/100)*numberOfEmployees)	
	
	var c_ParticipationRateforTransitVouchers = parseFloat(auxFormId11.corecurrentemployeestakingtransit.value);
	if (coreBenefits[0] == "x") c_ParticipationRateforTransitVouchers = parseFloat(auxFormId11.corecurrentemployeestakingtransit.value);
	else if (supportBenefits[1] == "x") c_ParticipationRateforTransitVouchers = parseFloat(auxFormId11.supportingtransitvanpoolpercentemployees.value);
	else if (supportBenefits[2] == "x") c_ParticipationRateforTransitVouchers = parseFloat(auxFormId11.supportingpercentemployeestakingtransit.value);
	if (isNaN(c_ParticipationRateforTransitVouchers)) c_ParticipationRateforTransitVouchers = 0;
	
	if (userValueFlag == 1) { // user has forced their own value
		g_expectednumberemployeestransit = parseFloat(auxFormId13.expectednumberemployeestransit.value);
		if (isNaN(g_expectednumberemployeestransit)) g_expectednumberemployeestransit = lookupResult;
		auxFormId13.expectednumberemployeestransit.value = roundNum(g_expectednumberemployeestransit);
	}
	else {
		g_expectednumberemployeestransit = lookupResult;
		auxFormId13.expectednumberemployeestransit.value = roundNum(lookupResult);
	}
	if (lookupResultSmall == lookupResultLarge) auxFormId13.expectednumberemployeestransitSmallLarge.value = roundNum(lookupResultSmall);
	else if (lookupResultSmall > lookupResultLarge) auxFormId13.expectednumberemployeestransitSmallLarge.value = roundNum(lookupResultLarge) + " to " + roundNum(lookupResultSmall);	
	else auxFormId13.expectednumberemployeestransitSmallLarge.value = roundNum(lookupResultSmall) + " to " + roundNum(lookupResultLarge);

	
	if (isNaN(g_expectednumberemployeestransit)) g_expectednumberemployeestransit = 0;
	//expectedtotalnumberofemployees = (c_ParticipationRateforTransitVouchers/100)*numberOfEmployees+g_expectednumberemployeestransit;
	if ((g_expectednumberemployeestransit + c_ParticipationRateforTransitVouchers) < 0) {
		// if the total is negative, make the increase value equal to the existing value (but with negative sign)
		g_expectednumberemployeestransit = (-1)*c_ParticipationRateforTransitVouchers;
		auxFormId13.expectednumberemployeestransit.value = g_expectednumberemployeestransit;
	}

	expectedtotalnumberofemployees = c_ParticipationRateforTransitVouchers+g_expectednumberemployeestransit;
	if (expectedtotalnumberofemployees<0) expectedtotalnumberofemployees = 0;// 12/12/01  added to ensure that we don't get negative employees numbers or greater than the total number of employees
	if (expectedtotalnumberofemployees> numberOfEmployees) {
		expectedtotalnumberofemployees = numberOfEmployees;
		g_expectednumberemployeestransit = expectedtotalnumberofemployees-c_ParticipationRateforTransitVouchers;
		auxFormId13.expectednumberemployeestransit.value = g_expectednumberemployeestransit;		
	}
	if (lookupResultSmall>g_expectednumberemployeestransit) auxFormId13.expectednumberemployeestransitSmallLarge.value = g_expectednumberemployeestransit;
	
	if (isNaN(expectedtotalnumberofemployees)) expectedtotalnumberofemployees = 0;
	
	auxFormId13.expectedtotalnumberofemployees.value = roundNum(expectedtotalnumberofemployees)
	//if (dynamicVersion) auxFormId13.employeescurrentlyusing.value = (c_ParticipationRateforTransitVouchers/100)*numberOfEmployees
	//if (dynamicVersion) 
	auxFormId13.employeescurrentlyusing.value = c_ParticipationRateforTransitVouchers
	//addCustomIncentives(expectedtotalnumberofemployees,"total");
}


function addCustomIncentives(currentNumExpected) {
	// -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	//mkwan add advantage rideshare
	// -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	if(auxFormId12.advantagerideshare.checked) {
		empGainFromAdvantageRideshare = Math.round(.0965*numberOfEmployees);
		} else
		empGainFromAdvantageRideshare = 0;
		}// end advantage rideshare

	// -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	// mkwan fix upper limits
	// vanpool 	= reductionFromVanpool
	// incentive	= empGainFromAdvantageRideshare
	// -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
		var expectedEmployeeUpperLimit = Math.round(numberOfEmployees*0.47);
		//
		if (currentNumExpected >= expectedEmployeeUpperLimit) {
			//already max
			currentNumExpected = expectedEmployeeUpperLimit;
			empGainFromAdvantageRideshare = 0;
			reductionFromVanpool = 0;
			} else {
				var spaceUntilUpperLimit = expectedEmployeeUpperLimit - currentNumExpected;
				//
				//if(isNaN(reductionFromVanpool)) { var reductionFromVanpool = 0; }
				if(spaceUntilUpperLimit >= (empGainFromAdvantageRideshare + reductionFromVanpool)) {
					//everything fits
					currentNumExpected = currentNumExpected + empGainFromAdvantageRideshare + reductionFromVanpool;
					
					} else {
					// vanpool split (state of the commute 2005) = 10% of ridesharing transit/vanpool users
					var empGainFromAdvantageRideshare_tmp = empGainFromAdvantageRideshare;
					var reductionFromVanpool_tmp = reductionFromVanpool;
					var empGainFromAdvantageRideshare_count = 0;
					var reductionFromVanpool_count = 0;
					var totalGain_tmp = 0;
					while (totalGain_tmp<spaceUntilUpperLimit) {
						if(empGainFromAdvantageRideshare_tmp>0) { 
							empGainFromAdvantageRideshare_count += .9;
							empGainFromAdvantageRideshare_tmp -= .9;
							}
						if(reductionFromVanpool_tmp>0) { 
							reductionFromVanpool_count += .1;
							reductionFromVanpool_count -= .1;
							}
						totalGain_tmp = empGainFromAdvantageRideshare_count+reductionFromVanpool_count;
						}
					empGainFromAdvantageRideshare = parseInt(empGainFromAdvantageRideshare_count);
					reductionFromVanpool = parseInt(reductionFromVanpool_count);
					currentNumExpected = currentNumExpected + empGainFromAdvantageRideshare + reductionFromVanpool;
					}
				}
	
	// -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	// mkwan fix upper limits [END]
	// -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -

	/*
	alert(currentNumExpected);
	alert(reductionFromVanpool);
	alert(empGainFromAdvantageRideshare);
	*/


	//

	
/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateExpectednumberemployeesparkingcashout(formId,userValueFlag)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update expectednumberemployeesparkingcashout based on a lookup from lookupTables.js.
	Get a range of default values from there too.
	If userValueFlag == 1 then allow for the user value to override the calculated lookup value.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateExpectednumberemployeesparkingcashout(formId,userValueFlag){
	lookupResult = g_commuterModelLookup.split("~");
	lookupResult = parseFloat(lookupResult[2])
		// get a lookup range:
		lookupResultSmall = g_commuterModelLookupSmall.split("~");		
		lookupResultSmall = parseFloat(lookupResultSmall[2]);
		lookupResultLarge = g_commuterModelLookupLarge.split("~");
		lookupResultLarge = parseFloat(lookupResultLarge[2]);
	
	var myResult = lookupResult;
	var myResultSmall = lookupResultSmall;
	var myResultLarge = lookupResultLarge;
	var commonAddition = 0;
	
	/*
	if (supportBenefits[3] == "") {
		if (coreBenefits[1] == "x") {
			myResult = lookupResult;
			myResultSmall = lookupResultSmall;
			myResultLarge = lookupResultLarge;
			if (coreBenefits[2] == "x") commonAddition += percentOfEmployeesTelecommuting;
			else if (supportBenefits[8] == "x") commonAddition += percentOfEmployeesTelecommuting
		}
	}
	else {
		myResult = lookupResult;	
		myResultSmall = lookupResultSmall;	
		myResultLarge = lookupResultLarge;				
		if (coreBenefits[2] == "x") commonAddition += percentOfEmployeesTelecommuting
		else if (supportBenefits[8] == "x") commonAddition += percentOfEmployeesTelecommuting		
	}
	*/
	/* commented out on 11/15/01  -- new model put in place
	myResult += commonAddition;
	myResultSmall += commonAddition;	
	myResultLarge += commonAddition;	
	*/
	
	myResult = Math.round((myResult/100)*numberOfEmployees);	
	myResultSmall = Math.round((myResultSmall/100)*numberOfEmployees);	
	myResultLarge = Math.round((myResultLarge/100)*numberOfEmployees);		
	
		
	if (isNaN(myResult)) myResult = 0; 
	if (isNaN(myResultSmall)) myResultSmall = 0;
	if (isNaN(myResultLarge)) myResultLarge = 0; 
	
	if (userValueFlag == 1) {
	g_expectednumberemployeesparkingcashout = parseFloat(auxFormId13.expectednumberemployeesparkingcashout.value);
		if (isNaN(g_expectednumberemployeesparkingcashout)) {
			g_expectednumberemployeesparkingcashout = myResult;
			auxFormId13.expectednumberemployeesparkingcashout.value = roundNum(myResult);
			//auxFormId13.expectednumberemployeesparkingcashout.value = roundNum(myResult);
		}
		
	}
	else {
		g_expectednumberemployeesparkingcashout = myResult;
		myResult = roundNum(myResult)
		auxFormId13.expectednumberemployeesparkingcashout.value = myResult
	}
	if (myResultSmall == myResultLarge) auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value = roundNum(myResultSmall);
	else if (myResultSmall > myResultLarge) auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value = roundNum(myResultLarge) + " to " + roundNum(myResultSmall);	
	else auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value = roundNum(myResultSmall) + " to " + roundNum(myResultLarge);	
	
	//auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value = roundNum(myResultSmall) + " to " + roundNum(myResultLarge)

	userSelectedValue = 0;
	//if (dynamicVersion)	
	userSelectedValue = parseFloat(auxFormId13.employeespedestrians.value);
	if (isNaN(userSelectedValue)) {userSelectedValue = 0; auxFormId13.employeespedestrians.value=0;}

	if ((userSelectedValue +  g_expectednumberemployeesparkingcashout) < 0) {
		g_expectednumberemployeesparkingcashout =  (-1)*userSelectedValue;
		auxFormId13.expectednumberemployeesparkingcashout.value = g_expectednumberemployeesparkingcashout;
	}
	tmpSubTotal =  userSelectedValue +  g_expectednumberemployeesparkingcashout

	if (tmpSubTotal<0) tmpSubTotal = 0; // 12/12/01  added to ensure that we don't get negative employees numbers or greater than the total number of employees
	if (tmpSubTotal> numberOfEmployees) {
		tmpSubTotal = numberOfEmployees;
		g_expectednumberemployeesparkingcashout = numberOfEmployees - userSelectedValue;
		auxFormId13.expectednumberemployeesparkingcashout.value = g_expectednumberemployeesparkingcashout;			
	}
	if (myResultSmall>g_expectednumberemployeesparkingcashout) auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value = g_expectednumberemployeesparkingcashout;
	//if (dynamicVersion) {
	if (isNaN(tmpSubTotal)) auxFormId13.employeespedestrianstotal.value = 0;
	else auxFormId13.employeespedestrianstotal.value = roundNum(tmpSubTotal);
	//}
	if (userValueFlag == 1) auxFormId11.supportingnumberpeopleacceptingincentivesforbicyclists.value = userSelectedValue;
	handleNumberOfEmployeesTakingTransit();
	updateProgramInputs(-1);
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateExpectednumberemployeestelecommuting(formId,userValueFlag)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update expectednumberemployeestelecommuting based on calculations from Employee Participation section.
	If userValueFlag == 1 then allow for the user value to override the calculated lookup value.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateExpectednumberemployeestelecommuting(formId,userValueFlag){
	if (userValueFlag == 1) { // user forced their own value
		g_expectednumberemployeestelecommuting = parseFloat(auxFormId13.expectednumberemployeestelecommuting.value)	
		if (isNaN(g_expectednumberemployeestelecommuting)) {
			g_expectednumberemployeestelecommuting = (percentOfEmployeesTelecommuting/100)*numberOfEmployees;
			auxFormId13.expectednumberemployeestelecommuting.value = roundNum(g_expectednumberemployeestelecommuting);
		}

		//alert(g_expectednumberemployeestelecommuting)
		//updateCommuterModelResults(null,1);
		//updateReductionnumberdrivers(formId,1);
	}
	else {
		g_expectednumberemployeestelecommuting = (percentOfEmployeesTelecommuting/100)*numberOfEmployees	
		auxFormId13.expectednumberemployeestelecommuting.value = roundNum(g_expectednumberemployeestelecommuting);
		//updateCommuterModelResults();
		//updateReductionnumberdrivers(formId);
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateExpectednumberemployeestelecommuting(formId,userValueFlag)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Update reductionnumberdrivers based on a lookup from lookupTables.js.
	Get a range of default values from there too.
	If userValueFlag == 1 then allow for the user value to override the calculated lookup value.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateReductionnumberdrivers(formId,userValueFlag){
	// get this from a lookup table
	lookupResult = g_commuterModelLookup.split("~");
	lookupResult = Math.round(((lookupResult[0])/100)*numberOfEmployees);// + g_expectednumberemployeestelecommuting
	//alert("real result="+lookupResult)
		// get a lookup range:
		lookupResultSmall = g_commuterModelLookupSmall.split("~");
		lookupResultSmall = Math.round(((lookupResultSmall[0])/100)*numberOfEmployees); // + g_expectednumberemployeestelecommuting
		lookupResultLarge = g_commuterModelLookupLarge.split("~");
		lookupResultLarge = Math.round(((lookupResultLarge[0])/100)*numberOfEmployees); //  + g_expectednumberemployeestelecommuting
	if (isNaN(lookupResult)) lookupResult = 0;
	if (lookupResult > numberOfEmployees) lookupResult = numberOfEmployees;
	if (isNaN(lookupResultSmall)) lookupResultSmall = 0;
	if (isNaN(lookupResultLarge)) lookupResultLarge = 0;
		if (dynamicVersion) { // 11/16/01
			r_numberoffulltimetelecommuters = roundNum(g_expectednumberemployeestelecommuting);
			auxFormId2.r_numberoffulltimetelecommuters.value = r_numberoffulltimetelecommuters;
			r_PotentialNumberoffulltimetelecommuters = r_numberoffulltimetelecommuters;
			auxFormId3.r_PotentialNumberoffulltimetelecommuters.value = roundNum(r_PotentialNumberoffulltimetelecommuters);
			checkOverrider_numberoffulltimetelecommuters();
			checkOverrider_PotentialNumberoffulltimetelecommuters();
		}
	//alert("userflag="+userValueFlag+ "   g_expectednumberemployeestelecommuting=" +g_expectednumberemployeestelecommuting + "  g_reductionnumberdrivers="+g_reductionnumberdrivers)
	if (userValueFlag == 1) { // user forced their own value
		g_reductionnumberdrivers = parseFloat(auxFormId13.reductionnumberdrivers.value);
		if (isNaN(g_reductionnumberdrivers)) {
			g_reductionnumberdrivers = lookupResult;
			auxFormId13.reductionnumberdrivers.value = roundNum(lookupResult);
		}
		//updateCommuterModelResults();
		
	}
	else {
		g_reductionnumberdrivers = lookupResult;

		//addCustomIncentives(g_reductionnumberdrivers,"drivers");

		lookupResult = roundNum(g_reductionnumberdrivers);
		auxFormId13.reductionnumberdrivers.value =g_reductionnumberdrivers

	}
	
	user_ReducedAutoCommuteTrips = ""; // the user selected value is overrwritten if the computed value changes
	
	if (lookupResultSmall == lookupResultLarge) auxFormId13.reductionnumberdriversSmallLarge.value = roundNum(lookupResultSmall);
	else if (lookupResultSmall > lookupResultLarge) auxFormId13.reductionnumberdriversSmallLarge.value = roundNum(lookupResultLarge) + " to " + roundNum(lookupResultSmall);
	else auxFormId13.reductionnumberdriversSmallLarge.value = roundNum(lookupResultSmall) + " to " + roundNum(lookupResultLarge);	
	//auxFormId13.reductionnumberdriversSmallLarge.value =roundNum(lookupResultSmall) + " to " + roundNum(lookupResultLarge)



	var value1 = parseFloat(auxFormId13.employeescurrentlyusing.value); if (isNaN(value1)) value1 = 0; // 12/13
	var value2 = parseFloat(auxFormId13.employeespedestrians.value); if (isNaN(value2)) value2 = 0;
	if ((value1 + value2 + g_reductionnumberdrivers) >= numberOfEmployees) g_reductionnumberdrivers = (numberOfEmployees - (value1 + value2));
	if (lookupResultSmall>g_reductionnumberdrivers) auxFormId13.reductionnumberdriversSmallLarge.value = roundNum(g_reductionnumberdrivers)

	auxFormId13.reductionnumberdrivers.value = roundNum(g_reductionnumberdrivers);

}


/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	checkOverrider_numberoffulltimetelecommuters()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Alert the user that their values will be overwritten if they go back to modify
	the Site Information section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function checkOverrider_numberoffulltimetelecommuters(){
if (dynamicVersion) {
	var tmp_val = parseFloat(auxFormId2.r_numberoffulltimetelecommuters.value);
	if (!isNaN(tmp_val) && (tmp_val != calcr_numberoffulltimetelecommuters)) {
		overrider_numberoffulltimetelecommuters = tmp_val;
		//alert("Please note that this value will be reset\nif you update Teleworking benefits\nand/or number of employees.")
		}
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	checkOverrider_averagecostperhomeoffice()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Alert the user that their values will be overwritten if they go back to modify
	the Site Information section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function checkOverrider_averagecostperhomeoffice(){
if (dynamicVersion) {
	var tmp_val = parseFloat(auxFormId2.r_averagecostperhomeoffice.value);
	if (!isNaN(tmp_val)) { //&& (tmp_val != calcr_averagecostperhomeoffice)
		overrider_averagecostperhomeoffice = tmp_val;
		auxFormId12.coretelecommutingcosthomeoffice.value = tmp_val;
		//alert("Please note that this value will be reset\nif you update Teleworking benefits\nand/or number of employees.")
		}
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	resetSupportingsecurebicycledesignedforhowmanybikes()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Reset the user-entered value for Number of bicycle parking spaces
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function resetSupportingsecurebicycledesignedforhowmanybikes() {
	overrider_numberofbicycleparkingspaces = ""; // user's value is reset
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	checkOverrider_averagecostperhomeoffice()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Alert the user that their values will be overwritten if they go back to modify
	the Site Information section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function checkOverrider_numberofbicycleparkingspaces(){
if (dynamicVersion) {
	var tmp_val = parseFloat(auxFormId2.r_numberofbicycleparkingspaces.value);
	if (!isNaN(tmp_val) && (tmp_val != calcr_numberofbicycleparkingspaces)) {
		overrider_numberofbicycleparkingspaces = tmp_val;
		//alert("Please note that this value will be reset\nif you update Secure bicycle parking,\nshowers and lockers benefits.")
		}
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	checkOverrider_Expectedchangeinturnover()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Alert the user that their values will be overwritten if they go back to modify
	the Site Information section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function checkOverrider_Expectedchangeinturnover(){
if (dynamicVersion) {
	var tmp_val = parseFloat(auxFormId4.r_Expectedchangeinturnover.value);
	if (!isNaN(tmp_val) && (tmp_val != calcr_Expectedchangeinturnover)) {
		overrider_Expectedchangeinturnover = tmp_val;
		//alert("Please note that this value will be reset\nif you update Programs selected.")
		}
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	checkOverrider_PotentialNumberoffulltimetelecommuters()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Alert the user that their values will be overwritten if they go back to modify
	the Site Information section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function checkOverrider_PotentialNumberoffulltimetelecommuters(){
if (dynamicVersion) {
	var tmp_val = parseFloat(auxFormId3.r_PotentialNumberoffulltimetelecommuters.value);
	if (!isNaN(tmp_val) && (tmp_val != calcr_PotentialNumberoffulltimetelecommuters)) {
		overrider_PotentialNumberoffulltimetelecommuters = tmp_val;
		//alert("Please note that this value will be reset\nif you update Teleworking benefits\nand/or number of employees.")
		}
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	checkOverrider_PotentialBuildingSpaceCost()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Alert the user that their values will be overwritten if they go back to modify
	the Site Information section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function checkOverrider_PotentialBuildingSpaceCost(){
if (dynamicVersion) {
	var tmp_val = parseFloat(auxFormId3.r_PotentialBuildingSpaceCost.value);
	if (!isNaN(tmp_val) && (tmp_val != calcr_PotentialBuildingSpaceCost)) {
		overrider_PotentialBuildingSpaceCost = tmp_val;
		//alert("Please note that this value will be reset\nif you update Type of Location.")	
		}
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	checkOverrider_PotentialBuildingSpaceCost()
	Created:  	November 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Alert the user that their values will be overwritten if they go back to modify
	the Site Information section
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function checkOverrider_ReducedAutoCommuteTrips(){
if (dynamicVersion) {
	var tmp_val = parseFloat(auxFormId5.r_ReducedAutoCommuteTrips.value);
	if (!isNaN(tmp_val) && (tmp_val != "")) {
		user_ReducedAutoCommuteTrips = tmp_val;
		//alert("Please note that this value will be reset\nif you update Type of Location.")	
		}
	}
}


/*
	################################################################
	################################################################
	##  ##  ##  ##   Main Calculate/Results Function  ##  ##  ##  ##  
	################################################################
	################################################################
*/

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	calcResults(detailLevel)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This is the main function that will pull data together and perform the mathematical
	calculations for the Results Summary section (with all its subsections).
	It's only parameter -- detailLevel -- indicates how far to go through the 
	calculations: noSummary   -OR-   withSummary; this can save some processor time since we
	don't always want to generate the Overall Summary screen.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function calcResults(detailLevel){ // 
// detailLevel indicates how far to go through the calculations: noSummary   -OR-   withSummary

// move some data forward from the Employer Information sections
if (myVersion == "multitab") {
	var d_spacecost = parseFloat(auxFormId3.d_spacecost.value);
	if (isNaN(d_spacecost)) d_spacecost = parseFloat(auxFormId11.spacecost.value);
	//else auxFormId11.spacecost.value = d_spacecost;  removed on 10/15/01 by yb
	//if (isNaN(d_spacecost)) { d_spacecost = 0; auxFormId11.spacecost.value = 0; }
	auxFormId3.d_spacecost.value = d_spacecost;
	
	var tmpContrib = parseFloat(auxFormId3.d_employeecontributiontoparking.value);
	if (isNaN(tmpContrib)) tmpContrib = parseFloat(auxFormId11.employeecontributiontoparking.value);// || tmpContrib == 0
	else auxFormId11.employeecontributiontoparking.value = tmpContrib;
	if (isNaN(tmpContrib)) tmpContrib = 0;
	auxFormId3.d_employeecontributiontoparking.value = tmpContrib;
	
	updateEmployercontributiontoparking("employer");
}

// behind the scene calculations
var c_ParticipationRateforTransitVouchers = 0;
if (coreBenefits[0] == "x") c_ParticipationRateforTransitVouchers = parseFloat(auxFormId11.corecurrentemployeestakingtransit.value);
else if (supportBenefits[1] == "x") c_ParticipationRateforTransitVouchers = parseFloat(auxFormId11.supportingtransitvanpoolpercentemployees.value);
else if (supportBenefits[2] == "x") c_ParticipationRateforTransitVouchers = parseFloat(auxFormId11.supportingpercentemployeestakingtransit.value);
if (isNaN(c_ParticipationRateforTransitVouchers)) c_ParticipationRateforTransitVouchers = 0;

if (dynamicVersion) auxFormId11.c_ParticipationRateforTransitVouchers.value = c_ParticipationRateforTransitVouchers;
if (dynamicVersion) auxFormId11.c_NumberofEmployeesParticipating.value = expectedtotalnumberofemployees;

var c_EmployerprovidedTaxfreeVoucherCost = 0;
if (coreBenefits[0] == "x") c_EmployerprovidedTaxfreeVoucherCost = parseFloat(auxFormId12.coretransit.value);
else if (supportBenefits[1] == "x") c_EmployerprovidedTaxfreeVoucherCost = parseFloat(auxFormId12.supportingtransitvanpoolmonthlybenefits.value);
if (isNaN(c_EmployerprovidedTaxfreeVoucherCost)) c_EmployerprovidedTaxfreeVoucherCost = 0;

if (dynamicVersion) auxFormId11.c_EmployerprovidedTaxfreeVoucherCost.value = c_EmployerprovidedTaxfreeVoucherCost;

var c_AverageEmployeePretaxVoucherContribution = parseFloat(auxFormId12.supportingaverageemployeepretaxvouchercontribution.value);
if (isNaN(c_AverageEmployeePretaxVoucherContribution)) c_AverageEmployeePretaxVoucherContribution = 0;
if (dynamicVersion) auxFormId11.c_AverageEmployeePretaxVoucherContribution.value = c_AverageEmployeePretaxVoucherContribution

if (dynamicVersion) auxFormId11.c_VoucherBenefitCap.value = 105; // set by law, changed from 100 to 105 in 2005;

var c_fulltimeTelecommuters = 0;
var c_parttimeTelecommuters = 0;
var c_parttimerstelecommute = 0;
var c_Costofsettingupandmaintainingahomeoffice = 0;
if (coreBenefits[2] == "x") {
	c_fulltimeTelecommuters = parseFloat(auxFormId12.coretelecommutingpercentemployeestelecommutingfulltime.value);
	c_parttimeTelecommuters = parseFloat(auxFormId12.coretelecommutingpercentemployeestelecommutingparttime.value);
	c_parttimerstelecommute = parseFloat(auxFormId12.coretelecommutingaveragedaysperweekforparttimetelecommuters.value);
	c_Costofsettingupandmaintainingahomeoffice = parseFloat(auxFormId12.coretelecommutingcosthomeoffice.value);
}

else if (supportBenefits[8] == "x") {

	c_fulltimeTelecommuters = parseFloat(auxFormId12.supportingpercentemployeestelecommutingfulltime.value);
	c_parttimeTelecommuters = parseFloat(auxFormId12.supportingpercentemployeestelecommutingparttime.value);
	c_parttimerstelecommute = parseFloat(auxFormId12.supportingaveragedaystelecommutingperweekforparttimetelecommuters.value);
	c_Costofsettingupandmaintainingahomeoffice = parseFloat(auxFormId12.supportingcostsettingupandmaintaininghomeoffice.value);
}

if (isNaN(c_fulltimeTelecommuters)) c_fulltimeTelecommuters = 0;
if (isNaN(c_parttimeTelecommuters)) c_parttimeTelecommuters = 0;
if (isNaN(c_parttimerstelecommute)) c_parttimerstelecommute = 0;
if (isNaN(c_Costofsettingupandmaintainingahomeoffice)) c_Costofsettingupandmaintainingahomeoffice = 0;

if (dynamicVersion) auxFormId11.c_fulltimeTelecommuters.value = c_fulltimeTelecommuters;
if (dynamicVersion) auxFormId11.c_parttimeTelecommuters.value = c_parttimeTelecommuters;
if (dynamicVersion) auxFormId11.c_parttimerstelecommute.value = (c_parttimerstelecommute/5)*100;
if (dynamicVersion) auxFormId11.c_Costofsettingupandmaintainingahomeoffice.value = c_Costofsettingupandmaintainingahomeoffice;

var c_CashOutperSpace = parseFloat(auxFormId12.coreparkingmonthlybenefit.value);
if (isNaN(c_CashOutperSpace)) c_CashOutperSpace = 0;
if (dynamicVersion) auxFormId11.c_CashOutperSpace.value = c_CashOutperSpace;

var c_SpacesCashedOut = g_expectednumberemployeesparkingcashout;
if (isNaN(c_SpacesCashedOut)) c_SpacesCashedOut = 0;
if (dynamicVersion) auxFormId11.c_SpacesCashedOut.value = c_SpacesCashedOut;

//make all to locker
if (supportBenefits[6] == "x") var c_Typeoffacility = "locker"
else var c_Typeoffacility = "locker";
if (c_Typeoffacility) c_Typeoffacility = "locker";
else (c_Typeoffacility = "locker")
if (dynamicVersion) auxFormId11.c_Typeoffacility.value = c_Typeoffacility

var c_Designedforhowmanybikes =  parseFloat(auxFormId13.employeespedestrianstotal.value);
if (isNaN(c_Designedforhowmanybikes)) c_Designedforhowmanybikes = 0;
if (dynamicVersion) auxFormId11.c_Designedforhowmanybikes.value = c_Designedforhowmanybikes;

var r_costperspace = 0;
if (supportBenefits[6] == "x") r_costperspace = getAverageCostPerBicycle(c_Typeoffacility)
if (isNaN(r_costperspace)) r_costperspace = 0;
if (dynamicVersion) {
	customCostPerSpace = parseInt(auxFormId2.r_costperspace.value);
	if (customCostPerSpace !== 100 && customCostPerSpace != 800 && !isNaN(customCostPerSpace)) r_costperspace = customCostPerSpace;
	auxFormId2.r_costperspace.value = r_costperspace
}

if (supportBenefits[6] != "x") var c_Bicyclefacilitiescost = 0;
else var c_Bicyclefacilitiescost = c_Designedforhowmanybikes *  getAverageCostPerBicycle(c_Typeoffacility);

if (isNaN(c_Bicyclefacilitiescost)) c_Bicyclefacilitiescost = 0;
if (dynamicVersion) auxFormId11.c_Bicyclefacilitiescost.value = c_Bicyclefacilitiescost;



// ***************************************************  
// here we have some importnat "global" variables
var marginalcorporatetaxrate = g_marginalcorporatetaxrate;
if (isNaN(marginalcorporatetaxrate)) marginalcorporatetaxrate = 0;

var averagemarginalfica = g_averagemarginalfica;
if (isNaN(averagemarginalfica)) averagemarginalfica = 0;

var employeemarginalincometaxrate = parseFloat(auxFormId11.employeemarginalincometaxrate.value)/100
if (isNaN(employeemarginalincometaxrate)) employeemarginalincometaxrate = 0;
// ******************************************************


// Let's start building the values for the Overall Summary screen:

// --------------------------------------------------------------
// Employer Column

//Incentive Costs
//alert(auxFormId2.r_costofcommuteincentives)
var r_costofcommuteincentives = roundNum(parseFloat(auxFormId12.supportingincentiveslevelforbicyclists.value) * 12 * parseFloat(auxFormId13.employeespedestrianstotal.value) * (1+averagemarginalfica)*(1-marginalcorporatetaxrate))

//mkwan: set to 0
r_costofcommuteincentives = 0;

//alert(auxFormId12.supportingincentiveslevelforbicyclists.value +","+auxFormId13.employeespedestrianstotal.value+","+ averagemarginalfica+","+marginalcorporatetaxrate)
//parseFloat(auxFormId11.supportingnumberpeopleacceptingincentivesforbicyclists.value); // removed on 1/14/02
if (isNaN(r_costofcommuteincentives)) r_costofcommuteincentives = 0;
if (dynamicVersion) auxFormId2.r_costofcommuteincentives.value = r_costofcommuteincentives;

//NET Direct Cost to Employer
var r_costofparkingcashout = c_CashOutperSpace;
r_costofparkingcashout += r_costofparkingcashout * averagemarginalfica;
r_costofparkingcashout += (-1)*c_CashOutperSpace * marginalcorporatetaxrate;
r_costofparkingcashout = r_costofparkingcashout * c_SpacesCashedOut * 12
if (isNaN(r_costofparkingcashout)) r_costofparkingcashout = 0;
if (dynamicVersion) auxFormId2.r_costofparkingcashout.value = roundNum(r_costofparkingcashout);

// Transit/Vanpool benefits
// mkwan: advantage rideshare is gov't funded!
var transitVanpoolEmployer = roundNum((c_EmployerprovidedTaxfreeVoucherCost)* expectedtotalnumberofemployees * 12);
//
var FICACostEmployer = 0; // 12/6/01
//	if (g_orgType == "Government") FICACostEmployer += 0.0145 * c_EmployerprovidedTaxfreeVoucherCost;
//	else FICACostEmployer += c_EmployerprovidedTaxfreeVoucherCost * averagemarginalfica;
//alert(transitVanpoolEmployer)
	if (c_EmployerprovidedTaxfreeVoucherCost>g_TaxFreeLimit) {// added on 1/8/01
		FICACostEmployer = (c_EmployerprovidedTaxfreeVoucherCost - g_TaxFreeLimit) * averagemarginalfica; 
		transitVanpoolEmployer += roundNum(FICACostEmployer * expectedtotalnumberofemployees * 12) 
	}

var CorpIncTax_tmp = 0;
	if (g_orgType == "For-profit") CorpIncTax_tmp += roundNum((-1)*marginalcorporatetaxrate*(c_EmployerprovidedTaxfreeVoucherCost+FICACostEmployer) * expectedtotalnumberofemployees * 12);

transitVanpoolEmployer += CorpIncTax_tmp;

//alert(c_EmployerprovidedTaxfreeVoucherCost + "   " + FICACostEmployer + "   " + CorpIncTax_tmp)

var r_costoftransitvanpoolbenefits = roundNum(transitVanpoolEmployer)// * expectedtotalnumberofemployees * 12;
r_costoftransitvanpoolbenefits = roundNum(r_costoftransitvanpoolbenefits)
if (dynamicVersion) auxFormId2.r_costoftransitvanpoolbenefits.value = r_costoftransitvanpoolbenefits;

var r_taxsavingsfromreducedFICA = 0;
if (g_orgType == "Government") r_taxsavingsfromreducedFICA = 0.0145 * c_EmployerprovidedTaxfreeVoucherCost; // parseFloat(formId.c_EmployerprovidedTaxfreeVoucherCost.value)
else {
	if ((g_TaxFreeLimit - c_EmployerprovidedTaxfreeVoucherCost) > c_AverageEmployeePretaxVoucherContribution) r_taxsavingsfromreducedFICA = c_AverageEmployeePretaxVoucherContribution;
	else r_taxsavingsfromreducedFICA = (g_TaxFreeLimit - c_EmployerprovidedTaxfreeVoucherCost)

	r_taxsavingsfromreducedFICA = r_taxsavingsfromreducedFICA*averagemarginalfica;
}
//mkwan: direct savings
employer_row[0] = c_AverageEmployeePretaxVoucherContribution;
employer_row[1] = Math.round(r_taxsavingsfromreducedFICA*100)/100; // FICA Cost Savings
employer_row[2] = Math.round((-1)*marginalcorporatetaxrate*r_taxsavingsfromreducedFICA*100)/100; // Corporate Income Tax
employer_row[3] = Math.round((employer_row[1]+employer_row[2])*100/100); // Employer Savings (per month):

r_taxsavingsfromreducedFICA = roundNum((r_taxsavingsfromreducedFICA*expectedtotalnumberofemployees*12))
if (dynamicVersion) auxFormId2.r_taxsavingsfromreducedFICA.value = r_taxsavingsfromreducedFICA;

employer_row[4] = roundNum(employer_row[1]*12*expectedtotalnumberofemployees); // FICA Cost Savings
employer_row[5] = roundNum(employer_row[2]*12*expectedtotalnumberofemployees); // Corporate Income Tax
employer_row[6] = (employer_row[4]+employer_row[5]); // Employer Savings (per month):


// --------------------------------------------------------------
// Employee Column
//mkwan: only 3 months of incentives for bikes!
var r_valueoffinancialincentives = roundNum(parseFloat(auxFormId12.supportingincentiveslevelforbicyclists.value)* 3 * parseFloat(auxFormId13.employeespedestrianstotal.value))
//alert(auxFormId12.supportingincentiveslevelforbicyclists.value +","+ auxFormId13.employeespedestrianstotal.value +","+  averagemarginalfica +","+employeemarginalincometaxrate)
//roundNum(r_costofcommuteincentives * (1 - averagemarginalfica - employeemarginalincometaxrate)) // removed on 1/14/02
if (dynamicVersion) auxFormId2.r_valueoffinancialincentives.value = r_valueoffinancialincentives;

//Value of Cash Out benefit  ($/year)  -- employee
var r_valueofcashoutbenefit = c_CashOutperSpace;
r_valueofcashoutbenefit -= r_valueofcashoutbenefit * averagemarginalfica;
r_valueofcashoutbenefit += (-1)*(c_CashOutperSpace) * employeemarginalincometaxrate;
r_valueofcashoutbenefit = r_valueofcashoutbenefit * c_SpacesCashedOut * 12
if (isNaN(r_valueofcashoutbenefit)) r_valueofcashoutbenefit = 0;
if (dynamicVersion) auxFormId2.r_valueofcashoutbenefit.value = roundNum(r_valueofcashoutbenefit);

// Transit/Vanpool benefits -- employees ################
var transitVanpoolEmployee = c_EmployerprovidedTaxfreeVoucherCost;

//modified on 1/8/02
var directEmplBenefit_tmp = c_EmployerprovidedTaxfreeVoucherCost;
var FICAEmplBenefit_tmp = 0;
	if (directEmplBenefit_tmp>g_TaxFreeLimit) FICAEmplBenefit_tmp = (directEmplBenefit_tmp - g_TaxFreeLimit) * averagemarginalfica; 
var IncomeEmplTax_tmp = 0;
	if (directEmplBenefit_tmp>g_TaxFreeLimit) IncomeEmplTax_tmp = (directEmplBenefit_tmp - g_TaxFreeLimit) * employeemarginalincometaxrate;

var r_valueoftransitvanpoolbenefits = roundNum(roundNum(directEmplBenefit_tmp * expectedtotalnumberofemployees * 12) - roundNum(FICAEmplBenefit_tmp * expectedtotalnumberofemployees * 12) - roundNum(IncomeEmplTax_tmp * expectedtotalnumberofemployees * 12));

//mkwan: advantage rideshare limit is $120
if(auxFormId12.advantagerideshare.checked) {
	r_valueoffinancialincentives += roundNum(costofAdvantageRideshare  * expectedtotalnumberofemployees * 3);
	r_valueoffinancialincentives += roundNum(costofAdvantageRideshare  * empGainFromAdvantageRideshare * 3);
	r_valueoffinancialincentives += roundNum(costofAdvantageRideshare  * parseFloat(auxFormId13.employeespedestrianstotal.value) * 3);
	}

//mkwan: vanpool vouchers
var valueofvanpoolvouchers = 0
employervanpoolbenefit = parseFloat(auxFormId13.employervanpool.value);
employeevanpoolbenefit = parseFloat(auxFormId13.employeevanpool.value);
if(auxFormId12.vanpoolvouchers.checked) {
	totalnumberofvanpoolers = reductionFromVanpool + (expectedtotalnumberofemployees * .04);
	valueofvanpoolvouchers = roundNum(parseFloat(countyVanpoolProgramBenefit+employervanpoolbenefit-employeevanpoolbenefit)  * totalnumberofvanpoolers * 12);
	employercostofvanpoolvouchers = roundNum(employervanpoolbenefit  * totalnumberofvanpoolers * 12);
	//mkwan: add employer vanpool cost
	}


if (dynamicVersion) auxFormId2.r_valueoftransitvanpoolbenefits.value = r_valueoftransitvanpoolbenefits;

//Value of tax savings from pre-tax transit/vanpool benefits -- employee
var r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits = 0;
if (g_orgType == "Government") r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits = 0.0145 * c_EmployerprovidedTaxfreeVoucherCost
else {
	if ((g_TaxFreeLimit - (c_EmployerprovidedTaxfreeVoucherCost))>c_AverageEmployeePretaxVoucherContribution) r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits = c_AverageEmployeePretaxVoucherContribution;
	else r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits = (g_TaxFreeLimit - c_EmployerprovidedTaxfreeVoucherCost)

	r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits = r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits*averagemarginalfica;
}
employee_row[1] = Math.round(r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits*100)/100; // FICA Cost Savings

// special case
var r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits_special = 0;
if ((g_TaxFreeLimit - c_EmployerprovidedTaxfreeVoucherCost) > c_AverageEmployeePretaxVoucherContribution) r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits_special = c_AverageEmployeePretaxVoucherContribution;
	else r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits_special = (g_TaxFreeLimit - c_EmployerprovidedTaxfreeVoucherCost)

	r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits_special = r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits_special*employeemarginalincometaxrate;

employee_row[2] = Math.round(r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits_special*100)/100; // Income Tax Savings
employee_row[3] = Math.round((employee_row[1] + employee_row[2])*100)/100;  // Employee Savings (per month)

r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits = roundNum(((r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits + r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits_special)*expectedtotalnumberofemployees*12))
if (dynamicVersion) auxFormId2.r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits.value = r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits;

employee_row[4] = roundNum(employee_row[1]*12*expectedtotalnumberofemployees); // FICA Cost
employee_row[5] = roundNum(employee_row[2]*12*expectedtotalnumberofemployees); // Income Tax
employee_row[6] = (employee_row[4]+employee_row[5]); // Total Employee Savings (per year)

// 11/1/01
if (dynamicVersion) {
	auxFormId2.r_taxsavingsfromreducedFICA2.value = employer_row[6];
	auxFormId2.r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits2.value = employee_row[6];
}
/*
EMPLOYEE PAID PRE-TAX BENEFIT - Comparison of Pre-Tax Deduction vs. Employee Pays with Taxable Salary								
								
Per Employee Taking Pre-tax Benefit, per month:								
	Employer Comparison				Employee Comparison			
	Savings through Pre-tax Benefit 		 		Savings through Pre-tax Benefit 			
FICA Cost Savings	 $- 			FICA Cost Savings	 $- 			
Corporate Income Tax	 $- 			Income Tax Savings	 $- 			
Savings	 $- 			Savings	 $- 			
Employer Savings (per month):		 $- 		Employee Savings (per month):		 $- 		
								
For Employment Site, per year:								
	 Total for Employer 				 Total for Employees 			
	Savings through Pre-tax Benefit 		   		Savings through Pre-tax Benefit 			
FICA Cost	 $- 			FICA Cost	 $- 			
Corporate Income Tax	 $- 			Income Tax	 $- 			
Savings	 $- 			Savings	 $- 			
Total Employer Savings (per year):		 $- 		Total Employee Savings (per year):		 $-   		


*/

// --------------------------------------------------------------
// Other tables within the summary screen

//Administrative Costs
//mkwan: assuming model..
var r_programadministrationtime= parseFloat(.069*(numberOfEmployees)+1.32);
var programadmin_modifier = 0;
// core = 100%
if(auxFormId12.advantagerideshare.checked) { programadmin_modifier += .65; }
if(auxFormId12.supportingridesharing.checked) { programadmin_modifier += .25; }
if(auxFormId12.accessguaranteedridehomeprogram.checked) { programadmin_modifier += .1; }
// extras = 15%
if(auxFormId12.vanpoolvouchers.checked) { programadmin_modifier += .025; }
if(auxFormId12.supportingpreferredparkingforcarpools.checked) { programadmin_modifier += .005; }
if(auxFormId12.supportingsecurebicycleparking.checked) { programadmin_modifier += .005; }
if(auxFormId12.flextime.checked) { programadmin_modifier += .015; }
if(auxFormId12.coretelecommuting.checked) { programadmin_modifier += .015; }
if(auxFormId12.coreparkingcashout.checked) { programadmin_modifier += .025; }
if(auxFormId12.supportingpretaxtransitbenefits.checked) { programadmin_modifier += .03; }
if(auxFormId12.transitvouchers.checked) { programadmin_modifier += .03; }
//
r_programadministrationtime = parseFloat(r_programadministrationtime *	programadmin_modifier);
//
//
if(r_programadministrationtime<8) { 
	r_programadministrationtime = 8;
	}
if(r_programadministrationtime>180) { 
	r_programadministrationtime = 180;
	}

if(!auxFormId12.advantagerideshare.checked) {
	var coreSum = 0;
	var supportSum = 0;
	for (i=0; i<coreBenefits.length; i++) if (coreBenefits[i] == "x") coreSum += 1;
	for (i=0; i<supportBenefits.length; i++) if (supportBenefits[i] == "x") supportSum += 1;	
	if(coreSum==0 && supportSum==0) {
		r_programadministrationtime = 0;
		}
}
//
if (isNaN(r_programadministrationtime)) r_programadministrationtime = 0;
if (dynamicVersion) auxFormId2.r_programadministrationtime.value = r_programadministrationtime;
var r_humanresourcespecialistsalary = parseFloat(auxFormId2.hrspecialistsalary.value);
if (isNaN(r_humanresourcespecialistsalary)) r_humanresourcespecialistsalary = 0;
if (dynamicVersion) auxFormId2.r_humanresourcespecialistsalary.value = r_humanresourcespecialistsalary;

var r_annualprogramadministrationcost = roundNum(r_programadministrationtime*12/2080*r_humanresourcespecialistsalary*1.5)
if (dynamicVersion) auxFormId2.r_annualprogramadministrationcost.value = r_annualprogramadministrationcost;

if (dynamicVersion) var r_averagecostpergallonofgasoline = parseFloat(auxFormId2.r_averagecostpergallonofgasoline.value)
//else var r_averagecostpergallonofgasoline = 1.30;
else var r_averagecostpergallonofgasoline = default_costpergallonofgasoline;   // mkwan 2011-05
//if (isNaN(r_averagecostpergallonofgasoline)) r_averagecostpergallonofgasoline = 1.30
if (isNaN(r_averagecostpergallonofgasoline)) r_averagecostpergallonofgasoline = default_costpergallonofgasoline     // mkwan 2011-05
if (dynamicVersion) auxFormId2.r_averagecostpergallonofgasoline.value = r_averagecostpergallonofgasoline;

//var r_averagecostpermiledriving = r_averagecostpergallonofgasoline/20
//mkwan 2011-05
var r_averagecostpermiledriving = r_averagecostpergallonofgasoline/default_mpg; 


if (dynamicVersion) auxFormId2.r_averagegascostpermile.value = roundNum((r_averagecostpermiledriving));
var othervehicleoperatingcosts = default_othercostpermile; //mkwan
if (dynamicVersion) othervehicleoperatingcosts = parseFloat(auxFormId2.r_othervehicleoperatingcosts.value);
if (isNaN(othervehicleoperatingcosts)) {
	othervehicleoperatingcosts = default_othercostpermile; //mkwan
	auxFormId2.r_othervehicleoperatingcosts.value = othervehicleoperatingcosts;
}
if (dynamicVersion) auxFormId2.r_averagecostpermiledriving.value = roundNum((r_averagecostpermiledriving + othervehicleoperatingcosts));

//var r_reductionindrivingexpensespermonthperemployee = ((r_averagecostpergallonofgasoline/20)+othervehicleoperatingcosts)*20*20
//mkwan - default mpg
var r_reductionindrivingexpensespermonthperemployee = ((r_averagecostpergallonofgasoline/default_mpg)+othervehicleoperatingcosts)*20*20;  
if (dynamicVersion) auxFormId2.r_reductionindrivingexpensespermonthperemployee.value = roundNum(r_reductionindrivingexpensespermonthperemployee);

//mkwan: fix parking spaces reduced
var tempTotalRidesharers = parseInt(expectedtotalnumberofemployees+reductionFromVanpool+empGainFromAdvantageRideshare+parseInt(auxFormId13.employeespedestrianstotal.value)+g_expectednumberemployeestelecommuting);

//alert( "(r)" + g_reductionnumberdrivers + " + (v)" + (reductionFromVanpool*(7/8.5)) + " + (incent)" + parseFloat(empGainFromAdvantageRideshare*.71) + " + (tele)" + parseFloat(g_expectednumberemployeestelecommuting) + "==" + parseFloat(g_reductionnumberdrivers + (reductionFromVanpool*(7/8.5)) + parseFloat(empGainFromAdvantageRideshare*.71)+parseFloat(g_expectednumberemployeestelecommuting)) + "[[" + tempTotalRidesharers + "]]");

//alert("expected formula [" + tempTotalRidesharers +"\n(expect)" + expectedtotalnumberofemployees + " + (vanpool)" + reductionFromVanpool + " + (incent)" + empGainFromAdvantageRideshare + " + (pedestrian)" + parseInt(auxFormId13.employeespedestrianstotal.value) + " + (tele)" + g_expectednumberemployeestelecommuting);

g_reductionnumberdrivers = parseFloat(g_reductionnumberdrivers + (reductionFromVanpool*(7/8.5)) + parseFloat(empGainFromAdvantageRideshare*.71)+parseFloat(g_expectednumberemployeestelecommuting));




if (g_reductionnumberdrivers > tempTotalRidesharers ) {
g_reductionnumberdrivers = tempTotalRidesharers;
}

var r_totalreductioninemployeedrivingexpensesperyear = r_reductionindrivingexpensespermonthperemployee*12*g_reductionnumberdrivers;
if (isNaN(r_totalreductioninemployeedrivingexpensesperyear)) r_totalreductioninemployeedrivingexpensesperyear = 0;
if (dynamicVersion) auxFormId2.r_totalreductioninemployeedrivingexpensesperyear.value = roundNum(r_totalreductioninemployeedrivingexpensesperyear);

// user override option
if (dynamicVersion) var r_numberoffulltimetelecommuters = parseFloat(overrider_numberoffulltimetelecommuters);
else var r_numberoffulltimetelecommuters = (c_fulltimeTelecommuters/100) * numberOfEmployees
var r_numberoffulltimetelecommutersDefault = (c_fulltimeTelecommuters/100) * numberOfEmployees
if (isNaN(r_numberoffulltimetelecommuters)) r_numberoffulltimetelecommuters = r_numberoffulltimetelecommutersDefault; // || (r_numberoffulltimetelecommuters == 0)
if (isNaN(r_numberoffulltimetelecommuters)) r_numberoffulltimetelecommuters = 0;
if (dynamicVersion) auxFormId2.r_numberoffulltimetelecommuters.value = r_numberoffulltimetelecommuters;

// user override option
if (dynamicVersion) var r_averagecostperhomeoffice = parseFloat(overrider_averagecostperhomeoffice);
else var r_averagecostperhomeoffice = c_Costofsettingupandmaintainingahomeoffice;
var r_averagecostperhomeofficeDefault = c_Costofsettingupandmaintainingahomeoffice;
if (isNaN(r_averagecostperhomeoffice)) r_averagecostperhomeoffice = r_averagecostperhomeofficeDefault;// || (r_averagecostperhomeoffice == 0)
if (isNaN(r_averagecostperhomeoffice)) r_averagecostperhomeoffice = 0;
if (dynamicVersion) auxFormId2.r_averagecostperhomeoffice.value = r_averagecostperhomeoffice;

//mkwan
//var r_totalcostofhomeoffices = r_numberoffulltimetelecommuters * r_averagecostperhomeoffice
var r_totalcostofhomeoffices = 0;
//if (dynamicVersion) auxFormId2.r_totalcostofhomeoffices.value = r_totalcostofhomeoffices;
if (dynamicVersion) auxFormId2.r_totalcostofhomeofficesAnnual.value = roundNum(r_totalcostofhomeoffices*0.381);

// user override option
if (dynamicVersion) var r_numberofbicycleparkingspaces = parseFloat(overrider_numberofbicycleparkingspaces);
else var r_numberofbicycleparkingspaces = parseFloat(auxFormId13.employeespedestrianstotal.value);
var r_numberofbicycleparkingspacesDefault = parseFloat(auxFormId12.supportingsecurebicycledesignedforhowmanybikes.value);
if (isNaN(r_numberofbicycleparkingspaces)) r_numberofbicycleparkingspaces = r_numberofbicycleparkingspacesDefault; //|| (r_numberofbicycleparkingspaces == 0)
if (isNaN(r_numberofbicycleparkingspaces)) r_numberofbicycleparkingspaces = 0;
if (dynamicVersion) auxFormId2.r_numberofbicycleparkingspaces.value = r_numberofbicycleparkingspaces;

if (supportBenefits[6] == "x") var r_costofbicyclerackslockers = r_numberofbicycleparkingspaces *  r_costperspace; //getAverageCostPerBicycle(c_Typeoffacility);
else var r_costofbicyclerackslockers = c_Bicyclefacilitiescost;
// default value is: c_Bicyclefacilitiescost
if (isNaN(r_costofbicyclerackslockers)) r_costofbicyclerackslockers = 0;
if (dynamicVersion) auxFormId2.r_costofbicyclerackslockers.value = r_costofbicyclerackslockers;
if (dynamicVersion) auxFormId2.r_costofbicyclerackslockersAnnual.value = roundNum(r_costofbicyclerackslockers*0.110);

// Total Direct Employer Financial Costs
//mkwan: remove home office costs
//
//var r_totaldirectemployerfinancialcosts = r_costofcommuteincentives + r_costofparkingcashout + r_costoftransitvanpoolbenefits - r_taxsavingsfromreducedFICA + r_annualprogramadministrationcost + roundNum(r_totalcostofhomeoffices*0.381) + roundNum(r_costofbicyclerackslockers*0.110);
var r_totaldirectemployerfinancialcosts = r_costofcommuteincentives + r_costofparkingcashout + r_costoftransitvanpoolbenefits - r_taxsavingsfromreducedFICA + r_annualprogramadministrationcost + roundNum(r_costofbicyclerackslockers*0.110);
if (isNaN(r_totaldirectemployerfinancialcosts)) r_totaldirectemployerfinancialcosts = 0;
if (dynamicVersion) auxFormId2.r_totaldirectemployerfinancialcosts.value = r_totaldirectemployerfinancialcosts;

// Total Direct Employee Financial Benefits
var r_totaldirectemployeefinancialbenefits = r_valueoffinancialincentives + r_valueofcashoutbenefit + r_valueoftransitvanpoolbenefits + r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits + r_totalreductioninemployeedrivingexpensesperyear;

if (isNaN(r_totaldirectemployeefinancialbenefits)) r_totaldirectemployeefinancialbenefits = 0;
if (dynamicVersion) auxFormId2.r_totaldirectemployeefinancialbenefits.value = r_totaldirectemployeefinancialbenefits;


// Traffic and Environmental Benefits
var r_ReducedAutoCommuteTrips = roundNum(g_reductionnumberdrivers*2);
if (user_ReducedAutoCommuteTrips != "" && user_ReducedAutoCommuteTrips != null) r_ReducedAutoCommuteTrips = user_ReducedAutoCommuteTrips;
if (isNaN(r_ReducedAutoCommuteTrips)) r_ReducedAutoCommuteTrips = 0;
if (dynamicVersion) auxFormId5.r_ReducedAutoCommuteTrips.value = roundNum(r_ReducedAutoCommuteTrips);

//var r_AverageCommuteTripLength = 12; // CN 5/10/06 - changed from 11.8 to 12, due to rounding issue (when Results first display, value is 11.8, but after that it is 12 due to rounding)
var r_AverageCommuteTripLength = 19.2; // CN 9/6/06 - changed to 12.1
if (dynamicVersion) r_AverageCommuteTripLength = parseFloat(auxFormId5.r_AverageCommuteTripLength.value); 
if (isNaN(r_AverageCommuteTripLength)) r_AverageCommuteTripLength = 19.2; // CN 5/10/06 - changed from 11.8 to 12.  CN 9/6/06 - changed to 12.1
//if (dynamicVersion) auxFormId5.r_AverageCommuteTripLength.value = roundNum(r_AverageCommuteTripLength);
if (dynamicVersion) auxFormId5.r_AverageCommuteTripLength.value = r_AverageCommuteTripLength;  // CN 9/6/06 - don't round, so that 12.1 value is used

//var r_Reducedcommutevehicletrips = roundNum((g_reductionnumberdrivers*5*52*2)/1000)*1000
//var r_Reducedcommutevehicletrips = roundNum((r_ReducedAutoCommuteTrips*5*52))
var r_Reducedcommutevehicletrips = roundNum((r_ReducedAutoCommuteTrips*5*48))    // CN 5/9/06 - change workdays from 260 to 240
if (isNaN(r_Reducedcommutevehicletrips)) r_Reducedcommutevehicletrips = 0;
if (dynamicVersion) auxFormId5.r_Reducedcommutevehicletrips.value = roundNum(r_Reducedcommutevehicletrips);

var r_Reducedcommutevehiclemileage = roundNum((r_Reducedcommutevehicletrips * r_AverageCommuteTripLength))
if (isNaN(r_Reducedcommutevehiclemileage)) r_Reducedcommutevehiclemileage = 0;
if (dynamicVersion) auxFormId5.r_Reducedcommutevehiclemileage.value = roundNum(r_Reducedcommutevehiclemileage);

r_CO = roundNum(getCO()*r_Reducedcommutevehiclemileage);
if (dynamicVersion) auxFormId5.r_CO.value = roundNum(r_CO);
r_VOC = roundNum(getVOC()*r_Reducedcommutevehiclemileage);
if (dynamicVersion) auxFormId5.r_VOC.value = roundNum(r_VOC);
r_NOx = roundNum(getNOx()*r_Reducedcommutevehiclemileage);
if (dynamicVersion) auxFormId5.r_NOx.value = roundNum(r_NOx);
r_PM = roundNum(getPM()*r_Reducedcommutevehiclemileage);
//if (dynamicVersion) auxFormId5.r_PM.value = roundNum(r_PM);
r_SOx = roundNum(getSOx()*r_Reducedcommutevehiclemileage);
//if (dynamicVersion) auxFormId5.r_SOx.value = roundNum(r_SOx);
r_CO2 = roundNum(getCO2()*r_Reducedcommutevehiclemileage);
if (dynamicVersion) auxFormId5.r_CO2.value = roundNum(r_CO2);
r_CH4 = roundNum(getCH4()*r_Reducedcommutevehiclemileage);
//if (dynamicVersion) auxFormId5.r_CH4.value = roundNum(r_CH4);
r_N20 = roundNum(getN20()*r_Reducedcommutevehiclemileage);
//if (dynamicVersion) auxFormId5.r_N20.value = roundNum(r_N20);

//var r_Reducedgallonsofmotorfuelconsumed = roundNum((r_Reducedcommutevehiclemileage/20.4))
var r_Reducedgallonsofmotorfuelconsumed = roundNum((r_CO2/19.4))   // CN 9/5/06 - new way to calculate reduced gallons of gas (19.4 lbs. CO2 per gallon of gas)
if (isNaN(r_Reducedgallonsofmotorfuelconsumed)) r_Reducedgallonsofmotorfuelconsumed = 0;
if (dynamicVersion) auxFormId5.r_Reducedgallonsofmotorfuelconsumed.value = roundNum(r_Reducedgallonsofmotorfuelconsumed);

var r_Reducedbarrelsofcrudeoilused = roundNum(r_Reducedgallonsofmotorfuelconsumed/42)
if (isNaN(r_Reducedbarrelsofcrudeoilused)) r_Reducedbarrelsofcrudeoilused = 0;
if (dynamicVersion) auxFormId5.r_Reducedbarrelsofcrudeoilused.value = roundNum(r_Reducedbarrelsofcrudeoilused);



// RECRUITMENT/RETENTION BENEFITS SECTION

// here we use a lookup
var r_Expectedchangeinturnover = myCommuterModelResult;//.split(" +"); 12/10/01
//r_Expectedchangeinturnover = r_Expectedchangeinturnover[0];
r_Expectedchangeinturnover = getExpectedchangeinturnover(r_Expectedchangeinturnover)

if (dynamicVersion) var calculatedTurnoverRate = parseFloat(overrider_Expectedchangeinturnover);
else var calculatedTurnoverRate = parseFloat(r_Expectedchangeinturnover);
var calculatedTurnoverRateDefault = parseFloat(r_Expectedchangeinturnover);
if (isNaN(calculatedTurnoverRate)) calculatedTurnoverRate = calculatedTurnoverRateDefault; // || (calculatedTurnoverRate == 0)
if (isNaN(calculatedTurnoverRate)) calculatedTurnoverRate = 0;
if (dynamicVersion) auxFormId4.r_Expectedchangeinturnover.value = calculatedTurnoverRate;
r_Expectedchangeinturnover = calculatedTurnoverRate;

if (dynamicVersion) var r_EmployeeturnoverrateTmp = parseFloat(auxFormId4.r_ExpectedchangeinturnoverRate.value); //Percent change in productivity per employee telecommuting
else var r_EmployeeturnoverrateTmp = 10;
if (isNaN(r_EmployeeturnoverrateTmp)) {
	r_EmployeeturnoverrateTmp = 10;
	if (dynamicVersion) auxFormId4.r_ExpectedchangeinturnoverRate.value=10;
}
//mkwan
//var r_RecruitmentandTrainingCostSavings = roundNum((r_Expectedchangeinturnover/100) * numberOfEmployees * (r_EmployeeturnoverrateTmp/100) * (parseFloat(auxFormId11.averageemployeesalary.value)/3)) ;
var r_RecruitmentandTrainingCostSavings = roundNum(((r_Expectedchangeinturnover)/100) * numberOfEmployees * (parseFloat(auxFormId11.averageemployeesalary.value)*1.05)) ;
//
if (isNaN(r_RecruitmentandTrainingCostSavings)) r_RecruitmentandTrainingCostSavings = 0;
if (dynamicVersion) auxFormId4.r_RecruitmentandTrainingCostSavings.value = r_RecruitmentandTrainingCostSavings;

// 11/9/01
/*if (dynamicVersion) var r_EmployeeturnoverrateTmp = parseFloat(auxFormId4.r_ExpectedchangeinturnoverRate.value); //Percent change in productivity per employee telecommuting
else var r_EmployeeturnoverrateTmp = 10;
alert(r_PercentchangeinproductivityperemployeetelecommutingDefault)
if (isNaN(r_EmployeeturnoverrateTmp)) {
	r_EmployeeturnoverrateTmp = 10;
	if (dynamicVersion) auxFormId4.r_ExpectedchangeinturnoverRate.value=10;
}*/
var r_PercentchangeinproductivityperemployeetelecommutingDefault = 10;
if (myVersion != "multitab") r_Percentchangeinproductivityperemployeetelecommuting = r_PercentchangeinproductivityperemployeetelecommutingDefault;
else r_Percentchangeinproductivityperemployeetelecommuting = parseFloat(auxFormId4.r_Percentchangeinproductivityperemployeetelecommuting.value);
if (isNaN(r_Percentchangeinproductivityperemployeetelecommuting)) r_Percentchangeinproductivityperemployeetelecommuting = r_PercentchangeinproductivityperemployeetelecommutingDefault;
if (dynamicVersion) auxFormId4.r_Percentchangeinproductivityperemployeetelecommuting.value = r_Percentchangeinproductivityperemployeetelecommuting;
//mkwan
var r_IncreasedProductivity = roundNum((c_fulltimeTelecommuters/100)*numberOfEmployees*(r_Percentchangeinproductivityperemployeetelecommuting/100)*parseFloat(auxFormId11.averageemployeesalary.value)*1.5) ;
if (isNaN(r_IncreasedProductivity)) r_IncreasedProductivity = 0;
if (dynamicVersion) auxFormId4.r_IncreasedProductivity.value = r_IncreasedProductivity;


// Potential Parking Cost Savings
var r_Expectednumberofparkingspacesreduced = g_reductionnumberdrivers
if (isNaN(r_Expectednumberofparkingspacesreduced)) r_Expectednumberofparkingspacesreduced = 0;
if (dynamicVersion) auxFormId3.r_Expectednumberofparkingspacesreduced.value = r_Expectednumberofparkingspacesreduced;

var r_employerDirectCostSavingsperspacepermonth = parseFloat(auxFormId11.employercontributiontoparking.value)
if (isNaN(r_employerDirectCostSavingsperspacepermonth)) r_employerDirectCostSavingsperspacepermonth = 0;
if (dynamicVersion) auxFormId3.r_employerDirectCostSavingsperspacepermonth.value = r_employerDirectCostSavingsperspacepermonth;

var r_employeeDirectCostSavingsperspacepermonth = parseFloat(auxFormId11.employeecontributiontoparking.value)
if (isNaN(r_employeeDirectCostSavingsperspacepermonth)) r_employeeDirectCostSavingsperspacepermonth = 0;
if (dynamicVersion) auxFormId2.r_employeeDirectCostSavingsperspacepermonth.value = r_employeeDirectCostSavingsperspacepermonth;


//mkwan change to space cost
if(r_employerDirectCostSavingsperspacepermonth==0) {
r_employerDirectCostSavingsperspacepermonth = getParkingCosts(auxFormId11.kindofparking.value);
}
//mkwan end



var tmpMultiple = 0;

if (g_provideparking != "Free")
	if (auxFormId11.parkingpaymentspretax[0].checked) tmpMultiple=-1;

if (r_employerDirectCostSavingsperspacepermonth>180) tmpMultiple=-1;

//alert(tmpMultiple + "  " + r_employerDirectCostSavingsperspacepermonth)

if ((180 - r_employerDirectCostSavingsperspacepermonth)> r_employeeDirectCostSavingsperspacepermonth) tmpMultiple= tmpMultiple*r_employerDirectCostSavingsperspacepermonth
else tmpMultiple = tmpMultiple* (r_employerDirectCostSavingsperspacepermonth-180)
var r_employerFICACostSavingsperspacepermonth = tmpMultiple * (averagemarginalfica)
if (dynamicVersion) auxFormId3.r_employerFICACostSavingsperspacepermonth.value = roundNum(r_employerFICACostSavingsperspacepermonth);

var r_employeeFICACostSavingsperspacepermonth = r_employerFICACostSavingsperspacepermonth;
if (dynamicVersion) auxFormId2.r_employeeFICACostSavingsperspacepermonth.value = roundNum(r_employeeFICACostSavingsperspacepermonth);


var r_employerCorporateIncomeTaxSavingsperspacepermonth = (-1) * (r_employerDirectCostSavingsperspacepermonth+r_employeeFICACostSavingsperspacepermonth) * marginalcorporatetaxrate
if (dynamicVersion) auxFormId3.r_employerCorporateIncomeTaxSavingsperspacepermonth.value = roundNum(r_employerCorporateIncomeTaxSavingsperspacepermonth);

tmpMultiple = 0;

if (g_provideparking != "Free")
	if (auxFormId11.parkingpaymentspretax[0].checked) tmpMultiple=-1;

if (r_employerDirectCostSavingsperspacepermonth>180) tmpMultiple=-1;

if ((180 - r_employerDirectCostSavingsperspacepermonth)> r_employeeDirectCostSavingsperspacepermonth) tmpMultiple= tmpMultiple*r_employerDirectCostSavingsperspacepermonth
else tmpMultiple = tmpMultiple* (r_employerDirectCostSavingsperspacepermonth-180)
var r_employeeCorporateIncomeTaxSavingsperspacepermonth = tmpMultiple * (employeemarginalincometaxrate)

if (dynamicVersion) auxFormId2.r_employeeCorporateIncomeTaxSavingsperspacepermonth.value = roundNum(r_employeeCorporateIncomeTaxSavingsperspacepermonth);


//mkwan - parking space cost?
var r_employerNetCostSavingsperspacepermonth = r_employerDirectCostSavingsperspacepermonth;

//var r_employerNetCostSavingsperspacepermonth = r_employerDirectCostSavingsperspacepermonth + r_employerFICACostSavingsperspacepermonth + r_employerCorporateIncomeTaxSavingsperspacepermonth;
if (dynamicVersion) auxFormId3.r_employerNetCostSavingsperspacepermonth.value = roundNum(r_employerNetCostSavingsperspacepermonth);


var r_employeeNetCostSavingsperspacepermonth = r_employeeDirectCostSavingsperspacepermonth + r_employeeFICACostSavingsperspacepermonth + r_employeeCorporateIncomeTaxSavingsperspacepermonth;
if (dynamicVersion) auxFormId2.r_employeeNetCostSavingsperspacepermonth.value = roundNum(r_employeeNetCostSavingsperspacepermonth);


var r_employerDirectCostSavingsperyear = roundNum(r_employerDirectCostSavingsperspacepermonth * r_Expectednumberofparkingspacesreduced * 12);
if (dynamicVersion) auxFormId3.r_employerDirectCostSavingsperyear.value = roundNum(r_employerDirectCostSavingsperyear);

var r_employeeDirectCostSavingsperyear = r_employeeDirectCostSavingsperspacepermonth * r_Expectednumberofparkingspacesreduced * 12;
if (dynamicVersion) auxFormId2.r_employeeDirectCostSavingsperyear.value = roundNum(r_employeeDirectCostSavingsperyear);


var r_employerFICACostperyear = r_employerFICACostSavingsperspacepermonth * r_Expectednumberofparkingspacesreduced * 12;
if (dynamicVersion) auxFormId3.r_employerFICACostperyear.value = roundNum(r_employerFICACostperyear);

var r_employeeFICACostperyear = r_employeeFICACostSavingsperspacepermonth * r_Expectednumberofparkingspacesreduced * 12;
if (dynamicVersion) auxFormId2.r_employeeFICACostperyear.value = roundNum(r_employeeFICACostperyear);


var r_employerIncomeTaxperyear = roundNum(r_employerCorporateIncomeTaxSavingsperspacepermonth * r_Expectednumberofparkingspacesreduced * 12);
if (dynamicVersion) auxFormId3.r_employerIncomeTaxperyear.value = roundNum(r_employerIncomeTaxperyear);

var r_employeeIncomeTaxperyear = r_employeeCorporateIncomeTaxSavingsperspacepermonth * r_Expectednumberofparkingspacesreduced * 12;
if (dynamicVersion) auxFormId2.r_employeeIncomeTaxperyear.value = roundNum(r_employeeIncomeTaxperyear);


var r_employerNetCostSavingsperyear = roundNum(r_employerNetCostSavingsperspacepermonth * roundNum(r_Expectednumberofparkingspacesreduced) * 12);

if (dynamicVersion) auxFormId3.r_employerNetCostSavingsperyear.value = roundNum(r_employerNetCostSavingsperyear);

var r_employeeNetCostSavingsperyear = r_employeeNetCostSavingsperspacepermonth * r_Expectednumberofparkingspacesreduced * 12;
if (dynamicVersion) auxFormId2.r_employeeNetCostSavingsperyear.value = roundNum(r_employeeNetCostSavingsperyear);


// Potential Office Space Cost Savings

// note that there is no backwards relationship betwen r_numberoffulltimetelecommuters and r_PotentialNumberoffulltimetelecommuters
// i.e. r_PotentialNumberoffulltimetelecommuters does not set the value of r_numberoffulltimetelecommuters on change

// user override option
if (dynamicVersion) var r_PotentialNumberoffulltimetelecommuters = parseFloat(overrider_PotentialNumberoffulltimetelecommuters);
else r_PotentialNumberoffulltimetelecommuters = r_numberoffulltimetelecommuters;
if (isNaN(r_PotentialNumberoffulltimetelecommuters)) r_PotentialNumberoffulltimetelecommuters = r_numberoffulltimetelecommuters;// || r_PotentialNumberoffulltimetelecommuters == 0
if (dynamicVersion) auxFormId3.r_PotentialNumberoffulltimetelecommuters.value = roundNum(r_PotentialNumberoffulltimetelecommuters);

//mkwan
//var r_PotentialBuildingSpaceCost = auxFormId11.loctype.options[auxFormId11.loctype.selectedIndex].value;
var r_PotentialBuildingSpaceCost = auxFormId11.loctype.value;
//
//if (r_PotentialBuildingSpaceCost == "Urban") r_PotentialBuildingSpaceCost = 18.76;
//else if (r_PotentialBuildingSpaceCost == "Suburban") r_PotentialBuildingSpaceCost = 17.97;
//else r_PotentialBuildingSpaceCost = 0;
// values modified on 1/7/01
if (r_PotentialBuildingSpaceCost == "Exurban/Rural") r_PotentialBuildingSpaceCost = 17.97; //Suburban office park (low density)
else r_PotentialBuildingSpaceCost = 18.76; //Downtown central business district and Other urban (high density)


// user override option
if (dynamicVersion) var oldPotentialBuildingSpaceCost = parseFloat(overrider_PotentialBuildingSpaceCost);
else var oldPotentialBuildingSpaceCost = r_PotentialBuildingSpaceCost;
if (!isNaN(oldPotentialBuildingSpaceCost) && oldPotentialBuildingSpaceCost != 0) r_PotentialBuildingSpaceCost = oldPotentialBuildingSpaceCost;
//&& oldPotentialBuildingSpaceCost != 18 && oldPotentialBuildingSpaceCost != 19
if (isNaN(r_PotentialBuildingSpaceCost)) r_PotentialBuildingSpaceCost = 0;
if (dynamicVersion) auxFormId3.r_PotentialBuildingSpaceCost.value = roundNum(r_PotentialBuildingSpaceCost);

// 11/13/01
var r_Amountofofficespaceperemployee = 228;
if (dynamicVersion) r_Amountofofficespaceperemployee = parseFloat(auxFormId3.r_Amountofofficespaceperemployee.value);
if (isNaN(r_Amountofofficespaceperemployee)) r_Amountofofficespaceperemployee = 228;

var r_Amountofofficespacesaved = r_PotentialNumberoffulltimetelecommuters * r_Amountofofficespaceperemployee;
if (dynamicVersion) auxFormId3.r_Amountofofficespacesaved.value = roundNum(r_Amountofofficespacesaved);

//mkwan kill this variable
//var r_PotentialBuildingCostSavings = r_Amountofofficespacesaved * r_PotentialBuildingSpaceCost;
var r_PotentialBuildingCostSavings = 0;
if (dynamicVersion) auxFormId3.r_PotentialBuildingCostSavings.value = roundNum(r_PotentialBuildingCostSavings);


// here we save the dafault/calculated values for several user-modifiable fields
	 calcr_numberoffulltimetelecommuters = r_numberoffulltimetelecommuters; // user calc option
	 calcr_averagecostperhomeoffice = r_averagecostperhomeoffice; // user calc option
	 calcr_numberofbicycleparkingspaces = r_numberofbicycleparkingspaces; // user calc option
	 calcr_PotentialNumberoffulltimetelecommuters = r_PotentialNumberoffulltimetelecommuters; // user calc option
	 calcr_PotentialBuildingSpaceCost = r_PotentialBuildingSpaceCost; // user calc option
	 calcr_Expectedchangeinturnover = r_Expectedchangeinturnover; // user calc option
	 
// Direct Financial Effects update

if (directFinEffectsUpdate) writeDivMenu2();
directFinEffectsUpdate = false;

// #####################################################################################
// -  final results -  final results -  final results -  final results -  final results -  
// #####################################################################################
// This is the section that is being activated by passing "withSummary" as a value to
// this function's parameter detailLevel

if (detailLevel == "withSummary") {  

var f_Costofcommuteincentives = roundNum(r_costofcommuteincentives)
var f_Valueoffinancialincentives = roundNum(r_valueoffinancialincentives)
var f_CostofParkingCashOut = roundNum(r_costofparkingcashout)
var f_ValueofCashOutbenefit = roundNum(r_valueofcashoutbenefit)
var f_Costoftransitvanpoolbenefits = roundNum(r_costoftransitvanpoolbenefits)
var f_Valueoftransitvanpoolbenefits = roundNum(r_valueoftransitvanpoolbenefits)
var f_TaxsavingsfromreducedFICA = roundNum(employer_row[6]); //1/14/01  r_taxsavingsfromreducedFICA
var f_Valueoftaxsavingsfrompretaxtransitvanpoolbenefits = roundNum(employee_row[6]); //1/14/01  roundNum(r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits)

employerGraphValues[0] = f_Costofcommuteincentives;
employerGraphValues[1] = f_CostofParkingCashOut
employerGraphValues[2] = f_Costoftransitvanpoolbenefits

employeeGraphValues[0] = f_Valueoffinancialincentives
employeeGraphValues[1] = f_ValueofCashOutbenefit
employeeGraphValues[2] = f_Valueoftransitvanpoolbenefits

for (ee=0; ee<3; ee++) {
	if (isNaN(employerGraphValues[ee])) employerGraphValues[ee] = 0;
	if (isNaN(employeeGraphValues[ee])) employeeGraphValues[ee] = 0;
}
	

var f_Programadministrationtime = roundNum(r_programadministrationtime)
var f_AverageCostpermiledriving = roundNum((r_averagecostpermiledriving + 0.279))
var f_Annualprogramadministrationcost = roundNum(r_annualprogramadministrationcost)
var f_ReductionDrivingExpensesperemployeepermonth = roundNum(r_reductionindrivingexpensespermonthperemployee)
var f_Totalreductioninemployeedrivingexpensesyear = roundNum(r_totalreductioninemployeedrivingexpensesperyear)

var f_Costofhomeoffices = roundNum(r_totalcostofhomeoffices)
var f_Costofbicyclerackslockers = roundNum(r_costofbicyclerackslockers)

// important variables
//mkwan: remove home office costs
//var f_TotalEmployerCosts = roundNum(r_costofcommuteincentives + r_costofparkingcashout + r_costoftransitvanpoolbenefits + r_annualprogramadministrationcost + roundNum(r_totalcostofhomeoffices*0.381) + roundNum(r_costofbicyclerackslockers*0.110))
var f_TotalEmployerCosts = roundNum(r_costofcommuteincentives + r_costofparkingcashout + r_costoftransitvanpoolbenefits + r_annualprogramadministrationcost + roundNum(r_costofbicyclerackslockers*0.110) + employercostofvanpoolvouchers)
//alert(r_costofcommuteincentives + " . " + r_costofparkingcashout + " . " + r_costoftransitvanpoolbenefits +" . " +  r_annualprogramadministrationcost + " . " + roundNum(r_totalcostofhomeoffices*0.381) +" . " +  roundNum(r_costofbicyclerackslockers*0.110)) // 12/4
var f_DirectBenefittoEmployees = roundNum(r_valueoffinancialincentives + r_valueofcashoutbenefit + r_valueoftransitvanpoolbenefits + r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits +r_totalreductioninemployeedrivingexpensesperyear+valueofvanpoolvouchers )
// ^^^^^^^^^^^^^^^^^

var f_Percentagereductioninemployeeturnoverrate = roundNum(r_Expectedchangeinturnover);
var f_RecruitmentCostSavings = roundNum(r_RecruitmentandTrainingCostSavings);

var f_Expectednumberofparkingspacesreduced = roundNum(r_Expectednumberofparkingspacesreduced);
var f_PotentialParkingCostSavings = roundNum(r_employerNetCostSavingsperyear);

var f_BuildingSpaceCost = roundNum(r_PotentialBuildingSpaceCost);
var f_PotentialBuildingCostSavings = roundNum(r_PotentialBuildingCostSavings);

var f_Percentchangeinproductivityperemployeetelecommuting = roundNum(r_Percentchangeinproductivityperemployeetelecommuting);
var f_IncreasedProductivity = roundNum(r_IncreasedProductivity);

var f_Reducedcommutevehicletrips = r_Reducedcommutevehicletrips;
var f_Reducedcommutevehiclemileage = r_Reducedcommutevehiclemileage;
var f_Reducedgallonsofmotorfuelconsumed = r_Reducedgallonsofmotorfuelconsumed;
var f_Reducedbarrelsofcrudeoilused = r_Reducedbarrelsofcrudeoilused;
var f_ReducedCO = r_CO;
var f_ReducedVOC = r_VOC;
var f_ReducedNOx = r_NOx
var f_ReducedPM = r_PM
var f_ReducedSOx = r_SOx
var f_ReducedCO2 = r_CO2
var f_ReducedCH4 = r_CH4
var f_ReducedN20 = r_N20

// important variables
var f_TotalPotentialEmployerCostSavings = roundNum(r_employerNetCostSavingsperyear + f_RecruitmentCostSavings + f_PotentialBuildingCostSavings + f_IncreasedProductivity)
var ff_DirectEmployerSavings = f_TaxsavingsfromreducedFICA;
var ff_PotentialFacilityCostSavings = f_PotentialParkingCostSavings + f_PotentialBuildingCostSavings;
var ff_RecruitmentProductivityBenefits = f_RecruitmentCostSavings + f_IncreasedProductivity;
var ff_NetEmployerCost = roundNum(f_TotalEmployerCosts) - roundNum(ff_DirectEmployerSavings) - roundNum(ff_PotentialFacilityCostSavings) - roundNum(ff_RecruitmentProductivityBenefits) 

var f_NetEmployerCost = roundNum(f_TotalPotentialEmployerCostSavings) - roundNum(f_TotalEmployerCosts)
// ^^^^^^^^^^^^^^^^^

// mySubSection holds the code for DIRECT FINANCIAL EFFECTS FROM TRANSIT/VANPOOL BENEFITS
// which is appended to the Overall Summary depending on specified condition
var mySubSection = "<table border=1 width=640>"
mySubSection += "<tr><th colspan=7 align=center bgcolor='#990099'>"
mySubSection += "<strong>DIRECT FINANCIAL EFFECTS FROM Employer-Paid TRANSIT/VANPOOL BENEFITS <br> Comparison of Transit/Vanpool Benefit vs. Salary Increase</strong>"
mySubSection += "</td></tr>"
mySubSection += "<tr><td colspan=7 align=center><br>"
mySubSection += "<strong>Per Employee Receiving Benefit, per month:</strong>"
mySubSection += "</td></tr>"
mySubSection += "<tr>"
mySubSection += "<td colspan=3 align=center><br><strong>Employer Comparison</strong></td><td width=10></td>"
mySubSection += "<td colspan=3 align=center><br><strong>Employee Comparison</strong></td>"
mySubSection += "</tr>"
mySubSection += "<tr>"
mySubSection += "<td></td><td align=center>Salary Increase</td><td align=center>Transit Benefit</td><td width=10></td>"
mySubSection += "<td></td><td align=center>Salary Increase</td><td align=center>Transit Benefit</td>"
mySubSection += "</tr>"

var directCost1 = c_EmployerprovidedTaxfreeVoucherCost;
var directCost2 = directCost1;
var directBenefit1 = c_EmployerprovidedTaxfreeVoucherCost;
var directBenefit2 = directBenefit1;
mySubSection += "<tr>"
mySubSection += "<td width=200>Direct Cost</td><td width=60 align=right>$&nbsp;"+numFormat(Math.round(directCost2),false)+"</td><td width=60 align=right>$&nbsp;"+numFormat(Math.round(directCost1*100)/100,false)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td width=200>Direct Benefit</td><td width=60 align=right>$&nbsp;"+numFormat(Math.round(directBenefit2),false)+"</td><td width=60 align=right>$&nbsp;"+numFormat(Math.round(directBenefit1*100)/100,false)+"</td>"
mySubSection += "</tr>"

var FICACost1 = 0;
	if (directCost1>g_TaxFreeLimit) FICACost1 = (directCost1 - g_TaxFreeLimit) * averagemarginalfica; //modified on 1/8/02
var FICACost2 = 0;
	if (g_orgType == "Government") FICACost2 += 0.0145 * directCost1;
	else FICACost2 += directCost1 * averagemarginalfica;
var FICABenefit1 = FICACost1;
var FICABenefit2 = FICACost2;
mySubSection += "<tr>"
mySubSection += "<td>FICA Cost</td><td align=right>$&nbsp;"+numFormat(Math.round(FICACost2*100)/100,false)+"</td><td align=right>$&nbsp;"+numFormat(Math.round(FICACost1*100)/100,false)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td>FICA Cost</td><td align=right>$&nbsp;"+numFormat(Math.round(FICABenefit2*100)/100,false)+"</td><td align=right>$&nbsp;"+numFormat(Math.round(FICABenefit1*100)/100,false)+"</td>"
mySubSection += "</tr>"

var CorporateIncomeTax1 = 0; // Transit Benefit
	if (g_orgType == "For-profit") 
		CorporateIncomeTax1 += (-1)*marginalcorporatetaxrate*(directCost1+FICACost1); // = (Corporate tax rate) x (Direct Cost + FICA Cost). // 1/8/02
var CorporateIncomeTax2 = 0; // Salary Increase
	if (g_orgType == "For-profit") 
		CorporateIncomeTax2 += (-1)*marginalcorporatetaxrate*directCost2;
var IncomeTax1 = 0;
	if (directBenefit1>g_TaxFreeLimit) IncomeTax1 = (directBenefit1 - g_TaxFreeLimit) * employeemarginalincometaxrate; //modified on 1/8/02
var IncomeTax2 = employeemarginalincometaxrate * directBenefit2;
mySubSection += "<tr>"
mySubSection += "<td>Corporate Income Tax Savings</td><td align=right>$&nbsp;"+numFormat(Math.round(CorporateIncomeTax2*100)/100,false)+"</td><td align=right>$&nbsp;"+numFormat(Math.round(CorporateIncomeTax1*100)/100,false)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td>Income Tax</td><td align=right>$&nbsp;"+numFormat(Math.round(IncomeTax2*100)/100,false)+"</td><td align=right>$&nbsp;"+numFormat(Math.round(IncomeTax1*100)/100,false)+"</td>"
mySubSection += "</tr>"

var NetCost1 = Math.round((directCost1 + FICACost1 + CorporateIncomeTax1)*100)/100
var NetCost2 = Math.round((directCost2 + FICACost2 + CorporateIncomeTax2)*100)/100
var NetBenefit1 = Math.round((directBenefit1 - FICABenefit1 - IncomeTax1)*100)/100
var NetBenefit2 = Math.round((directBenefit2 - FICABenefit2 - IncomeTax2)*100)/100
mySubSection += "<tr>"
mySubSection += "<td>Net Cost</td><td align=right>$&nbsp;"+numFormat(NetCost2,false)+"</td><td align=right>$&nbsp;"+numFormat(NetCost1,false)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td>Net Benefit</td><td align=right>$&nbsp;"+numFormat(NetBenefit2,false)+"</td><td align=right>$&nbsp;"+numFormat(NetBenefit1,false)+"</td>"
mySubSection += "</tr>"

var EmployerSavings1 = Math.round((NetCost2 - NetCost1)*100)/100;
var EmployeeSavings1 = Math.round((NetBenefit1 - NetBenefit2)*100)/100;
mySubSection += "<tr>"
mySubSection += "<td colspan=2>Employer Savings (per month):</td><td align=right>$&nbsp;"+numFormat(EmployerSavings1,false)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td colspan=2>Employee Savings (per month):</td><td align=right>$&nbsp;"+numFormat(EmployeeSavings1,false)+"</td>"
mySubSection += "</tr>"
mySubSection += "</table>"
mySubSection += "<br>"
mySubSection += "<table border=1 width=640>"
mySubSection += "<tr><td colspan=7 align=center><br>"
mySubSection += "<strong>For Employment Site, per year:</strong>"
mySubSection += "</td></tr>"
mySubSection += "<tr>"
mySubSection += "<td colspan=3 align=center><br><strong>Total for Employer</strong></td><td width=10></td>"
mySubSection += "<td colspan=3 align=center><br><strong>Total for Employees</strong></td>"
mySubSection += "</tr>"
mySubSection += "<tr>"
mySubSection += "<td></td><td align=center>Salary Increase</td><td align=center>Transit Benefit</td><td width=10></td>"
mySubSection += "<td></td><td align=center>Salary Increase</td><td align=center>Transit Benefit</td>"
mySubSection += "</tr>"

var directCostTotal1 = roundNum((directCost1 * expectedtotalnumberofemployees * 12));
var directCostTotal2 = roundNum((directCost2 * expectedtotalnumberofemployees * 12));
var directBenefitTotal1 = roundNum((directBenefit1 * expectedtotalnumberofemployees * 12));
var directBenefitTotal2 = roundNum((directBenefit2 * expectedtotalnumberofemployees * 12));
mySubSection += "<tr>"
mySubSection += "<td width=200>Direct Cost</td><td width=60 align=right>$&nbsp;"+numFormat(directCostTotal2)+"</td><td width=60 align=right>$&nbsp;"+numFormat(directCostTotal1)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td width=200>Direct Benefit</td><td width=60 align=right>$&nbsp;"+numFormat(directBenefitTotal2)+"</td><td width=60 align=right>$&nbsp;"+numFormat(directBenefitTotal1)+"</td>"
mySubSection += "</tr>"

var FICACostTotal1 = roundNum((FICACost1 * expectedtotalnumberofemployees * 12));
var FICACostTotal2 = roundNum((FICACost2 * expectedtotalnumberofemployees * 12));
var FICABenefitTotal1 = roundNum((FICABenefit1 * expectedtotalnumberofemployees * 12));
var FICABenefitTotal2 = roundNum((FICABenefit2 * expectedtotalnumberofemployees * 12));
mySubSection += "<tr>"
mySubSection += "<td>FICA Cost</td><td align=right>$&nbsp;"+numFormat(FICACostTotal2)+"</td><td align=right>$&nbsp;"+numFormat(FICACostTotal1)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td>FICA Cost</td><td align=right>$&nbsp;"+numFormat(FICABenefitTotal2)+"</td><td align=right>$&nbsp;"+numFormat(FICABenefitTotal1)+"</td>"
mySubSection += "</tr>"

var CorporateIncomeTaxTotal1 = roundNum((CorporateIncomeTax1 * expectedtotalnumberofemployees * 12));
var CorporateIncomeTaxTotal2 = roundNum((CorporateIncomeTax2 * expectedtotalnumberofemployees * 12));
var IncomeTaxTotal1 = roundNum((IncomeTax1 * expectedtotalnumberofemployees * 12));
var IncomeTaxTotal2 = roundNum((IncomeTax2 * expectedtotalnumberofemployees * 12));
mySubSection += "<tr>"
mySubSection += "<td>Corporate Income Tax Savings</td><td align=right>$&nbsp;"+numFormat(CorporateIncomeTaxTotal2)+"</td><td align=right>$&nbsp;"+numFormat(CorporateIncomeTaxTotal1)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td>Income Tax</td><td align=right>$&nbsp;"+numFormat(IncomeTaxTotal2)+"</td><td align=right>$&nbsp;"+numFormat(IncomeTaxTotal1)+"</td>"
mySubSection += "</tr>"

var NetCostTotal1 = roundNum((directCostTotal1 + FICACostTotal1 + CorporateIncomeTaxTotal1));
var NetCostTotal2 = roundNum((directCostTotal2 + FICACostTotal2 + CorporateIncomeTaxTotal2));
var NetBenefitTotal1 = roundNum((directBenefitTotal1 - FICABenefitTotal1 - IncomeTaxTotal1));
var NetBenefitTotal2 = roundNum((directBenefitTotal2 - FICABenefitTotal2 - IncomeTaxTotal2));
mySubSection += "<tr>"
mySubSection += "<td>Net Cost</td><td align=right>$&nbsp;"+numFormat(NetCostTotal2)+"</td><td align=right>$&nbsp;"+numFormat(NetCostTotal1)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td>Net Benefit</td><td align=right>$&nbsp;"+numFormat(NetBenefitTotal2)+"</td><td align=right>$&nbsp;"+numFormat(NetBenefitTotal1)+"</td>"
mySubSection += "</tr>"

var EmployerSavingsTotal1 = NetCostTotal2 - NetCostTotal1;
var EmployeeSavingsTotal1 = NetBenefitTotal1 - NetBenefitTotal2;
mySubSection += "<tr>"
mySubSection += "<td colspan=2>Total Employer Savings (per year):</td><td align=right>$&nbsp;"+numFormat(EmployerSavingsTotal1)+"</td>"
mySubSection += "<td></td>"
mySubSection += "<td colspan=2>Total Employee Savings (per year):</td><td align=right>$&nbsp;"+numFormat(EmployeeSavingsTotal1)+"</td>"
mySubSection += "</tr>"
mySubSection += "</table>"


// mySubSection2 holds the code for POTENTIAL PARKING COST SAVINGS
// which is appended to the Overall Summary depending on specified condition
var mySubSection2 = "<table border=1 width=640>"
mySubSection2 += "<tr><th colspan=7 align=center bgcolor='#990099'>"
mySubSection2 += "<strong>POTENTIAL PARKING COST SAVINGS</strong>"
mySubSection2 += "</td></tr>"

mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=3 align=center></td><td width=10></td>"
mySubSection2 += "<td width=240 colspan=2 rowspan=10 valign=top>Note: These savings are representative of the potential cost savings that could be achieved by reducing the number of parking spaces leased OR by reducing the need to lease or construct additional parking. Actual cost savings will depend on current parking conditions and the ability to reduce the number of spaces leased or owned.</td>"
mySubSection2 += "<td rowspan=10 width=60></td></tr>"

mySubSection2 += "<tr>"
mySubSection2 += "<td width=280 colspan=2 align=right><strong>Expected # of spaces reduced:</strong></td><td width=60><strong>"+numFormat(roundNum(r_Expectednumberofparkingspacesreduced))+"</strong></td>"
mySubSection2 += "<td></td>"
mySubSection2 += "</tr>"

mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=3 align=center><br><strong>Employer Savings per Parking Space, per month:</strong></td>"
mySubSection2 += "</tr>"
mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=2 align=right>Direct Cost Savings</td><td width=60>$&nbsp;"+numFormat(roundNum(r_employerDirectCostSavingsperspacepermonth))+"</td>"
mySubSection2 += "<td></td>"
mySubSection2 += "</tr>"
mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=2 align=right>Corporate Income Tax </td><td width=60>$&nbsp;"+numFormat(roundNum(r_employerCorporateIncomeTaxSavingsperspacepermonth))+"</td>"
mySubSection2 += "<td></td>"
mySubSection2 += "</tr>"
mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=2 align=right>Net Cost Savings</td><td width=60><strong>$&nbsp;"+numFormat(roundNum(r_employerNetCostSavingsperspacepermonth))+"</strong></td>"
mySubSection2 += "<td></td>"
mySubSection2 += "</tr>"

mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=3 align=center><br><strong>Total Savings for Employer, per year:</strong></td>"
mySubSection2 += "</tr>"
mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=2 align=right>Direct Cost Savings</td><td width=60>$&nbsp;"+numFormat(r_employerDirectCostSavingsperyear)+"</td>"
mySubSection2 += "<td></td>"
mySubSection2 += "</tr>"
mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=2 align=right>Corporate Income Tax </td><td width=60>$&nbsp;"+numFormat(r_employerIncomeTaxperyear)+"</td>"
mySubSection2 += "<td></td>"
mySubSection2 += "</tr>"
mySubSection2 += "<tr>"
mySubSection2 += "<td colspan=2 align=right>Net Cost Savings</td><td width=60><strong>$&nbsp;"+numFormat(r_employerNetCostSavingsperyear)+"</strong></td>"
mySubSection2 += "<td></td>"
mySubSection2 += "</tr>"
mySubSection2 += "</table>"


// mySubSection3 holds the code for Costs and Value of Cash Income in lieu of Parking
// which is appended to the Overall Summary depending on specified condition
var mySubSection3 = "<table border=1 width=640>"
mySubSection3 += "<tr><th colspan=5 align=left bgcolor='#990099'>"
mySubSection3 += "<strong>Costs and Value of Cash Income in lieu of Parking </strong>"
mySubSection3 += "</td></tr>"
mySubSection3 += "<tr><td colspan=7 align=center><br>"
mySubSection3 += "<strong>Per Employee Receiving Benefit, per month:</strong>"
mySubSection3 += "</td></tr>"

mySubSection3 += "<tr>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Direct Cost to Employer</strong></td><td width=10></td>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Value of Employee Benefit</strong></td>"
mySubSection3 += "</tr>"

cops01 = c_CashOutperSpace;
cops02 = cops01;
mySubSection3 += "<tr>"
mySubSection3 += "<td width=260>Cash Out per Space ($/month-space)</td><td width=60>$&nbsp;"+numFormat(Math.round(cops01*100)/100,false)+"</td><td></td>"
mySubSection3 += "<td width=260>Cash Out per Space ($/month-space)</td><td width=60>$&nbsp;"+numFormat(Math.round(cops02*100)/100,false)+"</td>"
mySubSection3 += "</tr>"

ficac01 = cops01 * averagemarginalfica;
ficac02 = (-1)*ficac01;
mySubSection3 += "<tr>"
mySubSection3 += "<td>FICA Cost</td><td>$&nbsp;"+numFormat(Math.round(ficac01*100)/100,false)+"</td><td></td>"
mySubSection3 += "<td>FICA Cost</td><td>$&nbsp;"+numFormat(Math.round(ficac02*100)/100,false)+"</td>"
mySubSection3 += "</tr>"

it01 = (-1) * cops01 * marginalcorporatetaxrate;
it02 = (-1) * cops01 * employeemarginalincometaxrate
mySubSection3 += "<tr>"
mySubSection3 += "<td>Corporate Income Tax Savings</td><td>$&nbsp;"+numFormat(Math.round(it01*100)/100,false)+"</td><td></td>"
mySubSection3 += "<td>Income Tax</td><td>$&nbsp;"+numFormat(Math.round(it02*100)/100,false)+"</td>"
mySubSection3 += "</tr>"

nc01 = cops01 + ficac01 + it01;
nc02 = cops02 + ficac02 + it02;
mySubSection3 += "<tr>"
mySubSection3 += "<td>Net Cost</td><td>$&nbsp;"+numFormat(Math.round(nc01*100)/100,false)+"</td><td></td>"
mySubSection3 += "<td>Net Income</td><td>$&nbsp;"+numFormat(Math.round(nc02*100)/100,false)+"</td>"
mySubSection3 += "</tr>"

mySubSection3 += "<tr><td colspan=7 align=center><br>"
mySubSection3 += "<strong>For Employer, per year:</strong>"
mySubSection3 += "</td></tr>"

mySubSection3 += "<tr>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Direct Cost to Employer</strong></td><td width=10></td>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Value of Employee Benefit</strong></td>"
mySubSection3 += "</tr>"

cops03 = cops01 * c_SpacesCashedOut * 12;
cops04 = cops02 * c_SpacesCashedOut * 12;
mySubSection3 += "<tr>"
mySubSection3 += "<td width=260>Cash Out ($/year)</td><td width=60>$&nbsp;"+numFormat(cops03)+"</td><td></td>"
mySubSection3 += "<td width=260>Cash Out (Additional Taxable Income)</td><td width=60>$&nbsp;"+numFormat(cops04)+"</td>"
mySubSection3 += "</tr>"

ficac03 = ficac01 * c_SpacesCashedOut * 12;
ficac04 = ficac02 * c_SpacesCashedOut * 12;
mySubSection3 += "<tr>"
mySubSection3 += "<td>FICA Cost</td><td>$&nbsp;"+numFormat(ficac03)+"</td><td></td>"
mySubSection3 += "<td>FICA Cost</td><td>$&nbsp;"+numFormat(ficac04)+"</td>"
mySubSection3 += "</tr>"

it03 = it01 * c_SpacesCashedOut * 12;
it04 = it02 * c_SpacesCashedOut * 12;
mySubSection3 += "<tr>"
mySubSection3 += "<td>Income Tax</td><td>$&nbsp;"+numFormat(it03)+"</td><td></td>"
mySubSection3 += "<td>Income Tax</td><td>$&nbsp;"+numFormat(it04)+"</td>"
mySubSection3 += "</tr>"

nc03 = nc01 * c_SpacesCashedOut * 12;
nc04 = nc02 * c_SpacesCashedOut * 12;
mySubSection3 += "<tr>"
mySubSection3 += "<td>Net Cost</td><td>$&nbsp;"+numFormat(nc03)+"</td><td></td>"
mySubSection3 += "<td>Net Income</td><td>$&nbsp;"+numFormat(nc04)+"</td>"
mySubSection3 += "</tr>"

mySubSection3 += "</table><br>"

// Potential Parking Cost Savings (Effect of Switching from Driving to Another Mode):

/*mySubSection3 += "<table border=1 width=640>"
mySubSection3 += "<tr><th colspan=5 align=left bgcolor='#990099'>"
mySubSection3 += "<strong>Potential Parking Cost Savings (Effect of Switching from Driving to Another Mode):</strong>"
mySubSection3 += "</td></tr>"
mySubSection3 += "<tr><td colspan=7 align=center><br>"
mySubSection3 += "<strong>Per Parking Space, per month:</strong>"
mySubSection3 += "</td></tr>"

mySubSection3 += "<tr>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Employer Savings per Space Eliminated</strong></td><td width=10></td>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Employee No Longer Parking</strong></td>"
mySubSection3 += "</tr>"

mySubSection3 += "<tr>"
mySubSection3 += "<td width=260>Direct Cost Savings</td><td width=60>$&nbsp;"+numFormat(roundNum(r_employerDirectCostSavingsperspacepermonth*100)/100)+"</td><td></td>"
mySubSection3 += "<td width=260>Direct Cost Savings</td><td width=60>$&nbsp;"+numFormat(roundNum(r_employeeDirectCostSavingsperspacepermonth*100)/100)+"</td>"
mySubSection3 += "</tr>"
mySubSection3 += "<tr>"
mySubSection3 += "<td>FICA Cost Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employerFICACostSavingsperspacepermonth*100)/100)+"</td><td></td>"
mySubSection3 += "<td>FICA Cost Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employeeFICACostSavingsperspacepermonth*100)/100)+"</td>"
mySubSection3 += "</tr>"
mySubSection3 += "<tr>"
mySubSection3 += "<td>Corporate Income Tax Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employerCorporateIncomeTaxSavingsperspacepermonth*100)/100)+"</td><td></td>"
mySubSection3 += "<td>Income Tax Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employeeCorporateIncomeTaxSavingsperspacepermonth*100)/100)+"</td>"
mySubSection3 += "</tr>"
mySubSection3 += "<tr>"
mySubSection3 += "<td>Net Cost Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employerNetCostSavingsperspacepermonth*100)/100)+"</td><td></td>"
mySubSection3 += "<td>Net Cost Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employeeNetCostSavingsperspacepermonth*100)/100)+"</td>"
mySubSection3 += "</tr>"


mySubSection3 += "<tr><td colspan=7 align=center><br>"
mySubSection3 += "<strong>For Employer, per year:</strong>"
mySubSection3 += "</td></tr>"

mySubSection3 += "<tr>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Total for Employer</strong></td><td width=10></td>"
mySubSection3 += "<td colspan=2 align=center><br><strong>Total for Employees</strong></td>"
mySubSection3 += "</tr>"

mySubSection3 += "<tr>"
mySubSection3 += "<td width=260>Direct Cost Savings</td><td width=60>$&nbsp;"+numFormat(roundNum(r_employerDirectCostSavingsperyear*100)/100)+"</td><td></td>"
mySubSection3 += "<td width=260>Direct Cost Savings</td><td width=60>$&nbsp;"+numFormat(roundNum(r_employeeDirectCostSavingsperyear*100)/100)+"</td>"
mySubSection3 += "</tr>"
mySubSection3 += "<tr>"
mySubSection3 += "<td>FICA Cost</td><td>$&nbsp;"+numFormat(roundNum(r_employerFICACostperyear*100)/100)+"</td><td></td>"
mySubSection3 += "<td>FICA Cost</td><td>$&nbsp;"+numFormat(roundNum(r_employeeFICACostperyear*100)/100)+"</td>"
mySubSection3 += "</tr>"
mySubSection3 += "<tr>"
mySubSection3 += "<td>Corporate Income Tax</td><td>$&nbsp;"+numFormat(roundNum(r_employerIncomeTaxperyear*100)/100)+"</td><td></td>"
mySubSection3 += "<td>Income Tax</td><td>$&nbsp;"+numFormat(roundNum(r_employeeIncomeTaxperyear*100)/100)+"</td>"
mySubSection3 += "</tr>"
mySubSection3 += "<tr>"
mySubSection3 += "<td>Net Cost Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employerNetCostSavingsperyear*100)/100)+"</td><td></td>"
mySubSection3 += "<td>Net Cost Savings</td><td>$&nbsp;"+numFormat(roundNum(r_employeeNetCostSavingsperyear*100)/100)+"</td>"
mySubSection3 += "</tr>"

mySubSection3 += "</table>"*/


// mySubSection3 holds the code for Employee Pre-Tax Transit/Vanpool Expenses
// which is appended to the Overall Summary depending on specified condition

var mySubSection4 = "<table border=1 width=640>"
mySubSection4 += "<tr><th colspan=5 align=left bgcolor='#990099'>"
mySubSection4 += "<strong>EMPLOYEE PAID PRE-TAX BENEFIT<br>Cost Savings From Reserving Income On Pre-tax Basis.</strong>"
mySubSection4 += "</td></tr>"

mySubSection4 += "<tr><td colspan=7>"
mySubSection4 += "Income reserved on a pre-tax basis: <strong>$"+numFormat(Math.round(employer_row[0]),false)+"</strong>"
mySubSection4 += "</td></tr>"

mySubSection4 += "<tr><td colspan=7 align=center><br>"
mySubSection4 += "</td></tr>"

mySubSection4 += "<tr><td colspan=7 align=center><br>"
mySubSection4 += "<strong>Per Employee Taking Pre-tax Benefit, per month:</strong>"
mySubSection4 += "</td></tr>"

mySubSection4 += "<tr>"
mySubSection4 += "<td colspan=2 align=center><br><strong>Employer Savings</strong></td><td width=10></td>"
mySubSection4 += "<td colspan=2 align=center><br><strong>Employee Savings</strong></td>"
mySubSection4 += "</tr>"
mySubSection4 += "<tr>"
mySubSection4 += "<tr>"
mySubSection4 += "<td>FICA Cost Savings</td><td>$&nbsp;"+numFormat(Math.round(employer_row[1]*100)/100,false)+"</td><td></td>"
mySubSection4 += "<td>FICA Cost Savings</td><td>$&nbsp;"+numFormat(Math.round(employee_row[1]*100)/100,false)+"</td>"
mySubSection4 += "</tr>"
mySubSection4 += "<tr>"
mySubSection4 += "<td>Corporate Income Tax Savings Lost</td><td>$&nbsp;"+numFormat(Math.round(employer_row[2]*100)/100,false)+"</td><td></td>"
mySubSection4 += "<td>Income Tax Savings</td><td>$&nbsp;"+numFormat(Math.round(employee_row[2]*100)/100,false)+"</td>"
mySubSection4 += "</tr>"
mySubSection4 += "<tr>"
mySubSection4 += "<td>Total Tax Savings (per month)</td><td>$&nbsp;"+numFormat(Math.round(employer_row[3]*100)/100,false)+"</td><td></td>"
mySubSection4 += "<td>Total Tax Savings (per month)</td><td>$&nbsp;"+numFormat(Math.round(employee_row[3]*100)/100,false)+"</td>"
mySubSection4 += "</tr>"

mySubSection4 += "<tr><td colspan=7 align=center><br>"
mySubSection4 += "<strong>For Employment Site, per year:</strong>"
mySubSection4 += "</td></tr>"

mySubSection4 += "<tr>"
mySubSection4 += "<td colspan=2 align=center><br><strong>Employer Savings</strong></td><td width=10></td>"
mySubSection4 += "<td colspan=2 align=center><br><strong>Employees Savings</strong></td>"
mySubSection4 += "</tr>"
mySubSection4 += "<tr>"
mySubSection4 += "<td>FICA Cost Savings</td><td>$&nbsp;"+numFormat(employer_row[4])+"</td><td></td>"
mySubSection4 += "<td>FICA Cost Savings</td><td>$&nbsp;"+numFormat(employee_row[4])+"</td>"
mySubSection4 += "</tr>"
mySubSection4 += "<tr>"
mySubSection4 += "<td>Corporate Income Tax Savings Lost</td><td>$&nbsp;"+numFormat(employer_row[5])+"</td><td></td>"
mySubSection4 += "<td>Income Tax Savings</td><td>$&nbsp;"+numFormat(employee_row[5])+"</td>"
mySubSection4 += "</tr>"
mySubSection4 += "<tr>"
mySubSection4 += "<td>Total Tax Savings (per year)</td><td>$&nbsp;"+numFormat(employer_row[6],1)+"</td><td></td>"
mySubSection4 += "<td>Total Tax Savings (per year)</td><td>$&nbsp;"+numFormat(employee_row[6],1)+"</td>"
mySubSection4 += "</tr>"

mySubSection4 += "</table><br>"


// Detailed Financial Effects from Parking Cash Out
var mySubSection3header = ""
/*mySubSection3header += "<table border=1 width=640>"
mySubSection3header += "<tr><th colspan=5 align=left bgcolor='#990099'>"
mySubSection3header += "<strong>Detailed Financial Effects from Parking Cash Out</strong>"
mySubSection3header += "</td></tr>"

mySubSection3header += "<tr>"
mySubSection3header += "<td colspan=2 width=320 align=center><br><strong>Overview</strong></td>"
mySubSection3header += "<td colspan=3 width=330 rowspan=4></td>"
mySubSection3header += "</tr>"

mySubSection3header += "<tr>"
mySubSection3header += "<td width=260>Cost of Providing Cash in lieu of Parking</td><td width=60>$&nbsp;"+numFormat(roundNum(nc03*100)/100)+"</td>"
mySubSection3header += "</tr>"
mySubSection3header += "<tr>"
mySubSection3header += "<td>Savings from Reduced Parking Costs</td><td>$&nbsp;"+numFormat(roundNum(r_employerNetCostSavingsperyear*100)/100)+"</td>"
mySubSection3header += "</tr>"
mySubSection3header += "<tr>"
mySubSection3header += "<td><strong>Net Savings</strong></td><td><strong>$&nbsp;"+numFormat(roundNum((r_employerNetCostSavingsperyear-nc03)*100)/100)+"</strong></td>"
mySubSection3header += "</tr>"

mySubSection3header += "</table><br>"*/

mySubSection3 = mySubSection3header + mySubSection3

// *****************************************
// myHTML holds the main sections of the OVERALL SUMMARY tables

//mkwan: start html output

if (myVersion != "multitab") {
myHTML = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
myHTML += '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'
myHTML += '<head><title>IE511.org : Employer Services : Rideshare Benefits Calculator Results</title>'
myHTML += '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'
myHTML += '<meta name="Keywords" content="RCTC, SANBAG, Riverside County Transportation Commission, San Bernardino Associated Governments, IE511, Inland Empire, Rideshare, Traffic" />'
myHTML += '<meta name="Description" content="Rideshare Benefits Calculator Results" />'
myHTML += '<link href="/rbc/rbcResults_styles.css" rel="stylesheet" type="text/css" />'
myHTML += '<script language="JavaScript" type="text/javascript" src="/rbc/calculator.js"></script>'
myHTML += '</head><body>'
transitVanpoolDetails = '';
parkingCashOutIncentives = '';
}

else {
myHTML = '';
transitVanpoolDetails = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
transitVanpoolDetails += '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'
transitVanpoolDetails += '<head><title>IE511.org : Employer Services : Rideshare Benefits Calculator Details</title>'
transitVanpoolDetails += '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'
transitVanpoolDetails += '<meta name="Keywords" content="RCTC, SANBAG, Riverside County Transportation Commission, San Bernardino Associated Governments, IE511, Inland Empire, Rideshare, Traffic" />'
transitVanpoolDetails += '<meta name="Description" content="Rideshare Benefits Calculator Details" />'
transitVanpoolDetails += '<link href="/rbc/rbcResults_styles.css" rel="stylesheet" type="text/css" />'
transitVanpoolDetails += '<script language="JavaScript" type="text/javascript" src="/rbc/calculator.js"></script>'
transitVanpoolDetails += '</head><body>'
parkingCashOutIncentives = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
parkingCashOutIncentives += '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'
parkingCashOutIncentives += '<head><title>IE511.org : Employer Services : Rideshare Benefits Calculator Details</title>'
parkingCashOutIncentives += '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'
parkingCashOutIncentives += '<meta name="Keywords" content="RCTC, SANBAG, Riverside County Transportation Commission, San Bernardino Associated Governments, IE511, Inland Empire, Rideshare, Traffic" />'
parkingCashOutIncentives += '<meta name="Description" content="Rideshare Benefits Calculator Details" />'
parkingCashOutIncentives += '<link href="/rbc/rbcResults_styles.css" rel="stylesheet" type="text/css" />'
parkingCashOutIncentives += '<script language="JavaScript" type="text/javascript" src="/rbc/calculator.js"></script>'
parkingCashOutIncentives += '</head><body>'
employeePreTaxDetails = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
employeePreTaxDetails += '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'
employeePreTaxDetails += '<head><title>IE511.org : Employer Services : Rideshare Benefits Calculator Details</title>'
employeePreTaxDetails += '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'
employeePreTaxDetails += '<meta name="Keywords" content="RCTC, SANBAG, Riverside County Transportation Commission, San Bernardino Associated Governments, IE511, Inland Empire, Rideshare, Traffic" />'
employeePreTaxDetails += '<meta name="Description" content="Rideshare Benefits Calculator Details" />'
employeePreTaxDetails += '<link href="/rbc/rbcResults_styles.css" rel="stylesheet" type="text/css" />'
employeePreTaxDetails += '<script language="JavaScript" type="text/javascript" src="/rbc/calculator.js"></script>'
employeePreTaxDetails += '</head><body>'
}

// ********************************** populate any details subsections
transitVanpoolDetails += mySubSection;
parkingCashOutIncentives += mySubSection3;
employeePreTaxDetails += mySubSection4;
// **********************************

myHTML += '<table class="rbcResultsTable" summary="For the commuter benefits you selected, below is a summary of costs and benefits for your organization, your employees, and your community.">'
myHTML += '<thead><tr><td class="rbcResultsCell"><p>For the commuter benefits you selected, below is a summary of costs and benefits for '+dispOrgName+', your employees, and your community.</p><p>&nbsp;</p></td></tr></thead><tbody>'

// Section 1: Overview of Total Annual Costs and Benefits

summaryHTML = '<tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h1>Overview of Total Annual Costs and Benefits</h1></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell"><tr><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Costs and Savings">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Costs and Savings</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(10)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Employer Costs (annualized)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_TotalEmployerCosts)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Direct Employer Savings</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(ff_DirectEmployerSavings)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Potential Savings from Reduced Parking Demand</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;('+numFormat(ff_PotentialFacilityCostSavings)+')</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Recruitment and Productivity Benefits</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;('+numFormat(ff_RecruitmentProductivityBenefits)+')</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>&nbsp;</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><hr /></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p><strong>Net Employer Cost (Savings)</strong></p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p><strong>$&nbsp;'+numFormat(ff_NetEmployerCost)+'</strong></p></td></tr>'
summaryHTML += '</table></td></tr></table></td><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Employee Benefits">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Employee Benefits</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(11)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p><strong>Direct Annual Benefit to All Employees</strong></p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p><strong>$&nbsp;'+numFormat(f_DirectBenefittoEmployees)+'</strong></p></td></tr>'
summaryHTML += '</table></td></tr></table><br /><p>'

if (ff_NetEmployerCost<0) {
summaryHTML += 'This benefit package could result in a net savings for you, '+dispOrgName+', while providing substantial benefits to your employees.'
}

else if (ff_NetEmployerCost != 0) {
summaryHTML += 'Each $1.00 invested by the employer on the selected commuter benefits produces $'+numFormat(f_DirectBenefittoEmployees/ff_NetEmployerCost)+' of employee benefits.'
}

else {
summaryHTML += '&nbsp;'
}

summaryHTML += '</p></td></tr></table></td></tr></table></td></tr>'

// Section 2: Direct Costs and Savings

summaryHTML += '<tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h1>Direct Costs and Savings</h1></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell"><tr><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Costs and Benefits">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Costs and Benefits</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(12)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'

var groupsumemployebenefitstotal = f_Valueoftransitvanpoolbenefits;

if (coreBenefits[1] == "x" || supportBenefits[3] == "x") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Cost of Parking Cash Out ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_CostofParkingCashOut)+'</p></td></tr>'
groupsumemployebenefitstotal += f_ValueofCashOutbenefit;
}

if (supportBenefits[7] == "x") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Cost of bicycle/walk incentives ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_Costofcommuteincentives)+'</p></td></tr>'
groupsumemployebenefitstotal += r_valueoffinancialincentives;
}

if (supportBenefits[2] == "x") {
groupsumemployebenefitstotal += f_Valueoftaxsavingsfrompretaxtransitvanpoolbenefits;
}

groupsumemployebenefitstotal += f_Totalreductioninemployeedrivingexpensesyear

summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Cost of Pre-Tax Vanpool/Transit Benefits ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_Costoftransitvanpoolbenefits)+'</p></td></tr>'

if(auxFormId12.vanpoolvouchers.checked) {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Cost of Vanpool Subsidy ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(employercostofvanpoolvouchers)+'</p></td></tr>'
}

summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Program Administration Time (hours per month)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Programadministrationtime)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Annual Program Administration Cost</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_Annualprogramadministrationcost)+'</p></td></tr>'

if (coreBenefits[2] == "" && supportBenefits[8] == "" && supportBenefits[6] == "") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Equipment Costs</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>none</p></td></tr>'
} else {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p><strong>Equipment Costs</strong></p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>&nbsp;</p></td></tr>'
}

if (supportBenefits[6] == "x") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>One-time cost of bicycle racks/lockers (start up)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_Costofbicyclerackslockers)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Annualized cost of bicycle racks/lockers</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(roundNum(f_Costofbicyclerackslockers*0.110))+'</p></td></tr>'
}

if (supportBenefits[2] == "") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Direct Savings</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>none</p></td></tr>'
} else {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p><strong>Direct Savings</strong></p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>&nbsp;</p></td></tr>'
}

if (supportBenefits[2] == "x") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Tax savings from reduced FICA ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_TaxsavingsfromreducedFICA)+'</p></td></tr>'
}

summaryHTML += '</table></td></tr></table></td><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Employee Benefits">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Employee Benefits</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(13)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Value of Incentive Programs ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(r_valueoffinancialincentives)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Value of Vanpool Subsidy Program Benefits ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(valueofvanpoolvouchers)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Value of Pre-Tax Transit/Vanpool Benefits($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(r_valueoftransitvanpoolbenefits+r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Value of Parking Cash Out ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(r_valueofcashoutbenefit)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduction in Employee Driving Expenses ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(r_totalreductioninemployeedrivingexpensesperyear)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>&nbsp;</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><hr /></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p><strong>Total Benefits to All Employees ($/year)</strong></p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p><strong>$&nbsp;'+numFormat(f_DirectBenefittoEmployees)+'</strong></p></td></tr>'

if (g_provideparking != "Free") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduction in parking expenses per employee per month</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(r_employeeNetCostSavingsperspacepermonth)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduction in employee parking expenses per year</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(r_employeeNetCostSavingsperyear)+'</p></td></tr>'
}

summaryHTML += '</table></td></tr></table></td></tr></table></td></tr></table></td></tr>'

// Section 3: Parking and Rideshare Results

summaryHTML += '<tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h1>Parking and Rideshare Results</h1></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell"><tr><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Savings from Reduced Parking Demand">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Savings from Reduced Parking Demand</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(14)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Expected number of parking spaces reduced</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Expectednumberofparkingspacesreduced)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Potential Savings from Reduced Parking Demand ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_PotentialParkingCostSavings)+'</p></td></tr>'
summaryHTML += '</table></td></tr></table></td><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Rideshare Participation">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Rideshare Participation</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(15)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Estimated Enrollment</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(expectedtotalnumberofemployees + parseInt(auxFormId13.employeespedestrianstotal.value) + reductionFromVanpool + empGainFromAdvantageRideshare+g_expectednumberemployeestelecommuting) +'</p></td></tr>'
summaryHTML += '</table></td></tr></table></td></tr></table></td></tr></table></td></tr>'

// Section 4: Recruitment and Productivity Benefits

summaryHTML += '<tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h1>Recruitment and Productivity Benefits</h1></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell"><tr><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Recruitment Benefits">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Recruitment Benefits</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(16)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Percentage reduction in employee turnover rate</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Percentagereductioninemployeeturnoverrate)+'%</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Recruitment/Training Cost Savings ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_RecruitmentCostSavings)+'</p></td></tr>'
summaryHTML += '</table></td></tr></table></td><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder" summary="Increased Worker Productivity">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>'+dispOrgName+' Increased Worker Productivity</h2></th></tr>'
summaryHTML += '<tr><td class="rbcResultsPad5Right"><input type="button" onclick="helpWindow(17)" value="Learn More" /></td></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'

if (coreBenefits[2]=="x" || supportBenefits[8]=="x") {
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Percent change in productivity per employee telecommuting or in a flextime program</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Percentchangeinproductivityperemployeetelecommuting)+'%</p></td></tr>'
}

summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Increased Productivity ($/year)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>$&nbsp;'+numFormat(f_IncreasedProductivity)+'</p></td></tr>'
summaryHTML += '</table></td></tr></table></td></tr></table></td></tr></table></td></tr>'

// Section 5: Community Benefits

summaryHTML += '<tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell"><tr><th class="rbcResultsCell" scope="col"><h1>Community Benefits</h1></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell"><tr><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder"><tr><th class="rbcResultsCell" scope="col"><h2>Reduced Traffic</h2></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced commute vehicle trips</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Reducedcommutevehicletrips)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced commute vehicle mileage</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Reducedcommutevehiclemileage)+'</p></td></tr></table></td></tr>'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>Reduced Energy Consumption</h2></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced gallons of motor fuel consumed</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Reducedgallonsofmotorfuelconsumed)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced barrels of crude oil used</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_Reducedbarrelsofcrudeoilused)+'</p></td></tr></table></td></tr></table></td><td class="rbcResultsCell50">'
summaryHTML += '<table class="rbcResultsCellBorder">'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>Reduced Urban Air Pollutant Emissions (lbs./year)</h2></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced CO (carbon monoxide)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_ReducedCO)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced VOC (volatile organic compounds)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_ReducedVOC)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced NOx (oxides of nitrogen)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_ReducedNOx)+'</p></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>&nbsp;</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><hr /></td></tr>'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p><strong>Total Reduced UAC Emissions (lbs/year)</strong></p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p><strong>'+numFormat(f_ReducedCO+f_ReducedVOC+f_ReducedNOx)+'</strong></p></td></tr></table></td></tr>'
summaryHTML += '<tr><th class="rbcResultsCell" scope="col"><h2>Reduced Greenhouse Gas Emissions (lbs./year)</h2></th></tr><tr><td class="rbcResultsCell">'
summaryHTML += '<table class="rbcResultsCell100">'
summaryHTML += '<tr><th class="rbcResultsPad5Left" scope="row"><p>Reduced CO<sub>2</sub> (carbon dioxide)</p></th>'
summaryHTML += '<td class="rbcResultsPad5Right"><p>'+numFormat(f_ReducedCO2)+'</p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr>'

myHTML += summaryHTML;
myHTML += '<tr><td class="rbcResultsPad5Center"><p>'

if (myVersion != "multitab") {
myHTML += '<input type="button" onclick="print()" value="Print" />&nbsp;&nbsp;&nbsp;<input type="button" onclick="self.close()" value="Close" /></p></td></tr></tbody></table></body></html>';
}

else {
transitVanpoolDetails  += '<input type="button" onclick="print()" value="Print" />&nbsp;&nbsp;&nbsp;<input type="button" onclick="self.close()" value="Close" /></p></td></tr></tbody></table></body></html>';
parkingCashOutIncentives += '<input type="button" onclick="print()" value="Print" />&nbsp;&nbsp;&nbsp;<input type="button" onclick="self.close()" value="Close" /></p></td></tr></tbody></table></body></html>';
employeePreTaxDetails +=  '<input type="button" onclick="print()" value="Print" />&nbsp;&nbsp;&nbsp;<input type="button" onclick="self.close()" value="Close" /></p></td></tr></tbody></table></body></html>';
}

if (myVersion == "multitab") { // if the version is multitab, write this in a layer
if (document.layers) {
document.layers["divMenu6"].document.open()
document.layers["divMenu6"].document.write(myHTML)
document.layers["divMenu6"].document.close()
}
else {
document.all["divMenu6"].innerHTML = myHTML
}
}
else { // if the version is 508-compliant, write it in a new window
if (!resultsWindow || resultsWindow.closed) {
resultsWindow = window.open('rideshare-benefits-calculator.aspx','resultsWindowMultiTab',config='height=500,width=550,scrollbars=yes,resizable=yes,toolbar=no,menubar=no,location=no,directories=no,status=no')
resultsWindow.document.write(myHTML);
resultsWindow.document.close();
windowOpened = true;
}
else resultsWindow.focus();
}

} // end if (detailLevel == "withSummary") {

}// end calculate function

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getTransitVanpoolDetails()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Display details about TRANSIT/VANPOOL BENEFITS -- will open in a new window
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getTransitVanpoolDetails(){
	calcResults('withSummary')
	if (!detailsWindow || detailsWindow.closed) {
		
		detailsWindow = window.open("rideshare-benefits-calculator.aspx","detailsWindow","height=520,width=700,scrollbars,resizable")
		detailsWindow.document.write(transitVanpoolDetails);
		detailsWindow.document.close();
	}
	else detailsWindow.focus();
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getParkingCashOutIncentives()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Display details about PARKING CASH OUT INCENTIVES -- will open in a new window
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getParkingCashOutIncentives(){
	calcResults('withSummary')
	if (!detailsWindow2 || detailsWindow2.closed) {
		detailsWindow2 = window.open("rideshare-benefits-calculator.aspx","detailsWindow2","height=520,width=700,scrollbars,resizable")
		detailsWindow2.document.write(parkingCashOutIncentives);
		detailsWindow2.document.close();
	}
	else detailsWindow2.focus();
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	getEmployeePreTaxDetails()
	Created:  	November 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Display details about Employee Pre-Tax Transit/Vanpool Expenses  -- will open in a new window
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function getEmployeePreTaxDetails(){
	calcResults('withSummary');
	if (!detailsWindow3 || detailsWindow3.closed) {
		detailsWindow3 = window.open("rideshare-benefits-calculator.aspx","detailsWindow3","height=520,width=700,scrollbars,resizable")
		detailsWindow3.document.write(employeePreTaxDetails);
		detailsWindow3.document.close();
	}
	else detailsWindow3.focus();
}


/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	killPopUp()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This is called on the onunload event -- it will kill all spawned details windows
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function killPopUp(){
	if (resultsWindow) {
		resultsWindow.close();
	}
	if (detailsWindow) {
		detailsWindow.close();
	}
	if (detailsWindow2) {
		detailsWindow2.close();
	}	
	if (detailsWindow3) {
		detailsWindow3.close();
	}	
	if (printPage) {
		printPage.close();
	}
	
}


// ********************************
// validation functions
// ********************************

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	forceAtLeastFifty(myFieldId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This can be used to dynamicaly alert the user of a condition.  Right now all the validation
	is done at the end, when the user selects to see the Summary screens.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function forceAtLeastFifty(myFieldId){
	
	if ((myFieldId.value != "") && (myFieldId.value != null) && (parseInt(myFieldId.value) < 50 )) {
	//		alert("You must provide at least $50 per month in benefits.")
	//		myFieldId.focus();
	//		myFieldId.select();
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	forceAtMostHundred(myFieldId)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This can be used to dynamicaly alert the user of a condition.  Right now all the validation
	is done at the end, when the user selects to see the Summary screens.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function forceAtMostHundred(myFieldId){
	if ((myFieldId.value != "") && (myFieldId.value != null) && (parseInt(myFieldId.value) > 100 )) {
	//		alert("You must provide no more than $100 per month in benefits.")
	//		myFieldId.focus();
	//		myFieldId.select();
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	verifyBenefitsSelection()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we check all the conditions to meet the National Standard of Excellence.  This will be used in 
	building the Summary screen.  The final string can be plugged anywhere, where validation resuls are 
	needed.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function verifyBenefitsSelection(){
	var telecommutingCheck = parseFloat(auxFormId12.coretelecommutingpercentemployeestelecommutingaverageday.value)
	if (isNaN(telecommutingCheck)) telecommutingCheck = 0;
	var transitCheck = parseFloat(auxFormId12.coretransit.value)
	if (isNaN(transitCheck)) transitCheck = 0;
	var parkingCheck = parseFloat(auxFormId12.coreparkingmonthlybenefit.value)
	if (isNaN(parkingCheck)) parkingCheck = 0;	
	
	var parkingMin = parseFloat(auxFormId11.spacecost.value)
	if (isNaN(parkingMin)) parkingMin = 0;
	else parkingMin = parkingMin * 0.75;
	
		var coreSum = 0;
		var supportSum = 0;
		for (i=0; i<coreBenefits.length; i++) if (coreBenefits[i] == "x") coreSum += 1;
		for (i=0; i<supportBenefits.length; i++) if (supportBenefits[i] == "x") supportSum += 1;	
	
		if (coreSum < 1) { validation[0] = "<li> select one or more PRIMARY BENEFIT OPTIONS." } //alert("You must select one or more core benefits")
		else validation[0] = "";

		if (supportSum < 3) validation[1] = "<li> select three or more SUPPORTING BENEFIT OPTIONS."; //alert("You must select three or more supporting benefits")
		else validation[1] = "";

		if ((coreBenefits[0] == "x") && (transitCheck < 30)) validation[2] = "<li> under Transit/Vanpool Primary Benefits: Provide at least <strong>$30</strong> per month in benefits.";//alert("Transit/Vanpool Core Benefits:\n\nProvide at least $50 per month in benefits.");
		else validation[2] = "";

		if ((coreBenefits[2] == "x") && (telecommutingCheck < 6)) validation[3] = "<li> under Telecommuting Primary Benefits: Offer a telecommuting program that meets or exceeds a <strong>6%</strong> average participation rate.";//alert("Teleworking Core benefits:\n\nOffer a teleworking program that meets or\nexceeds a 6% average participation rate.");
		else validation[3] = "";

		if ((coreBenefits[1] == "x") && (parkingCheck < 30)) validation[4] = "<li> under Parking Cash Out Primary Benefits: Offer at least <strong>$30</strong> per month, and at least 75% of the actual saved costs of parking";//alert("Teleworking Core benefits:\n\nOffer a teleworking program that meets or\nexceeds a 6% average participation rate.");
		else if ((coreBenefits[1] == "x") && ((parkingCheck >= 32.5) && (parkingCheck < parkingMin))) validation[4] = "<li> under Parking Cash Out Primary Benefits: Offer at least $32.50 per month, and at least <strong>75%</strong> of the actual saved costs of parking";
			else validation[4] = "";

	var validationString = ""
	for (i=0; i<=4; i++) {
		if (validation[i] != "") validationString += validation[i] + "<br>"
	}

	if (coreBenefits[4] == "") validationString = "<li> select Access to Emergency Ride Home Program.<br>" + validationString;
	
	return validationString;
	
}



// further update functions (extracted from the CALCULATE function above)

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateAnnualProgramAdministrationCost()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This function duplicates some of the calculations present in the calcResults() function.  
	It is geared towards providing the user with means to overwrite a calculated value.  
	Please keep in synch with the calculation formulas in the calcResults() function.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateAnnualProgramAdministrationCost(){
	var numHrs = parseFloat(auxFormId2.numberhourspermonthforstaffadministerprogram.value);
	if (isNaN(numHrs)) {
		numHrs = 4;
		if (coreBenefits[0]=="x" || supportBenefits[1]=="x" || supportBenefits[2]=="x") numHrs = 8;
		auxFormId2.numberhourspermonthforstaffadministerprogram.value = numHrs;
	}
	
	var hrSallary = parseFloat(auxFormId2.hrspecialistsalary.value);
	if (isNaN(hrSallary)) {
		hrSallary = 37700;
		auxFormId2.hrspecialistsalary.value = hrSallary;
	}
	
	var my_annualprogramadministrationcost = roundNum(numHrs*12/2080*hrSallary*1.5)
	if (dynamicVersion) auxFormId2.r_annualprogramadministrationcost.value = my_annualprogramadministrationcost;
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateAnnualProgramAdministrationCost()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This function duplicates some of the calculations present in the calcResults() function.  
	It is geared towards providing the user with means to overwrite a calculated value.  
	Please keep in synch with the calculation formulas in the calcResults() function.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateTotalReductioninEmployeeDrivingExpense() {
	var avgCost = parseFloat(auxFormId2.r_averagecostpergallonofgasoline.value)
//	if (isNaN(avgCost)) avgCost = 1.30
	if (isNaN(avgCost)) avgCost = 2.5;   // mk 11/17/08 - new gas price
	if (dynamicVersion) auxFormId2.r_averagecostpergallonofgasoline.value = avgCost;
	
	var avgCostPerMile = avgCost/24.7;  // mkwan - changed
	if (dynamicVersion) auxFormId2.r_averagegascostpermile.value = roundNum((avgCostPerMile));
	
	var othervehicleoperatingcosts = 0.427;
	if (dynamicVersion) othervehicleoperatingcosts = parseFloat(auxFormId2.r_othervehicleoperatingcosts.value);
	if (isNaN(othervehicleoperatingcosts)) {
		othervehicleoperatingcosts = 0.21;
		auxFormId2.r_othervehicleoperatingcosts.value = othervehicleoperatingcosts;
	}
	
	if (dynamicVersion) auxFormId2.r_averagecostpermiledriving.value = roundNum((avgCostPerMile + othervehicleoperatingcosts));

	var averageCAtotalcommute = 38.4;
	//var totalCostPerMile = 52.5
	var redDriving = (avgCostPerMile+othervehicleoperatingcosts)*averageCAtotalcommute*20;
	if (dynamicVersion) auxFormId2.r_reductionindrivingexpensespermonthperemployee.value = roundNum(redDriving);
	
	var totalRed = redDriving*12*g_reductionnumberdrivers;
	if (isNaN(totalRed)) totalRed = 0;
	if (dynamicVersion) auxFormId2.r_totalreductioninemployeedrivingexpensesperyear.value = roundNum(totalRed);
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateParkingpaymentspretax()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This function is not used at this point.  It will synchronize the same checkbox present on two different DIVs.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateParkingpaymentspretax() {
	//	if (auxFormId11.parkingpaymentspretax[0].checked) eval("auxFormId3.d_parkingpaymentspretax[0].checked=true");
	//	if (auxFormId11.parkingpaymentspretax[1].checked) eval("auxFormId3.d_parkingpaymentspretax[1].checked=true");
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateSecondParkingpaymentspretax()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This function is not used at this point.  It will synchronize the same checkbox present on two different DIVs.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateSecondParkingpaymentspretax() {
	if (auxFormId3.d_parkingpaymentspretax[0].checked) eval("auxFormId11.parkingpaymentspretax[0].checked=true");
	if (auxFormId3.d_parkingpaymentspretax[1].checked) eval("auxFormId11.parkingpaymentspretax[1].checked=true");
	calcResults("noSummary");
}



/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	writeDivSubMenu2()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we build the whole Program Selection DIV.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function writeDivSubMenu2(){

	directFinEffectsUpdate = true; // we need to update the Direct Financial Effects section if Program info changes
	
	var divSubMenu2 = "";
	
	/*if (!firstSequence) {
	divSubMenu2 += "<table width=640 border=0>"
	divSubMenu2 += "<tr><td><IMG src='images/01_x.gif' name='imgName21' border=0> "
	divSubMenu2 += "<A href='' onclick='calcResults(\"withSummary\"); showDivLayer(\"divMenu6\"); return false;' onmouseover='swapSubImage(\"divSubMenu2\",\"imgName126\",\"onImages[6]\")' onmouseout='swapSubImage(\"divSubMenu2\",\"imgName126\",\"offImages[6]\")'><IMG src='images/06_y.gif' name='imgName126' border=0></A></td></tr>"
	divSubMenu2 += "<tr><td>"
	divSubMenu2 += '<a href="#top" onclick="showDivLayer(\'divSubMenu1\'); return false;"  onmouseover=\'swapSubImage("divSubMenu2","imgName125","onImages[9]")\' onmouseout=\'swapSubImage("divSubMenu2","imgName125","offImages[9]")\'><IMG src=\'./images/button_employer_info.gif\' name=\'imgName125\' border=0></a> '
	divSubMenu2 += '<IMG src=\'./images/button_program_info_over.gif\' name=\'imgName124\' border=0> '
	divSubMenu2 += '<a href="#top" onclick="showDivLayer(\'divSubMenu3\'); return false;" onmouseover=\'swapSubImage("divSubMenu2","imgName123","onImages[10]")\' onmouseout=\'swapSubImage("divSubMenu2","imgName123","offImages[10]")\'><IMG src=\'./images/button_employee_particip.gif\' name=\'imgName123\' border=0></a></td></tr></table>'
	}*/
	

	/*divSubMenu2 += '<table width="505">'
	divSubMenu2 += '			<tr>'
	divSubMenu2 += '				<td>'
	divSubMenu2 += '				<span class="title">Step 2: PROGRAM SELECTION</span><br><br>'
	divSubMenu2 += '				Place a check in the box next to programs you would like to examine. <br><br>'

	divSubMenu2 += '				Note: In order to meet the National Standard of Excellence in commuter benefits '
	divSubMenu2 += '				and qualify for Best Workplaces for Commuters (BWC), you must select '
	divSubMenu2 += '				certain primary benefit options and supporting benefit options. You must also offer '
	divSubMenu2 += '				access to a Guaranteed Ride Home program and meet a target for the share of employees '
	divSubMenu2 += '				that do not drive alone to work. For more information on criteria to qualify for the '
	divSubMenu2 += '				National Standard of Excellence, <a href="http://www.ergweb.com/projects/ccli/enroll/doiqualify.htm">click here</a>.'

	divSubMenu2 += '				</td>'
	divSubMenu2 += '			</tr>'

	divSubMenu2 += '<tr><td>'*/
	
	
	divSubMenu2 += '<table width="505" cellpadding=0 cellspacing=0 border=0>'
	
	// first row
	divSubMenu2 += '				<tr><td><table width="100%" cellpadding=0 cellspacing=0 border=0><tr><td width="1%">'
	divSubMenu2 += '				'
	divSubMenu2 += '					</td><td width="99%">'
	divSubMenu2 += '				<h1>Section 2: Select Benefits</h1>'
	divSubMenu2 += '				</td></tr></table>'
	divSubMenu2 += '				</td></tr>'
	
	// second row
	divSubMenu2 += '				<tr><td><table width="100%" cellpadding=0 cellspacing=0 border=0><tr><td width="1%">'
	divSubMenu2 += '				'
	divSubMenu2 += '					</td><td width="99%">'
	//divSubMenu2 += '				<span class="title">Step 2: PROGRAM SELECTION</span><br><br>'
	/*divSubMenu2 += '				Place a check in the box next to programs you would like to examine. <br><br>'

	divSubMenu2 += '				Note: In order to meet the National Standard of Excellence in commuter benefits '
	divSubMenu2 += '				and qualify for Best Workplaces for Commuters (BWC), you must select '
	divSubMenu2 += '				at least one primary benefit options and at least three supporting benefit options. You must also offer '
	divSubMenu2 += '				access to a Guaranteed Ride Home program and meet a 14% target for the share of employees '
	divSubMenu2 += '				that do not drive alone to work. For more information on criteria to qualify for the '
	divSubMenu2 += '				National Standard of Excellence, <a href="javascript:void(0)">click here</a>.'*/

divSubMenu2 += 'Place a check in the box next to benefits you would like to examine using the calculator.<br><br>' 

divSubMenu2 += "Note: In order to meet the <i>National Standard of Excellence</i> in commuter benefits and qualify as one of the nation's Best Workplaces for Commuters, you must select at least one primary benefit option and at least three supporting benefit options. ";
divSubMenu2 += 'You must also offer access to an Emergency Ride Home and ensure that 14% of your employees do not drive alone to work within 18 months of joining the program. To learn if you qualify, review the <a href="http://www.ergweb.com/projects/ccli/enroll/doiqualify.htm" target="_blank">criteria for applying</a>.'
	divSubMenu2 += '				</td></tr></table>'
	divSubMenu2 += '				</td></tr>'
	
	divSubMenu2 += '<tr><td><table width="505"><tr><td>'	
	
	
	divSubMenu2 += '<form id="divSubMenu2Form" name="divSubMenu2Form">'
	
	divSubMenu2 += '<br>'
	divSubMenu2 += '<table width="505" border=1 cellspacing=0 cellpadding=5 bordercolor="#990099">'
	divSubMenu2 += '<tr>'
	divSubMenu2 += '	<td align="left">	'
	divSubMenu2 += '		<table border=0 cellspacing=0 cellpadding=5>'
	
	divSubMenu2 += '			<tr>'
	divSubMenu2 += '				<th colspan=3 bgcolor="#990099"><strong>Required Benefit</strong> to Meet <i>National Standard of Excellence</i></td>'
	divSubMenu2 += '			</tr>'
	divSubMenu2 += '			<tr> '
	divSubMenu2 += '				<td colspan=2 align="right">Emergency Ride Home <a onclick="pop_location()" href="javascript:pop(21)"><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="accessguaranteedridehomeprogram" VALUE="Yes" onclick="updateRequiredBenefit()" '
	if (coreBenefits[4] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '			></td></tr>'
	
	divSubMenu2 += '			<tr>'
	divSubMenu2 += '				<th colspan=3 bgcolor="#990099"><strong>Primary Benefit</strong> Options</td>'
	divSubMenu2 += '			</tr>'
	
	divSubMenu2 += '			<tr>'
	divSubMenu2 += '				<td align="right" colspan=2>Employer-Paid Transit/Vanpool Benefits <a onclick="pop_location()" href="javascript:pop(22)"  ><img src="./images/infobutton-white.gif" border=0></a>'
	divSubMenu2 += '</td><td><INPUT TYPE="checkbox" NAME="transitvouchers" VALUE="Yes" onClick="updateTransitvouchers(this.form);writeDivSubMenu2();if (this.checked) auxFormId2.numberhourspermonthforstaffadministerprogram.value=8;" '
	if (coreBenefits[0] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '			></td></tr>'
	
	if (coreBenefits[0] == "x") {
	   divSubMenu2 += '			<tr>'
	   divSubMenu2 += '				<td align="left"></td>'
	   divSubMenu2 += '				<td align="left" colspan=2>Enter how much monthly benefit $<INPUT TYPE="text" NAME="coretransit" size=5 onblur="forceAtLeastFifty(this.form.coretransit); updateProgramInputs(0); conditionalRefresh1()" value='+programInfoInputs[0]+'></td>'
	   divSubMenu2 += '			</tr>'
//	   divSubMenu2 += '			<tr>'  MOVED TO SITE INFO SECTION
//	   divSubMenu2 += '				<td align="left"></td>'
//	   divSubMenu2 += '				<td colspan=2>Enter current percent of employees taking transit or vanpools <INPUT TYPE="text" NAME="corecurrentemployeestakingtransit" size=3 onblur="validatePercentage(this);updateExpectedtotalnumberofemployees(this.form);updateProgramInputs(1)" value='+programInfoInputs[1]+'>%<br></td>'
//	   divSubMenu2 += '			</tr>'
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="coretransit" value="0">'
//	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="corecurrentemployeestakingtransit" value="0">'
	}   
	
	
	divSubMenu2 += '			<tr><td></td><td colspan=2><hr></td></tr>'
	divSubMenu2 += '			<tr>'
	divSubMenu2 += '				<td align="right" colspan=2>Parking Cash Out <a onclick="pop_location()" href="javascript:pop(23)"  ><img src="./images/infobutton-white.gif" border=0></a></td>'
	divSubMenu2 += '				<td><INPUT TYPE="checkbox" NAME="coreparkingcashout" VALUE="YES" onclick="updateCoreparkingcashout(this.form);writeDivSubMenu2();writeDivSubMenu3(1);"'
	if (coreBenefits[1] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '			></td></tr>'
	
	if (coreBenefits[1] == "x") {
	   divSubMenu2 += '			<tr>'
	   divSubMenu2 += '				<td align="left"></td>'
	   divSubMenu2 += '				<td colspan=2>Enter how much monthly benefit - default is 75% of parking cost $<INPUT TYPE="text" NAME="coreparkingmonthlybenefit" size=5 onblur="forceAtLeastFifty(this.form.coreparkingmonthlybenefit);updateProgramInputs(2)"  value='+programInfoInputs[2]+'><br></td>'
	   divSubMenu2 += '			</tr>'
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="coreparkingmonthlybenefit" value="0">'
	}
	
	divSubMenu2 += '			<tr><td></td><td colspan=2><hr></td></tr>'
	divSubMenu2 += '			<tr>'
	divSubMenu2 += '				<td align="right" colspan=2>Telecommuting <a onclick="pop_location()" href="javascript:pop(24)"  ><img src="./images/infobutton-white.gif" border=0></a></td>'
	divSubMenu2 += '				<td><INPUT TYPE="checkbox" NAME="coretelecommuting" VALUE="YES" onclick="updateCoretelecommuting(this.form);updateCoretelecommutingpercentemployeestelecommutingaverageday();writeDivSubMenu2();"'
	if (coreBenefits[2] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '			></td></tr>'
	
	if (coreBenefits[2] == "x") {
	   divSubMenu2 += '			<tr>'
	   divSubMenu2 += '				<td align="left"></td>'
	   divSubMenu2 += '				<td colspan=2>Enter percent of employees telecommuting full-time <INPUT TYPE="text" NAME="coretelecommutingpercentemployeestelecommutingfulltime" size=3 onblur="validatePercentage(this);updateCoretelecommutingpercentemployeestelecommutingaverageday(this.form);updateProgramInputs(3)"  value='+programInfoInputs[3]+'>%</td>'
	   divSubMenu2 += '			</tr>'
	   divSubMenu2 += '			<tr>'
	   divSubMenu2 += '				<td align="left"></td>'
	   divSubMenu2 += '				<td colspan=2>Enter percent of employees telecommuting part-time <INPUT TYPE="text" NAME="coretelecommutingpercentemployeestelecommutingparttime" size=3 onblur="validatePercentage(this);updateCoretelecommutingpercentemployeestelecommutingaverageday(this.form);updateProgramInputs(4)" value='+programInfoInputs[4]+'>%</td>'
	   divSubMenu2 += '			</tr>'
	   divSubMenu2 += '			<tr>'
	   divSubMenu2 += '				<td align="left"></td>'
	   divSubMenu2 += '				<td colspan=2>Enter average days telecommuting per week for part-time telecommuters <INPUT TYPE="text" NAME="coretelecommutingaveragedaysperweekforparttimetelecommuters" size=3 onblur="updateCoretelecommutingpercentemployeestelecommutingaverageday(this.form);updateProgramInputs(5)" value='+programInfoInputs[5]+'></td>'
	   divSubMenu2 += '			</tr>'
	   divSubMenu2 += '			<tr>'
	   divSubMenu2 += '				<td align="left"></td>'
	   divSubMenu2 += '				<td colspan=2>Percent of employees telecommuting on an average day <INPUT TYPE="text" NAME="coretelecommutingpercentemployeestelecommutingaverageday" size=3 value="'+programInfoInputs[6]+'" class="disabledField" disabled onfocus="this.blur();">%<INPUT TYPE="hidden" NAME="coretelecommutingcosthomeoffice" size=5 class="disabledField" disabled onfocus="this.blur();" value='+overrider_averagecostperhomeoffice+'></td>'//programInfoInputs[6]
	   divSubMenu2 += '			</tr>'
	 /* 12/10/01 divSubMenu2 += '			<tr>'
	   divSubMenu2 += '				<td align="left"></td>'
	   divSubMenu2 += '				<td colspan=2>Cost of setting up and maintaining a home office. Typical cost is $4,000 per full-time telecommuter. $<INPUT TYPE="text" NAME="coretelecommutingcosthomeoffice" size=5 class="disabledField" disabled onfocus="this.blur();" value='+overrider_averagecostperhomeoffice+'></td>'// onblur="updateProgramInputs(7)"programInfoInputs[7]
	   divSubMenu2 += '			</tr>'*/
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="coretelecommutingpercentemployeestelecommutingfulltime" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="coretelecommutingpercentemployeestelecommutingparttime" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="coretelecommutingaveragedaysperweekforparttimetelecommuters" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="coretelecommutingpercentemployeestelecommutingaverageday" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="coretelecommutingcosthomeoffice" value="0">'
	}
	
	divSubMenu2 += '			<tr><td></td><td colspan=2><hr></td></tr>'
	if (coreBenefits[3] == "") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="right" colspan=2>Employer-Defined Benefits Program <a onclick="pop_location()" href="javascript:pop(25)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="employerdefinedbenefit" VALUE="YES" onclick="setCoreBenefits(3);writeDivSubMenu2();"'
	   divSubMenu2 += '		></td></tr>'
	}
	else {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="right" colspan=2>Employer Defined Benefits Program <a onclick="pop_location()" href="javascript:pop(25)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="employerdefinedbenefit" VALUE="YES" onclick="setCoreBenefits(3);writeDivSubMenu2();"'
	   divSubMenu2 += ' checked '
	   divSubMenu2 += '		>&nbsp;&nbsp;&nbsp;Benefits and costs of this option cannot be calculated at this time.</td></tr>'
	}
	
	
	
	divSubMenu2 += '			<tr>'
	divSubMenu2 += '				<th colspan=3 bgcolor="#990099"><strong>Supporting Benefit</strong> Options</td>'//<br>Participating employers agree to provide three additional commuter benefits from a list of options, including:
	divSubMenu2 += '			</tr>'
	
	divSubMenu2 += '		<tr>'
	divSubMenu2 += '			<td align="right" colspan=2>Ridesharing or Carpool Matching <a onclick="pop_location()" href="javascript:pop(26)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingridesharing" VALUE="YES"  onclick="setSupportBenefits(0)"'
	if (supportBenefits[0] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '		></td></tr>'
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	if (coreBenefits[0] == "") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="right" colspan=2>Employer-Paid Transit/Vanpool Benefits <a onclick="pop_location()" href="javascript:pop(27)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingtransitvanpoolbenefits" VALUE="YES" onclick="updateSupportingtransitvanpoolbenefits(this.form);writeDivSubMenu2();if (this.checked) auxFormId2.numberhourspermonthforstaffadministerprogram.value=8;"'
	   if (supportBenefits[1] == "x") divSubMenu2 += ' checked '
	   divSubMenu2 += '		></td></tr>'
	}
	else divSubMenu2 += '		<tr><td align="right" colspan=2>Employer-Paid Transit/Vanpool Benefits <a onclick="pop_location()" href="javascript:pop(27)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td>SELECTED AS PRIMARY BENEFIT</td></tr>'
	
	if (coreBenefits[0] == "" && supportBenefits[1] == "x") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Enter how much monthly benefit $<INPUT TYPE="text" NAME="supportingtransitvanpoolmonthlybenefits" size=5 onblur="if(parseFloat(this.value)>'+g_TaxFreeLimit+');updateCommuterModelResults(this.form); forceAtMostHundred(this.form.supportingtransitvanpoolmonthlybenefits);updateProgramInputs(8)" value='+programInfoInputs[8]+'></td>'
	   divSubMenu2 += '		</tr>'
//	   divSubMenu2 += '		<tr>' MOVED TO SITE INFO SECTION
//	   divSubMenu2 += '			<td align="left"></td>'
//	   divSubMenu2 += '			<td colspan=2>Enter current percent of employees taking transit or vanpools <INPUT TYPE="text" NAME="supportingtransitvanpoolpercentemployees" size=3 onblur="validatePercentage(this);updateExpectedtotalnumberofemployees(this.form);updateProgramInputs(9)" value='+programInfoInputs[9]+'>%<br></td>'
//	   divSubMenu2 += '		</tr>'
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingtransitvanpoolmonthlybenefits" value="0">'
//	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingtransitvanpoolpercentemployees" value="0">'
	}
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	divSubMenu2 += '		<tr>'
	divSubMenu2 += '			<td align="right" colspan=2>Employee Pre-Tax Payroll Deduction for Transit/Vanpool Expenses <a onclick="pop_location()" href="javascript:pop(28)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingpretaxtransitbenefits" VALUE="YES" onclick="setSupportBenefits(2);if (this.checked) auxFormId2.numberhourspermonthforstaffadministerprogram.value=8;"'
	if (supportBenefits[2] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '		></td></tr>'
	
	if (supportBenefits[2] == "x") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   var r_employerDirectCostSavingsperspacepermonth = programInfoInputs[0];
	   if (coreBenefits[0] == "") r_employerDirectCostSavingsperspacepermonth = 0;
	   var maxContr = g_TaxFreeLimit - r_employerDirectCostSavingsperspacepermonth; if (maxContr<0 || isNaN(maxContr)) maxContr = 0;
	   //maxContr += ""; //convert to String
	   //if (maxContr.indexOf(".")!=-1) {maxContr = maxContr.split(".");tmpDecim = maxContr}
	   divSubMenu2 += '			<td colspan=2>Enter average employee pre-tax contribution ($/employee-month) $<INPUT TYPE="text" NAME="supportingaverageemployeepretaxvouchercontribution" size=5 onblur="if(parseFloat(this.value)>'+parseFloat(maxContr)+') alert(\'Must be no more than $'+currencyFormat(maxContr)+' (in 2001)\');updateCommuterModelResults(this.form);forceAtMostHundred(this.form.supportingaverageemployeepretaxvouchercontribution);updateProgramInputs(10)" value='+programInfoInputs[10]+'><br>Note: Must be no more than $'+currencyFormat(maxContr)+'</td>'
	   divSubMenu2 += '		</tr>'
//	   divSubMenu2 += '		<tr>'
//	   divSubMenu2 += '			<td align="left"></td>'
//	   divSubMenu2 += '			<td colspan=2>Enter current percent of employees taking transit or vanpools <INPUT TYPE="text" NAME="supportingpercentemployeestakingtransit" onblur="validatePercentage(this);updateProgramInputs(11)" size=3 value='+programInfoInputs[11]+'>%<br></td>'
//	   divSubMenu2 += '		</tr>'
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingaverageemployeepretaxvouchercontribution" value="0">'
//	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingpercentemployeestakingtransit" value="0">'
	}
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	if (coreBenefits[1] == "") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="right" colspan=2>Parking Cash Out <a onclick="pop_location()" href="javascript:pop(29)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingparkingcashout" VALUE="YES" onclick="updateSupportingparkingcashout(this.form);writeDivSubMenu2();writeDivSubMenu3(1);"'
	   if (supportBenefits[3] == "x") divSubMenu2 += ' checked '
	   divSubMenu2 += '		></td></tr>'
	}
	else {
	   divSubMenu2 += '			<tr><td align="right" colspan=2>Parking Cash Out <a onclick="pop_location()" href="javascript:pop(29)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td>SELECTED AS PRIMARY BENEFIT</td></tr>'
	}
	
	if (coreBenefits[1] == "" && supportBenefits[3] == "x") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Enter how much monthly parking cash-out $<INPUT TYPE="text" NAME="supportingmonthlyparkingcashout" size=5 onblur="updateCommuterModelResults(this.form);updateProgramInputs(12)" value='+programInfoInputs[12]+'><br></td>'
	   divSubMenu2 += '		</tr>'
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingmonthlyparkingcashout" value="0">'
	}
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	divSubMenu2 += '		<tr>'
	divSubMenu2 += '			<td align="right" colspan=2>Shuttles from transit stations <a onclick="pop_location()" href="javascript:pop(30)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingshuttles" VALUE="YES" onclick="setSupportBenefits(4)"'
	if (supportBenefits[4] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '		></td></tr>'
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	divSubMenu2 += '		<tr>'
	divSubMenu2 += '			<td align="right" colspan=2>Preferred parking for carpools / vanpools <a onclick="pop_location()" href="javascript:pop(31)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingpreferredparkingforcarpools" VALUE="YES" onclick="setSupportBenefits(5)"'
	if (supportBenefits[5] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '		></td></tr>'
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	divSubMenu2 += '		<tr>'
	divSubMenu2 += '			<td align="right" colspan=2>Secure bicycle parking, showers and/or lockers <a onclick="pop_location()" href="javascript:pop(32)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingsecurebicycleparking" VALUE="YES" onclick="setSupportBenefits(6)"'
	if (supportBenefits[6] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '		></td></tr>'
	
	if (supportBenefits[6] == "x") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Type of facility:<INPUT TYPE="radio" NAME="supportingsecurebicycleparkingtypefacility" onclick=updateProgramInputs(13) size=5'
	   	if (programInfoInputs[13] == "rack")  divSubMenu2 += " checked"   
	   divSubMenu2 += '			>rack or <INPUT TYPE="radio" NAME="supportingsecurebicycleparkingtypefacility" onclick=updateProgramInputs(13) size=5'
	   	if (programInfoInputs[13] == "locker")  divSubMenu2 += " checked"  
	   divSubMenu2 += '			>locker</td>'
	
	   divSubMenu2 += '		</tr>'
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Designed for how many bikes <INPUT TYPE="text" NAME="supportingsecurebicycledesignedforhowmanybikes" onblur="resetSupportingsecurebicycledesignedforhowmanybikes();updateProgramInputs(14);" size=5 value='+programInfoInputs[14]+'><br></td>'
	   divSubMenu2 += '		</tr>'
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingsecurebicycledesignedforhowmanybikes" value="0">'
	}
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	divSubMenu2 += '		<tr>'
	divSubMenu2 += '			<td align="right" colspan=2>Financial incentives for bicyclists or walkers <a onclick="pop_location()" href="javascript:pop(33)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingincentivesforbicyclists" VALUE="YES" onclick="setSupportBenefits(7)"'
	if (supportBenefits[7] == "x") divSubMenu2 += ' checked '
	divSubMenu2 += '		></td></tr>'
	
	if (supportBenefits[7] == "x") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Enter level of incentive per month $<INPUT TYPE="text" NAME="supportingincentiveslevelforbicyclists" onblur="updateProgramInputs(15)" size=5 value='+programInfoInputs[15]+'></td>'
	   divSubMenu2 += '		</tr>'
//	   divSubMenu2 += '		<tr>'		MOVED TO SITE INFO 
//	   divSubMenu2 += '			<td align="left"></td>'
//	   divSubMenu2 += '			<td colspan=2>Enter number of people accepting incentive per month <INPUT TYPE="text" NAME="supportingnumberpeopleacceptingincentivesforbicyclists" size=5 onblur="updateCommuterModelResults(this.form);updateProgramInputs(16)" value='+programInfoInputs[16]+'><br></td>'
//	   divSubMenu2 += '		</tr>'
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingincentiveslevelforbicyclists" value="0">'
//	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingnumberpeopleacceptingincentivesforbicyclists" value="0">'
	}
	
	divSubMenu2 += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	if (coreBenefits[2] == "") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="right" colspan=2>Telecommuting <a onclick="pop_location()" href="javascript:pop(34)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td><INPUT TYPE="checkbox" NAME="supportingtelecommuting" VALUE="YES" onclick="updateSupportingtelecommuting(this.form);writeDivSubMenu2();"'
	   if (supportBenefits[8] == "x") divSubMenu2 += ' checked '
	   divSubMenu2 += '		></td></tr>'
	}
	else {
	   divSubMenu2 += '			<tr><td align="right" colspan=2>Telecommuting <a onclick="pop_location()" href="javascript:pop(34)"  ><img src="./images/infobutton-white.gif" border=0></a></td><td>SELECTED AS PRIMARY BENEFIT</td></tr>'
	}
	
	if (coreBenefits[2] == "" && supportBenefits[8] == "x") {
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Enter percent of employees teleworking full-time <INPUT TYPE="text" NAME="supportingpercentemployeestelecommutingfulltime" size=3 onblur="validatePercentage(this);updateSupportingpercentemployeestelecommutingonanaverageday(this.form);updateProgramInputs(17)" value='+programInfoInputs[17]+'>%</td>'
	   divSubMenu2 += '		</tr>'
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Enter percent of employees teleworking part-time <INPUT TYPE="text" NAME="supportingpercentemployeestelecommutingparttime" size=3 onblur="validatePercentage(this);updateSupportingpercentemployeestelecommutingonanaverageday(this.form);updateProgramInputs(18)" value='+programInfoInputs[18]+'>%</td>'
	   divSubMenu2 += '		</tr>'
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Enter average days teleworking per week for part-time teleworkers <INPUT TYPE="text" NAME="supportingaveragedaystelecommutingperweekforparttimetelecommuters" size=3 onblur="updateSupportingpercentemployeestelecommutingonanaverageday(this.form);updateProgramInputs(19)" value='+programInfoInputs[19]+'></td>'
	   divSubMenu2 += '		</tr>'
	   divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Percent of employees teleworking on an average day <INPUT TYPE="text" NAME="supportingpercentemployeestelecommutingonanaverageday" size=3 onblur="updateCommuterModelResults(this.form)" value='+programInfoInputs[20]+' class="disabledField" disabled onfocus="this.blur();">%<INPUT TYPE="hidden" NAME="supportingcostsettingupandmaintaininghomeoffice" class="disabledField" disabled onfocus="this.blur();" size=5 value='+overrider_averagecostperhomeoffice+'></td>'
	   divSubMenu2 += '		</tr>'
	 /* 12/10/01  divSubMenu2 += '		<tr>'
	   divSubMenu2 += '			<td align="left"></td>'
	   divSubMenu2 += '			<td colspan=2>Cost of setting up and maintaining a home office. Typical cost is $4,000 per full-time telecommuter. $<INPUT TYPE="text" NAME="supportingcostsettingupandmaintaininghomeoffice" class="disabledField" disabled onfocus="this.blur();" size=5 value='+overrider_averagecostperhomeoffice+'></td>';//onblur="updateProgramInputs(21)" +programInfoInputs[21]
	   divSubMenu2 += '		</tr>' */
	}
	else {
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingpercentemployeestelecommutingfulltime" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingpercentemployeestelecommutingparttime" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingaveragedaystelecommutingperweekforparttimetelecommuters" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingpercentemployeestelecommutingonanaverageday" value="0">'
	   divSubMenu2 += '<INPUT TYPE="hidden" NAME="supportingcostsettingupandmaintaininghomeoffice" value="0">'
	}
	
	
	divSubMenu2 += '	</table>'
	divSubMenu2 += '</td>'
	divSubMenu2 += '		</tr>'
	divSubMenu2 += '	</table>'
	
	divSubMenu2 += '<br>'
	
	
	
	divSubMenu2 += '<center><a href="#top" onclick="return navigateTo(1)"><img src="./images/button_previous_off.gif" alt="Previous Page" border=0 width=118 height=21></a>&nbsp;&nbsp;&nbsp;'
	//divSubMenu2 += '<a href="#" ><img src="./images/button_print_off.gif" alt="Print Page" border=0></a>&nbsp;&nbsp;&nbsp;'
	divSubMenu2 += '<a href="javascript:print()"><img src="images/button_print_off.gif" width="93" height="21" alt="Print Page" border="0"></a>&nbsp;&nbsp;&nbsp;<a href="#top" onclick="return navigateTo(3)"><img src="./images/button_next_off.gif" alt="Next Page" border=0 width=93 height=21></a></center>'
	
	divSubMenu2 += '</form></td></tr></table>'
	divSubMenu2 += '</td></tr></table>'
	
	
	if (myVersion == "multitab") {
		if (document.layers) {
			document.layers["divSubMenu2"].document.open()
			document.layers["divSubMenu2"].document.write(divSubMenu2)
			document.layers["divSubMenu2"].document.close()
			}
		else {
			document.all["divSubMenu2"].innerHTML = divSubMenu2
			}
	}

	if (myVersion == "multitab") auxFormId12 = getFormId(1.2); // reinitialize the form reference
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	writeDivSubMenu1()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we build the whole Site Information DIV.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */

function writeDivSubMenu1() {

if (!firstLoad) updateEmployerInputs();
firstLoad = false;

var divSubMenu1 = "";

/*if (!firstSequence) {
divSubMenu1 += "<table width=640 border=0>"
divSubMenu1 += "<tr><td><IMG src='images/01_x.gif' name='imgName01' border=0> "
divSubMenu1 += "<A href='' onclick='calcResults(\"withSummary\"); showDivLayer(\"divMenu6\");  setImage(\"imgName6\",6); return false;' onmouseover='swapSubImage(\"divSubMenu1\",\"imgName16\",\"onImages[6]\")' onmouseout='swapSubImage(\"divSubMenu1\",\"imgName16\",\"offImages[6]\")'><IMG src='images/06_y.gif' name='imgName16' border=0></A></td></tr>"
divSubMenu1 += "<tr><td>"
divSubMenu1 += '<IMG src=\'./images/button_employer_info_over.gif\' name=\'imgName12\' border=0> '
divSubMenu1 += '<a href="#top" onclick="showDivLayer(\'divSubMenu2\'); return false;" onmouseover=\'swapSubImage("divSubMenu1","imgName11","onImages[8]")\' onmouseout=\'swapSubImage("divSubMenu1","imgName11","offImages[8]")\'><IMG src=\'./images/button_program_info.gif\' name=\'imgName11\' border=0></a> '
divSubMenu1 += '<a href="#top" onclick="showDivLayer(\'divSubMenu3\'); return false;" onmouseover=\'swapSubImage("divSubMenu1","imgName13","onImages[10]")\' onmouseout=\'swapSubImage("divSubMenu1","imgName13","offImages[10]")\'><IMG src=\'./images/button_employee_particip.gif\' name=\'imgName13\' border=0></a></td></tr></table>'
}
*/
//divSubMenu1 += '				<a href="#top" onclick="calcResults(\'withSummary\'); showDivLayer(\'divMenu6\');firstSequencePassed();">Jump to summary...</a> '

divSubMenu1 += '<table width="505" cellpadding=0 cellspacing=0 border=0>'

// first row
divSubMenu1 += '				<tr><td><table width="100%" cellpadding=0 cellspacing=0 border=0><tr><td width="1%">'
divSubMenu1 += '				'
divSubMenu1 += '					</td><td width="99%">'
divSubMenu1 += '				<h1>Section 1: Input Employer Information</h1>'
divSubMenu1 += '				</td></tr></table>'
divSubMenu1 += '				</td></tr>'

// second row
divSubMenu1 += '				<tr><td><table width="100%" cellpadding=0 cellspacing=0 border=0><tr><td width="1%">'
divSubMenu1 += '				'
divSubMenu1 += '					</td><td width="99%">'
//divSubMenu1 += '				<span class="title">Step 1: EMPLOYER INFORMATION</span><br><br>'
divSubMenu1 += '				If your organization has multiple locations, you may select "Nationwide" for "Your Location." '
divSubMenu1 += '				The calculator then uses national default values for tax rates, parking costs, and other '
divSubMenu1 += '				factors to provide an estimate of the results for your entire organization. '
divSubMenu1 += '				For more accuracy, you may also run the calculator separately for each work site location.<br>'
divSubMenu1 += '				<br><i>Please note that the calculations are estimates designed for internal use. Additionally, the information presented here does not constitute official tax guidance or a ruling by the U.S. government. Taxpayers are urged to consult with the Internal Revenue Service of the U.S. Department of Treasury or a tax professional for specific guidance related to the federal tax law.</i><br>'
divSubMenu1 += '				</td></tr></table>'
divSubMenu1 += '				</td></tr>'

divSubMenu1 += '<tr><td><table width="505"><tr><td>'

divSubMenu1 += '<form id="divSubMenu1Form" name="divSubMenu1Form">'
divSubMenu1 += ''
divSubMenu1 += '<br>'
divSubMenu1 += '			<table width="505" border=1 cellspacing=0 cellpadding=5>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<th colspan=3 align=left bgcolor="#990099" bordercolor="#990099">Your Location <a onclick="pop_location()" href="javascript:pop(10,20)" ><img src="./images/infobutton.gif" border=0></a></th>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<td align="left">	'
divSubMenu1 += '						<table border=0 cellspacing=0 cellpadding=5>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left" width="350">In which state are you located?'
divSubMenu1 += '</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left"><select name=state onchange="getStatecorptaxrate(this.form)">'
divSubMenu1 += '							<option value="AL">	Alabama'
divSubMenu1 += '							<option value="AK">	Alaska'
divSubMenu1 += '							<option value="AZ">	Arizona'
divSubMenu1 += '							<option value="AR">	Arkansas'
divSubMenu1 += '							<option value="CA">	California'
divSubMenu1 += '							<option value="CO">	Colorado'
divSubMenu1 += '							<option value="CT">	Connecticut'
divSubMenu1 += '							<option value="DE">	Delaware'
divSubMenu1 += '							<option value="DC">	District of Columbia'
divSubMenu1 += '							<option value="FL">	Florida'
divSubMenu1 += '							<option value="GA">	Georgia'
divSubMenu1 += '							<option value="HI">	Hawaii'
divSubMenu1 += '							<option value="ID">	Idaho'
divSubMenu1 += '							<option value="IL">	Illinois'
divSubMenu1 += '							<option value="IN">	Indiana'
divSubMenu1 += '							<option value="IA">	Iowa'
divSubMenu1 += '							<option value="KS">	Kansas'
divSubMenu1 += '							<option value="KT">	Kentucky'
divSubMenu1 += '							<option value="LA">	Louisiana'
divSubMenu1 += '							<option value="ME">	Maine'
divSubMenu1 += '							<option value="MD">	Maryland'
divSubMenu1 += '							<option value="MA">	Massachusetts'
divSubMenu1 += '							<option value="MI">	Michigan'
divSubMenu1 += '							<option value="MN">	Minnesota'
divSubMenu1 += '							<option value="MS">	Mississippi'
divSubMenu1 += '							<option value="MO"> Missouri'
divSubMenu1 += '							<option value="MT">	Montana'
divSubMenu1 += '							<option value="NE">	Nebraska'
divSubMenu1 += '							<option value="NV">	Nevada'
divSubMenu1 += '							<option value="NH">	New Hampshire'
divSubMenu1 += '							<option value="NJ">	New Jersey'
divSubMenu1 += '							<option value="NM">	New Mexico'
divSubMenu1 += '							<option value="NY">	New York'
divSubMenu1 += '							<option value="NC">	North Carolina'
divSubMenu1 += '							<option value="ND">	North Dakota'
divSubMenu1 += '							<option value="OH">	Ohio'
divSubMenu1 += '							<option value="OK">	Oklahoma'
divSubMenu1 += '							<option value="OR">	Oregon'
divSubMenu1 += '							<option value="PA">	Pennsylvania'
divSubMenu1 += '							<option value="RI">	Rhode Island'
divSubMenu1 += '							<option value="SC">	South Carolina'
divSubMenu1 += '							<option value="SD">	South Dakota'
divSubMenu1 += '							<option value="TN">	Tennessee'
divSubMenu1 += '							<option value="TX">	Texas'
divSubMenu1 += '							<option value="UT">	Utah'
divSubMenu1 += '							<option value="VT">	Vermont'
divSubMenu1 += '							<option value="VA">	Virginia'
divSubMenu1 += '							<option value="WA">	Washington'
divSubMenu1 += '							<option value="WV">	West Virginia'
divSubMenu1 += '							<option value="WI">	Wisconsin'
divSubMenu1 += '							<option value="WY">	Wyoming'
divSubMenu1 += '							<option value="NT" selected>	Nationwide'
divSubMenu1 += '								</select></td>		'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">In which type of location? '
divSubMenu1 += '    '
divSubMenu1 += '</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left"><select name=loctype size=1 onchange="setLoctype(this.form)">'
divSubMenu1 += '								<option value="Urban" selected>Downtown central business district'
divSubMenu1 += '								<option value="Suburban">Other urban (high density)'
divSubMenu1 += '								<option value="Exurban/Rural">Suburban office park (low density)'
divSubMenu1 += '								</select>'
divSubMenu1 += '								</td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '						</table>'
divSubMenu1 += '					</td>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '			</table>'
divSubMenu1 += ''
divSubMenu1 += '			<br>'
divSubMenu1 += '			<table width="505" border=1 cellspacing=0 cellpadding=5>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<th colspan=3 align=left bgcolor="#990099" bordercolor="#990099">Your Organization / Tax Information <a onclick="pop_location()" href="javascript:pop(11,122)"  ><img src="./images/infobutton.gif" border=0></a></th>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<td align="left">	'
divSubMenu1 += '						<table border=0 cellspacing=0 cellpadding=5>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left" width=350>What type of organization are you?'
divSubMenu1 += '</td>'
divSubMenu1 += '								<td align="left"></td>'
divSubMenu1 += '								<td align="left"><select name=orgtype size=1 onchange="setOrgType(this.form); writeDivSubMenu1();">'
divSubMenu1 += '								<option selected>For-profit'
divSubMenu1 += '								<option>Non-profit'
divSubMenu1 += '								<option>Government'
divSubMenu1 += '								</select></td>'

divSubMenu1 += '							</tr>'

if (g_orgType == "For-profit") {
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td colspan=3><br>Select:</td>'
   divSubMenu1 += '							</tr>'
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td align="left">Your Federal corporate income tax rate</td>'
   divSubMenu1 += '								<td align="left"></td>'
   divSubMenu1 += '								<td align="left"><select name=fedtaxrate size=1 onchange="getMarginalcorporatetaxrate(this.form)">'
   divSubMenu1 += '								<option>'
   divSubMenu1 += '								<option>15%'
   divSubMenu1 += '								<option>25%'
   divSubMenu1 += '								<option selected>34%'
   divSubMenu1 += '								<option>35%'
   divSubMenu1 += '								<option>38%'
   divSubMenu1 += '								<option>39%'
   divSubMenu1 += ''
   divSubMenu1 += ''
   divSubMenu1 += '								</select></td>'
   divSubMenu1 += '							</tr>'
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td colspan=3><img src="images/clearpixel.gif" height=1 width=20><strong>- OR -</strong></td>'
   divSubMenu1 += '							</tr>'
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td align="left">Your annual corporate net income'
   divSubMenu1 += '</td>'
   divSubMenu1 += '								<td align="left"></td>'
   divSubMenu1 += '								<td align="left"><select name=corpnetincome size=1 onchange="getCorpnetincome(this.form)">'
   divSubMenu1 += '								<option>'
   divSubMenu1 += '								<option value="10">$1 --  $50,000'
   divSubMenu1 += '								<option value="50001">$50,001 -- $75,000'
   divSubMenu1 += '								<option value="75001">$75,001 -- $100,000'
   divSubMenu1 += '								<option value="100001">$100,001 -- $335,000'
   divSubMenu1 += '								<option value="335001">$335,001 -- $10,000,000'
   divSubMenu1 += '								<option value="10000001">$10,000,001 -- $15,000,000'
   divSubMenu1 += '								<option value="15000001">$15,000,001 -- $18,333,333'
   divSubMenu1 += '								<option value="18333334">Greater than $18,333,333'
   divSubMenu1 += '								</select></td>'
   divSubMenu1 += '							</tr>'

   divSubMenu1 += '						'
   divSubMenu1 += '						</table>'
   divSubMenu1 += '					</td>'
   divSubMenu1 += '				</tr>'
   divSubMenu1 += ''
   divSubMenu1 += '				<tr>'
   divSubMenu1 += '					<td align="left">'
   divSubMenu1 += '						<table border=0 cellspacing=0 cellpadding=5>'
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td align="left"><img src="images/clearpixel.gif" height=1 width=150></td>'
   divSubMenu1 += '<td>Calculated marginal federal corporate tax rate</td><td>&nbsp;</td>'
   divSubMenu1 += '<td align="left" width=100><INPUT TYPE="text" NAME="calcmarginalfedcorptaxrate" value="34" size=2 onblur="validatePercentage(this);updateMarginalcorporatetaxrate(this.form)">%</td>'
   divSubMenu1 += '</tr><tr>'
   divSubMenu1 += '<td align="left"><img src="images/clearpixel.gif" height=1 width=150></td>'
   divSubMenu1 += '<td>State corporate income tax rate</td><td></td>'
   divSubMenu1 += '<td align="left"><INPUT TYPE="text" NAME="statecorptaxrate" size=2 onblur="validatePercentage(this);updateMarginalcorporatetaxrate(this.form)">%</td>'
   divSubMenu1 += '</tr><tr>'
   divSubMenu1 += '<td align="left"><img src="images/clearpixel.gif" height=1 width=150></td>'
   divSubMenu1 += '<td>Marginal corporate tax rate</TD><td></td>'
   divSubMenu1 += '<td align="left"><INPUT TYPE="text" NAME="marginalcorporatetaxrate" size=2 class="disabledField" disabled onfocus="this.blur();">%</td>'
   divSubMenu1 += '</tr></table>'
   divSubMenu1 += '</td></tr>'
}
else {
   divSubMenu1 += '						</table>'
   divSubMenu1 += '					</td>'
   divSubMenu1 += '				</tr>'
   divSubMenu1 += '				<INPUT TYPE="hidden" NAME="calcmarginalfedcorptaxrate">'
   divSubMenu1 += '				<INPUT TYPE="hidden" NAME="statecorptaxrate">'
   divSubMenu1 += '				<INPUT TYPE="hidden" NAME="marginalcorporatetaxrate">'
}
divSubMenu1 += '			</table>'

divSubMenu1 += '<br>'
divSubMenu1 += ''
divSubMenu1 += '			<table width="505" border=1 cellspacing=0 cellpadding=5>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<th colspan=3 align=left bgcolor="#990099" bordercolor="#990099">Your Employees <a onclick="pop_location()" href="javascript:pop(12)"  ><img src="./images/infobutton.gif" border=0></a></th>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<td align="left">	'
divSubMenu1 += '						<table border=0 cellspacing=0 cellpadding=5>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left" width="350">How many employees do you have?</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left"><span id="invisible">#</span><INPUT TYPE="text" NAME="numfemployees" size=5 onblur="setNumfemployees(this.form)" value=700></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">What is the average salary?'
divSubMenu1 += '</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left">$<INPUT TYPE="text" NAME="averageemployeesalary" VALUE="30000" size=5 onblur="updateFederalEmployeeMarginalIncomeTaxRate(this.form)"></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">What percentage of your employees make less than $90,000?</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left"><span id="invisible">#</span><INPUT TYPE="text" NAME="percentlessthan" VALUE="90" size=2 onblur="validatePercentage(this);updateAveragemarginalfica(this.form)">%</td>'
divSubMenu1 += '							</tr>'
/*divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">How many employees take transit or vanpools to work?</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left"><span id="invisible">#</span><INPUT TYPE="text" NAME="corecurrentemployeestakingtransit" size=2 onblur="validatePercentage(this);this.form.supportingtransitvanpoolpercentemployees.value=this.value;this.form.supportingpercentemployeestakingtransit.value=this.value;updateExpectedtotalnumberofemployees(this.form);updateProgramInputs(1)" value='+programInfoInputs[1]+'>%<input type=hidden name="supportingtransitvanpoolpercentemployees" value="0"><input type=hidden name="supportingpercentemployeestakingtransit" value="0"></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">How many employees bike or walk to work?</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left"><span id="invisible">#</span><INPUT TYPE="text" NAME="supportingnumberpeopleacceptingincentivesforbicyclists" size=5 onblur="updateProgramInputs(16)" value='+programInfoInputs[16]+'></td>'
divSubMenu1 += '							</tr>'*/
divSubMenu1 += '						</table>'
divSubMenu1 += '					</td>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<td align="left">	'
divSubMenu1 += '						<table border=0 cellspacing=0 cellpadding=5>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left"><img src="images/clearpixel.gif" height=1 width=150></td>'
divSubMenu1 += '<td>Average marginal FICA for the employer and employee</td><td>&nbsp;</td>'
divSubMenu1 += '								<td align="left" width=100><INPUT TYPE="text" NAME="averagemarginalfica" size=2 onblur="validatePercentage(this);">%</TD>'
divSubMenu1 += '</tr><tr>'
divSubMenu1 += '<td align="left"><img src="images/clearpixel.gif" height=1 width=150></td>'
divSubMenu1 += '<td>Federal employee marginal income tax rate</td><td>&nbsp;</td>'
divSubMenu1 += '<td align="left"><INPUT TYPE="text" NAME="fedemployeemarginalincometaxrate" value="28" size=2 onblur="validatePercentage(this);updateEmployeemarginalincometaxrate(this.form)">%</TD>'
divSubMenu1 += '</tr><tr>'
divSubMenu1 += '<td align="left"><img src="images/clearpixel.gif" height=1 width=150></td>'
divSubMenu1 += '<td>State employee marginal income tax rate</td><td>&nbsp;</td>'
divSubMenu1 += '<td align="left"><INPUT TYPE="text" NAME="stateemployeemarginalincometaxrate" value="3.9" size=2 onblur="validatePercentage(this);updateEmployeemarginalincometaxrate(this.form)">%</TD>'
divSubMenu1 += '</tr><tr>'
divSubMenu1 += '<td align="left"><img src="images/clearpixel.gif" height=1 width=150></td>'
divSubMenu1 += '<td>Employee marginal income tax rate</td><td>&nbsp;</td>'
divSubMenu1 += '<td align="left"><INPUT TYPE="text" NAME="employeemarginalincometaxrate" value="" size=2 class="disabledField" disabled onfocus="this.blur();">%</TD>'; //onblur="updateCommuterModelResults(this.form)"
divSubMenu1 += '</tr></table>'
divSubMenu1 += '</td></tr></table>			'
divSubMenu1 += '<br>'
divSubMenu1 += '			<table width="505" border=1 cellspacing=0 cellpadding=5>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<th colspan=3 align=left bgcolor="#990099" bordercolor="#990099">Travel Patterns <a onclick="pop_location()" href="javascript:pop(14,112)"  ><img src="./images/infobutton.gif" border=0></a></th>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<td align="left">	'
divSubMenu1 += '						<table border=0 cellspacing=0 cellpadding=5>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left" width=350>How many employees take transit or vanpools to work?</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left">'
divSubMenu1 += '								<INPUT TYPE="text" NAME="corecurrentemployeestakingtransit" size=5 onblur="handleNumberOfEmployeesTakingTransit();this.form.supportingtransitvanpoolpercentemployees.value=this.value;this.form.supportingpercentemployeestakingtransit.value=this.value;updateExpectedtotalnumberofemployees(this.form);updateProgramInputs(1)" value='+programInfoInputs[1]+'><input type=hidden name="supportingtransitvanpoolpercentemployees" value="0"><input type=hidden name="supportingpercentemployeestakingtransit" value="0"></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">How many employees bike or walk to work?</td>'
divSubMenu1 += '								<td align="left"></TD>'
divSubMenu1 += '								<td align="left"><INPUT TYPE="text" NAME="supportingnumberpeopleacceptingincentivesforbicyclists" size=5 onblur="auxFormId13.employeespedestrians.value=this.value; handleNumberOfEmployeesTakingTransit();updateProgramInputs(16)" value='+programInfoInputs[16]+'></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '						</table>'
divSubMenu1 += '					</td>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '			</table>			'
divSubMenu1 += '			<br>'
divSubMenu1 += '			<table width="505" border=1 cellspacing=0 cellpadding=5>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<th colspan=3 align=left bgcolor="#990099" bordercolor="#990099">Parking Situation <a onclick="pop_location()" href="javascript:pop(13,125)"  ><img src="./images/infobutton.gif" border=0></a></th>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '				<tr>'
divSubMenu1 += '					<td align="left">	'
divSubMenu1 += '						<table border=0 cellspacing=0 cellpadding=5>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left" width="350">What type of parking do you provide for your employees?</td>'
divSubMenu1 += '								<td align="left"></td>'
divSubMenu1 += '								<td align="left"><select name=provideparking size=1 onchange="setProvideparking(); writeDivSubMenu1();writeDivMenu2();">'
divSubMenu1 += '								<option value="Free">Fully subsidized (free to employees)'
divSubMenu1 += '								<option value="Subsidized">Partially subsidized (employees pay part of cost)'
divSubMenu1 += '								<option value="No contribution to employee parking">No contribution to employee parking'
divSubMenu1 += '								</select></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">What kind of parking do employees use? </td>'
divSubMenu1 += '								<td align="left"></td>'
divSubMenu1 += '								<td align="left"><select name="kindofparking" size=1 onchange="getSpacecost(this.form);">'
divSubMenu1 += '								<option value="Surface">Surface lot'
divSubMenu1 += '								<option value="Structure">Above-ground garage'
divSubMenu1 += '								<option value="Underground">Underground garage'
divSubMenu1 += '								</select></td>'
divSubMenu1 += '							</tr>'

if (g_provideparking == "Subsidized") {
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">Space cost ($/space-month)</td>'
divSubMenu1 += '								<td align="left"></td>'
divSubMenu1 += '								<td align="left">$<INPUT TYPE="text" NAME="spacecost" onblur="updateEmployercontributiontoparking()" size=5></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">Employee contribution to parking cost ($/employee-month)</td>'
divSubMenu1 += '								<td align="left"></td>'
divSubMenu1 += '								<td align="left">$<INPUT TYPE="text" NAME="employeecontributiontoparking" onblur="updateEmployercontributiontoparking(\'employee\')" size=5></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">Employer contribution to parking cost ($/employee-month)</td>'
divSubMenu1 += '								<td align="left"></td>'
divSubMenu1 += '								<td align="left">$<INPUT TYPE="text" NAME="employercontributiontoparking" onblur="updateEmployercontributiontoparking(\'employer\')" size=5></td>'
divSubMenu1 += '							</tr>'
divSubMenu1 += '							<tr>'
divSubMenu1 += '								<td align="left">Are employee parking payments made on a pre-tax basis? <a onclick="pop_location()" href="javascript:pop(15)"  ><img src="./images/infobutton.gif" border=0></a></td>'
divSubMenu1 += '								<td align="left"></td>'
divSubMenu1 += '								<td align="left">'
divSubMenu1 += '								<input type="radio" name="parkingpaymentspretax" value="" onclick="updateParkingpaymentspretax()">Yes&nbsp;'
divSubMenu1 += '								<input type="radio" name="parkingpaymentspretax" value="" checked onclick="updateParkingpaymentspretax()">No'
divSubMenu1 += '								</td>'
divSubMenu1 += '							</tr>'
}
else if (g_provideparking == "Free"){
   divSubMenu1 += '				<INPUT TYPE="hidden" NAME="employeecontributiontoparking">'
   divSubMenu1 += '				<INPUT TYPE="hidden" NAME="spacecost">'
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td align="left">Cost of parking to employer ($/employee-month)</td>'
   divSubMenu1 += '								<td align="left"></td>'
   divSubMenu1 += '								<td align="left">$<INPUT TYPE="text" NAME="employercontributiontoparking" onblur="updateEmployercontributiontoparking(\'employer\')" size=5></td>'
   divSubMenu1 += '							</tr>'   
}
else {
   divSubMenu1 += '				<INPUT TYPE="hidden" NAME="employercontributiontoparking">'
   divSubMenu1 += '				<INPUT TYPE="hidden" NAME="employeecontributiontoparking">'
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td align="left">Space cost ($/space-month)</td>'
   divSubMenu1 += '								<td align="left"></td>'
   divSubMenu1 += '								<td align="left">$<INPUT TYPE="text" NAME="spacecost" onblur="updateEmployercontributiontoparking()" size=5></td>'
   divSubMenu1 += '							</tr>'   
   divSubMenu1 += '							<tr>'
   divSubMenu1 += '								<td align="left">Are employee parking payments made on a pre-tax basis? <a onclick="pop_location()" href="javascript:pop(15)"  ><img src="./images/infobutton.gif" border=0></a></td>'
   divSubMenu1 += '								<td align="left"></td>'
   divSubMenu1 += '								<td align="left">'
   divSubMenu1 += '								<input type="radio" name="parkingpaymentspretax" value="" onclick="updateParkingpaymentspretax()">Yes&nbsp;'
   divSubMenu1 += '								<input type="radio" name="parkingpaymentspretax" value="" checked onclick="updateParkingpaymentspretax()">No'
   divSubMenu1 += '								</td>'
   divSubMenu1 += '							</tr>'   
}


divSubMenu1 += '						</table>'
divSubMenu1 += '					</td>'
divSubMenu1 += '				</tr>'
divSubMenu1 += '			</table>	<br>'
divSubMenu1 += '			'
divSubMenu1 += '			'
divSubMenu1 += '			'
divSubMenu1 += '			'

divSubMenu1 += ''
divSubMenu1 += '<input type="hidden" name="c_ParticipationRateforTransitVouchers" size=5>'
divSubMenu1 += '<input type="hidden" name="c_NumberofEmployeesParticipating" size=5>'
divSubMenu1 += '<input type="hidden" name="c_EmployerprovidedTaxfreeVoucherCost" size=5>'
divSubMenu1 += '<input type="hidden" name="c_AverageEmployeePretaxVoucherContribution" size=5>'
divSubMenu1 += '<input type="hidden" name="c_VoucherBenefitCap" size=5>'
divSubMenu1 += '<input type="hidden" name="c_fulltimeTelecommuters" size=5>'
divSubMenu1 += '<input type="hidden" name="c_parttimeTelecommuters" size=5>'
divSubMenu1 += '<input type="hidden" name="c_parttimerstelecommute" size=5>'
divSubMenu1 += '<input type="hidden" name="c_Costofsettingupandmaintainingahomeoffice" size=5>'
divSubMenu1 += '<input type="hidden" name="c_CashOutperSpace" size=5>'
divSubMenu1 += '<input type="hidden" name="c_SpacesCashedOut" size=5>'
divSubMenu1 += '<input type="hidden" name="c_Typeoffacility" size=5>'
divSubMenu1 += '<input type="hidden" name="c_Designedforhowmanybikes" size=5>'
divSubMenu1 += '<input type="hidden" name="c_Bicyclefacilitiescost" size=5>'
divSubMenu1 += ''
divSubMenu1 += ''
//divSubMenu1 += '<center><a href="#top" onclick="showDivLayer(\'divSubMenu2\');">Next select Program Information</a></center>'
	divSubMenu1 += '<center><a href="javascript:print()"><img src="images/button_print_off.gif" width="93" height="21" alt="Print Page" border="0"></a>&nbsp;&nbsp;<a href="#top" onclick="return navigateTo(2)"><img src="./images/button_next_off.gif" alt="Next Page" border=0 width=93 height=21></a></center>'

//was used in testing the printpage(divname) function
//divSubMenu1 += "<center><a href='javascript:printpage(print1_html)'>PRINT</a></center>"

divSubMenu1 += '</form>'
divSubMenu1 += ''
divSubMenu1 += '</td></tr></table>'
divSubMenu1 += '</td></tr></table>'
print1_html = divSubMenu1;

if (myVersion == "multitab") {
	if (document.layers) {
		document.layers["divSubMenu1"].document.open()
		document.layers["divSubMenu1"].document.write(divSubMenu1)
		document.layers["divSubMenu1"].document.close()
		}
	else {
		document.all["divSubMenu1"].innerHTML = divSubMenu1
		}
}

if (myVersion == "multitab") auxFormId11 = getFormId(1.1); // reinitialize the form reference

populateEmployerInputs();
}


/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateProgramInputs(n)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we save the Program Selection's inputs.  They will be used later to repopulate the DIV after refreshing it
	with new options.  The parameter is not used at this point, but could provide useful later.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateProgramInputs(n) {
	
	
	programInfoInputs[0] = auxFormId12.coretransit.value;
	programInfoInputs[1] = auxFormId11.corecurrentemployeestakingtransit.value;
	programInfoInputs[2] = auxFormId12.coreparkingmonthlybenefit.value;	
	programInfoInputs[3] = auxFormId12.coretelecommutingpercentemployeestelecommutingfulltime.value;	
	programInfoInputs[4] = auxFormId12.coretelecommutingpercentemployeestelecommutingparttime.value;	
	programInfoInputs[5] = auxFormId12.coretelecommutingaveragedaysperweekforparttimetelecommuters.value;	
	//programInfoInputs[6] = auxFormId12..value;	calculated! (coretelecommutingpercentemployeestelecommutingaverageday)
	programInfoInputs[7] = auxFormId12.coretelecommutingcosthomeoffice.value;	
	if (isNaN(programInfoInputs[7])) programInfoInputs[7] = 4000;
	programInfoInputs[8] = auxFormId12.supportingtransitvanpoolmonthlybenefits.value;	
	programInfoInputs[9] = auxFormId11.supportingtransitvanpoolpercentemployees.value;	
	programInfoInputs[10] = auxFormId12.supportingaverageemployeepretaxvouchercontribution.value;	
	programInfoInputs[11] = auxFormId11.supportingpercentemployeestakingtransit.value;	
	programInfoInputs[12] = auxFormId12.supportingmonthlyparkingcashout.value;	
	
	if (supportBenefits[6] == "x") {
		//mkwan
		programInfoInputs[13] = "locker";
	}
	
	programInfoInputs[14] = auxFormId12.supportingsecurebicycledesignedforhowmanybikes.value;	
	programInfoInputs[15] = auxFormId12.supportingincentiveslevelforbicyclists.value;	
	programInfoInputs[16] = auxFormId11.supportingnumberpeopleacceptingincentivesforbicyclists.value;	
	programInfoInputs[17] = auxFormId12.supportingpercentemployeestelecommutingfulltime.value;	
	programInfoInputs[18] = auxFormId12.supportingpercentemployeestelecommutingparttime.value;	
	programInfoInputs[19] = auxFormId12.supportingaveragedaystelecommutingperweekforparttimetelecommuters.value;	
	// programInfoInputs[20] = auxFormId12..value;	computed! (supportingpercentemployeestelecommutingonanaverageday)
	programInfoInputs[21] = auxFormId12.supportingcostsettingupandmaintaininghomeoffice.value;	

	if (n!=-1) updateCommuterModelResults();
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	updateEmployerInputs(n)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we save the Site/Employer Information inputs.  They will be used later to repopulate the DIV after refreshing it
	with new options.  The parameter is not used at this point, but could provide useful later.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function updateEmployerInputs(n) {

	employerInfoInputs[0] = auxFormId11.state.selectedIndex;
	employerInfoInputs[1] = auxFormId11.loctype.selectedIndex;
	
	if (g_orgType != "For-profit" && employerInfoInputs[2] == 0)   {
		employerInfoInputs[3] = auxFormId11.fedtaxrate.selectedIndex;
		employerInfoInputs[4] = auxFormId11.corpnetincome.selectedIndex;
	}
	
	employerInfoInputs[2] = auxFormId11.orgtype.selectedIndex;

	employerInfoInputs[5] = auxFormId11.calcmarginalfedcorptaxrate.value;
	employerInfoInputs[6] = auxFormId11.statecorptaxrate.value;
	employerInfoInputs[7] = auxFormId11.marginalcorporatetaxrate.value;
	
	employerInfoInputs[8] = auxFormId11.numfemployees.value;
	employerInfoInputs[9] = auxFormId11.averageemployeesalary.value;
	employerInfoInputs[10] = auxFormId11.percentlessthan.value;
	
	employerInfoInputs[11] = auxFormId11.averagemarginalfica.value;
	employerInfoInputs[12] = auxFormId11.fedemployeemarginalincometaxrate.value;
	employerInfoInputs[13] = auxFormId11.stateemployeemarginalincometaxrate.value;
	employerInfoInputs[14] = auxFormId11.employeemarginalincometaxrate.value;
	
	employerInfoInputs[16] = auxFormId11.kindofparking.selectedIndex;
	
	if (g_provideparking != "Free" && employerInfoInputs[15] != 0) { // if it is NOT free parking reset
		if (auxFormId11.parkingpaymentspretax[0].checked) employerInfoInputs[17] = "Yes";
		else employerInfoInputs[17] = "No";	
	}
		
	employerInfoInputs[15] = auxFormId11.provideparking.selectedIndex;	

	
	employerInfoInputs[18] = auxFormId11.employeecontributiontoparking.value;
	employerInfoInputs[19] = auxFormId11.spacecost.value;
	employerInfoInputs[20] = auxFormId11.employercontributiontoparking.value;
	
	employerInfoInputs[21] = auxFormId13.expectednumberemployeestransitSmallLarge.value;
	employerInfoInputs[22] = auxFormId13.expectednumberemployeestransit.value;
	employerInfoInputs[23] = auxFormId13.expectedtotalnumberofemployees.value;
	employerInfoInputs[24] = auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value;
	employerInfoInputs[25] = auxFormId13.expectednumberemployeesparkingcashout.value;
	employerInfoInputs[26] = auxFormId13.expectednumberemployeestelecommuting.value;
	employerInfoInputs[27] = auxFormId13.reductionnumberdriversSmallLarge.value;
	employerInfoInputs[28] = auxFormId13.reductionnumberdrivers.value;
	
	employerInfoInputs[29] = auxFormId11.c_ParticipationRateforTransitVouchers.value;
	employerInfoInputs[30] = auxFormId11.c_NumberofEmployeesParticipating.value;
	employerInfoInputs[31] = auxFormId11.c_EmployerprovidedTaxfreeVoucherCost.value;
	employerInfoInputs[32] = auxFormId11.c_AverageEmployeePretaxVoucherContribution.value;
	employerInfoInputs[33] = auxFormId11.c_VoucherBenefitCap.value;
	employerInfoInputs[34] = auxFormId11.c_fulltimeTelecommuters.value;
	employerInfoInputs[35] = auxFormId11.c_parttimeTelecommuters.value;
	employerInfoInputs[36] = auxFormId11.c_parttimerstelecommute.value;
	employerInfoInputs[37] = auxFormId11.c_Costofsettingupandmaintainingahomeoffice.value;
	employerInfoInputs[38] = auxFormId11.c_CashOutperSpace.value;
	employerInfoInputs[39] = auxFormId11.c_SpacesCashedOut.value;
	employerInfoInputs[40] = auxFormId11.c_Typeoffacility.value;
	employerInfoInputs[41] = auxFormId11.c_Designedforhowmanybikes.value;	
	employerInfoInputs[42] = auxFormId11.c_Bicyclefacilitiescost.value;

}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	populateEmployerInputs(n)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we use the saved Site/Employer Information inputs to repopulate the DIV after refreshing it
	with new options.  The parameter is not used at this point, but could provide useful later.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function populateEmployerInputs(n) {

	eval( auxFormId11.state.selectedIndex =employerInfoInputs[0] );
	eval( auxFormId11.loctype.selectedIndex =employerInfoInputs[1] );
	
	eval( auxFormId11.orgtype.selectedIndex =employerInfoInputs[2] );
	
	if (g_orgType == "For-profit") {
	eval( auxFormId11.fedtaxrate.selectedIndex =employerInfoInputs[3] );
	eval( auxFormId11.corpnetincome.selectedIndex =employerInfoInputs[4] );
	}

	eval( auxFormId11.calcmarginalfedcorptaxrate.value =employerInfoInputs[5] );
	eval( auxFormId11.statecorptaxrate.value =employerInfoInputs[6] );
	eval( auxFormId11.marginalcorporatetaxrate.value =employerInfoInputs[7] );
	
	eval( auxFormId11.numfemployees.value =employerInfoInputs[8] );
	eval( auxFormId11.averageemployeesalary.value =employerInfoInputs[9] );
	eval( auxFormId11.percentlessthan.value =employerInfoInputs[10] );
	
	eval( auxFormId11.averagemarginalfica.value =employerInfoInputs[11] );
	eval( auxFormId11.fedemployeemarginalincometaxrate.value =employerInfoInputs[12] );
	eval( auxFormId11.stateemployeemarginalincometaxrate.value =employerInfoInputs[13] );
	eval( auxFormId11.employeemarginalincometaxrate.value =employerInfoInputs[14] );
	
	eval( auxFormId11.provideparking.selectedIndex =employerInfoInputs[15] );
	eval( auxFormId11.kindofparking.selectedIndex =employerInfoInputs[16] );
	
	if (employerInfoInputs[15] > 0) { // if it is NOT free parking
		if (employerInfoInputs[17] == "Yes") eval("auxFormId11.parkingpaymentspretax[0].checked=true");
		else eval("auxFormId11.parkingpaymentspretax[1].checked=true");
	}
		
	eval( auxFormId11.employeecontributiontoparking.value =employerInfoInputs[18] );
	eval( auxFormId11.spacecost.value =employerInfoInputs[19] );
	eval( auxFormId11.employercontributiontoparking.value =employerInfoInputs[20] );
	
	auxFormId13.expectednumberemployeestransitSmallLarge.value =employerInfoInputs[21] ;
	auxFormId13.expectednumberemployeestransit.value =employerInfoInputs[22] ;
	auxFormId13.expectedtotalnumberofemployees.value =employerInfoInputs[23] ;
	auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value =employerInfoInputs[24] ;
	auxFormId13.expectednumberemployeesparkingcashout.value =employerInfoInputs[25] ;
	auxFormId13.expectednumberemployeestelecommuting.value =employerInfoInputs[26] ;
	auxFormId13.reductionnumberdriversSmallLarge.value =employerInfoInputs[27] ;
	auxFormId13.reductionnumberdrivers.value =employerInfoInputs[28] ;
	
	eval( auxFormId11.c_ParticipationRateforTransitVouchers.value =employerInfoInputs[29] );
	eval( auxFormId11.c_NumberofEmployeesParticipating.value =employerInfoInputs[30] );
	eval( auxFormId11.c_EmployerprovidedTaxfreeVoucherCost.value =employerInfoInputs[31] );
	eval( auxFormId11.c_AverageEmployeePretaxVoucherContribution.value =employerInfoInputs[32] );
	eval( auxFormId11.c_VoucherBenefitCap.value =employerInfoInputs[33] );
	eval( auxFormId11.c_fulltimeTelecommuters.value =employerInfoInputs[34] );
	eval( auxFormId11.c_parttimeTelecommuters.value =employerInfoInputs[35] );
	eval( auxFormId11.c_parttimerstelecommute.value =employerInfoInputs[36] );
	eval( auxFormId11.c_Costofsettingupandmaintainingahomeoffice.value =employerInfoInputs[37] );
	eval( auxFormId11.c_CashOutperSpace.value =employerInfoInputs[38] );
	eval( auxFormId11.c_SpacesCashedOut.value =employerInfoInputs[39] );
	eval( "auxFormId11.c_Typeoffacility.value = \"employerInfoInputs[40]\"");
	eval( auxFormId11.c_Designedforhowmanybikes.value =employerInfoInputs[41] );
	eval( auxFormId11.c_Bicyclefacilitiescost.value =employerInfoInputs[42] );
	
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	writeDivMenu2()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we build the whole Financial Results section.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function writeDivMenu2() {
	var divMenu2 = "";
		
	/*divMenu2 += "<table border=0 width=640>"
	divMenu2 += "<tr><td valign=top>"
	divMenu2 += "<IMG src='images/finance.jpg' name='financeImg' border=0 align=left>"//</td><td valign=top>
	divMenu2 += "<span class='title'>DIRECT COSTS AND SAVINGS</span><br><br>"
	divMenu2 += "Direct financial costs and benefits occur for both employers and employees. "
	divMenu2 += "This page allows you to change some of the default values used in the calculator and to "
	divMenu2 += "get more information on how results were calculated.<br><br>"
	divMenu2 += "</td></tr></table>"*/


	divMenu2 += '<table width="505" cellpadding=0 cellspacing=0 border=0>'
	
	// first row
	divMenu2 += '				<tr><td><h1>Section 4: Results Summary: Direct Costs and Savings</h1>'
	divMenu2 += '<form id="divMenu2Form" name="divMenu2Form">'
	divMenu2 += "<p>Direct financial costs and benefits occur for both employers and employees. "
	divMenu2 += "This page allows you to change some of the default values used in the calculator and to "
	divMenu2 += "get more information on how results were calculated.</p>"
	//divMenu2 += '				</td></tr>'
	
	//divMenu2 += '</table><br>'	


	//divMenu2 += '<table width="505" border=0><tr><td>'
	
		
	//divMenu2 += "<table border=0 bordercolor='#990099'>"
	//divMenu2 += "<tr><td valign=top>"
	divMenu2 += "<p><strong>INCENTIVE PROGRAMS: Costs and benefits for employer and employees</strong><br>"
	divMenu2 += "Incentive programs cost an employer money, but yield direct financial benefits for employees. Because transit/vanpool benefits are tax-free, they cost employers less and provide more value to employees than taxable salary. An employer can also reduce payroll taxes when it implements a program for employees to reserve income on a pre-tax basis for transit or vanpool expenses.</p>"
	//divMenu2 += "</td></tr></table>"	


	if (coreBenefits[0] == "x" || supportBenefits[1] == "x") {
	divMenu2 += ''
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2 bgcolor="#990099"><span id="tableNameSmall">Transit/Vanpool Benefits'
	divMenu2 += '</span> <a onclick="pop_location()" href="javascript:pop(53)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '<tr><td width="50%" align="center" valign="top">Employer cost ($/year)'
	divMenu2 += '<br>$<input type="text" name="r_costoftransitvanpoolbenefits" size=5 class="disabledField" disabled onfocus="this.blur();">'
	divMenu2 += '</td><td width="50%" align="center" valign="top">Employee value ($/year)'
	divMenu2 += '<br>$<input type="text" name="r_valueoftransitvanpoolbenefits" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td colspan=2><a href="" onclick="getTransitVanpoolDetails(); return false;">CLICK HERE</a> TO SEE DETAILS FOR EMPLOYER AND EMPLOYEES</td></tr>'
	divMenu2 += '</table>'
	divMenu2 += '<br>'
	divMenu2 += ''
	}
	else {divMenu2 += '<input type="hidden" name="r_costoftransitvanpoolbenefits"><input type="hidden" name="r_valueoftransitvanpoolbenefits">'}
	
	if (coreBenefits[1] == "x" || supportBenefits[3] == "x") {
	divMenu2 += ''	
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2 bgcolor="#990099"><span id="tableNameSmall">Parking Cash Out Benefits</span> <a onclick="pop_location()" href="javascript:pop(54)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '<tr><td width="50%" align="center" valign="top">'
	divMenu2 += 'Employer cost ($/year)'
	divMenu2 += '<br>$<input type="text" name="r_costofparkingcashout" size=5 class="disabledField" disabled onfocus="this.blur();">'
	divMenu2 += '</td><td width="50%" align="center" valign="top">Employee value ($/year)'
	divMenu2 += '<br>$<input type="text" name="r_valueofcashoutbenefit" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td colspan=2><a href="" onclick="getParkingCashOutIncentives(); return false;">CLICK HERE</a> TO SEE DETAILS FOR EMPLOYER  AND EMPLOYEES</td></tr>'
	divMenu2 += '</table>'
	divMenu2 += '<br>'
	divMenu2 += ''	
	}
	else {divMenu2 += '<input type="hidden" name="r_costofparkingcashout"><input type="hidden" name="r_valueofcashoutbenefit">'}	
	
	if (supportBenefits[7] == "x") {	
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2 bgcolor="#990099"><span id="tableNameSmall">Financial incentives for bicyclists or walkers</span> <a onclick="pop_location()" href="javascript:pop(55)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '<tr><td width="50%" align="center" valign="top">Cost of commute '
	divMenu2 += 'incentives to employer ($/year)'
	divMenu2 += '<br>$<input type="text" name="r_costofcommuteincentives" size=5 class="disabledField" disabled onfocus="this.blur();">'
	divMenu2 += '</td><td width="50%" align="center" valign="top">Value of commute incentives to employee '
	divMenu2 += '($/year)'
	divMenu2 += '<br>$<input type="text" name="r_valueoffinancialincentives" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '</table>'
	divMenu2 += '<br>'
	divMenu2 += ''
	}
	else {divMenu2 += '<input type="hidden" name="r_costofcommuteincentives"><input type="hidden" name="r_valueoffinancialincentives">'}		

	if (supportBenefits[2] == "x") {
	divMenu2 += ''
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2 bgcolor="#990099"><span id="tableNameSmall">Employee-Paid Pre-Tax Transit/Vanpool Benefits'
	divMenu2 += '</span> <a onclick="pop_location()" href="javascript:pop(58)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '<tr><td width="50%" align="center" valign="top">Employer savings ($/year)'
	divMenu2 += '<br>$<input type="text" name="r_taxsavingsfromreducedFICA2" size=5 class="disabledField" disabled onfocus="this.blur();">'
	divMenu2 += '</td><td width="50%" align="center" valign="top">Employee savings ($/year)'
	divMenu2 += '<br>$<input type="text" name="r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits2" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td colspan=2><a href="" onclick="getEmployeePreTaxDetails(); return false;">CLICK HERE</a> TO SEE DETAILS FOR EMPLOYER AND EMPLOYEES</td></tr>'
	divMenu2 += '</table>'
	divMenu2 += '<br>'
	divMenu2 += ''
		
	divMenu2 += '	</table></td></tr></table>'
	}
	else {
	divMenu2 += '<input type="hidden" name="r_taxsavingsfromreducedFICA2"><input type="hidden" name="r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits2">'
	}

	
	divMenu2 += '<hr align="center" width="50">'
	
	
	
	divMenu2 += "<table border=0 bordercolor='#990099'>"
	divMenu2 += "<tr><td valign=top>"
	divMenu2 += "<strong>EMPLOYER COSTS</strong><br>"
	divMenu2 += "Just like any other benefit, implementing a commuter benefits package incurs some costs for an organization, such as administrative time and the costs of bicycle racks or equipment for home offices for telecommuters.<br><br>"
	divMenu2 += "</td></tr></table>"	
	
	var numHoursConditional = 4;
	if (coreBenefits[0]=="x" || supportBenefits[1]=="x" || supportBenefits[2]=="x") numHoursConditional = 8;
	
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2 bgcolor="#990099"><span id="tableNameSmall">Administrative Costs </span><a onclick="pop_location()" href="javascript:pop(50)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '	<tr><td colspan=2><table width="100%">'
	divMenu2 += '<tr><td width="80%" valign="top">Number of hours per month expected for human resources staff to administer selected programs</td><td valign="top"><span id="invisible">#</span><INPUT TYPE="text" NAME="numberhourspermonthforstaffadministerprogram" size=5 value="'+numHoursConditional+'" onblur="updateAnnualProgramAdministrationCost()"></td></tr>'
	divMenu2 += '<tr><td width="80%" valign="top">Human resources specialist salary (annual) National average is $37,700</td><td valign="top">$<INPUT TYPE="text" NAME="hrspecialistsalary" size=5 value="37700" onblur="updateAnnualProgramAdministrationCost()"></td></tr>'
	divMenu2 += '<tr><td width="80%" valign="top">Annual Program Administration Cost</td><td valign="top">$<INPUT TYPE="text" NAME="r_annualprogramadministrationcost" size=5 value="" class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td colspan=2 align=center>Most commute benefit programs require minimal administrative costs - just a few hours per month.'
	//divMenu2 += '<br><a onclick="pop_location()" href="javascript:pop(0)"  >HOW IS THIS CALCULATED?</a>'
	divMenu2 += '</td></tr>'
	divMenu2 += '	</table></td></tr>'
	divMenu2 += '</table><br>'
	divMenu2 += '<!--r_taxsavingsfromreducedFICA:--><INPUT TYPE="hidden" NAME="r_taxsavingsfromreducedFICA" size=5 value="">'
	divMenu2 += '<!--r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits:--><INPUT TYPE="hidden" NAME="r_valueoftaxsavingsfrompretaxtransitvanpoolbenefits" size=5 value="">'
	divMenu2 += '<!--r_programadministrationtime:--><INPUT TYPE="hidden" NAME="r_programadministrationtime" size=5 value="">'
	divMenu2 += '<!--r_humanresourcespecialistsalary:--><INPUT TYPE="hidden" NAME="r_humanresourcespecialistsalary" size=5 value="">'
	divMenu2 += '<!--r_totaldirectemployerfinancialcosts:--><INPUT TYPE="hidden" NAME="r_totaldirectemployerfinancialcosts" size=5 value="">'
	divMenu2 += '<!--r_totaldirectemployeefinancialbenefits:--><INPUT TYPE="hidden" NAME="r_totaldirectemployeefinancialbenefits" size=5 value="">'
	divMenu2 += ''
	
	if (coreBenefits[2] == "x" || supportBenefits[8] == "x") {	
	divMenu2 += ''
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2  bgcolor="#990099"><span id="tableNameSmall">Home Office Space Costs</span> <a onclick="pop_location()" href="javascript:pop(51)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '	<tr><td colspan=2><table width="100%">'
	divMenu2 += '<tr><td width="80%" valign="top">Number of full-time teleworkers</td><td valign="top"><span id="invisible">#</span><input type="text" name="r_numberoffulltimetelecommuters" size=5 onblur="" class="disabledField" disabled ></td></tr>'
	// removed on 11/2/02  checkOverrider_numberoffulltimetelecommuters();calcResults(\'noSummary\')
	
	divMenu2 += ''
	divMenu2 += '<tr><td width="80%" valign="top">Average cost per home-office</td><td valign="top">$<input type="text" name="r_averagecostperhomeoffice" size=5 onblur="checkOverrider_averagecostperhomeoffice();calcResults(\'noSummary\')"></td></tr>'
	divMenu2 += ''
	divMenu2 += '<tr><td width="80%" valign="top">One-time cost of home-offices (start up)</td><td valign="top">$<input type="text" name="r_totalcostofhomeoffices" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td width="80%" valign="top"><strong>Annualized cost of home-offices</strong></td><td valign="top">$<input type="text" name="r_totalcostofhomeofficesAnnual" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '	</table></td></tr>'
	divMenu2 += '</table>'
	divMenu2 += '<br>'
	divMenu2 += ''
	}
	else {divMenu2 += '<input type="hidden" name="r_numberoffulltimetelecommuters"><input type="hidden" name="r_averagecostperhomeoffice"><input type="hidden" name="r_totalcostofhomeoffices"><input type="hidden" name="r_totalcostofhomeofficesAnnual">'}
	
	if (supportBenefits[6] == "x") {	
	divMenu2 += ''
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2 bgcolor="#990099"><span id="tableNameSmall">Bicycle Facility Costs</span> <a onclick="pop_location()" href="javascript:pop(52)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '	<tr><td colspan=2><table width="100%">'
	divMenu2 += '<tr><td width="80%" valign="top">Number of bicycle parking spaces</td><td valign="top"><span id="invisible">#</span><input type="text" name="r_numberofbicycleparkingspaces" size=5 onblur="checkOverrider_numberofbicycleparkingspaces();calcResults(\'noSummary\')"></td></tr>'
	divMenu2 += ''
	divMenu2 += '<tr><td width="80%" valign="top">Cost per space</td><td valign="top">$<input type="text" name="r_costperspace" size=5 onblur="calcResults(\'noSummary\')"></td></tr>'
	divMenu2 += ''
	divMenu2 += '<tr><td width="80%" valign="top">One-time cost of bicycle racks/lockers (start up)</td><td valign="top">$<input type="text" name="r_costofbicyclerackslockers" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td width="80%" valign="top"><strong>Annualized cost of bicycle racks/lockers</strong></td><td valign="top">$<input type="text" name="r_costofbicyclerackslockersAnnual" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '	</table></td></tr>'
	divMenu2 += '</table><br>'	
	}
	else {divMenu2 += '<input type="hidden" name="r_numberofbicycleparkingspaces"><input type="hidden" name="r_costperspace"><input type="hidden" name="r_costofbicyclerackslockers"><input type="hidden" name="r_costofbicyclerackslockersAnnual">'}
	
	//divMenu2 += '<hr align="center" width="50">'
	divMenu2 += ''		

	
	divMenu2 += '<hr align="center" width="50">'
	divMenu2 += ''
	divMenu2 += '<table border=0 width="100%" bordercolor="#990099"><tr><td align="left"><strong>Employee Benefits</strong><br>In addition to the value of transit/vanpool benefits and other financial benefits for commuting, employees save money directly due to reduced driving expenses and parking costs (if employees pay for their parking). Commuting alone in an automobile is expensive. In fact, transportation is the second largest expense after housing in the typical American family.<br></td></tr></table><br>'
	divMenu2 += ''
	divMenu2 += '<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=2 bgcolor="#990099"><span id="tableNameSmall">Employee Gas and Auto Maintenance Cost Savings</span>  <a onclick="pop_location()" href="javascript:pop(56)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += ''
	divMenu2 += '	<tr><td colspan=2><table width="100%">'
	divMenu2 += '<tr><td width="80%" valign="top">Average cost per gallon of gasoline</td><td valign="top">$<input type="text" name="r_averagecostpergallonofgasoline" size=5 value="2.72" onblur="updateTotalReductioninEmployeeDrivingExpense()"></td></tr>'
	divMenu2 += ''
	divMenu2 += '<tr><td width="80%" valign="top">Average gasoline cost per mile</td><td valign="top">$<input type="text" name="r_averagegascostpermile" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td width="80%" valign="top">Other vehicle operating costs (oil, maintenance, tires, vehicle depreciation) per mile</td><td valign="top">$<input type="text" name="r_othervehicleoperatingcosts" size=5 value="0.21" onblur="updateTotalReductioninEmployeeDrivingExpense()"></td></tr>'
	divMenu2 += '<tr><td width="80%" valign="top">Total vehicle operating costs per mile</td><td valign="top">$<input type="text" name="r_averagecostpermiledriving" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += ''
	divMenu2 += '<tr><td width="80%" valign="top">Reduction in driving expenses per month per employee who chooses not to drive</td><td valign="top">$<input type="text" name="r_reductionindrivingexpensespermonthperemployee" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += ''
	divMenu2 += '<tr><td width="80%" valign="top"><strong>Total Reduction in Employee Driving Expense</strong></td><td valign="top">$<input type="text" name="r_totalreductioninemployeedrivingexpensesperyear" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	/*divMenu2 += '<tr><td colspan=2>Commuting alone in an automobile is expensive.  In fact, transportation '
	divMenu2 += 'is the second largest expense after housing in the typical American family.<br>'
	divMenu2 += '<br>'
	divMenu2 += ''
	divMenu2 += 'The cost of driving is calculated based on your estimated gasoline costs and  '
	divMenu2 += 'typical values for other vehicle operating-related costs. According to AAA (2000),  '
	divMenu2 += 'it costs about $0.34 per mile to operate a typical motor vehicle.  '
	divMenu2 += 'These costs include gas and oil, maintenance, tires, and vehicle depreciation.</td></tr>' */
	divMenu2 += '	</table></td></tr>'
	divMenu2 += ''
	divMenu2 += '</table>'
	divMenu2 += '<br>'

		
	//UUU
	if (g_provideparking != "Free") {
	//divMenu2 += '<hr align="center" width="50">'
	divMenu2 += '	<table border=1 width="100%" cellspacing=0 bordercolor="#990099"><tr><td colspan=3 bgcolor="#990099">'
	divMenu2 += '<span id="tableNameSmall">Employee Parking Cost Savings</span> <a onclick="pop_location()" href="javascript:pop(57)"  ><img src="./images/infobutton.gif" border=0></a></td></tr>'
	divMenu2 += '	<tr><td colspan=3><table width="505">'
	divMenu2 += '<tr><td width="60%" valign="top">&nbsp;</td><td align="center" valign="top">Each Employee Per Month</td><td align="center" valign="top">For All Employees Per Year</td></tr>'
	divMenu2 += '<tr><td width="60%" valign="top">&nbsp;&nbsp;&nbsp;&nbsp;Direct Cost Savings</td><td valign="top">$<input type="text" name="r_employeeDirectCostSavingsperspacepermonth" size=5 class="disabledField" disabled onfocus="this.blur();"></td><td valign="top">$<input type="text" name="r_employeeDirectCostSavingsperyear" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td width="60%" valign="top">&nbsp;&nbsp;&nbsp;&nbsp;FICA Savings</td><td valign="top">$<input type="text" name="r_employeeFICACostSavingsperspacepermonth" size=5 class="disabledField" disabled onfocus="this.blur();"></td><td valign="top">$<input type="text" name="r_employeeFICACostperyear" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td width="60%" valign="top">&nbsp;&nbsp;&nbsp;&nbsp;Income Tax Savings</td><td valign="top">$<input type="text" name="r_employeeCorporateIncomeTaxSavingsperspacepermonth" size=5 class="disabledField" disabled onfocus="this.blur();"></td><td valign="top">$<input type="text" name="r_employeeIncomeTaxperyear" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '<tr><td width="60%" valign="top">&nbsp;&nbsp;&nbsp;&nbsp;NET SAVINGS</td><td valign="top">$<input type="text" name="r_employeeNetCostSavingsperspacepermonth" size=5 class="disabledField" disabled onfocus="this.blur();"></td><td valign="top">$<input type="text" name="r_employeeNetCostSavingsperyear" size=5 class="disabledField" disabled onfocus="this.blur();"></td></tr>'
	divMenu2 += '	</table></td></tr></table><br>'
	}
	else {
	divMenu2 += '<input type="hidden" name="r_employeeDirectCostSavingsperspacepermonth"><input type="hidden" name="r_employeeFICACostSavingsperspacepermonth"><input type="hidden" name="r_employeeCorporateIncomeTaxSavingsperspacepermonth"><input type="hidden" name="r_employeeNetCostSavingsperspacepermonth"><input type="hidden" name="r_employeeDirectCostSavingsperyear"><input type="hidden" name="r_employeeFICACostperyear"><input type="hidden" name="r_employeeIncomeTaxperyear"><input type="hidden" name="r_employeeNetCostSavingsperyear">'
	}
	
	//divMenu2 += '<center><a href="#top" onclick="calcResults(\'withSummary\'); showDivLayer(\'divMenu6\'); setImage(\'imgName3\',3);">Back to Summary of Results</a></center>'
	divMenu2 += '<center><a href="#top" onclick="return navigateTo(4)"><img src="./images/button_back_to_results_off.gif" alt="Back to Results" border=0></a></center>'

	divMenu2 += ''
	divMenu2 += ''
	divMenu2 += '</form>'
	divMenu2 += '</td></tr></table>'
	
	if (myVersion == "multitab") {
		if (document.layers) {
			document.layers["divMenu2"].document.open()
			document.layers["divMenu2"].document.write(divMenu2)
			document.layers["divMenu2"].document.close()
			}
		else {
			document.all["divMenu2"].innerHTML = divMenu2;
			}
	}
	
	if (myVersion == "multitab") auxFormId2 = getFormId(2); // reinitialize the form reference

}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	writeDivSubMenu3()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Here we build the whole Employee Participation section.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function writeDivSubMenu3(refreshFlag){
	
	var divSubMenu3Values = new Array();
	for (i=0; i<10; i++) divSubMenu3Values[i] = 0;
	
	divSubMenu3HTMLprefix = "";
	divSubMenu3HTML = "";
	
	if (!firstSequence) {

	divSubMenu3Values[0] = auxFormId13.expectednumberemployeestransitSmallLarge.value;
	divSubMenu3Values[1] = auxFormId13.expectednumberemployeestransit.value;
	divSubMenu3Values[2] = auxFormId13.expectedtotalnumberofemployees.value;
	divSubMenu3Values[3] = auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value;
	divSubMenu3Values[4] = auxFormId13.expectednumberemployeesparkingcashout.value;
	divSubMenu3Values[5] = auxFormId13.expectednumberemployeestelecommuting.value;
	divSubMenu3Values[6] = auxFormId13.reductionnumberdriversSmallLarge.value;
	divSubMenu3Values[7] = auxFormId13.reductionnumberdrivers.value;
	divSubMenu3Values[8] = auxFormId13.employeescurrentlyusing.value;
	divSubMenu3Values[9] = auxFormId13.employeespedestrians.value;
	divSubMenu3Values[10] = auxFormId13.employeespedestrianstotal.value;
	 //(parseFloat(auxFormId11.c_ParticipationRateforTransitVouchers.value)/100)*numberOfEmployees;
	
	}
	
	else if (refreshFlag == 1) {
		divSubMenu3Values[0] = auxFormId13.expectednumberemployeestransitSmallLarge.value;
		divSubMenu3Values[1] = auxFormId13.expectednumberemployeestransit.value;
		divSubMenu3Values[2] = auxFormId13.expectedtotalnumberofemployees.value;
		divSubMenu3Values[3] = auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value;
		divSubMenu3Values[4] = auxFormId13.expectednumberemployeesparkingcashout.value;
		divSubMenu3Values[5] = auxFormId13.expectednumberemployeestelecommuting.value;
		divSubMenu3Values[6] = auxFormId13.reductionnumberdriversSmallLarge.value;
		divSubMenu3Values[7] = auxFormId13.reductionnumberdrivers.value;
		divSubMenu3Values[8] = auxFormId13.employeescurrentlyusing.value;
		divSubMenu3Values[9] = auxFormId13.employeespedestrians.value;
		divSubMenu3Values[10] = auxFormId13.employeespedestrianstotal.value;
	
	}
	
	
	/*divSubMenu3HTMLprefix += '<table width="505"><tr><td>'

	divSubMenu3HTML += '<span class="title">Step 3: ESTIMATED PARTICIPATION</span><br><br>'

	divSubMenu3HTML += 'Based on information about your work site and the programs you selected, '
	divSubMenu3HTML += 'we have estimated the following participation levels. <a onclick="pop_location()" href="javascript:pop(40)"  ><img src="./images/infobutton.gif" border=0></a><br><br>'
	divSubMenu3HTML += 'Because work sites vary widely and participation depends on site-specific '
	divSubMenu3HTML += 'considerations like access to transit, a range of results is provided. '
	divSubMenu3HTML += 'You may change the estimated participation levels based on the range and '
	divSubMenu3HTML += 'personal assessment of your organization.<br><br> '

	divSubMenu3HTML += ' </td></tr><tr><td>' */

	divSubMenu3HTML += '<table width="505" cellpadding=0 cellspacing=0 border=0>'
	
	// first row
	divSubMenu3HTML += '				<tr><td><table width="100%" cellpadding=0 cellspacing=0 border=0><tr><td width="1%">'
	divSubMenu3HTML += '				'
	divSubMenu3HTML += '					</td><td width="99%"><h1>Section 3: Estimate Participation</h1>'
	divSubMenu3HTML += '				'
	divSubMenu3HTML += '				</td></tr></table>'
	divSubMenu3HTML += '				</td></tr>'
	
divSubMenu3HTML += '				<tr><td><table width="100%" cellpadding=0 cellspacing=0 border=0><tr><td width="1%">'
	divSubMenu3HTML += '				'
	divSubMenu3HTML += '					</td><td width="99%">'
	//divSubMenu3HTML += '<span class="title">Step 3: ESTIMATED PARTICIPATION</span><br><br>'

	divSubMenu3HTML += 'Based on information about your work site and the benefits you selected, '
	divSubMenu3HTML += 'we have estimated the following participation levels. <a onclick="pop_location()" href="javascript:pop(40)"  ><img src="./images/infobutton-white.gif" border=0></a><br><br>'
	divSubMenu3HTML += 'Because work sites vary widely and participation depends on site-specific '
	divSubMenu3HTML += 'considerations like access to transit, a range of results is provided. '
	divSubMenu3HTML += 'You may change the estimated participation levels based on the range and '
	divSubMenu3HTML += 'personal assessment of your organization.<br><br> '
	divSubMenu3HTML += '				</td></tr></table>'
	divSubMenu3HTML += '				</td></tr>'
	
	divSubMenu3HTML += '<tr><td><table width="505"><tr><td>'	
	
	divSubMenu3HTML += '<form id="divSubMenu3Form" name="divSubMenu3Form">'
	
	divSubMenu3HTML += '			'
	divSubMenu3HTML += '			'
	divSubMenu3HTML += '			<table width="505" border=1 cellspacing=0 cellpadding=5 bordercolor="#990099">'
	divSubMenu3HTML += ''
	divSubMenu3HTML += '				<tr>'
	divSubMenu3HTML += '					<td align="left">	'
	divSubMenu3HTML += '						<table border=0 cellspacing=0 cellpadding=5 width="70%">'
	divSubMenu3HTML += '				'
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=3><strong>Transit / Vanpool Users</strong></td>'
	divSubMenu3HTML += '							</tr>'
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>'
	divSubMenu3HTML += '								<td align="left">Existing number prior to benefits</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="employeescurrentlyusing" value="' + divSubMenu3Values[8] + '" size=3 class="disabledField" disabled onfocus="this.blur();"></TD>' //onblur="setExpectedtotalnumberofemployees();updateExpectedtotalnumberofemployees(this.form,1)"
	divSubMenu3HTML += ''
	divSubMenu3HTML += '							</tr>'	
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left"></TD>'
	divSubMenu3HTML += '								<td align="left">Increase due to benefits (range:<INPUT TYPE="text" NAME="expectednumberemployeestransitSmallLarge" value="' + divSubMenu3Values[0] + '" size=8 class="disabledField" disabled onfocus="this.blur();">)</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="expectednumberemployeestransit" value="' + divSubMenu3Values[1] + '" size=3 onblur="updateExpectedtotalnumberofemployees(this.form,1)"></TD>'
	divSubMenu3HTML += ''
	divSubMenu3HTML += '							</tr>'	
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left"></TD>'
	divSubMenu3HTML += '								<td align="left">Total after benefits</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="expectedtotalnumberofemployees" value="' + divSubMenu3Values[2] + '" size=3 onblur="setExpectedtotalnumberofemployees(this.form)" class="disabledField" disabled onfocus="this.blur();"></TD>'
	divSubMenu3HTML += ''
	divSubMenu3HTML += '							</tr>							'

	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=3><hr></td>' // 11/15/01
	divSubMenu3HTML += '							</tr>'
	

	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=3><strong>Bicyclists / Pedestrians</strong></td>'
	divSubMenu3HTML += '							</tr>'
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left"></TD>'
	divSubMenu3HTML += '								<td align="left">Existing number prior to benefits</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="employeespedestrians" value="' + divSubMenu3Values[9] + '" size=3 class="disabledField" disabled onfocus="this.blur();"></TD>' //onblur="updateExpectednumberemployeesparkingcashout(this.form,1)"
	divSubMenu3HTML += ''
	divSubMenu3HTML += '							</tr>'	


//if (coreBenefits[1] == "x" || supportBenefits[3] == "x") {
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left"></TD>'
	divSubMenu3HTML += '								<td align="left">Increase due to benefits (range:<INPUT TYPE="text" NAME="expectednumberemployeesparkingcashoutSmallLarge" value="' + divSubMenu3Values[3] + '" size=8 class="disabledField" disabled onfocus="this.blur();">)</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="expectednumberemployeesparkingcashout" value="' + divSubMenu3Values[4] + '" size=3 onblur="updateExpectednumberemployeesparkingcashout(this.form,1)"></TD>'
	divSubMenu3HTML += '							</tr>'
/*}
else {
	divSubMenu3HTML += '<INPUT TYPE="hidden" NAME="expectednumberemployeesparkingcashoutSmallLarge" value="' + divSubMenu3Values[3] + '">'
	divSubMenu3HTML += '<INPUT TYPE="hidden" NAME="expectednumberemployeesparkingcashout" value="' + divSubMenu3Values[4] + '">'
} */

	
	
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left"></TD>'
	divSubMenu3HTML += '								<td align="left">Total after benefits</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="employeespedestrianstotal" value="' + divSubMenu3Values[10] + '" size=3 onfocus="this.blur" class="disabledField" disabled onfocus="this.blur();"></TD>'
	divSubMenu3HTML += ''
	divSubMenu3HTML += '							</tr>							'

	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=3><hr></td>' // 11/15/01
	divSubMenu3HTML += '							</tr>'
	

	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=2><strong>Teleworkers</strong> (due to implementing program)</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="expectednumberemployeestelecommuting" size=3  value="' + divSubMenu3Values[5] + '"  onfocus="this.blur" class="disabledField" disabled></TD>' //onblur="updateExpectednumberemployeestelecommuting(this.form,1);updateProgramInputs()"
	divSubMenu3HTML += ''
	divSubMenu3HTML += '							</tr>'	

	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=3><hr></td>' // 11/15/01
	divSubMenu3HTML += '							</tr>'
		
	/*divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=3><br></TD>'
	divSubMenu3HTML += '							</tr>'*/
	
	divSubMenu3HTML += '							<tr>'
	divSubMenu3HTML += '								<td align="left" colspan=2><strong>Reduction in Number of People Driving to Work</strong> (range:<INPUT TYPE="text" NAME="reductionnumberdriversSmallLarge" size=8 value="' + divSubMenu3Values[6] + '" class="disabledField" disabled onfocus="this.blur();">)</TD>'
	divSubMenu3HTML += '								<td align="left"><INPUT TYPE="text" NAME="reductionnumberdrivers" size=3  value="' + divSubMenu3Values[7] + '"onblur="updateReductionnumberdrivers(this.form,1)"></TD>'
	divSubMenu3HTML += '							</tr></table>'
	divSubMenu3HTML += '							'
	divSubMenu3HTML += '					</td>'
	divSubMenu3HTML += '				</tr>'
	divSubMenu3HTML += '			</table><br>'
	divSubMenu3HTML += '			'
	
	
	//divSubMenu3HTML += '<center><a href="#top" onclick="showDivLayer(\'divSubMenu2\');">Back to edit your Program Information</a> &nbsp;&nbsp;&nbsp;'
	//divSubMenu3HTML += '<a href="#top" onclick="calcResults(\'withSummary\'); showDivLayer(\'divMenu6\');firstSequencePassed();">Next view a Summary of Results</a></center>'
	divSubMenu3HTML += '<center><a href="#top" onclick="return navigateTo(2)"><img src="./images/button_previous_off.gif" alt="Previous Page" border=0 width=118 height=21></a>&nbsp;&nbsp;&nbsp;'
	divSubMenu3HTML += '<a href="javascript:print()"><img src="images/button_print_off.gif" width="93" height="21" alt="Print Page" border="0"></a>&nbsp;&nbsp;&nbsp;<a href="#top" onclick="return navigateTo(4)"><img src="./images/button_next_off.gif" alt="Next Page" border=0 width=93 height=21></a></center>'


	divSubMenu3HTML += '</form></td></tr></table>'//firstSequencePassed();
	divSubMenu3HTML += '</td></tr></table>'
	
	//alert(divSubMenu3Values[8])
	if (myVersion == "multitab") {
		if (document.layers) {
			document.layers["divSubMenu3"].document.open()
			document.layers["divSubMenu3"].document.write(divSubMenu3HTMLprefix+divSubMenu3HTML)
			document.layers["divSubMenu3"].document.close()
			}
		else {
			document.all["divSubMenu3"].innerHTML = divSubMenu3HTMLprefix+divSubMenu3HTML
			}
	}
	else {
		 auxFormId13.expectednumberemployeestransitSmallLarge.value=divSubMenu3Values[0] ;
		 auxFormId13.expectednumberemployeestransit.value=divSubMenu3Values[1];
		 auxFormId13.expectedtotalnumberofemployees.value=divSubMenu3Values[2];
		 auxFormId13.expectednumberemployeesparkingcashoutSmallLarge.value=divSubMenu3Values[3];
		 auxFormId13.expectednumberemployeesparkingcashout.value=divSubMenu3Values[4];
		 auxFormId13.expectednumberemployeestelecommuting.value=divSubMenu3Values[5];
		 auxFormId13.reductionnumberdriversSmallLarge.value=divSubMenu3Values[6];
		 auxFormId13.reductionnumberdrivers.value=divSubMenu3Values[7];
		 auxFormId13.employeescurrentlyusing.value=divSubMenu3Values[8];
		 auxFormId13.employeespedestrians.value=divSubMenu3Values[9];
		 auxFormId13.employeespedestrianstotal.value=divSubMenu3Values[10];
	}
	
	if (myVersion == "multitab") auxFormId13 = getFormId(1.3); // reinitialize the form reference

}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	numFormat(myNumber,rounded)
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	Helper function to format the resulting number into the required format: i.e. 10,000.00
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function numFormat(myNumber,rounded) {

	if (rounded == null) { // if no rounded parameter is passed, round the number automatically
	myNumber = roundNum(myNumber)
	//	if (myNumber > 1000 || myNumber < -1000) myNumber = roundNum(myNumber/1000)*1000;
	//	else if (myNumber > 100) myNumber = roundNum(myNumber/100)*100;
	}

	var negativeNum = false; // process the negative numbers: remove the minus and later on put parenthesis around
	if (myNumber < 0) {workNumber = "" + (-1)*(myNumber); negativeNum = true;}
	else workNumber = "" + myNumber;
	
	// make sure ALL numbers come with decimals (even if it will be blank)
	if (workNumber.indexOf(".") > 0) workNumber = workNumber.split(".");
	else workNumber = new Array(workNumber,"");
	
	resultNumber = "";
	numLength = workNumber[0].length; // number of digits
	decLength = workNumber[1].length; // number of decimal digits
	
	for (i=numLength; i>=0; i--) {
		resultNumber = workNumber[0].charAt(i) + resultNumber;
		if ((i>0) && ((numLength-i)>0) && ((numLength-i)%3==0))
			resultNumber = "," + resultNumber;  // place commas at each thousand
	}

	workNumber[0] = resultNumber;
	
	if (decLength > 0) {
		if (decLength == 1) workNumber[1] += "0";
		workNumber[1] = "." + workNumber[1];
	}
	
	if (negativeNum) workNumber = "(" + workNumber[0] + workNumber[1] + ")"; // if a negiative, add the parenthesis
	else workNumber = workNumber[0] + workNumber[1]; // if a positive, add the whole number with the decimal
	
return workNumber;

}



/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	validatePercentage(objID)
	Created:  	October 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	The function will validate the enetered/calculated percentage and will display the 
	appropriate error message if needed.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function validatePercentage(objID) {

	percentage = parseFloat(objID.value);
	
	if (isNaN(percentage)) {
		alert("Invalid value!")
		objID.focus();
	}
	else if (percentage>100) {
		alert("Percentage value cannot exceed 100%.")
		objID.focus();
	}
	else if (percentage<0) {
		alert("Percentage value cannot be negative.")
		objID.focus();
	}
	
	objID.value = percentage; // enforce correct number format
}



/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	firstSequencePassed()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	I use this to flag when the first sequence of entering the inputs is passed.
	When it passes, and we hit the results page for the first time, a few variables are set.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
function firstSequencePassed() {
	if (firstSequence) {
		firstSequence = false; // if we have reached this far, we have passed the first sequence
		//writeDivSubMenu1();
		//writeDivSubMenu2();
		//writeDivSubMenu3();
		directFinEffectsUpdate = false;
	}
}

/*  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
	refreshEmployerInfo()
	Created:  	July 2001
	Author:  	Yassen Bakalov (ybakalov@icfconsulting.com)
	Modified:  	______________
	
	Comments: 
	This function will add navigation buttons on the Employer Information section after
	the user has went once through it and hit the Results Summary screen.
	
	##########################################################################
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  */
var noNavEmployerInfo = true; // the employer info section does not have NAVIGATION buttons by default
function refreshEmployerInfo(){
	if (noNavEmployerInfo) { 
		// redraw the Employer Info section (it's three subsections) with navigation buttons
		writeDivSubMenu1();
		writeDivSubMenu2();
		writeDivSubMenu3();
		noNavEmployerInfo = false;
	}
}

function handleNumberOfEmployeesTakingTransit(){
	var fractionEmployees1 = parseInt(auxFormId11.corecurrentemployeestakingtransit.value);
	var fractionEmployees2 = parseInt(auxFormId11.supportingnumberpeopleacceptingincentivesforbicyclists.value);
	var totalEmployees = parseInt(auxFormId11.numfemployees.value);
	if (isNaN(fractionEmployees1)) fractionEmployees1 = 0;
	if (isNaN(fractionEmployees2)) fractionEmployees2 = 0;
	if (isNaN(totalEmployees)) totalEmployees = 0;
	if (totalEmployees<fractionEmployees1) {
		alert("Number of employees that take transit or vanpools to work\ncannot exceed total number of employees.");
		auxFormId11.corecurrentemployeestakingtransit.focus();
	}
	else if (totalEmployees<fractionEmployees2) {
		alert("Number of employees that bike or walk to work\ncannot exceed total number of employees.");
		auxFormId11.supportingnumberpeopleacceptingincentivesforbicyclists.focus();
	}
	else if (totalEmployees<(fractionEmployees2+fractionEmployees1)) {
		alert("Invalid travel pattern.\nTotal number of employees exceeded.");
	}
		
		
}


function generatePrintPage() {
//alert("print")

		calcResults('withSummary')
		//printPage = window.open("rideshare-benefits-calculator.aspx","printPage")
		//ERG edited styles to match general.css file and rest of site
		printHTML = "<html><head><title>Results Summary (printable version)</title>"
		printHTML += "<style>body {font-family: Verdana, Arial, sans-serif; color: #000000; font-size: 12px}\n"
		printHTML += "td {font-family: Verdana, Arial, sans-serif; color: #000000; font-size: 12px}\n"
		printHTML += "th {font-family: Verdana, Arial, sans-serif; color: #ffffff; font-size: 12px}\n"
		printHTML += "#descr {font-family: Verdana, Arial, sans-serif; font-size:10px;}\n"
		printHTML += "#tableName {font-family: Verdana, Arial, sans-serif; font-size:14px; color:#FFFFFF; font-weight:bold}\n"
		printHTML += "</style></head><body>"
		//<link rel=stylesheet type=\"text/css\" href=\"/rbc/general.css\">
		
		printHTML += "<table><tr><td><span style='font-size:10px'>"
		printHTML += "Page generated "+getTodayDate();
		printHTML += "<br>To print the page, select <em>Print</em> from the <em>File</em> menu or press &lt;Ctrl&gt;-P.  <br>To save the page, select <em>Save As...</em> from the <em>File</em> menu"
		if (!document.layers) printHTML += " and choose &quot;Web Page, HTML only&quot;!</span></td></tr></table>" // IE specific instructions
		else printHTML += ".</span></td></tr></table>" // Netscape specific instructions
		
		printHTML += "<table border=1 width=\"100%\">"
		
		printHTML += summaryHTML;
		//printHTML += "<table border=1 width=\"100%\">"
		//printHTML += divSubMenu3HTML;
		//printHTML += "</table></body></html>";

	/*  S I T E   I N F O R M A T I O N -- auxFormId11*/
	
		printHTML += "<table border=1 width=\"100%\" bordercolor='#990099'>"
		printHTML += "<tr><th bgcolor='#990099' align=\"center\"><br>SITE INFORMATION INPUTS<br><br></td></tr><tr><td>";

		printHTML += "<table border=0 width=\"100%\" cellpadding=4>"
		printHTML += "<tr><td width='50%' align=right>";
		
		printHTML += "State located: </td><td width='50%'><strong>" + auxFormId11.state.options[auxFormId11.state.selectedIndex].text + "</strong>";
		printHTML += "</td></tr><tr><td align=right>";
		
		printHTML += "Type of location: </td><td><strong>" + auxFormId11.loctype.options[auxFormId11.loctype.selectedIndex].text + "</strong>";
		printHTML += "</td></tr><tr><td align=right>";
				
		printHTML += "Type of organization: </td><td><strong>" + auxFormId11.orgtype.options[auxFormId11.orgtype.selectedIndex].text + "</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		if (auxFormId11.orgtype.options[auxFormId11.orgtype.selectedIndex].text == "For-profit") {
			printHTML += "Marginal federal corporate tax rate: </td><td><strong>" + auxFormId11.calcmarginalfedcorptaxrate.value + "%</strong>";
			printHTML += "</td></tr><tr><td align='right'>";
			
			printHTML += "State corporate income tax rate: </td><td><strong>" + auxFormId11.statecorptaxrate.value + "%</strong>";
			printHTML += "</td></tr><tr><td align='right'>";
		}
		
			
		printHTML += "Number of employees: </td><td><strong>" + numFormat(auxFormId11.numfemployees.value) + "</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		printHTML += "Average salary: </td><td><strong>$" + numFormat(auxFormId11.averageemployeesalary.value) + "</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		printHTML += "Percentage of employees making less than $90,000: </td><td><strong>" + auxFormId11.percentlessthan.value + "%</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		printHTML += "Average marginal FICA for the employer and employee: </td><td><strong>" + auxFormId11.averagemarginalfica.value + "%</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		printHTML += "Federal employee marginal income tax rate: </td><td><strong>" + auxFormId11.fedemployeemarginalincometaxrate.value + "%</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		printHTML += "State employee marginal income tax rate: </td><td><strong>" + auxFormId11.stateemployeemarginalincometaxrate.value + "%</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		printHTML += "Employee marginal income tax rate: </td><td><strong>" + auxFormId11.employeemarginalincometaxrate.value + "%</strong>";
		printHTML += "</td></tr><tr><td align='right'>";

		printHTML += "Number of employees taking transit or vanpools to work: </td><td><strong>" + auxFormId11.corecurrentemployeestakingtransit.value + "</strong>";
		printHTML += "</td></tr><tr><td align='right'>";		

		printHTML += "Number of employees biking or walking to work: </td><td><strong>" + auxFormId11.supportingnumberpeopleacceptingincentivesforbicyclists.value + "</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
				
		printHTML += "Type of parking provided for employees: </td><td><strong>" + auxFormId11.provideparking.options[auxFormId11.provideparking.selectedIndex].text + "</strong>";
		printHTML += "</td></tr><tr><td align='right'>";
		
		printHTML += "Kind of parking employees use: </td><td><strong>" + auxFormId11.kindofparking.options[auxFormId11.kindofparking.selectedIndex].text + "</strong>";
		printHTML += "</td></tr><tr><td align='right'>";

		if (auxFormId11.provideparking.options[auxFormId11.provideparking.selectedIndex].value != "Free") {
		
			if (auxFormId11.parkingpaymentspretax[0].checked) printHTML += "Parking payments are treated on a pre-tax basis. ";
			else printHTML += "Parking payments are NOT treated on a pre-tax basis. </td><td>";
			printHTML += "</td></tr><tr><td align='right'>";
	
			printHTML += "Space cost: </td><td><strong>$" + numFormat(auxFormId11.spacecost.value) + "/space-month</strong>";
			printHTML += "</td></tr><tr><td align='right'>";
	
			printHTML += "Employee contribution to parking cost: </td><td><strong>$" + numFormat(auxFormId11.employeecontributiontoparking.value) + "/employee-month</strong>";
			printHTML += "</td></tr><tr><td align='right'>";
	
			printHTML += "Employer contribution to parking cost: </td><td><strong>$" + numFormat(auxFormId11.employercontributiontoparking.value) + "/employee-month</strong>";


		printHTML += "";
		}
		else {
			printHTML += "Cost of parking to employer: </td><td><strong>$" + numFormat(auxFormId11.employercontributiontoparking.value) + "/employee-month</strong>";
			printHTML += "";
		}
	
		printHTML += "</td></tr></table></td></tr></table>";

		// END SITE INFORMATION SECTION
		
		
			
	/* PROGRAM SELECTION -  divSubMenu2*/
	

	printHTML += '<br><br>	<table width="100%" border=1 bordercolor="#990099"><tr><th bgcolor=#990099 align="center"><br>PROGRAM SELECTION INPUTS<br><br></td></tr><tr><td>'
	
	
	printHTML += '		<table width="100%" border=0 cellpadding=2>'
	printHTML += '			<tr>'
	printHTML += '				<th colspan=3 bgcolor=#990099><strong>Required Benefit</strong> to Meet <i>National Standard of Excellence</i></td>'
	printHTML += '			</tr>'
	if (coreBenefits[4] == "x") {
	printHTML += '			<tr> '
	printHTML += '				<td colspan=2>Guaranteed ride home selected!</td><td>'
	//if (coreBenefits[4] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '			</td></tr>'
	}
	else printHTML += '			<tr><td colspan=3>Required benefit <strong>not</strong> selected!</td></tr>'
	
	printHTML += '			<tr>'
	printHTML += '				<th colspan=3 bgcolor=#990099><strong>Primary Benefit</strong> Options</td>'
	printHTML += '			</tr>'
	
	if (coreBenefits[0] == "x") {
	printHTML += '			<tr>'
	printHTML += '				<td align="left" colspan=2>Employer-Paid Transit/Vanpool Benefits<br></td><td>'
	printHTML += ''
	//if (coreBenefits[0] == "x") printHTML += ' SELECTED'
	//else printHTML += ' NOT SELECTED '
	printHTML += '			</td></tr>'
	
	//if (coreBenefits[0] == "x") {
	   printHTML += '			<tr>'
	   printHTML += '				<td align="left"></td>'
	   printHTML += '				<td align="left" colspan=2>Monthly benefit: <strong>$'+programInfoInputs[0]+'</strong></td>'
	   printHTML += '			</tr>'
	}
	else {
	   printHTML += ''
	}   
	
	if (coreBenefits[1] == "x") {
	printHTML += '			<tr><td></td><td colspan=2><hr></td></tr>'
	printHTML += '			<tr>'
	printHTML += '				<td align="left" colspan=2>Parking Cash Out<br>'
	printHTML += '				 </td>'
	printHTML += '				<td>'
	//if (coreBenefits[1] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '			</td></tr>'
	
	//if (coreBenefits[1] == "x") {
	   printHTML += '			<tr>'
	   printHTML += '				<td align="left"></td>'
	   printHTML += '				<td colspan=2>Monthly benefit: <strong>$'+programInfoInputs[2]+'</strong><br></td>'
	   printHTML += '			</tr>'
	}
	else {
	   printHTML += ''
	}
	
	if (coreBenefits[2] == "x") {
	printHTML += '			<tr><td></td><td colspan=2><hr></td></tr>'
	printHTML += '			<tr>'
	printHTML += '				<td align="left" colspan=2>Telecommuting <br>'
	printHTML += '				</td>'
	printHTML += '				<td>'
	//if (coreBenefits[2] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '			</td></tr>'
	
	//if (coreBenefits[2] == "x") {
	   printHTML += '			<tr>'
	   printHTML += '				<td align="left"></td>'
	   printHTML += '				<td colspan=2>Percent of employees telecommuting full-time: <strong>'+programInfoInputs[3]+'%</strong></td>'
	   printHTML += '			</tr>'
	   printHTML += '			<tr>'
	   printHTML += '				<td align="left"></td>'
	   printHTML += '				<td colspan=2>Percent of employees telecommuting part-time: <strong>'+programInfoInputs[4]+'%</strong></td>'
	   printHTML += '			</tr>'
	   printHTML += '			<tr>'
	   printHTML += '				<td align="left"></td>'
	   printHTML += '				<td colspan=2>Average days telecommuting per week for part-time telecommuters: <strong>'+programInfoInputs[5]+'</strong></td>'
	   printHTML += '			</tr>'
	   printHTML += '			<tr>'
	   printHTML += '				<td align="left"></td>'
	   printHTML += '				<td colspan=2>Percent of employees telecommuting on an average day: <strong>'+programInfoInputs[6]+'%</strong></td>'
	   printHTML += '			</tr>'
	   printHTML += '			<tr>'
	   printHTML += '				<td align="left"></td>'
	   printHTML += '				<td colspan=2>Cost of setting up and maintaining a home office: <strong>$'+programInfoInputs[7]+'</strong></td>'
	   printHTML += '			</tr>'
	}
	else {
	   printHTML += ''
	}
	
	//printHTML += '			<tr><td></td><td colspan=2><hr></td></tr>'
	if (coreBenefits[3] == "") {
//	   printHTML += '		<tr>'
//	   printHTML += '			<td align="right" colspan=2>Employer-defined Benefit Program<br><span id="descr">Option must achieve demonstrable benefits and be agreed to by the Federal Commuter Choice Team</span></td><td>'
//	   printHTML += '		NOT SELECTED</td></tr>'
	printHTML += ''
	}
	else {
	   printHTML += '			<tr><td></td><td colspan=2><hr></td></tr>'
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left" colspan=2>Employer Defined Benefits Program</td><td>'
	   printHTML += ' SELECTED '
	   printHTML += '</td></tr>'
	}
	
	
	
	printHTML += '			<tr>'
	printHTML += '				<th colspan=3 bgcolor=#990099><strong>Supporting Benefit</strong> Options</td>'
	printHTML += '			</tr>'
	
	if (supportBenefits[0] == "x") {
	printHTML += '		<tr>'
	printHTML += '			<td align="left" colspan=2>Ridesharing or carpool matching</td><td>'
	if (supportBenefits[0] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '		</td></tr>'
	}
	
	if (supportBenefits[1] == "x") {
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	//if (coreBenefits[0] == "") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left" colspan=2>Employer-Paid Transit/Vanpool Benefits</td><td>'
	   //if (supportBenefits[1] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	   printHTML += '		</td></tr>'
	}
	//else printHTML += '		<tr><td align="right" colspan=2>Transit/Vanpool Benefits<br><span id="descr">Less than $32.50 per month in benefits</span></td><td>SELECTED AS PRIMARY BENEFIT</td></tr>'
	
	if (coreBenefits[0] == "" && supportBenefits[1] == "x") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Monthly benefit: <strong>$'+programInfoInputs[8]+'</strong></td>'
	   printHTML += '		</tr>'
	}
	else {
	   printHTML += ''
	}
	
	if (supportBenefits[2] == "x") {
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	printHTML += '		<tr>'
	printHTML += '			<td align="left" colspan=2>Employee Pre-Tax Payroll Deduction for Transit/Vanpool Expenses</td><td>'
	//if (supportBenefits[2] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '		</td></tr>'
	}
	
	if (supportBenefits[2] == "x") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Average employee pre-tax contribution ($/employee-month): <strong>$'+programInfoInputs[10]+'</strong></td>'
	   printHTML += '		</tr>'
	}
	else {
	   printHTML += ''
	}
	
	if (supportBenefits[3] == "x") {
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	//if (coreBenefits[1] == "") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left" colspan=2>Parking cash out</td><td>'
	   //if (supportBenefits[3] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	   printHTML += '		</td></tr>'
	}
	//else {
	 //  printHTML += '			<tr><td align="right" colspan=2>Parking cash out<br><span id="descr">Less than $32.50 per month or less than 75% of the actual cost of the parking benefit</span></td><td>SELECTED AS PRIMARY BENEFIT</td></tr>'
	//}
	
	if (coreBenefits[1] == "" && supportBenefits[3] == "x") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Monthly parking cash-out: <strong>$'+programInfoInputs[12]+'</strong><br></td>'
	   printHTML += '		</tr>'
	}
	else {
	   printHTML += ''
	}
	
	if (supportBenefits[4] == "x") {
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	printHTML += '		<tr>'
	printHTML += '			<td align="left" colspan=2>Shuttles from transit stations</td><td>'
	if (supportBenefits[4] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '		</td></tr>'
	}
	
	if (supportBenefits[5] == "x") {
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	printHTML += '		<tr>'
	printHTML += '			<td align="left" colspan=2>Preferred parking for carpools / vanpools</td><td>'
	if (supportBenefits[5] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '		</td></tr>'
	}
	
	if (supportBenefits[6] == "x") {
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	printHTML += '		<tr>'
	printHTML += '			<td align="left" colspan=2>Secure bicycle parking, showers and/or lockers</td><td>'
	//if (supportBenefits[6] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '		</td></tr>'
	
	//if (supportBenefits[6] == "x") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Type of facility: '
	   	if (programInfoInputs[13] == "rack")  printHTML += "<strong>Rack</strong>"   
	   	if (programInfoInputs[13] == "locker")  printHTML += "<strong>Locker</strong>"  
	   printHTML += '			</td>'
	
	   printHTML += '		</tr>'
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Number of bikes designed for: <strong>'+programInfoInputs[14]+'</strong><br></td>'
	   printHTML += '		</tr>'
	}
	else {
	   printHTML += ''
	}
	
	if (supportBenefits[7] == "x") {
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	printHTML += '		<tr>'
	printHTML += '			<td align="left" colspan=2>Financial incentives for bicyclists or walkers</td><td>'
	//if (supportBenefits[7] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	printHTML += '		</td></tr>'
	
	//if (supportBenefits[7] == "x") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Level of incentive per month: <strong>$'+programInfoInputs[15]+'</strong></td>'
	   printHTML += '		</tr>'
	}
	else {
	   printHTML += ''
	}
	
	if (supportBenefits[8] == "x"){
	printHTML += '		<tr><td></td><td colspan=2><hr></td></tr>'
	
	//if (coreBenefits[2] == "") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left" colspan=2>Telecommuting </td><td>'
	   //if (supportBenefits[8] == "x") printHTML += ' SELECTED '
	//else printHTML += ' NOT SELECTED '
	   printHTML += '		</td></tr>'
	}
	//else {
	//   printHTML += '			<tr><td align="right" colspan=2>Teleworking<br><span id="descr">Under 6% average participation</span></td><td>SELECTED AS PRIMARY BENEFIT</td></tr>'
	//}
	
	if (coreBenefits[2] == "" && supportBenefits[8] == "x") {
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Percent of employees telecommuting full-time: <strong>'+programInfoInputs[17]+'%</strong></td>'
	   printHTML += '		</tr>'
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Percent of employees telecommuting part-time: <strong>'+programInfoInputs[18]+'%</strong></td>'
	   printHTML += '		</tr>'
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Average days telecommuting per week for part-time telecommuters: <strong>'+programInfoInputs[19]+'</strong></td>'
	   printHTML += '		</tr>'
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Percent of employees telecommuting on an average day: <strong>'+programInfoInputs[20]+'%</strong></td>'
	   printHTML += '		</tr>'
	   printHTML += '		<tr>'
	   printHTML += '			<td align="left"></td>'
	   printHTML += '			<td colspan=2>Cost of setting up and maintaining a home office: <strong>$'+programInfoInputs[21]+'</strong></td>'
	   printHTML += '		</tr>'
	}
	else {
	   printHTML += ''
	}
	
	
	printHTML += '	</table>'
	printHTML += '	</td></tr></table>'


		printHTML +="</body></html>";

	
		
		
	if (printPage==null || printPage.closed) { //!printPage || printPage.closed
		if(!is_nav) {
			//alert('not net');
			printPage = window.open("rideshare-benefits-calculator.aspx","printPage","height=500,width=750,scrollbars,resizable,toolbar=no,menubar=no,location=no") //toolbar,
			printPage.document.open();
			printPage.document.write(printHTML);
			printPage.document.close();
		} else {
			//alert('net');
			printPage = window.open("rideshare-benefits-calculator.aspx","printPage","height=125,width=450,top=0,left=0,scrollbars,menubar=0,location=0,resizable")
		}
	}
	else {
		if(!is_nav) {
			printPage.document.open();
			printPage.document.write(printHTML);
			printPage.document.close();
			printPage.focus();
		} else {
			//alert('net');
			printPage.focus();
		}
	}

}


function graphIt() {

	var graphString="";

	//graphString+=" Main.NewAPFile(threeBar.bin)";
	
	graphString+=" titleText.setText(BREAKDOWN OF COSTS AND BENEFITS)";
	
	graphString+=" graph1.Categories($/year)";
	graphString+=" graph1.Series((CLR_0000FF)Cost of commute incentives,"+employerGraphValues[0]+";(CLR_00C000)Value of financial incentives,"+employeeGraphValues[0]+")";
	
	graphString+=" graph2.Categories($/year)";
	graphString+=" graph2.Series((CLR_000080)Cost of Parking Cash Out,"+employerGraphValues[1]+";(CLR_009966)Value of Cash Out benefit,"+employeeGraphValues[1]+")";
	
	graphString+=" graph3.Categories($/year)";
	graphString+=" graph3.Series((CLR_8080FF)Cost of transit/vanpool benefits,"+employerGraphValues[2]+";(CLR_99CC00)Value of transit/vanpool benefits,"+employeeGraphValues[2]+")";	
	

	// plot the graph in the applet
	
	alert("This page contains Java applet.\nPlease allow extra time for processing.")
	
	if (document.layers) document.layers["divMenu7"].document.applets[0].pcscript(graphString)
	else document.applets[0].pcscript(graphString)
	//window.setTimeout(document.all.barGraph.pcscript(graphString),5000);
}

function conditionalRefresh1() {
	if (supportBenefits[2] == "x") writeDivSubMenu2(); // refresh the Note: Must be no more than $32.5 text under Employee Pre-Tax Payroll Deduction for Transit/Vanpool Expenses 
}

function currencyFormat(myNumber){
	myNumber += ""; // convert to String
	var decimals = "";

	if (myNumber.indexOf(".") == -1) decimals = "";
	else {
		decimals = myNumber.split(".")[1] + "";
		if (!isNaN(decimals) && decimals!="") {
			if (decimals.length>2) {
				decimals = decimals.substring(0,3);
				decimals = roundNum(parseInt(decimals)/10);
				if (decimals<10) decimals = "0" + decimals;
			}
			decimals += ""; // convert to String
			
			if (decimals.length==1) decimals = "."+decimals+"0";
			else decimals = "."+decimals;

			if (decimals == "0") decimals = ""; // no decimals to display
			
			//decimals = "." + decimals;
		}
		else decimals = ""

		myNumber = myNumber.split(".")[0];
	}
	
	return myNumber + decimals;
}


//mkwan
function updateDataSetFromUser(formId) {
	//updateCoretelecommuting(formId);
	//updateExpectedtotalnumberofemployees(formId);
    updateCoretelecommutingpercentemployeestelecommutingaverageday(formId);
	//updateTransitvouchers(formId)
	//updateAnnualProgramAdministrationCost()
    updateProgramInputs();
}
function loadEmployerFormPost(formId) {
g_orgType = auxFormId11.orgtype.text;
g_locType = auxFormId11.loctype.value;
setNumfemployees(formId);
//
getStatecorptaxrate(formId);
updateFederalEmployeeMarginalIncomeTaxRate(formId);
updateEmployeemarginalincometaxrate(formId);
updateAveragemarginalfica(formId);
updateMarginalcorporatetaxrate(formId);
updateEmployercontributiontoparking(formId);
}
function returnVersion(){
return "508";
}
function resetBenefitPackages() {
	auxFormId12.supportingridesharing.checked = false;
	auxFormId12.vanpoolvouchers.checked = false;
	auxFormId12.employervanpool.value = "0";
	auxFormId12.employeevanpool.value = "0";
	auxFormId12.accessguaranteedridehomeprogram.checked = false;
	auxFormId12.flextime.checked = false;
	auxFormId12.supportingpreferredparkingforcarpools.checked = false;
	auxFormId12.supportingsecurebicycleparking.checked = false;
	auxFormId12.coretelecommuting.checked = false;
	auxFormId12.coreparkingcashout.checked = false;
	auxFormId12.supportingpretaxtransitbenefits.checked = false;
	auxFormId12.transitvouchers.checked = false;
	auxFormId12.coreparkingmonthlybenefit.value = "0";
	auxFormId12.coretransit.value = "0";
	auxFormId12.supportingaverageemployeepretaxvouchercontribution.value = "0";
	auxFormId12.coretransit.disabled = true;
	auxFormId12.coreparkingmonthlybenefit.disabled = true;
	auxFormId12.supportingaverageemployeepretaxvouchercontribution.disabled = true;
	auxFormId12.employervanpool.disabled = true;
	auxFormId12.employeevanpool.disabled = true;
	for (var i=0; i<auxFormId12.elements.length; i++) {
    			if (auxFormId12.elements[i].name == "vanpoolcounty") {
      				auxFormId12.elements[i].disabled = true;
				}
			}
	}
function helpWindow(intPage) {
myRef = window.open('rbc_help.aspx?id='+intPage,'mywin','left=20,top=20,width=320,height=480,toolbar=0,resizable=0,status=0,toolbar=0,menubar=0,scrollbars=1,location=0,directories=0');
myRef.focus();
}

//mkwan
function trimStr(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
}
function checkSubmit(theform) {
	if(theform.dispOrgName.value == "") {
		alert("Please enter your organization's name.");
		return false;
		} else {
		return true;
		}	
}


function editvanpoolvouchers(theform) {
	var chosenVanpoolCounty				= "";
	if(theform.vanpoolvouchers.checked) {
		theform.employeevanpool.disabled = false;
		theform.employervanpool.disabled = true;
  		for (var i=0; i<theform.elements.length; i++) {
    			if (theform.elements[i].name == "vanpoolcounty") {
      				theform.elements[i].disabled = false;
				}
			}
		for (ii = 0; ii <theform.vanpoolcounty.length; ii++) {
			if (theform.vanpoolcounty[ii].checked) {
				chosenVanpoolCounty = theform.vanpoolcounty[ii].value;
				}
			}
		if(chosenVanpoolCounty == "ie") {
			countyVanpoolProgramBenefit = parseFloat((1900/12)/8.5);
			} else if(chosenVanpoolCounty == "other") {
			countyVanpoolProgramBenefit = parseFloat(400/8.5);
			} else {
			countyVanpoolProgramBenefit = 0;
			theform.employervanpool.disabled = false;
			}
		theform.employeevanpool.value = Math.round(parseFloat(avgVanpoolCostPerPerson - countyVanpoolProgramBenefit));
		} else {
		reductionFromVanpool = 0;
		
			theform.employeevanpool.disabled 	= true;
			theform.employervanpool.disabled = true;
			for (var i=0; i<theform.elements.length; i++) {
				if (theform.elements[i].name == "vanpoolcounty") {
      					theform.elements[i].disabled = true;
    					}
  				}
			theform.employervanpool.value		= 0;
			theform.employeevanpool.value		= 0;
		}
		theform.employervanpool.value		= 0;
		updateCommuterModelResults(theform);	
	}

function balancevanpoolsubsidy(theform) {
	for (ii = 0; ii <theform.vanpoolcounty.length; ii++) {
		if (theform.vanpoolcounty[ii].checked) {
			chosenVanpoolCounty = theform.vanpoolcounty[ii].value;
			}
		}
	if(chosenVanpoolCounty != "none") {
		theform.employervanpool.value = Math.round(parseFloat(avgVanpoolCostPerPerson - countyVanpoolProgramBenefit-theform.employeevanpool.value));
	}
	}
