var bInSubmission = false;

function toggleAddress() {
	var suggestedAddresses = document.rmform.suggestedAddress;
	var addressType = document.rmform.addressType;
	if (addressType[0].checked == true) {
		document.getElementById("suggestedAddresses1").style.color = "black";
		for (i = 0; i < suggestedAddresses.length; i++) {
			suggestedAddresses[i].disabled = "";
		}
	} else {
		document.getElementById("suggestedAddresses1").style.color = "gray";
		for (i = 0; i < suggestedAddresses.length; i++) {
			suggestedAddresses[i].disabled = "disabled";
		}
	}
	if (addressType[1].checked == true) {
		document.getElementById("suggestedAddresses2").style.color = "black";
	} else {
		document.getElementById("suggestedAddresses2").style.color = "gray";
	}
	if (addressType[2].checked == true) {
		document.getElementById("suggestedAddresses3").style.display = "block";
	} else {
		document.getElementById("suggestedAddresses3").style.display = "none";
	}
}

function changeAnswer( inputElement ) {
	var twinElements = document.getElementsByName(inputElement.name);

	// Only do this if there is more then one element with this name
	if(twinElements.length > 1) {
		// If this is a text input
		if(inputElement.type == 'text') {
			var inputText = inputElement.value;
			for (var i = 0; i < twinElements.length; i++) {
				twinElements[i].value = inputText;
			}
		// If this is a select
		} else if(inputElement.type == 'select-one') {
			var selectText = '';
			for (var l = 0; l < inputElement.options.length; l++) {
				if (inputElement.options[l].selected) {
					selectText = inputElement.options[l].text;
				}
			}
			for (var i = 0; i < twinElements.length; i++) {
				if (twinElements[i].type == 'select-one' || twinElements[i].type == 'select-multiple') {
					for (var j = 0; j < twinElements[i].options.length; j++) {
						if (twinElements[i].options[j].text == selectText) {
							twinElements[i].options[j].selected = true;
						}
					}
				}
			}	
		// If this is a checkbox/radio input (remove radio because form cant have more than one selected since it is same input name)
		} else if(inputElement.type == 'checkbox') {
			var isChecked = inputElement.checked;
			
			for (var i = 0; i < twinElements.length; i++) {
				if(twinElements[i].value == inputElement.value) {
					twinElements[i].checked = isChecked;
				}
			}			
		}
	}
	
	// find any duplicate mapto questions
	var sMapToName;
	if(inputElement.type == 'radio' || inputElement.type == 'checkbox') {
		if(inputElement.parentNode.parentNode.parentNode.parentNode.parentNode.attributes["name"] != null) {
			sMapToName = inputElement.parentNode.parentNode.parentNode.parentNode.parentNode.attributes["name"].value;
		}
		else {
			sMapToName = inputElement.parentNode.parentNode.parentNode.parentNode.attributes["name"].value;
		}
	} else {
		sMapToName = inputElement.parentNode.parentNode.parentNode.attributes["name"].value;
	}
	if(sMapToName != '') {
		var maptoElements = getElementsByName_iefix("div", sMapToName);
		// More than one mapto questions
		if(maptoElements.length > 1) {
			// If this is a text input
			if(inputElement.type == 'text') {
				// set up the value
				var inputText = inputElement.value;
				// question container
				for (var i = 0; i < maptoElements.length; i++) {
					// question or answerset nodes
					if (maptoElements[i] != "[object Text]") {
						// child nodes of the question container
						var questionanswersetNodes = maptoElements[i].childNodes;
						for (var i2 = 0; i2 < questionanswersetNodes.length; i2++) {
							// answer nodes
							if (questionanswersetNodes[i2] != "[object Text]" && (questionanswersetNodes[i2].className == "answer" ||
								questionanswersetNodes[i2].className == "answerFullWidth")) {
								// child nodes of the answerset node
								var answersetNodes = questionanswersetNodes[i2].childNodes;
								for (var i3 = 0; i3 < answersetNodes.length; i3++) {
									if (answersetNodes[i3] != "[object Text]") {
										var inputNodes = answersetNodes[i3].childNodes;
										for (var i4 = 0; i4 < inputNodes.length; i4++) {
											if (inputNodes[i4] != "[object Text]" && inputNodes[i4].type == 'text') {
												inputNodes[i4].value = inputText;
											}
										}
									}
								} 
							}
						}
					}	
				}
			// If this is a select
			} else if(inputElement.type == 'select-one') {
				var selectText = '';
				for (var k = 0; k < inputElement.options.length; k++) {
					if (inputElement.options[k].selected) {
						selectText = inputElement.options[k].text;
					}
				}
				// question container
				for (var i = 0; i < maptoElements.length; i++) {
					// question or answerset nodes
					if (maptoElements[i] != "[object Text]") {
						// child nodes of the question container
						var questionanswersetNodes = maptoElements[i].childNodes;
						for (var i2 = 0; i2 < questionanswersetNodes.length; i2++) {
							// answer nodes
							if (questionanswersetNodes[i2] != "[object Text]" && (questionanswersetNodes[i2].className == "answer" ||
								questionanswersetNodes[i2].className == "answerFullWidth")) {
								// child nodes of the answerset node
								var answersetNodes = questionanswersetNodes[i2].childNodes;
								for (var i3 = 0; i3 < answersetNodes.length; i3++) {
									if (answersetNodes[i3] != "[object Text]") {
										var inputNodes = answersetNodes[i3].childNodes;
										for (var i4 = 0; i4 < inputNodes.length; i4++) {
											if (inputNodes[i4] != "[object Text]" && inputNodes[i4].type == 'select-one') {
												for (var j = 0; j < inputNodes[i4].options.length; j++) {
													if (inputNodes[i4].options[j].text == selectText) {
														inputNodes[i4].options[j].selected = true;
													}
												}	
											}
										}
									}
								} 
							}
						}
					}	
				}
			// If this is a checkbox/radio input
			} else if(inputElement.type == 'radio' || inputElement.type == 'checkbox') {
				var isChecked = inputElement.checked;
				
				// question container
				for (var i = 0; i < maptoElements.length; i++) {
					// question or answerset nodes
					if (maptoElements[i] != "[object Text]") {
						// child nodes of the question container
						var questionanswersetNodes = maptoElements[i].childNodes;
						for (var i2 = 0; i2 < questionanswersetNodes.length; i2++) {
							// answer nodes
							if (questionanswersetNodes[i2] != "[object Text]" && (questionanswersetNodes[i2].className == "answer" ||
								questionanswersetNodes[i2].className == "answerFullWidth")) {
								// child nodes of the answerset node
								var answersetNodes = questionanswersetNodes[i2].childNodes;
								for (var i3 = 0; i3 < answersetNodes.length; i3++) {
									if (answersetNodes[i3] != "[object Text]") {
										// child nodes of the answer node
										var answerNodes = answersetNodes[i3].childNodes;
										for (var i4 = 0; i4 < answerNodes.length; i4++) {
											if 	(answerNodes[i4] != "[object Text]") {
												// child nodes of the div node
												var extraDivNodes = answerNodes[i4].childNodes;
												for (var i5 = 0; i5 < extraDivNodes.length; i5++) {	
													if 	(extraDivNodes[i5] != "[object Text]") {
														var inputNodes = extraDivNodes[i5].childNodes;
														for (var i6 = 0; i6 < inputNodes.length; i6++) {
															if (inputNodes[i6] != "[object Text]" && (inputNodes[i6].type == 'radio' || inputNodes[i6].type == 'checkbox')) {
																if (inputNodes[i6].value == inputElement.value) {
																	inputNodes[i6].checked = isChecked;
																}
															}
														}
													}	
												}	
											}		
										}			
									}
								} 
							}
						}
					}	
				}
			}	
		}
	}
	
}

function getElementsByName_iefix(tag, name) {
     
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}

function changeRadioAnswer() {
	// get all the input fields
	var inputQuestions = document.getElementsByTagName("input");
	
	for (var i = 0; i < inputQuestions.length; i++) {
		// only care if the field is radio and it is disabled and it is checked (that mean it is switch to a different answerset
		if (inputQuestions[i].type == 'radio' && inputQuestions[i].disabled && inputQuestions[i].checked) {
			// find all twin elements
			var twinElements = document.getElementsByName(inputQuestions[i].name);
			// Only do this if there is more then one element with this name
			if(twinElements.length > 1) {
				var isChecked = inputQuestions[i].checked;
				if(isChecked) {
					for (var j = 0; j < twinElements.length; j++) {
						if(!twinElements[j].disabled) {
							if(twinElements[j].value == inputQuestions[i].value) {
								twinElements[j].checked = isChecked;
							}
						}	
					}
				}
			}
		}
	}
}

function segmentChange(ccs) {
	var coreQuestionSet = document.getElementById("Core");
	var mandQuestionSet = document.getElementById("Mandatory");
	var survQuestionSet = document.getElementById("Survey");
	var preQualHeader = document.getElementById("preQualHeader");
	var hidePrequal = false;
	
	segmentChangeHelper(coreQuestionSet.childNodes, ccs);

	if (mandQuestionSet == "[object HTMLDivElement]" || mandQuestionSet == "[object]") {
		hidePrequal = segmentChangeHelper(mandQuestionSet.childNodes, ccs);
	}
	
	// Second check is needed for IE 
	if (survQuestionSet == "[object HTMLDivElement]" || survQuestionSet == "[object]") {
		survHidden = segmentChangeHelper(survQuestionSet.childNodes, ccs);
		if (hidePrequal == true && survHidden == false) {
			hidePrequal = false;
		}
	}
	
	if (preQualHeader == "[object HTMLDivElement]" || preQualHeader == "[object]") {
		if (hidePrequal == true) {
			preQualHeader.style.display = "none";
		} else {
			preQualHeader.style.display = "";
		}
	}
	
	// make sure we check the enable radio input and set it for the disabled input which has the same id and value.
	changeRadioAnswer();
		
}

function segmentChangeHelper(questions, ccs) {
	var segment = "";
	var questionChildren = "";
	var answerChildren = "";
	var allHidden = true;
	
	for (i = 0; i < questions.length; i++) {
		// Weed out the white space between divs 
		if (questions[i] != "[object Text]") {
			segment = questions[i].attributes.getNamedItem("segment").value;
			if (segment == "" || segment.match(ccs) == ccs) {
				// Display the entire block, and re-enable all its input fields
				questions[i].style.display = "block";
				toggleFields(questions[i], false);
				
				// Get child nodes of question div
				questionChildren = questions[i].childNodes;
				
				for (i2 = 0; i2 < questionChildren.length; i2++) {
					// Weed out white space between divs and only process answer divs 
					if (questionChildren[i2] != "[object Text]" && (questionChildren[i2].className == "answer" ||
						questionChildren[i2].className == "answerFullWidth")) {
						answerChildren = questionChildren[i2].childNodes;
						
						var defaultAnswerSet = null;
						var answerSetFound = false;
						
						for (i3 = 0; i3 < answerChildren.length; i3++) {
							if (answerChildren[i3] != "[object Text]") {
								
								if (answerChildren[i3].attributes.getNamedItem("segment") != null) {
									segment = answerChildren[i3].attributes.getNamedItem("segment").value;				
									
									if (segment.match(ccs) == ccs) {
										answerChildren[i3].style.display = "block";
										toggleFields(answerChildren[i3], false);
										answerSetFound = true;
									} else if (segment == "") {
										defaultAnswerSet = answerChildren[i3];
										answerChildren[i3].style.display = "none";
										toggleFields(answerChildren[i3], true);
									} else{
										answerChildren[i3].style.display = "none";
										toggleFields(answerChildren[i3], true);
									}
								}
							}
						}
						
						if (!answerSetFound) {
							if (defaultAnswerSet != null) {
								defaultAnswerSet.style.display = "block";
								toggleFields(defaultAnswerSet, false);
							}
						}
						
					}
				}
			} else {
				questions[i].style.display = "none";
				toggleFields(questions[i], true);
			}
		}
	}
	
	// Loop through the questions to see if any are shown
	for (i = 0; i < questions.length; i++) {
		// Weed out the white space between divs 
		if (questions[i] != "[object Text]") {
			if (questions[i].style.display == "block") {
				allHidden = false;
				break;
			}
		}
	}
	
	return allHidden;
}

function toggleFields(area, disable) {
	
	var inputsFields = area.getElementsByTagName("input");
	for (var i = 0; i < inputsFields.length; i++) {
		inputsFields[i].disabled = disable
	}
	
	var selectFields = area.getElementsByTagName("select");	
	for (var i = 0; i < selectFields.length; i++) {
		selectFields[i].disabled = disable
	}
	
	var selectFields = area.getElementsByTagName("textarea");	
	for (var i = 0; i < selectFields.length; i++) {
		selectFields[i].disabled = disable
	}
}

function countryChange(element) {
	if (bInSubmission == false) {
		element.blur();
		var countryCode = document.createElement("input");
		countryCode.type = "hidden";
		countryCode.name = "countryCode";
		countryCode.value = element.options[element.selectedIndex].attributes.getNamedItem("alias").value;
		
		document.getElementById("rmform").appendChild(countryCode);
		document.getElementById("methodhidden").value = "changeCountry";
		var waitingPanel5 = document.getElementById("waitingPanel5");
		waitingPanel5.style.display = "none";
		fDisplayWaiting();
		bInSubmission = true;
		document.rmform.submit();
	}
}

function submitAddressForm() {
	var addressType = document.rmform.addressType;
	
	if (addressType[0].checked == false && addressType[1].checked == false && addressType[2].checked == false) {
		alert( getPhrase('chooseAddressOption') );
	} else {
		if(addressType[2].checked) {
			if (!validateRMForm()) { return; }	
		}
		document.rmform.submit();
	}
}

function submitRMForm(a) {
	var terms = document.getElementById("acceptTerms");
	
	if(a == "singlereg" | a == "multipromoreg") {
		if (validateRMForm() == false) { return; }
	}
	
	if (terms != null) {
		if (terms.checked == false) {
			alert( getPhrase('readTermsAndConditions'));
			return;
		}
	}
	// If we are on the multipromo select page, make sure one is selected
	if (document.rmform.list != null) {
		var multiPromoList = document.rmform.list;
		var promoSelected = false;
		
		for (i = 0; i < multiPromoList.length; i++) {
			if (multiPromoList[i].checked == true) {
				promoSelected = true;
				break;
			}
		}
		
		if (promoSelected == false) {
			alert( getPhrase('selectPromotion') );
			return;
		}
	}
	
	document.rmform.submit();	
}

function validateRMForm() {
	var questionNode;
	
	for (var i = 0; i < rmform.elements.length; i++) {
		if (rmform.elements[i].attributes["required"] != null) {
			<!--- TODO: Get this working with textarea and use the external javascript functions for all of these --->
			if (rmform.elements[i].type == "text" && rmform.elements[i].id.match("-other") != null) {
				questionNode = document.getElementById(rmform.elements[i].id + "_text");
				
				if (rmform.elements[i].disabled == false && rmform.elements[i].value == "" && (rmform.elements[i-1].type == "checkbox" || rmform.elements[i-1].type == "radio") && rmform.elements[i-1].checked == true && rmform.elements[i-1].parentNode.parentNode == rmform.elements[i].parentNode) {
					alert ( getPhrase('pleaseAnswerQuestion') + " " + questionNode.innerHTML);
					rmform.elements[i].focus();
					return false;
				}
			}else if (rmform.elements[i].type == "text" && rmform.elements[i].id.match("-other") == null) {
				questionNode = document.getElementById(rmform.elements[i].id.replace(new RegExp( "-other", "g" ), "") + "_text");
				
				if (rmform.elements[i].disabled == false && trim(rmform.elements[i].value) == "") {
					alert ( getPhrase('pleaseAnswerQuestion') + " " + questionNode.innerHTML);
					rmform.elements[i].focus();
					return false;
				}
			}else if (rmform.elements[i].type == "textarea") {
				questionNode = document.getElementById(rmform.elements[i].id + "_text");
				
				if (rmform.elements[i].disabled == false && rmform.elements[i].value == "" && (rmform.elements[i-1].type == "checkbox" || rmform.elements[i-1].type == "radio") && rmform.elements[i-1].checked == true && rmform.elements[i-1].parentNode.parentNode == rmform.elements[i].parentNode) {
					alert ( getPhrase('pleaseAnswerQuestion') + " " + questionNode.innerHTML);
					rmform.elements[i].focus();
					return false;
				}
			} else if (rmform.elements[i].type == "select-one") {
				questionNode = document.getElementById(rmform.elements[i].name + "_text");
				
				if (rmform.elements[i].disabled == false && rmform.elements[i].options[ rmform.elements[i].selectedIndex ].value == "") {
					alert ( getPhrase('pleaseAnswerQuestion') + " " + questionNode.innerHTML);
					rmform.elements[i].focus();
					return false;
				}
			} else if (rmform.elements[i].type == "select-multiple") {
				questionNode = document.getElementById(rmform.elements[i].name + "_text");
				
				if (rmform.elements[i].disabled == false && getSelectedIndices(rmform.elements[i]).length < 1) {
					alert ( getPhrase('pleaseAnswerQuestion') + " " + questionNode.innerHTML);
					rmform.elements[i].focus();
					return false;
				}
			} else if (rmform.elements[i].type == "checkbox") {
				questionNode = document.getElementById(rmform.elements[i].name + "_text");
				if (rmform.elements[i].disabled == false && CheckRad( getElementsByName_iefix("input", rmform.elements[i].name), questionNode.innerHTML) == false) {
					return false;
				}
			} else if (rmform.elements[i].type == "radio") {
				questionNode = document.getElementById(rmform.elements[i].name + "_text");
				if (rmform.elements[i].disabled == false && CheckRad( getElementsByName_iefix("input", rmform.elements[i].name) , questionNode.innerHTML) == false) {
					return false;
				}
			} else if (rmform.elements[i].type == "hidden") {
				questionNode = document.getElementById(rmform.elements[i].id.replace(new RegExp( "-other", "g" ), "") + "_text");
				
				// If there is a matching text/field pair.
				if (questionNode != null) {
					// Date Field
					if (rmform.elements[i].disabled == false && rmform.elements[i].value.length != 10) {
						alert ( getPhrase('pleaseAnswerQuestion') + " " + questionNode.innerHTML);
						return false;
					}
				}
			}
		} 
		if ((rmform.elements[i].type == "text" || rmform.elements[i].type == "textarea") && rmform.elements[i].disabled == false && trim(rmform.elements[i].value) != "") {
			if (rmform.elements[i].attributes["validationtype"] != null) {
				if (rmform.elements[i].attributes["validationtype"].value == "Numeric") {
					if (!rmform.elements[i].value.match( new RegExp("^[0-9]+$","g") )) {
						alert ( getPhrase('pleaseAnswerNumeric') );
						rmform.elements[i].focus();
						return false;
					}
				}
			}
			if (rmform.elements[i].attributes["minlength"] != null) {
				if (rmform.elements[i].attributes["minlength"].value > 0) {
					if (rmform.elements[i].value.length < rmform.elements[i].attributes["minlength"].value) {
						alert ( getPhrase('pleaseMinLength').replace("<minlength/>", rmform.elements[i].attributes["minlength"].value) );
						rmform.elements[i].focus();
						return false;
					}
				}
			}
			if (rmform.elements[i].attributes["maxlength"] != null) {
				if (rmform.elements[i].attributes["maxlength"].value > 0) {
					if (rmform.elements[i].value.length > rmform.elements[i].attributes["maxlength"].value) {
						alert ( getPhrase('pleaseMaxLength').replace("<maxlength/>", rmform.elements[i].attributes["maxlength"].value) );
						rmform.elements[i].focus();
						return false;
					}
				}
			}
		}
	}
	return true;
}

// Check Text Fields for input
function CheckField(field,str2) {   
	if (field.value == null || field.value  == "") {
		alert( getPhrase('pleaseAnswerQuestion') + " " + str2);
		field.focus();
		return false;
	} else {
		return true;
	}
}

// Check Radios and/or Check Boxes for selection
function CheckRad(field,str2) {
	var chkCount = 0;
	var firstVisible = "";
	for(var i=0; i<field.length; i++) {
		if (field[i].disabled == false && field[i].checked) {
			chkCount += 1;
		}
		if (firstVisible == "" && field[i].parentNode.parentNode.parentNode.style.display == "block") {
			
			firstVisible = field[i];
		}
	}
	if (chkCount == 0) {
		alert( getPhrase('pleaseAnswerQuestion') + " " + str2);
		if (firstVisible != "") {
			firstVisible.focus();
		}
		return false;
	} else {
		return true;
	}
}

// Check DropDowns for selection
function CheckDrop(field,str2) {
	if (field.selectedIndex == -1) {
		alert( getPhrase('pleaseAnswerQuestion') + " " + str2);
		field.focus();
		return false;
	}
	else {
		return true;
	}
}

// Check email entry
function CheckEmail(field) {
	field.value = trim(field.value);
	if(field.value != "") {		
		var emailExp = /^(([\-\w]+)\.?)+@(([\-\w]+)\.?)+\.[a-zA-Z]{2,4}$/;
		if(emailExp.test(field.value)) {
			return true;
		}
		else {
			alert( getPhrase('enterValidEmail'));
			field.focus();
			return false;
		}
	}
	else {
		alert( getPhrase('enterValidEmail'));
		field.focus();
		return false;
	}		
}

// Helper function to strip leading and trailing spaces 
function trim(sString) {
	while (sString.substring(0,1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ') {
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}	

// Helper function to strip all new line characters 
function removeNewLines(str) {
	return str.replace(new RegExp( "\\n", "g" ), "");
}

// Helper function to strip all tab characters --->
function removeTabs(str) {
	return str.replace(new RegExp( "\\t", "g" ), "");
}

// For Date Fields.
// Get date value
function getDateValue() {
	var dd = new Date(document.rmform.formYear.value, document.rmform.formMonth.value, 0).getDate();
	return dd;
}

// Set the value to the date
function setFullDate(inputID,Year,Month,Day) {
	// Assign hidden field the send back value format.
	document.getElementById( inputID ).value = Year + "-" + Month + "-" + Day;
}

//Gets the last day of the current selected month. Loops through 1 to the last day found. Creates the options for formDays.					
function getDaysInMonth() {
	if (document.rmform.formMonth.value != "") {
		// Get last day of the current selected month.
		var dd = getDateValue();
		
		// Remove any formDays options.
		document.rmform.formDays.length = 0;
		
		document.rmform.formDays.options[0] = new Option(document.rmform.DayText.value,"");
				
		// Loop to generate formDays options							
		for (i=1; i<dd+1; i++) {
			document.rmform.formDays.options[i] = new Option(i,i);
		}
	}
	else {
		// Remove any formDays options.
		document.rmform.formDays.length = 0;
		
		// Set formDays value to 'Day'
		document.rmform.formDays.options[0] = new Option(document.rmform.DayText.value,"");
	}	
}

// Gets the date format to pass into CRM
function getFullDate( inputID ) {
	// Set up the Year, Month, and Day selected values.
	var newYear = document.rmform.formYear.value;
	var newMonth = document.rmform.formMonth.value;
	var newDay = document.rmform.formDays.value;
	
	// Add a '0' in front of the Month if it is less than 10
	if (document.rmform.formMonth.value < 10) {
		newMonth = "0" + document.rmform.formMonth.value;
	}
	
	// Add a '0' in front of the Day if it is less than 10
	if (document.rmform.formDays.value < 10) {
		newDay = "0" + document.rmform.formDays.value;
	}
	
	// Assign hidden field the send back value format.
	setFullDate(inputID,newYear,newMonth,newDay);
}

// Returns all date dropdowns/text field to original values
function resetDateValues( inputID,dayValue ) {
	// Date value
	var dd = getDateValue();
	// Set up the Year, Month, and Day selected values.
	var newYear = document.rmform.formYear.value;
	var newMonth = document.rmform.formMonth.value;
	var newDay = dayValue;
	
	// Remove any formDays options.
	document.rmform.formDays.length = 0;
	
	// Set formDays value to 'Day'
	document.rmform.formDays.options[0] = new Option(document.rmform.DayText.value,"");
	
	// Loop to generate formDays options							
	for (i=1; i<dd+1; i++) {
		document.rmform.formDays.options[i] = new Option(i,i);
		if (i == dayValue) {
			document.rmform.formDays.selectedIndex = i;
		}
	}
	
	// Add a '0' in front of the Month if it is less than 10
	if (document.rmform.formMonth.value < 10) {
		newMonth = "0" + document.rmform.formMonth.value;
	}
	
	// Add a '0' in front of the Day if it is less than 10
	if (document.rmform.formDays.value < 10) {
		newDay = "0" + document.rmform.formDays.value;
	}
	
	// Assign hidden field the send back value format.
	setFullDate(inputID,newYear,newMonth,newDay);
}

function getSelectedIndices (select) {
  var r = new Array();
  for (var i = 0; i < select.options.length; i++)
    if (select.options[i].selected)
      r[r.length] = i;
  return r;
}

// checks to see if phrase exists in the phrasebook object that was created in displayHeader() in Application.cfc
// if so, it returns the phrase, else, an error message is returned
function getPhrase( phrase ) {
	if(window.phrasebook) {		
		if(window.phrasebook[phrase]) {
			return phrasebook[phrase];
		} else {
			return 'Phrase not found';
		}
		
	} else {
		return 'Phrasebook object not found';
	}
	
}