/***********************************************
*Name:jsEmptyField
*Parameters: frmName: name of the form
*	elmName: name of the element
*	errMsg: Error message to be displayed
*Return: has text?true:false
*Make sure a text box has text in it
***********************************************/
function jsEmptyField(objFrm, elmName, errMsg){
	var txtField;
	
	txtField = eval("objFrm." + elmName);
	
	txtField.value = jsTrim(txtField);
	if(txtField.value!="")
		return true;
	else{
		txtField.focus();
		if(errMsg  == "") errMsg = "Please fill in all the fields";
		alert(errMsg);
		return false;
	}
}

/*****************************************************
*Name:jsRadioSelected
*Parameters: frmName: name of the form
*	elmName: name of the element
*	errMsg: Error message to be displayed
*Return: checked?true:false
*Make sure at least one of the radio group is selected
******************************************************/
function jsRadioSelected(objFrm, elmName, errMsg){
	var radioGroup;
	
	radioGroup = eval("objFrm." + elmName);
	
	for(var i=0; i<radioGroup.length; i++){
		if(radioGroup[i].checked)
			return radioGroup[i].value;
	}
	
	if(errMsg == "") errMsg = "Please make a selection in the radio button group.";
	alert(errMsg);		
	return "";
}

/****************************************************
*Name: jsGetRadioValue
*Parameters: radioGroup
*Return the selected radio button value else blank
****************************************************/
function jsGetRadioValue(radioGroup){
	for(var i=0; i<radioGroup.length; i++){
		if(radioGroup[i].checked)
			return radioGroup[i].value;
	}
	return "";
}

/****************************************************
*Name: jsCheckBoxChecked
*Parameters: frmName: name of the form
*	elmName: name of the element
*	errMsg: Error message to be displayed
*Return: checked?true:false
Make sure that a checkbox is checked
****************************************************/
function jsCheckBoxChecked(objFrm, elmName, errMsg){
	var checkBox;
	
	checkbox = eval("objFrm." + elmName);
	
	if(checkBox.checked)
		return true;
	else{
		if(errMsg == "") errMsg = "Please check the check box.";
		alert(errMsg);	
		return false;
	}
}

/*****************************************************
*	jsValidateReg()
* Parameters: frmName-form name
* 	elmName-name of the form element
* 	reg- regular expression to compare to
* 	errMsg-error message to print out in the alert
* e.g.Make sure SSN is in the format of xxx-xx-xxxx
******************************************************/
function jsValidateReg(objFrm, elmName, reg, errMsg){
	var txtField;
	var resultArray;
	
	txtField = ("objFrm." + elmName);
	txtField.value = jsTrim(txtField);

	resultArray = txtField.value.match(reg);
	
	if(resultArray)
		return true;
	else{
		alert(errMsg);
		txtField.focus();
		return false;
	}
}

/*************************************************************************
*	jsSelectOne
*************************************************************************/
function jsSelectOne(objFrm, elmName, errMsg){
	var selectBox;

	selectBox = eval("objFrm." + elmName);
	
	if(errMsg == "") errMsg = "Please select an option";
	if(selectBox.selectedIndex <= 0){
		alert(errMsg);
		return false;
	}
	return true;
}

/*******************************************************
*	jsTrim()
*	Parameters:	txtField- name of the text field
* Trim all the white space at the beginning and the end
*******************************************************/
function jsTrim(txtField){
	var txtValue;
	var start, end;
	txtValue = txtField.value;
	start = 0;
	end = 0;
	

	for(var i=0; i<txtValue.length; i++)
		if(txtValue.charAt(i)!= " "){
			start = i;
			break;
		}
	
	for(var i=txtValue.length-1; i>0; i--)
		if(txtValue.charAt(i) != " "){
			//add 1 to get the location in length since since charAt goes from 0 to length-1
			end = i+1;
			break;
		}
		
	if(txtField.length != 0){
		txtField.value = txtValue.substring(start, end);
	}
	
	return txtField.value;
}