if(typeof addEvent!='function'){var addEvent=function(o,t,f,l){var d='addEventListener',n='on'+t;if(o[d]&&!l)return o[d](t,f,false);if(!o._evts)o._evts={};if(!o._evts[t]){o._evts[t]={};if(o[n])addEvent(o,t,o[n],l);o[n]=new Function('e','var r=true,o=this,a=o._evts["'+t+'"],i;for(i in a){o._f=a[i];if(o._f._i)r=o._f(e||window.event)!=false&&r}o._f=null;return r')}if(!f._i)f._i=addEvent._i++;o._evts[t][f._i]=f;if(t!='unload')addEvent(window,'unload',function(){removeEvent(o,t,f,l)})};addEvent._i=1;var removeEvent=function(o,t,f,l){var d='removeEventListener';if(o[d]&&!l)return o[d](t,f,false);if(o._evts&&o._evts[t]&&f._i)delete o._evts[t][f._i]}}function cancelEvent(e,c){e.returnValue=false;if(e.preventDefault)e.preventDefault();if(c){e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation()}};

(function() {

// Select box auto population data.

var data = [
	{
		name: 'Canada',
		data: [
			{
				name: 'Alberta',
				data: [
					{
						name: 'Calgary',
						cost: 0.005055000000,
						weeks: 16
					},
					{
						name: 'Edmonton',
						cost: 0.005953000000,
						weeks: 16
					},
					{
						name: 'Medicine Hat',
						cost: 0.002840000000,
						weeks: 16
					},
					{
						name: 'Red Deer',
						cost: 0.002258000000,
						weeks: 16
					}
				]
			},
			{
				name: 'British Columbia',
				data: [
					{
						name: 'Burnaby',
						cost: 0.002458000000,
						weeks: 16
					},
					{
						name: 'Kamloops',
						cost: 0.002040000000,
						weeks: 16
					},
					{
						name: 'Kelowna',
						cost: 0.003742000000,
						weeks: 16
					},
					{
						name: 'Prince George',
						cost: 0.001571000000,
						weeks: 16
					},
					{
						name: 'Surrey',
						cost: 0.002534000000,
						weeks: 16
					},
					{
						name: 'Vancouver',
						cost: 0.002458000000,
						weeks: 16
					},
					{
						name: 'Victoria',
						cost: 0.002664000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Manitoba',
				data: [
					{
						name: 'Brandon',
						cost: 0.005562000000,
						weeks: 16
					},
					{
						name: 'Winnipeg',
						cost: 0.004777000000,
						weeks: 16
					}
				]
			},
			{
				name: 'New Brunswick',
				data: [
					{
						name: 'Fredricton',
						cost: 0.002797500000,
						weeks: 16
					},

					{
						name: 'Moncton',
						cost: 0.005601000000,
						weeks: 16
					}
				]
			},

			{
				name: 'Newfoundland & Labrador',
				data: [
					{
						name: 'St. John\'s',
						cost: 0.003361000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Nova Scotia',
				data: [
					{
						name: 'Halifax',
						cost: 0.001573000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Ontario',
				data: [
					{
						name: 'Ajax',
						cost: 0.003028000000,
						weeks: 16
					},
					{
						name: 'Barrie',
						cost: 0.002101000000,
						weeks: 16
					},
					{
						name: 'Belleville',
						cost: 0.005727000000,
						weeks: 16
					},
					{
						name: 'Brampton',
						cost: 0.003291000000,
						weeks: 16
					},
					{
						name: 'Brantford',
						cost: 0.004953000000,
						weeks: 16
					},
					{
						name: 'Burlington',
						cost: 0.006554000000,
						weeks: 16
					},
					{
						name: 'Cambridge',
						cost: 0.002589500000,
						weeks: 16
					},
					{
						name: 'Guelph',
						cost: 0.003695000000,
						weeks: 16
					},
					{
						name: 'Hamilton',
						cost: 0.003975000000,
						weeks: 16
					},
					{
						name: 'Kingston',
						cost: 0.002994000000,
						weeks: 16
					},
					{
						name: 'Kitchener',
						cost: 0.005443000000,
						weeks: 16
					},
					{
						name: 'London',
						cost: 0.005275000000,
						weeks: 16
					},
					{
						name: 'Markham',
						cost: 0.007797000000,
						weeks: 16
					},
					{
						name: 'Mississauga',
						cost: 0.002294000000,
						weeks: 16
					},
					{
						name: 'Newmarket',
						cost: 0.004055000000,
						weeks: 16
					},
					{
						name: 'Niagara Falls',
						cost: 0.002896000000,
						weeks: 16
					},
					{
						name: 'North Bay',
						cost: 0.003381500000,
						weeks: 16
					},
					{
						name: 'Oakville',
						cost: 0.002338000000,
						weeks: 16
					},
					{
						name: 'Orillia',
						cost: 0.004259000000,
						weeks: 16
					},
					{
						name: 'Oshawa',
						cost: 0.003028000000,
						weeks: 16
					},
					{
						name: 'Ottawa',
						cost: 0.004815000000,
						weeks: 16
					},
					{
						name: 'Peterborough',
						cost: 0.002743000000,
						weeks: 16
					},
					{
						name: 'Pickering',
						cost: 0.005020000000,
						weeks: 16
					},
					{
						name: 'Richmond Hill',
						cost: 0.002722500000,
						weeks: 16
					},
					{
						name: 'Sarnia',
						cost: 0.002172000000,
						weeks: 16
					},
					{
						name: 'Sault Ste. Marie',
						cost: 0.003288000000,
						weeks: 16
					},
					{
						name: 'St. Catharines',
						cost: 0.003802500000,
						weeks: 16
					},
					{
						name: 'Sudbury',
						cost: 0.003835000000,
						weeks: 16
					},
					{
						name: 'Thunder Bay',
						cost: 0.007107000000,
						weeks: 16
					},
					{
						name: 'Toronto',
						cost: 0.007206000000,
						weeks: 16
					},
					{
						name: 'Vaughan',
						cost: 0.003734000000,
						weeks: 16
					},
					{
						name: 'Waterloo',
						cost: 0.004801000000,
						weeks: 16
					},
					{
						name: 'Whitby',
						cost: 0.002789000000,
						weeks: 16
					},
					{
						name: 'Windsor',
						cost: 0.002845000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Prince Edward Island',
				data: [
					{
						name: 'Charlottetown',
						cost: 0.001432000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Quebec',
				data: [
					{
						name: 'Laval',
						cost: 0.001812000000,
						weeks: 16
					},
					{
						name: 'Montreal',
						cost: 0.001812000000,
						weeks: 16
					},
					{
						name: 'Quebec City',
						cost: 0.001812000000,
						weeks: 16
					},
					{
						name: 'Sherbrooke',
						cost: 0.001812000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Saskatchewan',
				data: [
					{
						name: 'Regina',
						cost: 0.00400000000,
						weeks: 16
					},
					{
						name: 'Saskatoon',
						cost: 0.002893000000,
						weeks: 16
					}
				]
			}
		]
	},
	{
		name: 'USA',
		data: [
			{
				name: 'Alabama',
				data: [
					{
						name: 'Birmingham',
						cost: 0.004682300000,
						weeks: 32
					},
					{
						name: 'Huntsville',
						cost: 0.001741000000,
						weeks: 32
					},
					{
						name: 'Mobile',
						cost: 0.001641000000,
						weeks: 32
					},
					{
						name: 'Montgomery',
						cost: 0.005534600000,
						weeks: 32
					}
				]
			},
			{
				name: 'Alaska',
				data: [
					{
						name: 'Anchorage',
						cost: 0.004016000000,
						weeks: 12
					}
				]
			},
			{
				name: 'Arizona',
				data: [
					{
						name: 'Chandler',
						cost: 0.002336500000,
						weeks: 48
					},
					{
						name: 'Gilbert',
						cost: 0.001666700000,
						weeks: 48
					},
					{
						name: 'Glendale',
						cost: 0.003426600000,
						weeks: 48
					},
					{
						name: 'Mesa',
						cost: 0.003205000000,
						weeks: 48
					},
					{
						name: 'Peoria',
						cost: 0.003591500000,
						weeks: 48
					},
					{
						name: 'Phoenix',
						cost: 0.003404000000,
						weeks: 48
					},
					{
						name: 'Prescott',
						cost: 0.006245400000,
						weeks: 48
					},

					{
						name: 'Scottsdale',
						cost: 0.004629400000,
						weeks: 48
					},
					{
						name: 'Tempe',
						cost: 0.004629600000,
						weeks: 48
					},
					{
						name: 'Tucson',
						cost: 0.006868500000,
						weeks: 48
					}
				]
			},
			{
				name: 'Arkansas',
				data: [
					{
						name: 'Little Rock',
						cost: 0.001870000000,
						weeks: 28
					}
				]
			},
			{
				name: 'California',
				data: [
					{
						name: 'Anaheim',
						cost: 0.002287000000,
						weeks: 40
					},
					{
						name: 'Bakersfield',
						cost: 0.002109400000,
						weeks: 40
					},
					{
						name: 'Berkeley',
						cost: 0.005908000000,
						weeks: 30
					},
					{
						name: 'Burbank',
						cost: 0.001104500000,
						weeks: 40
					},
					{
						name: 'Chula Vista',
						cost: 0.002825500000,
						weeks: 40
					},
					{
						name: 'Concord',
						cost: 0.003544600000,
						weeks: 30
					},
					{
						name: 'Corona',
						cost: 0.002771500000,
						weeks: 40
					},
					{
						name: 'Costa Mesa',
						cost: 0.003363500000,
						weeks: 40
					},
					{
						name: 'Daly City',
						cost: 0.005072300000,
						weeks: 30
					},
					{
						name: 'Downey',
						cost: 0.003543000000,
						weeks: 36
					},
					{
						name: 'El Monte',
						cost: 0.003324500000,
						weeks: 36
					},
					{
						name: 'Elk Grove',
						cost: 0.001964500000,
						weeks: 32
					},
					{
						name: 'Escondido',
						cost: 0.003376500000,
						weeks: 30
					},
					{
						name: 'Fairfield',
						cost: 0.002543000000,
						weeks: 30
					},
					{
						name: 'Fontana',
						cost: 0.002828000000,
						weeks: 32
					},
					{
						name: 'Fremont',
						cost: 0.003406000000,
						weeks: 30
					},
					{
						name: 'Fresno',
						cost: 0.001002300000,
						weeks: 40
					},
					{
						name: 'Fullerton',
						cost: 0.002251500000,
						weeks: 40
					},
					{
						name: 'Garden Grove',
						cost: 0.002933000000,
						weeks: 40
					},
					{
						name: 'Glendale',
						cost: 0.002879500000,
						weeks: 40
					},
					{
						name: 'Hayward',
						cost: 0.002892500000,
						weeks: 32
					},
					{
						name: 'Huntington Beach',
						cost: 0.002293500000,
						weeks: 40
					},
					{
						name: 'Inglewood',
						cost: 0.003623000000,
						weeks: 36
					},
					{
						name: 'Irvine',
						cost: 0.003135000000,
						weeks: 40
					},
					{
						name: 'Lancaster',
						cost: 0.003960600000,
						weeks: 40
					},
					{
						name: 'Long Beach',
						cost: 0.003281500000,
						weeks: 40
					},
					{
						name: 'Los Angeles',
						cost: 0.004699900000,
						weeks: 40
					},
					{
						name: 'Modesto',
						cost: 0.001722000000,
						weeks: 40
					},
					{
						name: 'Moreno Valley',
						cost: 0.003203500000,
						weeks: 40
					},
					{
						name: 'Norwalk',
						cost: 0.004166900000,
						weeks: 40
					},
					{
						name: 'Oakland',
						cost: 0.003377200000,
						weeks: 30
					},
					{
						name: 'Oceanside',
						cost: 0.002529500000,
						weeks: 40
					},
					{
						name: 'Ojai',
						cost: 0.003823300000,
						weeks: 36
					},
					{
						name: 'Ontario',
						cost: 0.002744500000,
						weeks: 46
					},
					{
						name: 'Orange',
						cost: 0.001198500000,
						weeks: 40
					},
					{
						name: 'Oxnard',
						cost: 0.003054400000,
						weeks: 36
					},
					{
						name: 'Palmdale',
						cost: 0.004722500000,
						weeks: 44
					},
					{
						name: 'Pasadena',
						cost: 0.002504900000,
						weeks: 36
					},
					{
						name: 'Pomona',
						cost: 0.001197500000,
						weeks: 40
					},
					{
						name: 'Rancho Cucamonga',
						cost: 0.002828000000,
						weeks: 36
					},
					{
						name: 'Redwood',
						cost: 0.002960000000,
						weeks: 32
					},
					{
						name: 'Richmond',
						cost: 0.003336500000,
						weeks: 30
					},
					{
						name: 'Riverside',
						cost: 0.002300200000,
						weeks: 42
					},
					{
						name: 'Roseville',
						cost: 0.000955300000,
						weeks: 30
					},
					{
						name: 'Sacramento',
						cost: 0.002311500000,
						weeks: 36
					},
					{
						name: 'Salinas',
						cost: 0.00239000000,
						weeks: 36
					},
					{
						name: 'San Bernardino',
						cost: 0.001692500000,
						weeks: 38
					},
					{
						name: 'San Buenaventura',
						cost: 0.002717600000,
						weeks: 36
					},
					{
						name: 'San Diego',
						cost: 0.004005500000,
						weeks: 40
					},
					{
						name: 'San Francisco',
						cost: 0.004682300000,
						weeks: 30
					},
					{
						name: 'San Jose',
						cost: 0.002664000000,
						weeks: 30
					},
					{
						name: 'Santa Ana',
						cost: 0.002891500000,
						weeks: 40
					},
					{
						name: 'Santa Barbara',
						cost: 0.006404500000,
						weeks: 34
					},
					{
						name: 'Santa Clara',
						cost: 0.003363500000,
						weeks: 40
					},
					{
						name: 'Santa Clarita',
						cost: 0.003161500000,
						weeks: 38
					},
					{
						name: 'Santa Rosa',
						cost: 0.003855000000,
						weeks: 30
					},
					{
						name: 'Simi Valley',
						cost: 0.002948100000,
						weeks: 34
					},
					{
						name: 'Stockton',
						cost: 0.002259900000,
						weeks: 36
					},
					{
						name: 'Sunnyvale',
						cost: 0.002460500000,
						weeks: 40
					},
					{
						name: 'Thousand Oaks',
						cost: 0.003349900000,
						weeks: 40
					},
					{
						name: 'Torrance',
						cost: 0.002973060000,
						weeks: 36
					},
					{
						name: 'Vallejo',
						cost: 0.003713200000,
						weeks: 34
					},
					{
						name: 'Victorville',
						cost: 0.001977600000,
						weeks: 44
					},
					{
						name: 'Visalia',
						cost: 0.001251000000,
						weeks: 40
					},
					{
						name: 'West Covina',
						cost: 0.002785050000,
						weeks: 34
					}
				]
			},
			{
				name: 'Colorado',
				data: [
					{
						name: 'Arvada',
						cost: 0.003807500000,
						weeks: 16
					},
					{
						name: 'Aurora',
						cost: 0.005304000000,
						weeks: 16
					},
					{
						name: 'Colorado Springs',
						cost: 0.004637500000,
						weeks: 16
					},
					{
						name: 'Denver',
						cost: 0.003011300000,
						weeks: 16
					},
					{
						name: 'Fort Collins',
						cost: 0.001982600000,
						weeks: 16
					},
					{
						name: 'Lakewood',
						cost: 0.003583000000,
						weeks: 16
					},
					{
						name: 'Pueblo',
						cost: 0.002013000000,
						weeks: 16
					},
					{
						name: 'Thornton',
						cost: 0.003301050000,
						weeks: 16
					},
					{
						name: 'Westminster',
						cost: 0.003563000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Connecticut',
				data: [
					{
						name: 'Bridgeport',
						cost: 0.004537000000,
						weeks: 16
					},
					{
						name: 'Hartford',
						cost: 0.002798000000,
						weeks: 16
					},
					{
						name: 'New Haven',
						cost: 0.003413500000,
						weeks: 16
					},
					{
						name: 'Stamford',
						cost: 0.004537000000,
						weeks: 16
					},
					{
						name: 'Waterbury',
						cost: 0.003040000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Delaware',
				data: [
					{
						name: 'Dover',
						cost: 0.002314500000,
						weeks: 18
					}
				]
			},
			{
				name: 'District of Columbia',
				data: [
					{
						name: 'Washington',
						cost: 0.003377500000,
						weeks: 18
					}
				]
			},
			{
				name: 'Florida',
				data: [
					{
						name: 'Cape Coral',
						cost: 0.002516000000,
						weeks: 20
					},
					{
						name: 'Clearwater',
						cost: 0.004277500000,
						weeks: 20
					},
					{
						name: 'Coral Springs',
						cost: 0.003452000000,
						weeks: 20
					},
					{
						name: 'Fort Lauderdale',
						cost: 0.004025700000,
						weeks: 20
					},
					{
						name: 'Gainesville',
						cost: 0.003457500000,
						weeks: 20
					},
					{
						name: 'Hialeah',
						cost: 0.003742500000,
						weeks: 20
					},
					{
						name: 'Hollywood',
						cost: 0.006821500000,
						weeks: 20
					},
					{
						name: 'Jacksonville',
						cost: 0.002787500000,
						weeks: 20
					},
					{
						name: 'Miami',
						cost: 0.003541500000,
						weeks: 20
					},
					{
						name: 'Miramar',
						cost: 0.003161500000,
						weeks: 20
					},
					{
						name: 'Naples',
						cost: 0.003404000000,
						weeks: 20
					},

					{
						name: 'Orlando',
						cost: 0.001559000000,
						weeks: 20
					},
					{
						name: 'Palm Bay',
						cost: 0.004317600000,
						weeks: 20
					},
					{
						name: 'Pembroke Pines',
						cost: 0.003351500000,
						weeks: 20
					},
					{
						name: 'Pompano Beach',
						cost: 0.003784400000,
						weeks: 20
					},
					{
						name: 'Port St. Lucie',
						cost: 0.004690000000,
						weeks: 20
					},
					{
						name: 'St. Petersburg',
						cost: 0.003160000000,
						weeks: 20
					},
					{
						name: 'Tallahassee',
						cost: 0.001761200000,
						weeks: 20
					},
					{
						name: 'Tampa',
						cost: 0.004184200000,
						weeks: 20
					}
				]
			},
			{
				name: 'Georgia',
				data: [
					{
						name: 'Athens',
						cost: 0.004841000000,
						weeks: 20
					},
					{
						name: 'Atlanta',
						cost: 0.005946600000,
						weeks: 20
					},
					{
						name: 'Augusta',
						cost: 0.002023000000,
						weeks: 20
					},
					{
						name: 'Columbus',
						cost: 0.001789500000,
						weeks: 20
					},
					{
						name: 'Savannah',
						cost: 0.000834400000,
						weeks: 20
					}
				]
			},
			{
				name: 'Hawaii',
				data: [
					{
						name: 'Honolulu',
						cost: 0.002676900000,
						weeks: 20
					}
				]
			},
			{
				name: 'Idaho',
				data: [
					{
						name: 'Boise',
						cost: 0.002040000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Illinois',
				data: [
					{
						name: 'Aurora',
						cost: 0.003734000000,
						weeks: 16
					},
					{
						name: 'Chicago',
						cost: 0.003734000000,
						weeks: 16
					},
					{
						name: 'Elgin',
						cost: 0.004010000000,
						weeks: 16
					},
					{
						name: 'Joliet',
						cost: 0.002963500000,
						weeks: 16
					},
					{
						name: 'Naperville',
						cost: 0.003040000000,
						weeks: 16
					},
					{
						name: 'Peoria',
						cost: 0.003917500000,
						weeks: 16
					},
					{
						name: 'Rockford',
						cost: 0.002548000000,
						weeks: 16
					},
					{
						name: 'Springfield',
						cost: 0.003229000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Indiana',
				data: [
					{
						name: 'Evansville',
						cost: 0.002053000000,
						weeks: 16
					},
					{
						name: 'Fort Wayne',
						cost: 0.002005000000,
						weeks: 16
					},
					{
						name: 'Indianapolis',
						cost: 0.002606500000,
						weeks: 16
					},
					{
						name: 'South Bend',
						cost: 0.002005000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Iowa',
				data: [
					{
						name: 'Cedar Rapids',
						cost: 0.002018500000,
						weeks: 16
					},
					{
						name: 'Des Moines',
						cost: 0.002717500000,
						weeks: 16
					}
				]
			},
			{
				name: 'Kansas',
				data: [
					{
						name: 'Kansas City',
						cost: 0.003962500000,
						weeks: 16
					},
					{
						name: 'Olathe',
						cost: 0.003019500000,
						weeks: 16
					},
					{
						name: 'Overland Park',
						cost: 0.003019500000,
						weeks: 16
					},
					{
						name: 'Topeka',
						cost: 0.003019500000,
						weeks: 16
					},
					{
						name: 'Wichita',
						cost: 0.004025500000,
						weeks: 16
					}
				]
			},
			{
				name: 'Kentucky',
				data: [
					{
						name: 'Lexington',
						cost: 0.006364000000,
						weeks: 16
					},
					{
						name: 'Louisville',
						cost: 0.004227000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Louisiana',
				data: [
					{
						name: 'Baton Rouge',
						cost: 0.003727000000,
						weeks: 16
					},
					{
						name: 'Lafayette',
						cost: 0.002264500000,
						weeks: 16
					},
					{
						name: 'New Orleans',
						cost: 0.004237000000,
						weeks: 16
					},
					{
						name: 'Shreveport',
						cost: 0.002717200000,
						weeks: 16
					}
				]
			},
			{
				name: 'Maine',
				data: [
					{
						name: 'Portland',
						cost: 0.002623000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Maryland',
				data: [
					{
						name: 'Baltimore',
						cost: 0.003322000000,
						weeks: 18
					}
				]
			},
			{
				name: 'Massachusetts',
				data: [
					{
						name: 'Boston',
						cost: 0.005069000000,
						weeks: 16
					},
					{
						name: 'Cambridge',
						cost: 0.004010000000,
						weeks: 16
					},
					{
						name: 'Lowell',
						cost: 0.002250000000,
						weeks: 16
					},
					{
						name: 'Springfield',
						cost: 0.002516000000,
						weeks: 16
					},
					{
						name: 'Worcester',
						cost: 0.004022500000,
						weeks: 16
					}
				]
			},
			{
				name: 'Michigan',
				data: [
					{
						name: 'Ann Arbor',
						cost: 0.003135000000,
						weeks: 16
					},
					{
						name: 'Detroit',
						cost: 0.002041000000,
						weeks: 16
					},
					{
						name: 'Flint',
						cost: 0.005434500000,
						weeks: 16
					},
					{
						name: 'Grand Rapids',
						cost: 0.002063000000,
						weeks: 16
					},
					{
						name: 'Lansing',
						cost: 0.002866000000,
						weeks: 16
					},
					{
						name: 'Sterling Heights',
						cost: 0.002083000000,
						weeks: 16
					},
					{
						name: 'Warren',
						cost: 0.002637000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Minnesota',
				data: [
					{
						name: 'Minneapolis',
						cost: 0.004103000000,
						weeks: 16
					},
					{
						name: 'St. Paul',
						cost: 0.002892500000,
						weeks: 16
					}
				]
			},
			{
				name: 'Mississippi',
				data: [
					{
						name: 'Jackson',
						cost: 0.002381500000,
						weeks: 20
					}
				]
			},
			{
				name: 'Missouri',
				data: [
					{
						name: 'Independence',
						cost: 0.002785000000,
						weeks: 20
					},
					{
						name: 'Kansas City',
						cost: 0.002785000000,
						weeks: 20
					},
					{
						name: 'Springfield',
						cost: 0.003740500000,
						weeks: 20
					},
					{
						name: 'St. Louis',
						cost: 0.002125600000,
						weeks: 20
					}
				]
				},
				{
				name: 'Montana',
				data: [
					{
						name: 'Billings',
						cost: 0.003724000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Nebraska',
				data: [
					{
						name: 'Lincoln',
						cost: 0.002220000000,
						weeks: 16
					},
					{
						name: 'Omaha',
						cost: 0.001773000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Nevada',
				data: [
					{
						name: 'Henderson',
						cost: 0.001912300000,
						weeks: 48
					},
					{
						name: 'Las Vegas',
						cost: 0.003110000000,
						weeks: 48
					},
					{
						name: 'North Las Vegas',
						cost: 0.002617000000,
						weeks: 48
					},
					{
						name: 'Reno',
						cost: 0.002657000000,
						weeks: 48
					}
				]
			},
			{
				name: 'New Hampshire',
				data: [
					{
						name: 'Manchester',
						cost: 0.001755300000,
						weeks: 16
					}
				]
			},
			{
				name: 'New Jersey',
				data: [
					{
						name: 'Elizabeth',
						cost: 0.002325000000,
						weeks: 16
					},
					{
						name: 'Jersey City',
						cost: 0.002325000000,
						weeks: 16
					},
					{
						name: 'Montclair',
						cost: 0.004090000000,
						weeks: 16
					},
					{
						name: 'Newark',
						cost: 0.001964300000,
						weeks: 16
					},
					{
						name: 'Paterson',
						cost: 0.001964300000,
						weeks: 16
					}
				]
			},
			{
				name: 'New Mexico',
				data: [
					{
						name: 'Albuquerque',
						cost: 0.001895450000,
						weeks: 28
					},
					{
						name: 'Santa Fe',
						cost: 0.004454000000,
						weeks: 28
					}
				]
			},
			{
				name: 'New York',
				data: [
					{
						name: 'Albany',
						cost: 0.003296000000,
						weeks: 16
					},
					{
						name: 'Buffalo',
						cost: 0.002555000000,
						weeks: 16
					},
					{
						name: 'New York City',
						cost: 0.003511000000,
						weeks: 16
					},
					{
						name: 'Rochester',
						cost: 0.003915000000,
						weeks: 16
					},
					{
						name: 'Syracuse',
						cost: 0.003592000000,
						weeks: 16
					},
					{
						name: 'Yonkers',
						cost: 0.001709000000,
						weeks: 16
					}
				]
			},
			{
				name: 'North Carolina',
				data: [
					{
						name: 'Cary',
						cost: 0.003855500000,
						weeks: 26
					},
					{
						name: 'Charlotte',
						cost: 0.003619500000,
						weeks: 26
					},
					{
						name: 'Durham',
						cost: 0.004991500000,
						weeks: 26
					},
					{
						name: 'Fayetteville',
						cost: 0.004519000000,
						weeks: 26
					},
					{
						name: 'Greensboro',
						cost: 0.005381500000,
						weeks: 26
					},
					{
						name: 'High Point',
						cost: 0.004440000000,
						weeks: 26
					},
					{
						name: 'Raleigh',
						cost: 0.002637000000,
						weeks: 26
					},
					{
						name: 'Winston-Salem',
						cost: 0.003713500000,
						weeks: 26
					}
				]
			},
			{
				name: 'North Dakota',
				data: [
					{
						name: 'Bismarck',
						cost: 0.002771500000,
						weeks: 16
					},

					{
						name: 'Fargo',
						cost: 0.004227500000,
						weeks: 16
					}
				]
			},
			{
				name: 'Ohio',
				data: [
					{
						name: 'Akron',
						cost: 0.003162000000,
						weeks: 16
					},
					{
						name: 'Cincinnati',
						cost: 0.005178000000,
						weeks: 16
					},
					{
						name: 'Cleveland',
						cost: 0.003619000000,
						weeks: 16
					},
					{
						name: 'Columbus',
						cost: 0.002667000000,
						weeks: 16
					},
					{
						name: 'Dayton',
						cost: 0.003319000000,
						weeks: 16
					},
					{
						name: 'Toledo',
						cost: 0.001445000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Oklahoma',
				data: [
					{
						name: 'Norman',
						cost: 0.002113500000,
						weeks: 20
					},
					{
						name: 'Oklahoma City',
						cost: 0.002274500000,
						weeks: 20
					},
					{
						name: 'Tulsa',
						cost: 0.002385500000,
						weeks: 20
					}
				]
			},
			{
				name: 'Oregon',
				data: [
					{
						name: 'Eugene',
						cost: 0.001888000000,
						weeks: 16
					},
					{
						name: 'Portland',
						cost: 0.003283000000,
						weeks: 16
					},
					{
						name: 'Salem',
						cost: 0.003269000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Pennsylvania',
				data: [
					{
						name: 'Allentown',
						cost: 0.002702500000,
						weeks: 16
					},
					{
						name: 'Erie',
						cost: 0.003122000000,
						weeks: 16
					},
					{
						name: 'Philadelphia',
						cost: 0.002950500000,
						weeks: 16
					},
					{
						name: 'Pittsburgh',
						cost: 0.007548000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Rhode Island',
				data: [
					{
						name: 'Providence',
						cost: 0.002797500000,
						weeks: 16
					}
				]
			},
			{
				name: 'South Carolina',
				data: [
					{
						name: 'Charleston',
						cost: 0.001856500000,
						weeks: 26
					},
					{
						name: 'Columbia',
						cost: 0.003727000000,
						weeks: 26
					}
				]
			},
			{
				name: 'South Dakota',
				data: [
					{
						name: 'Sioux Falls',
						cost: 0.003228900000,
						weeks: 20
					}
				]
			},
			{
				name: 'Tennessee',
				data: [
					{
						name: 'Chattanooga',
						cost: 0.005012500000,
						weeks: 16
					},
					{
						name: 'Clarksville',
						cost: 0.003502500000,
						weeks: 16
					},
					{
						name: 'Knoxville',
						cost: 0.003551900000,
						weeks: 16
					},
					{
						name: 'Memphis',
						cost: 0.001762500000,
						weeks: 16
					},
					{
						name: 'Nashville',
						cost: 0.002838500000,
						weeks: 16
					}
				]
			},
			{
				name: 'Texas',
				data: [
					{
						name: 'Abilene',
						cost: 0.001680500000,
						weeks: 30
					},
					{
						name: 'Amarillo',
						cost: 0.002385500000,
						weeks: 30
					},
					{
						name: 'Arlington',
						cost: 0.002928500000,
						weeks: 24
					},
					{
						name: 'Austin',
						cost: 0.006753300000,
						weeks: 24
					},
					{
						name: 'Beaumont',
						cost: 0.003280900000,
						weeks: 24
					},
					{
						name: 'Brownsville',
						cost: 0.002134000000,
						weeks: 24
					},
					{
						name: 'Carrollton',
						cost: 0.004368000000,
						weeks: 24
					},
					{
						name: 'Corpus Christi',
						cost: 0.002916500000,
						weeks: 24
					},
					{
						name: 'Dallas',
						cost: 0.004227000000,
						weeks: 24
					},
					{
						name: 'Denton',
						cost: 0.002868500000,
						weeks: 24
					},
					{
						name: 'El Paso',
						cost: 0.004574500000,
						weeks: 34
					},
					{
						name: 'Fort Worth',
						cost: 0.003579000000,
						weeks: 24
					},
					{
						name: 'Garland',
						cost: 0.003170000000,
						weeks: 30
					},
					{
						name: 'Grand Prairie',
						cost: 0.002818000000,
						weeks: 30
					},
					{
						name: 'Houston',
						cost: 0.002938600000,
						weeks: 24
					},
					{
						name: 'Irving',
						cost: 0.002556500000,
						weeks: 30
					},
					{
						name: 'Killeen',
						cost: 0.002818000000,
						weeks: 30
					},
					{
						name: 'Laredo',
						cost: 0.001550100000,
						weeks: 30
					},
					{
						name: 'Lubbock',
						cost: 0.004317600000,
						weeks: 30
					},
					{
						name: 'McAllen',
						cost: 0.001308500000,
						weeks: 30
					},
					{
						name: 'McKinney',
						cost: 0.003049500000,
						weeks: 30
					},
					{
						name: 'Mesquite',
						cost: 0.003935000000,
						weeks: 30
					},
					{
						name: 'Midland',
						cost: 0.003251000000,
						weeks: 30
					},
					{
						name: 'Pasadena',
						cost: 0.003019500000,
						weeks: 30
					},
					{
						name: 'Plano',
						cost: 0.001912000000,
						weeks: 30
					},
					{
						name: 'San Antonio',
						cost: 0.001423500000,
						weeks: 30
					},
					{
						name: 'Waco',
						cost: 0.002556500000,
						weeks: 30
					},
					{
						name: 'Wichita Falls',
						cost: 0.003108000000,
						weeks: 30
					}
				]
			},
			{
				name: 'Utah',
				data: [
					{
						name: 'Provo',
						cost: 0.000645600000,
						weeks: 24
					},
					{
						name: 'Salt Lake City',
						cost: 0.002650000000,
						weeks: 24
					},
					{
						name: 'West Jordan',
						cost: 0.000916000000,
						weeks: 24
					},
					{
						name: 'West Valley City',
						cost: 0.001460000000,
						weeks: 24
					}
				]
			},
			{
				name: 'Vermont',
				data: [
					{
						name: 'South Burlington',
						cost: 0.003525000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Virginia',
				data: [
					{
						name: 'Alexandria',
						cost: 0.002717000000,
						weeks: 24
					},
					{
						name: 'Arlington',
						cost: 0.003442000000,
						weeks: 24
					},
					{
						name: 'Chesapeake',
						cost: 0.005621000000,
						weeks: 24
					},
					{
						name: 'Hampton',
						cost: 0.003059500000,
						weeks: 24
					},
					{
						name: 'Newport News',
						cost: 0.004090000000,
						weeks: 24
					},
					{
						name: 'Norfolk',
						cost: 0.005032000000,
						weeks: 24
					},
					{
						name: 'Portsmouth',
						cost: 0.004056000000,
						weeks: 24
					},
					{
						name: 'Richmond',
						cost: 0.002083000000,
						weeks: 24
					},
					{
						name: 'Virginia Beach',
						cost: 0.004127000000,
						weeks: 24
					}
				]
			},
			{
				name: 'Washington',
				data: [
					{
						name: 'Bellevue',
						cost: 0.003471000000,
						weeks: 16
					},
					{
						name: 'Seattle',
						cost: 0.006041000000,
						weeks: 16
					},
					{
						name: 'Spokane',
						cost: 0.000659000000,
						weeks: 16
					},
					{
						name: 'Tacoma',
						cost: 0.002104000000,
						weeks: 16
					},
					{
						name: 'Vancouver',
						cost: 0.001977500000,
						weeks: 16
					}
				]
			},
			{
				name: 'West Virginia',
				data: [
					{
						name: 'Charleston',
						cost: 0.001856500000,
						weeks: 16
					}
				]
			},
			{
				name: 'Wisconsin',
				data: [
					{
						name: 'Green Bay',
						cost: 0.002246500000,
						weeks: 16
					},
					{
						name: 'Madison',
						cost: 0.003089500000,
						weeks: 16
					},
					{
						name: 'Milwaukee',
						cost: 0.001803000000,
						weeks: 16
					}
				]
			},
			{
				name: 'Wyoming',
				data: [
					{
						name: 'Cheyenne',
						cost: 0.004006000000,
						weeks: 16
					}
				]
			}
		]
	}
];

var ecoWaterStates = {
	'Alabama': 0.25,
	'Arizona': 0.25,
	'Arkansas': 0.25,
	'California': 0.25,
	'Colorado': 0.00,
	'Florida': 0.25,
	'Georgia': 0.25,
	'Hawaii': 0.00,
	'Kansas': 0.00,
	'Kentucky': 0.00,
	'Louisiana': 0.25,
	'Mississippi': 0.25,
	'Missouri': 0.00,
	'Nebraska': 0.00,
	'Nevada': 0.25,
	'New Mexico': 0.25,
	'North Carolina': 0.25,
	'Oklahoma': 0.25,
	'South Carolina': 0.25,
	'Tennessee': 0.00,
	'Texas': 0.25,
	'Utah': 0.25,
	'Virginia': 0.25,
	'West Virginia': 0.00
};



function SelectBoxMulti(myName, prefix, callback, data) {
	this.myName = myName;
	this.prefix = prefix;
	this.callback = callback;
	this.data = data;
	this.boxes = [];

	var obj = this;
	addEvent(window, 'load', function() {
		obj.display(0, obj.data);
	});
};

SelectBoxMulti.prototype.display = function(level, data) {
	var box = this.boxes[level];
	if (!box) {
		box = document.getElementById(this.prefix + level);
		if (!box) {
			return;
		}
		this.boxes[level] = box;
		var obj = this;
		addEvent(box, 'change', function() {
			obj.change(level);
		});
	}
	while (box.firstChild) {
		box.removeChild(box.firstChild);
	}
	if (data.length) {
		for (var i = -1; i < data.length; i++) {
			var opt = document.createElement('option');
			opt.appendChild(document.createTextNode(i < 0 ? ' -- Select -- ' : data[i].name));
			if (i >= 0) {
				opt.setAttribute('value', i);
			}
			box.appendChild(opt);
		}
	}
};

SelectBoxMulti.prototype.change = function(level) {
	ecoFrac = 0;
	var info = this.data;
	for (var i = 0; i < this.boxes.length; i++) {
		var val = parseInt(this.boxes[i].value);
		if (i > level || isNaN(val)) {
			this.display(i + 1, []);
		}
		else if (info && info[val].cost) {
			cost = info[val].cost;
			weeks = info[val].weeks;
			info = null;
			if (this.callback) this.callback();
		}
		else if (info[val].data) {
			ecoFrac = ecoWaterStates[info[val].name] || ecoFrac;
			info = info[val].data;
			if (info && i == level) {
				this.display(i + 1, info);
			}
		}
	}
};




function roundDollars(val) {
	if (val.toFixed) {
		return val.toFixed(2);
	} else {
		return parseInt(val * 100) / 100;
	}
};

var cost = 0,
	ecoFrac = 0,
	weeks = 0;

window.ecoLawnCalculate = function() {
	if (!cost) {
		return;
	}

	var lawnWaterings = parseInt(document.getElementById('lawn_waterings').value);
	var lawnSqFeet = parseInt(document.getElementById('lawn_sqfeet').value);

	var lawnConsumption = lawnWaterings * lawnSqFeet * 0.62 * weeks;
	var lawnCost = lawnConsumption * cost;

	if (isNaN(lawnConsumption) || isNaN(lawnCost)) {
		return;
	}
	document.getElementById('lawn_consumption').innerHTML = lawnConsumption;
	document.getElementById('ecolawn_consumption').innerHTML = lawnConsumption * ecoFrac;
	document.getElementById('saved_consumption').innerHTML = lawnConsumption * (1 - ecoFrac);
	document.getElementById('lawn_cost').innerHTML = roundDollars(lawnCost);
	document.getElementById('ecolawn_cost').innerHTML = roundDollars(lawnCost * ecoFrac);
	document.getElementById('saved_cost').innerHTML = roundDollars(lawnCost * (1 - ecoFrac));
};

window.selBoxMulti = new SelectBoxMulti('selBoxMulti', 'ecolawn_', ecoLawnCalculate, data);



})();
