		function getSubTopic(id){
			// do not select the first item;
			if('' == id || id < 0) {
				$('subtopic').empty().setProperty('disabled');
				$('subtopic').adopt(new Element('option',{'value':'-1'}).set('text','Choose a Topic'));
				return; 
			}
			
			$('subtopic').empty().removeProperty('disabled');
			$('subtopic').adopt(new Element('option',{'value':'-1'}).set('text',''));
			for(var x=0; x < subTopics[id].length; x=x+1)
			{
				var option = subTopics[id][x];
				$('subtopic').adopt(new Element('option',{'value':option.id}).set('text',option.subTopic));
			}
		}
		
		function validateInputs() {
		    // Populate the Phone Number Field before validation
		    $('phoneNumber').set('value', $('phone_AreaCode').get('value') + $('phone_Prefix').get('value') + $('phone_Suffix').get('value'));
		    
			// Validate Single Fields
			errors = validate();
			
			// Validate Date/Time if necessary
			// if facilityVisit is true validate
			visit = getRadioValue(document.ContactUsForm.facilityVisit);
			if('true' == visit){
				formDate = $('formMonth').get('value') + "/" + $('formDay').get('value') + "/" + $('formYear').get('value');
				if(false == isValidUSDate(formDate)){
					$('formDateLabel').addClass('required');
					errors.push('Date of experience is not a valid date.');
				} else {
					$('formDateLabel').removeClass('required');
				}
			}

			if (errors.length > 0) {
				errorMessage = '';

				errors.each(function(error) {
					errorMessage += error.replace("\\n", "") + "<br />";
				});

				showMessage(errorMessage.substring(0, (errorMessage.length-2)), "required");
			} else {
				clearMessage();
				document.ContactUsForm.submit();
			}

			
		}
		
		function getRadioValue(radioObject){
			var value = null;
			
			for(var i = 0; i < 20; i=i+1) {
				if(null == radioObject[i]) {
					break;
				}
				
				if(true == radioObject[i].checked){
					value = radioObject[i].value;
					break;
				}	
			}
			
			return value;
		}
		
		function showMessage(message, className) {
			setRowDisplay("messageCenterHeaderRow", "");
			setRowDisplay("messageCenterRow", "");
			setRowDisplay("messageCenterFooterRow", "");

			var span = document.getElementById("messageCenter");
			if(null != span) {
				if('' != className) { span.className = className; }
				span.innerHTML = message;
			}
		}

		function clearMessage() {
			setRowDisplay("messageCenterHeaderRow", "none");
			setRowDisplay("messageCenterRow", "none");
			setRowDisplay("messageCenterFooterRow", "none");

			var span = document.getElementById("messageCenter");
			if(null != span) {
				span.className = "";
				span.innerHTML = "";
			}
		}
		
		function setRowDisplay(rowName, displayStyle) {
			var row = document.getElementById(rowName);
			if(null != row) { row.style.display = displayStyle; }
		}
		
		function cleanInput(elementName, regEx) {
			var re = new RegExp(regEx, "g");
			var element = document.getElementById(elementName);
			
			element.value = element.value.replace(re,'');			
		}
		
		function setFacilityVisitInputs(style){
			setRowDisplay('experienceDateRow', style);
			setRowDisplay('question1Row', style);
			setRowDisplay('question2Row', style);
			setRowDisplay('question3Row', style);
		}
		
		function textAreaLimit(textAreaName, remainingCountName, limitNumber) {
			var textarea = document.getElementById(textAreaName);
			
			if (textarea.value.length > limitNumber) {
				textarea.value = textarea.value.substring(0, limitNumber);
			} else {
				updateTextAreaCount(textAreaName, remainingCountName, limitNumber);
			}
		}
		
		function updateTextAreaCount(textAreaName, remainingCountName, limitNumber) {
			var textarea = document.getElementById(textAreaName);
			var remainingCount = document.getElementById(remainingCountName);
			remainingCount.innerHTML = limitNumber - textarea.value.length;
		}
		
