function getMerrimackCitiesArray() {
 	var cityList = 'Allenstown,Amherst,Auburn,Bedford,Boscawen,Bow,Brookline,Candia,Canterbury,Chester,Chichester,Concord,Deerfield,Dunbarton,'
 	             + 'Epsom,Goffstown,Henniker,Hollis,Hooksett,Hopkinton,Hudson,Litchfield,Londonderry,Loudon,Manchester,Merrimack,Mont Vernon,'
 	             + 'Nashua,New Boston,Northwood,Nottingham,Pelham,Pembroke,Raymond,Salem,Weare,Windham';
 	
 	return cityList.split(',');
}

function getSeacoastCitiesArray() {
 	var cityList = 'Atkinson,Brentwood,Danville,Dover,Durham,East Kingston,Epping,Exeter,Fremont,Greenland,Hampstead,Hampton,Hampton Falls,Kensington,'
 	             + 'Kingston,Lee,Madbury,New Castle,Newfields,Newington,Newmarket,Newton,North Hampton,Plaistow,Portsmouth,Rye,Sandown,'
 	             + 'Seabrook,Somersworth,South,Hampton,Stratham';
 	
 	return cityList.split(',');
}

function getDartmouthCitiesArray() {
 	var cityList = 'Acworth,Andover,Bradford,Canaan,Charlestown,Claremont,Cornish,Croydon,Danbury,Dorchester,Enfield,Goshen,Grafton,Grantham,'
 	             + 'Groton,Hanover,Langdon,Lebanon,Lempster,Lyme,New London,Newbury,Newport,Orange,Orford,Plainfield,Salisbury,'
 	             + 'Springfield,Sunapee,Sutton,Unity,Warner,Washington,Webster,Wentworth,Wilmot,Windsor';
 	
 	return cityList.split(',');
}

function getMonadnockCitiesArray() {
 	var cityList = 'Alstead,Antrim,Bennington,Chesterfield,Deering,Derry,Dublin,Fitzwilliam,Francestown,Gilsum,Greenfield,Greenville,Hancock,Harrisville,'
 	             + 'Hillsborough,Hinsdale,Jaffrey,Keene,Lyndeborough,Marlborough,Mason,Milford,Nelson,New Ipswich,Peterborough,Richmond,Rindge,'
 	             + 'Roxbury,Sharon,Stoddard,Sullivan,Surry,Swanzey,Temple,Troy,Walpole,Westmoreland,Wilton,Winchester';
 	
 	return cityList.split(',');
}

function getGreatNorthWoodsCitiesArray() {
 	var cityList = 'Berlin,Colebrook,Columbia,Dalton,Dummer,Errol,Lancaster,Milan,Northumberland,Pittsburg,Stark,Stewartstown,Whitefield';
 	
 	return cityList.split(',');
}

function getLakesCitiesArray() {
 	var cityList = 'Alexandria,Alton,Ashland,Barnstead,Barrington,Belmont,Bridgewater,Bristol,Brookfield,Center Harbor,Eaton,Effingham,Farmington,Franklin,'
 	             + 'Freedom,Gilford,Gilmanton,Hebron,Hill,Holderness,Laconia,Madison,Meredith,Middleton,Milton,Moultonborough,New Durham,'
 	             + 'New Hampton,Northfield,Ossipee,Pittsfield,Plymouth,Rochester,Rollinsford,Rumney,Sanbornton,Sandwich,Strafford,Tamworth,Tilton,Tuftonboro,Wakefield,Wolfeboro';
 	
 	return cityList.split(',');
} 

function getWhiteMountainsCitiesArray() {
	var cityList = 'Albany,Bartlett,Bath,Bethlehem,Campton,Carroll,Chatham,Conway,Easton,Ellsworth,Franconia,Gorham,Harts Location,Haverhill,'
	             + 'Jackson,Jefferson,Landaff,Lincoln,Lisbon,Littleton,Lyman,Monroe,North Conway,Piermont,Randolph,Shelburne,Sugar Hill,Thornton,'
	             + 'Warren,Waterville Valley,Woodstock';

	return cityList.split(',');
}

function getAllCitiesArray() {
	var cityList = 'Acworth,Albany,Alexandria,Allenstown,Alstead,Alton,Amherst,Andover,Antrim,Ashland,Atkinson,Auburn,Barnstead,Barrington,Bartlett,'
	             + 'Bath,Bedford,Belmont,Bennington,Berlin,Bethlehem,Boscawen,Bow,Bradford,Brentwood,Bridgewater,Bristol,Brookfield,Brookline,Campton,'
	             + 'Canaan,Candia,Canterbury,Carroll,Center Harbor,Charlestown,Chatham,Chester,Chesterfield,Chichester,Claremont,Colebrook,Columbia,'
	             + 'Concord,Conway,Cornish,Croydon,Dalton,Danbury,Danville,Deerfield,Deering,Derry,Dorchester,Dover,Dublin,Dummer,Dunbarton,Durham,'
	             + 'East Kingston,Easton,Eaton,Effingham,Ellsworth,Enfield,Epping,Epsom,Errol,Exeter,Farmington,Fitzwilliam,Francestown,Franconia,Franklin,'
	             + 'Freedom,Fremont,Gilford,Gilmanton,Gilsum,Goffstown,Gorham,Goshen,Grafton,Grantham,Greenfield,Greenland,Greenville,Groton,Hampstead,'
	             + 'Hampton,Hampton,Hampton Falls,Hancock,Hanover,Harrisville,Harts Location,Haverhill,Hebron,Henniker,Hill,Hillsborough,Hinsdale,'
	             + 'Holderness,Hollis,Hooksett,Hopkinton,Hudson,Jackson,Jaffrey,Jefferson,Keene,Kensington,Kingston,Laconia,Lancaster,Landaff,Langdon,'
	             + 'Lebanon,Lee,Lempster,Lincoln,Lisbon,Litchfield,Littleton,Londonderry,Loudon,Lyman,Lyme,Lyndeborough,Madbury,Madison,Manchester,'
	             + 'Marlborough,Mason,Meredith,Merrimack,Middleton,Milan,Milford,Milton,Monroe,Mont Vernon,Moultonborough,Nashua,Nelson,New Boston,'
	             + 'New Castle,New Durham,New Hampton,New Ipswich,New London,Newbury,Newfields,Newington,Newmarket,Newport,Newton,North Conway,North Hampton,'
	             + 'Northfield,Northumberland,Northwood,Nottingham,Orange,Orford,Ossipee,Pelham,Pembroke,Peterborough,Piermont,Pittsburg,Pittsfield,'
	             + 'Plainfield,Plaistow,Plymouth,Portsmouth,Randolph,Raymond,Richmond,Rindge,Rochester,Rollinsford,Roxbury,Rumney,Rye,Salem,Salisbury,'
	             + 'Sanbornton,Sandown,Sandwich,Seabrook,Sharon,Shelburne,Somersworth,South,Springfield,Stark,Stewartstown,Stoddard,Strafford,Stratham,'
	             + 'Sugar Hill,Sullivan,Sunapee,Surry,Sutton,Swanzey,Tamworth,Temple,Thornton,Tilton,Troy,Tuftonboro,Unity,Wakefield,Walpole,Warner,'
	             + 'Warren,Washington,Waterville Valley,Weare,Webster,Wentworth,Westmoreland,Whitefield,Wilmot,Wilton,Winchester,Windham,Windsor,'
	             + 'Wolfeboro,Woodstock';

	return cityList.split(',');
}  

function loadCityList(componentId, region)
{          
	var cityListSelect = document.getElementById(componentId);

	clearSelectList(cityListSelect);

	switch (region)
	{
	case 'Merrimack':
	      addSelectItem(cityListSelect, 'All Cities From Merrimack', '0');
		  addSelectItemFromArray(cityListSelect, getMerrimackCitiesArray());
	      break;
      
	case 'Seacoast':
	      addSelectItem(cityListSelect, 'All Cities From Seacoast', '0');
		  addSelectItemFromArray(cityListSelect, getSeacoastCitiesArray());
	      break;
      
	case 'Dartmouth/Lake Sunapee':
	      addSelectItem(cityListSelect, 'All Cities From Dartmouth/Lake Sunapee', '0');
		  addSelectItemFromArray(cityListSelect, getDartmouthCitiesArray());
		  break;
      
	case 'Monadnock':
	      addSelectItem(cityListSelect, 'All Cities From Monadnock', '0');
		  addSelectItemFromArray(cityListSelect, getMonadnockCitiesArray());
		  break;

	case 'Great North Woods':
	      addSelectItem(cityListSelect, 'All Cities From Great North Woods', '0');
		  addSelectItemFromArray(cityListSelect, getGreatNorthWoodsCitiesArray());
		  break;
	                        
	case 'Lakes':
	      addSelectItem(cityListSelect, 'All Cities From Lakes', '0');
		  addSelectItemFromArray(cityListSelect, getLakesCitiesArray());
		  break;
      
	case 'White Mountains':
	      addSelectItem(cityListSelect, 'All Cities From White Mountains', '0');
		  addSelectItemFromArray(cityListSelect, getWhiteMountainsCitiesArray());
		  break;    
      
	default:
	      clearSelectList(cityListSelect);
	      addSelectItem(cityListSelect, 'All Cities', '0');
	      addSelectItemFromArray(cityListSelect, getAllCitiesArray());
	      break;
	}
      
}

function addSelectItem(selectObj, text, value)
{
	var optionObj = document.createElement('option');

	optionObj.text = text;

	if (value != '') {
		if (value == true)
			optionObj.value = '';
		else
			optionObj.value = value;
	}
	else {
	  optionObj.value = text;
	}

	try
	{
	    selectObj.add(optionObj, null); // standards compliant
	}
	catch(ex)
	{
	    selectObj.add(optionObj); // IE only
	}
      
}

function addSelectItemFromArray(selectObj, listArray)
{          
	for (x in listArray) {
		var optionObj = document.createElement('option');
		optionObj.text = listArray[x];
		optionObj.value = listArray[x];
		try
		{
		      selectObj.add(optionObj, null); // standards compliant
		}
		catch(ex)
		{
		      selectObj.add(optionObj); // IE only
		}
	}
                
}

function clearSelectList(selectObj)
{
	for (i=selectObj.length; i>=0; i--)
	{
	    selectObj.remove(i);
	}
}