//field value validation
//encrypt passwords
function encryptPasswords(frm){
	if(frm.temppassword && frm.newpassword)encryptField(frm.temppassword, frm.newpassword);
	if(frm.tempverify && frm.verifypassword)encryptField(frm.tempverify, frm.verifypassword);
}
//update date validation- validates date format mm/dd/yyyy or m/d/yyyy, and 29, 30, 31 days as appropriate
function validateDateRegExp(oField){
	if (oField.value !=null && oField.value != ""){
		var datereg = new RegExp("^(((0[4,6,9]|[4,6,9]|11)\/(0[1-9]|[1-9]|[1,2][0-9]|30))|((0[1,3,5,7,8]|[1,3,5,7,8]|1[0,2])\/(0[1-9]|[1-9]|[1,2][0-9]|3[0,1]))|((02|2)\/(0[1-9]|[1-9]|[1,2][0-9])))\/(19|20)\\d\\d$");
		var matchdate = datereg.exec(oField.value);
		if(matchdate == null){
			alert("Invalid Format.\nDefault date set.");
			oField.value = todaysDate(3).toString();
			return false;
		}
		else {
			return true;}}
	else {
		return true;}
}

function validEmail(str){
	if ((str.indexOf(".") > 2) && (str.indexOf("@") > 0) && (str.indexOf(" ") == -1)){
	return true;}
	else
	{alert("Inavlid email address");
	return false;}
}

function checkEmailFormat(field) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field.value)){
		return (true);
	}else{
		return (false);}
}

//a-z, 0-9, _, -,+ only
function validPageName(field) {
	if (/^[a-zA-Z0-9_\-\+]*$/.test(field.value)){
		return (true);
	}else{
		return (false);}
}

//basic class change, good for show/hide, required/missing
function showhide (elid, onClass, offClass){
	var el = document.getElementById(elid);
	if (el.className == offClass) {
		el.className = onClass;}
	else {
		el.className = offClass;}
}

//show only one div in group
function showOneInGroup(groupdiv, show){
	var divs = document.getElementById(groupdiv).childNodes;
	var i;
	for(i=0; i<divs.length; i++) {
		if (divs[i].id == show){
			divs[i].style.display = 'block';}
		else{
			divs[i].style.display = 'none';}
	}
}

//check for one value in group of text/select
function checkOneValueFields(oForm, arFields, arTitles){
	var sMessage = "Please fill one the following fields:\n";
	var oneValue = false;
	for(var i = 0;i<arFields.length;i++){
		if(oForm[arFields[i]].value == "" || oForm[arFields[i]].value == 0){
			sMessage += "\n" + arTitles[i];
		}
		else{
			oneValue=true;
		}
	}
	if(oneValue){
		return true;	
	}else {
		alert(sMessage);
		return false;
	}
}

//check for one value in group of checkboxes
function checkSelectedCheckboxes(oForm, arFields, arTitles){
	var sMessage = "Please select one the following fields:\n";
	var oneValue = false;
	for(var i = 0;i<arFields.length;i++){
		if(oForm[arFields[i]].checked==false){
			sMessage += "\n" + arTitles[i];
		}
		else{
			oneValue=true;
		}
	}
	if(oneValue){
		return true;	
	}else {
		alert(sMessage);
		return false;
	}
}


//get the value of the selected radio button in a group
function getSelectedRadio(buttonGroup) {
   if (buttonGroup[0]) { 
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } 
   }
	return -1;
} 

//check checkbox group, change label
function checkRequiredLblCheckFields(oForm, checks, groupname, label){
	var oneValue = false;
	for(var i = 0;i<checks.length;i++){
		if(checks[i].checked==true){
			oneValue=true;
		}
	}
	if(oneValue){
		return "";	
	}else {
		document.getAcuElementById(label).style.color='red';
		return groupname + "\n";
	}
}

//check fields w/labels, returns list of missing fields
function checkRequiredLblFields(oForm, arFields, arTitles){
	var sMessage = "";
	var passes = true;
	for(var i = 0;i<arFields.length;i++){
		if(oForm[arFields[i]].value == "" || oForm[arFields[i]].value == 0){
			sMessage +=  arTitles[i] + "\n";
			document.getAcuElementById("lbl_" + arFields[i]).style.color='red';
			passes=false;
		}
	}
	if(passes){
		return "";	
	}else {
		return sMessage;
	}
}




