function pdState(name, abbreviation, defaultRegion)
{
	// initialize the member variables for this instance
	this.name = name;
	this.abbreviation = abbreviation;
	this.defaultRegion = defaultRegion;

	// initialize the member function references 
	// for the class prototype
	if (typeof(_state_prototype_called) == 'undefined')
	{
		_state_prototype_called = true;
		pdState.prototype.getName = getName;
		pdState.prototype.setName = setName;
		pdState.prototype.getAbbreviation = getAbbreviation;
		pdState.prototype.setAbbreviation = setAbbreviation;
		pdState.prototype.getDefaultRegion = getDefaultRegion;
		pdState.prototype.setDefaultRegion = setDefaultRegion;

	}

	// define a State's methods
	function getName()
	{
		return this.name;
	}

	function setName(name)
	{
		this.name = name;
	}
	function getAbbreviation()
	{
		return this.abbreviation;
	}

	function setAbbreviation(abbreviation)
	{
		this.abbreviation = abbreviation;
	}
	
	function getDefaultRegion()
	{
		return this.defaultRegion;
	}

	function setDefaultRegion(defaultRegion)
	{
		this.defaultRegion = defaultRegion;
	}

}

function pdCounty(name)
{
  // initialize the member variables for this instance
  this.name = name;

  // initialize the member function references 
  // for the class prototype
  if (typeof(_county_prototype_called) == 'undefined')
  {
     _county_prototype_called = true;
     pdCounty.prototype.getName = getName;
     pdCounty.prototype.setName = setName;
  }

  // define a County's methods
  function getName()
  {
     return this.name;
  }

  function setName(name)
  {
     this.name = name;
  }
}



function pdRegion(name, descriptor) {
	this.name = name;
	this.descriptor = descriptor;

	// initialize the member function references 
	// for the class prototype
	if (typeof(_region_prototype_called) == 'undefined')
	{
		_region_prototype_called = true;
		pdRegion.prototype.getName = getName;
		pdRegion.prototype.setName = setName;
		pdRegion.prototype.getDescriptor = getDescriptor;
		pdRegion.prototype.setDescriptor = setDescriptor;
	}

	// define a Region's methods
	function getName()
	{
		return this.name;
	}

	function setName(name)
	{
		this.name = name;
	}

	function getDescriptor()
	{
		return this.name;
	}

	function setDescriptor(name)
	{
		this.name = name;
	}

}

