function _handleGLRegionSelection()
{
	// disable submit until the sub region info loads
	_getGLSubmit().disabled = true;
	_getGLSubmit().className = 'button disabled';
	_getGLSubRegion().disabled = true;

	// If the user has selected a region
	if (-1 != _getGLRegionValue()){

		var xmlHttp = getXmlHttpRequest();


		var url = ctrlUrl + 'ajax/region/statecode/' + _getGLRegion().value;

		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);

		xmlHttp.onreadystatechange = function()
		{
			var subRegionDD = document.getElementById('countycode');

			if (xmlHttp.readyState == 4){
				if (xmlHttp.status == 200){

					// Fetch the response tag
					var rspXML = xmlHttp.responseXML;

					// Fetch the error tag
					var errTag = rspXML.getElementsByTagName('error');

					// Was there an error?
					if (errTag.length != 0){

						// Error found; remove all children from the sub region drop down
						var len = subRegionDD.childNodes.length;
						while (subRegionDD.hasChildNodes()){
							subRegionDD.removeChild(subRegionDD.firstChild);
						}

						// Now add a sole 'NA' option to the sub region drop down
						var subRegionDDOpt = document.createElement('option');
						subRegionDDOpt.value = -1;
						subRegionDDOpt.innerHTML = 'N/A';
						subRegionDDOpt.selected = true;
						subRegionDD.appendChild(subRegionDDOpt);
						_getGLSubRegion().disabled = true;

					}else{

						// Else - no errors, sub regions found

						// Enable the sub region dropdown
						_getGLSubRegion().disabled = false;

						// Firstly clear the list of drop down options
						var len = subRegionDD.childNodes.length;
						while (subRegionDD.hasChildNodes()){
							subRegionDD.removeChild(subRegionDD.firstChild);
						}

						/*
						// Add the --SELECT-- option back in
						var subRegionDDOpt = document.createElement('option');
						subRegionDDOpt.value = -1;
						subRegionDDOpt.innerHTML = pleaseSelectText;
						subRegionDD.appendChild(subRegionDDOpt);
						*/


						// Now add the newly found options
						var subRegion = rspXML.getElementsByTagName('subRegion');

						if (0 == subRegion.length){
							makeDDNodeNA(_getGLSubRegion());
							_getGLSubRegion().disabled = true;
						}else{
							// Add the --ALL-- option back in
							var subRegionDDOpt = document.createElement('option');
							subRegionDDOpt.value = 'all';
							subRegionDDOpt.innerHTML = allSubRegionsText;
							subRegionDD.appendChild(subRegionDDOpt);
						}

						for(var i = 0, j = subRegion.length; i < j; i++){
							var countycode 	= nodeValue(subRegion[i].getElementsByTagName('countycode')[0]);
							var county 		= nodeValue(subRegion[i].getElementsByTagName('county')[0]);
							var subRegionDDOpt = document.createElement('option');
							subRegionDDOpt.value = county;
							subRegionDDOpt.id = countycode;
							subRegionDDOpt.innerHTML = toTitleCase(county);
							subRegionDD.appendChild(subRegionDDOpt);
						}

						// REQUEST PARAMS CODE
						// 'Select' the sub region
						if ( (-2 != glRequestParams['countycode']) && ('all' != glRequestParams['countycode']) ){
							if (document.getElementById(glRequestParams['countycode'])){
								try{
									document.getElementById(glRequestParams['countycode']).selected = true;
								}catch(e){
									// swallow for IE6
								};
							}
						}

					}

					// Activate the controls
					_activateGLControls();
				}else{
					// Non 200 HTTP status
				}
			}
		}
	} else {
		// Activate the controls
		_activateGLControls();
	}
}
