	// an array to hold the recommendations and their relative scores
	var arrRecommendations = new Array(14);
	
	arrRecommendations[0] = new Array('Transit options and incentives',0);
	arrRecommendations[1] = new Array('Carpooling incentives',0);
	arrRecommendations[2] = new Array('Vanpooling incentives',0);
	arrRecommendations[3] = new Array('Bicycling and walking programs',0);
	arrRecommendations[4] = new Array('Parking management',0);
	arrRecommendations[5] = new Array('Financial incentives',0);
	arrRecommendations[6] = new Array('Flexible work hours for employees',0);
	arrRecommendations[7] = new Array('Alternative work schedules',0);
	arrRecommendations[8] = new Array('Teleworking options for employees',0);
	arrRecommendations[9] = new Array('Live near your work programs',0);
	arrRecommendations[10] = new Array('Worksite location and design',0);
	arrRecommendations[11] = new Array('On-site employee services',0);
	arrRecommendations[12] = new Array('Real-time commuter services',0);
	arrRecommendations[13] = new Array('Advanced route planning',0);

	var arrQuestionScores = new Array(112);
	
	// STEP 1
		
	// employee issues 
	arrQuestionScores[0] = new Array(1,1,1,1,0,3,3,3,1,1,1,3,0,0); // recruiting 
	arrQuestionScores[1] = new Array(1,1,1,1,0,2,2,2,2,0,0,1,0,0); // retention
	arrQuestionScores[2] = new Array(0,0,1,0,0,0,1,0,1,0,0,0,2,2); // productivity
	arrQuestionScores[3] = new Array(0,0,0,0,0,1,1,1,1,0,0,0,0,0); // morale
	
	// facility needs 
	arrQuestionScores[4] = new Array(0,0,0,0,0,1,1,1,2,1,2,0,1,1); // ease relocation
	arrQuestionScores[5] = new Array(0,0,0,0,0,0,1,1,2,0,0,0,0,0); // reduce need for relocation
	arrQuestionScores[6] = new Array(1,1,1,1,2,2,0,0,2,0,2,0,0,0); // reduce parking demand
	
	// costs 
	arrQuestionScores[7] = new Array(1,0,1,1,0,1,0,0,1,0,0,0,0,0); // operating costs
	arrQuestionScores[8] = new Array(1,0,1,0,0,1,0,0,0,0,0,0,0,0); // tax burden
	
	// public relations 
	arrQuestionScores[9] = new Array(1,1,1,1,1,1,1,1,1,2,0,2,0,0); // corporate image
	
	// other 
	arrQuestionScores[10] = new Array(1,1,0,1,0,0,0,0,2,0,2,0,0,0); // emergency plans
	arrQuestionScores[11] = new Array(1,1,1,0,1,1,0,0,1,0,0,0,0,0); // environmental requirements
	arrQuestionScores[12] = new Array(1,1,1,1,1,2,2,2,2,0,0,2,0,0); // improve industry competitiveness
	
	// STEP 2
	
	// worksite location
	arrQuestionScores[13] = new Array(2,1,1,2,0,1,1,1,1,1,0,1,1,1); // urban
	arrQuestionScores[14] = new Array(1,2,2,1,1,1,0,0,1,1,0,2,2,2); // suburban
	arrQuestionScores[15] = new Array(0,1,1,0,1,1,0,0,1,0,0,3,0,0); // rural
	
	// level of transit service
	arrQuestionScores[16] = new Array(2,0,0,0,0,1,0,0,0,1,1,0,0,0); // well served
	arrQuestionScores[17] = new Array(1,0,0,0,0,1,0,0,0,0,0,0,0,0); // limited
	arrQuestionScores[18] = new Array(-5,0,0,0,0,0,0,0,0,0,0,0,0,0); // no transit
	
	// how pedestrian and bike friendly
	arrQuestionScores[19] = new Array(0,0,0,2,0,0,0,0,0,0,0,0,0,0); // very friendly
	arrQuestionScores[20] = new Array(0,0,0,1,0,0,0,0,0,0,0,0,0,0); // somewhat friendly
	arrQuestionScores[21] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // somewhat unfriendly
	arrQuestionScores[22] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // very unfriendly
	
	// congestion cause delays?
	arrQuestionScores[23] = new Array(2,1,1,2,0,1,1,1,2,0,0,0,1,1); // yes, regular
	arrQuestionScores[24] = new Array(1,1,1,1,0,1,1,1,2,0,0,0,3,3); // at times
	arrQuestionScores[25] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,-1,-1); // rarely
	
	// different routes available to access worksite?
	arrQuestionScores[26] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,2,2); // yes, many
	arrQuestionScores[27] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,1,1); // yes, few
	arrQuestionScores[28] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,-1,-1); // no
	
	// STEP 3
	
	// parking situation
	arrQuestionScores[29] = new Array(0,1,1,0,0,0,0,0,0,0,0,0,0,0); // ample
	arrQuestionScores[30] = new Array(1,1,1,1,2,1,0,0,0,0,0,2,0,0); // limited
	arrQuestionScores[31] = new Array(2,1,1,2,2,2,1,1,2,0,0,2,0,0); // shortage

	// parking free?
	arrQuestionScores[32] = new Array(0,1,1,0,1,0,0,0,0,0,0,0,0,0); // yes
	arrQuestionScores[33] = new Array(0,1,1,0,0,0,0,0,0,0,0,0,0,0); // no
	
	// employer lease or own parking?
	arrQuestionScores[34] = new Array(0,0,0,0,1,1,0,0,0,0,0,0,0,0); // lease
	arrQuestionScores[35] = new Array(0,0,0,0,1,0,0,0,0,0,0,0,0,0); // own
	arrQuestionScores[36] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // don't know
	
	// STEP 4
	
	// are lockers. etc available
	arrQuestionScores[37] = new Array(0,0,0,2,0,0,0,0,0,0,0,0,0,0); // yes
	arrQuestionScores[38] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // no
	
	// are there nearby services
	arrQuestionScores[39] = new Array(1,1,1,2,0,1,0,0,0,0,0,0,0,0); // yes
	arrQuestionScores[40] = new Array(0,0,0,0,0,0,0,0,1,0,1,2,0,0); // no
	
	// STEP 5
	
	// how many employees?
	arrQuestionScores[41] = new Array(0,0,-1,0,0,0,0,0,0,0,0,0,0,0); // less than 50
	arrQuestionScores[42] = new Array(0,0,-1,0,0,0,0,0,0,0,0,0,0,0); // 50-100
	arrQuestionScores[43] = new Array(0,1,0,0,0,0,0,0,0,0,0,1,0,0); // 101-500
	arrQuestionScores[44] = new Array(0,1,1,0,0,0,0,0,0,0,0,1,0,0); // more than 500
	
	// drive alone
	arrQuestionScores[45] = new Array(0,0,0,0,0,0,0,0,0,0,0,2,1,1); // most
	arrQuestionScores[46] = new Array(0,0,0,0,0,0,0,0,0,0,0,1,1,1); // many
	arrQuestionScores[47] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // some
	arrQuestionScores[48] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // few
	arrQuestionScores[49] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
	
	// transit
	arrQuestionScores[50] = new Array(2,0,0,0,0,1,0,0,0,0,0,0,0,0); // most
	arrQuestionScores[51] = new Array(2,0,0,0,0,1,0,0,0,0,0,0,0,0); // many
	arrQuestionScores[52] = new Array(2,0,0,0,0,0,0,0,0,0,0,0,0,0); // some
	arrQuestionScores[53] = new Array(1,0,0,0,0,0,0,0,0,0,0,0,0,0); // few
	arrQuestionScores[54] = new Array(-2,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
	
	// carpool
	arrQuestionScores[55] = new Array(0,2,0,0,0,0,0,0,0,0,0,0,0,0); // most
	arrQuestionScores[56] = new Array(0,2,0,0,0,0,0,0,0,0,0,0,0,0); // many
	arrQuestionScores[57] = new Array(0,1,0,0,0,0,0,0,0,0,0,0,0,0); // some
	arrQuestionScores[58] = new Array(0,1,0,0,0,0,0,0,0,0,0,0,0,0); // few
	arrQuestionScores[59] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
		
	// vanpool
	arrQuestionScores[60] = new Array(0,0,2,0,0,1,0,0,0,0,0,0,0,0); // most
	arrQuestionScores[61] = new Array(0,0,2,0,0,1,0,0,0,0,0,0,0,0); // many
	arrQuestionScores[62] = new Array(0,0,1,0,0,0,0,0,0,0,0,0,0,0); // some
	arrQuestionScores[63] = new Array(0,0,1,0,0,0,0,0,0,0,0,0,0,0); // few
	arrQuestionScores[64] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
		
	// bike/walk
	arrQuestionScores[65] = new Array(0,0,0,2,0,0,0,0,0,0,0,0,0,0); // most
	arrQuestionScores[66] = new Array(0,0,0,2,0,0,0,0,0,0,0,0,0,0); // many
	arrQuestionScores[67] = new Array(0,0,0,1,0,0,0,0,0,0,0,0,0,0); // some
	arrQuestionScores[68] = new Array(0,0,0,1,0,0,0,0,0,1,1,1,0,0); // few
	arrQuestionScores[69] = new Array(0,0,0,0,0,0,0,0,0,1,2,2,0,0); // none
		
	// telework
	arrQuestionScores[70] = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0); // most
	arrQuestionScores[71] = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0); // many
	arrQuestionScores[72] = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0); // some
	arrQuestionScores[73] = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0); // few
	arrQuestionScores[74] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
		
	// how far do most employees live?
	arrQuestionScores[75] = new Array(0,-1,-1,2,0,0,0,0,-1,0,1,0,0,0); // close
	arrQuestionScores[76] = new Array(0,1,1,-1,0,0,0,0,1,1,0,0,1,1); // far
	arrQuestionScores[77] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // in-between, mix
	
	// STEP 6
	
	// type of business
	arrQuestionScores[78] = new Array(0,1,1,0,0,1,0,0,0,0,0,0,0,0); // manufacturing
	arrQuestionScores[79] = new Array(1,1,0,1,0,1,0,0,1,0,0,0,0,0); // service industry
	arrQuestionScores[80] = new Array(1,0,0,1,0,1,1,1,0,0,0,0,0,0); // retail
	arrQuestionScores[81] = new Array(1,1,1,1,1,1,1,1,0,0,0,0,0,0); // hospital/medical
	arrQuestionScores[82] = new Array(1,1,1,1,1,1,0,0,0,0,0,0,0,0); // educational
	arrQuestionScores[83] = new Array(1,1,1,1,0,1,1,1,1,0,0,0,0,0); // government
	arrQuestionScores[84] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // other
	
	// work hours
	arrQuestionScores[85] = new Array(0,1,1,0,0,0,0,0,0,0,0,0,0,0); // same hours no flex
	arrQuestionScores[86] = new Array(0,0,0,0,0,0,1,1,0,0,0,0,0,0); // same hours, some flex
	arrQuestionScores[87] = new Array(-1,-1,-1,0,0,0,2,2,0,0,0,0,0,0); // irregular
	
	// feasible to conduct at home or remote
	arrQuestionScores[88] = new Array(0,0,0,0,0,0,0,0,2,0,0,0,0,0); // yes
	arrQuestionScores[89] = new Array(0,0,0,0,0,0,0,0,-4,0,0,0,0,0); // no
	
	// percent of employees require vehicle
	arrQuestionScores[90] = new Array(-2,-2,-2,0,0,0,0,0,0,0,0,0,0,0); // most
	arrQuestionScores[91] = new Array(-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0); // many
	arrQuestionScores[92] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // some
	arrQuestionScores[93] = new Array(1,1,1,0,0,0,0,0,0,0,0,0,0,0); // few
	arrQuestionScores[94] = new Array(2,2,2,0,0,0,0,0,0,0,0,0,0,0); // none
	
	// STEP 7
	
	// how important are commuting issues
	arrQuestionScores[95] = new Array(2,2,2,2,2,3,2,2,2,1,0,0,2,2); // very important
	arrQuestionScores[96] = new Array(1,1,1,1,1,1,1,1,1,0,0,0,1,1); // somewhat important
	arrQuestionScores[97] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // somewhat unimportant
	arrQuestionScores[98] = new Array(0,0,0,0,0,-1,0,0,0,0,0,0,0,0); // unimportant
	arrQuestionScores[99] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // don't know
	
	// purchase equipment
	arrQuestionScores[100] = new Array(1,1,1,0,0,0,0,0,1,0,0,0,0,0); // yes
	arrQuestionScores[101] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // no
	arrQuestionScores[102] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // maybe
	
	// provide financial incentives
	arrQuestionScores[103] = new Array(0,0,0,0,0,2,0,0,0,0,0,0,0,0); // yes
	arrQuestionScores[104] = new Array(0,0,0,0,0,-3,0,0,0,0,0,0,0,0); // no
	arrQuestionScores[105] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // maybe
	
	// extra blank arrays (in case loop runs until end of big binary number)
	arrQuestionScores[106] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
	arrQuestionScores[107] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
	arrQuestionScores[108] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
	arrQuestionScores[109] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
	arrQuestionScores[110] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
	arrQuestionScores[111] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0); // none
