//start text area character counter
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

// ##############################
function checkAll(field) 
{
if (field.length > 1) {
    for (i = 0; i < field.length; i++)
    	field[i].checked = true ;
} else {
    field.checked = true;
}
}

// ##############################
function uncheckAll(field) 
{
if (field.length > 1) {
    for (i = 0; i < field.length; i++)
    	field[i].checked = false ;
} else {
    field.checked = false;
}
}

// ##############################
function checkAllPM1(field) 
{
document.form1.showMeasureCategory.checked=true;
document.form1.showServiceCategory.checked=true;
document.form1.showNeed.checked=true;
document.form1.showServiceActivity.checked=true;
document.form1.showActivityStartDate.checked=true;
document.form1.showActivityEndDate.checked=true;
document.form1.showNumberACMembers.checked=true;
document.form1.showAverageDays.checked=true;
document.form1.showAverageHours.checked=true;
}

// ##############################
function uncheckAllPM1(field) 
{
document.form1.showMeasureCategory.checked=false;
document.form1.showServiceCategory.checked=false;
document.form1.showNeed.checked=false;
document.form1.showServiceActivity.checked=false;
document.form1.showActivityStartDate.checked=false;
document.form1.showActivityEndDate.checked=false;
document.form1.showNumberACMembers.checked=false;
document.form1.showAverageDays.checked=false;
document.form1.showAverageHours.checked=false;
}

// ##############################
function checkAllPM2(field) 
{
document.form1.showReportingPeriod.checked=true;
document.form1.showPMStatus.checked=true;
document.form1.showComments.checked=true;
}

// ##############################
function uncheckAllPM2(field) 
{
document.form1.showReportingPeriod.checked=false;
document.form1.showPMStatus.checked=false;
document.form1.showComments.checked=false;
}

// ##############################
function checkAllPM3(field) 
{
document.form1.showSect3ResultStatementOut.checked=true;
document.form1.showSect3ResultStatementInt.checked=true;
document.form1.showSect3ResultStatementEnd.checked=true;
document.form1.showSect3ResultStatusOut.checked=true;
document.form1.showSect3ResultStatusInt.checked=true;
document.form1.showSect3ResultStatusEnd.checked=true;
document.form1.showSect3TargetDescOut.checked=true;
document.form1.showSect3TargetDescInt.checked=true;
document.form1.showSect3TargetDescEnd.checked=true;
document.form1.showSect3TargetNumOut.checked=true;
document.form1.showSect3TargetNumInt.checked=true;
document.form1.showSect3TargetNumEnd.checked=true;
document.form1.showSect3ResultsOut.checked=true;
document.form1.showSect3ResultsInt.checked=true;
document.form1.showSect3ResultsEnd.checked=true;
document.form1.showSect3PctOut.checked=true;
document.form1.showSect3PctInt.checked=true;
document.form1.showSect3PctEnd.checked=true;
document.form1.showSect3ResultNarrOut.checked=true;
document.form1.showSect3ResultNarrInt.checked=true;
document.form1.showSect3ResultNarrEnd.checked=true;
document.form1.showSect3CompletedInstOut.checked=true;
document.form1.showSect3CompletedInstInt.checked=true;
document.form1.showSect3CompletedInstEnd.checked=true;
document.form1.showSect3PossibleInstOut.checked=true;
document.form1.showSect3PossibleInstInt.checked=true;
document.form1.showSect3PossibleInstEnd.checked=true;
document.form1.showSect3InstPctOut.checked=true;
document.form1.showSect3InstPctInt.checked=true;
document.form1.showSect3InstPctEnd.checked=true;
document.form1.showSect3InstNarrOut.checked=true;
document.form1.showSect3InstNarrInt.checked=true;
document.form1.showSect3InstNarrEnd.checked=true;
document.form1.showSect3DataPriorOut.checked=true;
document.form1.showSect3DataPriorInt.checked=true;
document.form1.showSect3DataPriorEnd.checked=true;
}

// ##############################
function uncheckAllPM3(field) 
{
document.form1.showSect3ResultStatementOut.checked=false;
document.form1.showSect3ResultStatementInt.checked=false;
document.form1.showSect3ResultStatementEnd.checked=false;
document.form1.showSect3ResultStatusOut.checked=false;
document.form1.showSect3ResultStatusInt.checked=false;
document.form1.showSect3ResultStatusEnd.checked=false;
document.form1.showSect3TargetDescOut.checked=false;
document.form1.showSect3TargetDescInt.checked=false;
document.form1.showSect3TargetDescEnd.checked=false;
document.form1.showSect3TargetNumOut.checked=false;
document.form1.showSect3TargetNumInt.checked=false;
document.form1.showSect3TargetNumEnd.checked=false;
document.form1.showSect3ResultsOut.checked=false;
document.form1.showSect3ResultsInt.checked=false;
document.form1.showSect3ResultsEnd.checked=false;
document.form1.showSect3PctOut.checked=false;
document.form1.showSect3PctInt.checked=false;
document.form1.showSect3PctEnd.checked=false;
document.form1.showSect3ResultNarrOut.checked=false;
document.form1.showSect3ResultNarrInt.checked=false;
document.form1.showSect3ResultNarrEnd.checked=false;
document.form1.showSect3CompletedInstOut.checked=false;
document.form1.showSect3CompletedInstInt.checked=false;
document.form1.showSect3CompletedInstEnd.checked=false;
document.form1.showSect3PossibleInstOut.checked=false;
document.form1.showSect3PossibleInstInt.checked=false;
document.form1.showSect3PossibleInstEnd.checked=false;
document.form1.showSect3InstPctOut.checked=false;
document.form1.showSect3InstPctInt.checked=false;
document.form1.showSect3InstPctEnd.checked=false;
document.form1.showSect3InstNarrOut.checked=false;
document.form1.showSect3InstNarrInt.checked=false;
document.form1.showSect3InstNarrEnd.checked=false;
document.form1.showSect3DataPriorOut.checked=false;
document.form1.showSect3DataPriorInt.checked=false;
document.form1.showSect3DataPriorEnd.checked=false;
}

// ##############################
function checkAllPM4(field) 
{
document.form1.showSect4TargetDescOut.checked=true;
document.form1.showSect4TargetDescInt.checked=true;
document.form1.showSect4TargetDescEnd.checked=true;
document.form1.showSect4TargetNumOut.checked=true;
document.form1.showSect4TargetNumInt.checked=true;
document.form1.showSect4TargetNumEnd.checked=true;
document.form1.showSect4ResultsOut.checked=true;
document.form1.showSect4ResultsInt.checked=true;
document.form1.showSect4ResultsEnd.checked=true;
document.form1.showSect4PctOut.checked=true;
document.form1.showSect4PctInt.checked=true;
document.form1.showSect4PctEnd.checked=true;
document.form1.showSect4NarrOut.checked=true;
document.form1.showSect4NarrInt.checked=true;
document.form1.showSect4NarrEnd.checked=true;
document.form1.showSect4CompletedInstOut.checked=true;
document.form1.showSect4CompletedInstInt.checked=true;
document.form1.showSect4CompletedInstEnd.checked=true;
document.form1.showSect4PossibleInstOut.checked=true;
document.form1.showSect4PossibleInstInt.checked=true;
document.form1.showSect4PossibleInstEnd.checked=true;
document.form1.showSect4InstPctOut.checked=true;
document.form1.showSect4InstPctInt.checked=true;
document.form1.showSect4InstPctEnd.checked=true;
document.form1.showSect4InstNarrOut.checked=true;
document.form1.showSect4InstNarrInt.checked=true;
document.form1.showSect4InstNarrEnd.checked=true;
document.form1.showSect4DataPriorOut.checked=true;
document.form1.showSect4DataPriorInt.checked=true;
document.form1.showSect4DataPriorEnd.checked=true;

}

// ##############################
function uncheckAllPM4(field) 
{
document.form1.showSect4TargetDescOut.checked=false;
document.form1.showSect4TargetDescInt.checked=false;
document.form1.showSect4TargetDescEnd.checked=false;
document.form1.showSect4TargetNumOut.checked=false;
document.form1.showSect4TargetNumInt.checked=false;
document.form1.showSect4TargetNumEnd.checked=false;
document.form1.showSect4ResultsOut.checked=false;
document.form1.showSect4ResultsInt.checked=false;
document.form1.showSect4ResultsEnd.checked=false;
document.form1.showSect4PctOut.checked=false;
document.form1.showSect4PctInt.checked=false;
document.form1.showSect4PctEnd.checked=false;
document.form1.showSect4NarrOut.checked=false;
document.form1.showSect4NarrInt.checked=false;
document.form1.showSect4NarrEnd.checked=false;
document.form1.showSect4CompletedInstOut.checked=false;
document.form1.showSect4CompletedInstInt.checked=false;
document.form1.showSect4CompletedInstEnd.checked=false;
document.form1.showSect4PossibleInstOut.checked=false;
document.form1.showSect4PossibleInstInt.checked=false;
document.form1.showSect4PossibleInstEnd.checked=false;
document.form1.showSect4InstPctOut.checked=false;
document.form1.showSect4InstPctInt.checked=false;
document.form1.showSect4InstPctEnd.checked=false;
document.form1.showSect4InstNarrOut.checked=false;
document.form1.showSect4InstNarrInt.checked=false;
document.form1.showSect4InstNarrEnd.checked=false;
document.form1.showSect4DataPriorOut.checked=false;
document.form1.showSect4DataPriorInt.checked=false;
document.form1.showSect4DataPriorEnd.checked=false;
}

// ##############################
function checkAllPM5(field) 
{
document.form1.showSect5DataCollectionOut.checked=true;
document.form1.showSect5DataCollectionOutInd.checked=true;
document.form1.showSect5DataCollectionInt.checked=true;
document.form1.showSect5DataCollectionIntInd.checked=true;
document.form1.showSect5DataCollectionEnd.checked=true;
document.form1.showSect5DataCollectionEndInd.checked=true;
document.form1.showSect5InstChangedOut.checked=true;
document.form1.showSect5InstChangedOutInd.checked=true;
document.form1.showSect5InstChangedInt.checked=true;
document.form1.showSect5InstChangedIntInd.checked=true;
document.form1.showSect5InstChangedEnd.checked=true;
document.form1.showSect5InstChangedEndInd.checked=true;
document.form1.showSect5DataCollectedOut.checked=true;
document.form1.showSect5DataCollectedOutInd.checked=true;
document.form1.showSect5DataCollectedInt.checked=true;
document.form1.showSect5DataCollectedIntInd.checked=true;
document.form1.showSect5DataCollectedEnd.checked=true;
document.form1.showSect5DataCollectedEndInd.checked=true;
document.form1.showSect5CollectionTimeOut.checked=true;
document.form1.showSect5CollectionTimeOutInd.checked=true;
document.form1.showSect5CollectionTimeInt.checked=true;
document.form1.showSect5CollectionTimeIntInd.checked=true;
document.form1.showSect5CollectionTimeEnd.checked=true;
document.form1.showSect5CollectionTimeEndInd.checked=true;
document.form1.showSect5WhoCollectOut.checked=true;
document.form1.showSect5WhoCollectOutInd.checked=true;
document.form1.showSect5WhoCollectInt.checked=true;
document.form1.showSect5WhoCollectIntInd.checked=true;
document.form1.showSect5WhoCollectEnd.checked=true;
document.form1.showSect5WhoCollectEndInd.checked=true;
document.form1.showSect5WhoCollectChangeOut.checked=true;
document.form1.showSect5WhoCollectChangeOutInd.checked=true;
document.form1.showSect5WhoCollectChangeInt.checked=true;
document.form1.showSect5WhoCollectChangeIntInd.checked=true;
document.form1.showSect5WhoCollectChangeEnd.checked=true;
document.form1.showSect5WhoCollectChangeEndInd.checked=true;
document.form1.showSect5CommentsOut.checked=true;
document.form1.showSect5CommentsOutInd.checked=true;
document.form1.showSect5CommentsInt.checked=true;
document.form1.showSect5CommentsIntInd.checked=true;
document.form1.showSect5CommentsEnd.checked=true;
document.form1.showSect5CommentsEndInd.checked=true;

}

// ##############################
function uncheckAllPM5(field) 
{
document.form1.showSect5DataCollectionOut.checked=false;
document.form1.showSect5DataCollectionOutInd.checked=false;
document.form1.showSect5DataCollectionInt.checked=false;
document.form1.showSect5DataCollectionIntInd.checked=false;
document.form1.showSect5DataCollectionEnd.checked=false;
document.form1.showSect5DataCollectionEndInd.checked=false;
document.form1.showSect5InstChangedOut.checked=false;
document.form1.showSect5InstChangedOutInd.checked=false;
document.form1.showSect5InstChangedInt.checked=false;
document.form1.showSect5InstChangedIntInd.checked=false;
document.form1.showSect5InstChangedEnd.checked=false;
document.form1.showSect5InstChangedEndInd.checked=false;
document.form1.showSect5DataCollectedOut.checked=false;
document.form1.showSect5DataCollectedOutInd.checked=false;
document.form1.showSect5DataCollectedInt.checked=false;
document.form1.showSect5DataCollectedIntInd.checked=false;
document.form1.showSect5DataCollectedEnd.checked=false;
document.form1.showSect5DataCollectedEndInd.checked=false;
document.form1.showSect5CollectionTimeOut.checked=false;
document.form1.showSect5CollectionTimeOutInd.checked=false;
document.form1.showSect5CollectionTimeInt.checked=false;
document.form1.showSect5CollectionTimeIntInd.checked=false;
document.form1.showSect5CollectionTimeEnd.checked=false;
document.form1.showSect5CollectionTimeEndInd.checked=false;
document.form1.showSect5WhoCollectOut.checked=false;
document.form1.showSect5WhoCollectOutInd.checked=false;
document.form1.showSect5WhoCollectInt.checked=false;
document.form1.showSect5WhoCollectIntInd.checked=false;
document.form1.showSect5WhoCollectEnd.checked=false;
document.form1.showSect5WhoCollectEndInd.checked=false;
document.form1.showSect5WhoCollectChangeOut.checked=false;
document.form1.showSect5WhoCollectChangeOutInd.checked=false;
document.form1.showSect5WhoCollectChangeInt.checked=false;
document.form1.showSect5WhoCollectChangeIntInd.checked=false;
document.form1.showSect5WhoCollectChangeEnd.checked=false;
document.form1.showSect5WhoCollectChangeEndInd.checked=false;
document.form1.showSect5CommentsOut.checked=false;
document.form1.showSect5CommentsOutInd.checked=false;
document.form1.showSect5CommentsInt.checked=false;
document.form1.showSect5CommentsIntInd.checked=false;
document.form1.showSect5CommentsEnd.checked=false;
document.form1.showSect5CommentsEndInd.checked=false;
}

// ##############################
function checkAllPM6(field) 
{
document.form1.showSect6GreatStories.checked=true;
document.form1.showSect6SuccessChallenges.checked=true;
document.form1.showSect6VolMobilization.checked=true;
document.form1.showSect6BestPractices.checked=true;
document.form1.showSect6DirectService.checked=true;
}

// ##############################
function uncheckAllPM6(field) 
{
document.form1.showSect6GreatStories.checked=false;
document.form1.showSect6SuccessChallenges.checked=false;
document.form1.showSect6VolMobilization.checked=false;
document.form1.showSect6BestPractices.checked=false;
document.form1.showSect6DirectService.checked=false;
}


// ##############################
function showHide(foo,bar) {
    if (foo.checked) {
		bar.value = "";
		bar.disabled = false;
	} else {
		bar.value = "";
		bar.disabled = true;
	}
}


// ##############################
function checkrequiredStandard(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
	}
}

  
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredProgramIncome(which) {

    var pass = true;
    fieldlist = "";

    var bgBad = '#dddddd';
    var bgGood = "white";

    if (document.images) {
        for (i = 0; i < which.length; i++) {
            var tempobj = which.elements[i];
            if (tempobj.name == "periodStartDate" && tempobj.value == '') {
                fieldlist = "Period Start Date";
                pass = false;
                break;
            }
            if (tempobj.name == "periodEndDate" && tempobj.value == '') {
                fieldlist = "Period End Date";
                pass = false;
                break;
            }

        }
    }


    if (!pass) {
        setColor(tempobj, bgBad);
        alert("" + fieldlist + " is required.");
        tempobj.focus();
        //	tempobj.blur();
        return false;
    }
    else {
        ray2.ajax();
        return true;
    }
}


// ##############################
function checkrequiredPWReport(which) {

    var pass = true;
    fieldlist = "";

    var bgBad = '#dddddd';
    var bgGood = "white";

    if (document.images) {
        for (i = 0; i < which.length; i++) {
            var tempobj = which.elements[i];
            if (tempobj.name == "programID" && tempobj.value == '0') {
                fieldlist = "City";
                pass = false;
                break;
            }
        }
    }


    if (!pass) {
        setColor(tempobj, bgBad);
        alert("" + fieldlist + " is required.");
        tempobj.focus();
        //	tempobj.blur();
        return false;
    }
    else {
        return true;
    }
}

// ##############################
function checkrequiredMathCorpsTutorLogs(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
    var totalTime = document.form1.totalTime.value;
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="MN_MathTutorLogWeekID" && tempobj.value=='0') {
			fieldlist = "Week";
			pass=false;
			break;
		}
		if (tempobj.name=="totalTime" && tempobj.value=='') {
			fieldlist = "Total Minutes";
			pass=false;
			break;
		}

	}
}

if (totalTime!='' && validateTutorLog(totalTime)==false) {
    alert("Invalid entry!  Values of 0 or greater than 4 are allowed");
    return false;
}
 
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    return true;
}
}


// ##############################
function checkrequiredMRCTutorLogs(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
    var totalTime = document.form1.totalTime.value;
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="MN_MRCTutorLogWeekID" && tempobj.value=='0') {
			fieldlist = "Week";
			pass=false;
			break;
		}
		if (tempobj.name=="totalTime" && tempobj.value=='') {
			fieldlist = "Total Minutes";
			pass=false;
			break;
		}

	}
}

if (totalTime!='' && validateTutorLog(totalTime)==false) {
    alert("Invalid entry!  Values of 0 or greater than 4 are allowed");
    return false;
}
 
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    return true;
}
}


// ##############################
function checkrequiredProgramIncomeSource(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
    var incomeType = document.form1.incomeType.value;
    var inkindDescription = document.form1.inkindDescription.value;
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="incomeSourceName" && tempobj.value=='') {
			fieldlist = "Income Source Name";
			pass=false;
			break;
		}
		if (tempobj.name=="amount" && tempobj.value=='') {
			fieldlist = "Amount";
			pass=false;
			break;
		}
		if (tempobj.name=="sourceType" && tempobj.value=='') {
			fieldlist = "Source Type";
			pass=false;
			break;
		}
		if (tempobj.name=="incomeType" && tempobj.value=='') {
			fieldlist = "Income Type";
			pass=false;
			break;
		}
	}
}

if (incomeType=='Cash' && inkindDescription!='') {
    alert("Inkind Description must be None if Income Type is Cash");
    return false;
}
if (incomeType=='Inkind' && inkindDescription=='') {
    alert("Inkind Description is required if Income Type is Inkind");
    return false;
}
  

  
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    return true;
}
}

// ##############################
function checkrequiredMailform4(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="name" && tempobj.value=='') {
			fieldlist = "Name";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
	}
}

  
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredImportMembers(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="Filename" && tempobj.value=='') {
			fieldlist = "Filename";
			pass=false;
			break;
		}
	}
}

  
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredChangePassword(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
    var pwd1 = document.form1.password.value;  
    var pwd2 = document.form1.verifyPassword.value;  

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifyPassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd1!=pwd2) {
    alert("Passwords do not match - please try again.")
    return false;
}
  
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredFileUpload(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="programID" && tempobj.value=='0') {
			fieldlist = "Please select a program";
			pass=false;
			break;
		}
		if (tempobj.name=="eventImage" && tempobj.value=='') {
			fieldlist = "You must select a file";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredUpload(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="file1" && tempobj.value=='') {
			fieldlist = "You must select a file";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredProgramYear(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="programYearID" && tempobj.value=='X') {
			fieldlist = "Please select a program year";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    return true;
}
}

// ##############################
function checkrequiredEvents(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="eventName" && tempobj.value=='') {
			fieldlist = "Event Name";
			pass=false;
			break;
		}
		if (tempobj.name=="eventDate" && tempobj.value=='') {
			fieldlist = "Event Date";
			pass=false;
			break;
		}
		if (tempobj.name=="eventHeadline" && tempobj.value=='') {
			fieldlist = "Event Headline";
			pass=false;
			break;
		}
		if (tempobj.name=="siteID" && tempobj.value=='X') {
			fieldlist = "Site";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredBestPractices(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="bestPracticeName" && tempobj.value=='') {
			fieldlist = "Name";
			pass=false;
			break;
		}
		if (tempobj.name=="bestPracticeDate" && tempobj.value=='') {
			fieldlist = "Date";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredDirectorySearch(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="searchName" && tempobj.value=='') {
			fieldlist = "Name";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredTransferMRCStudent(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="toMemberID" && tempobj.value=='0') {
			fieldlist = "Please select a Member";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredTransferMRCStudent2(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="fromMemberID" && tempobj.value=='0') {
			fieldlist = "Please select a Member";
			pass=false;
			break;
		}
		if (tempobj.name=="toMemberID" && tempobj.value=='0') {
			fieldlist = "Please select a Member";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredOtherInKind(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="supervisorID" && tempobj.value=='X') {
			fieldlist = "Supervisor";
			pass=false;
			break;
		}
		if (tempobj.name=="otherInKindName" && tempobj.value=='') {
			fieldlist = "Donor Name";
			pass=false;
			break;
		}
		if (tempobj.name=="otherInKindDate" && tempobj.value=='') {
			fieldlist = "Date";
			pass=false;
			break;
		}
		if (tempobj.name=="estimatedValue" && tempobj.value=='') {
			fieldlist = "Estimated Value";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkRequiredReviewTimesheets(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
  var certify = document.form1.certify.checked;
    
    if (certify==false) {
        alert("You must agree to the disclaimer");
        return false;
    } else {
        ray2.ajax();
        return true;
    }     

}

// ##############################
function checkrequiredSerf(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
  var certify = document.form1.certify.checked;
    
    if (certify==false) {
        alert("You must agree to the disclaimer");
        return false;
    } else {
        ray2.ajax();
        return true;
    }     

}

// ##############################
function checkJCTimesheet(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
  
  var super1 = document.form1.supervisorID.value;
  var super2 = document.form1.supervisor2ID.value;   
  var super3 = document.form1.supervisor3ID.value;   
  var super4 = document.form1.supervisor4ID.value; 
  var certify = document.form1.certify.checked;
    
    if (super1==0 && super2==0 && super3==0 && super4==0) {
        alert("You must choose at least one Supervisor");
    pass=false;  
    }

    if (certify==false) {
        alert("You must certify the disclaimer");
    pass=false;  
    }

if (!pass) {
	return false;
}
else {
    return true;
}
}


// ##############################
function checkrequiredFilterTimesheet(which) {

    var searchWeekID = document.form99.searchWeekID.value;
    var searchStartDate = document.form99.searchStartDate.value;
    var searchEndDate = document.form99.searchEndDate.value;
    var searchUserTypeID = document.form99.searchUserTypeID.value;
    var searchName = document.form99.searchName.value;
    var searchSH_timesheetStatusID = document.form99.searchSH_timesheetStatusID.value;

    if (searchWeekID == '0' && searchStartDate == '' && searchEndDate == '' && searchUserTypeID == '0' && searchName == '' && searchSH_timesheetStatusID == '0') {
        alert("You must enter or select at least one search parameter");
        return false;
    }
}


// ##############################
function checkrequiredFilterTimesheetStaff(which) {

    var searchProgramID = document.form99.searchProgramID.value;
    var searchStartDate = document.form99.searchStartDate.value;
    var searchEndDate = document.form99.searchEndDate.value;
    var searchUserTypeID = document.form99.searchUserTypeID.value;
    var searchName = document.form99.searchName.value;
    var searchSH_timesheetStatusID = document.form99.searchSH_timesheetStatusID.value;

    if (searchProgramID == '0' && searchStartDate == '' && searchEndDate == '' && searchUserTypeID == '0' && searchName == '' && searchSH_timesheetStatusID == '0') {
        alert("You must enter or select at least one search parameter");
        return false;
    }
}

// ##############################
function checkrequiredSupervisorTs(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var certify = document.form1.certify.checked;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="wage" && tempobj.value=='') {
			fieldlist = "Wage";
			pass=false;
			break;
		}
	}
}

if (certify==false) {
    alert("You must agree to the disclaimer");
    return false;
}     

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredProgress(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="periodID" && tempobj.value=='0') {
			fieldlist = "Period";
			pass=false;
			break;
		}
		if (tempobj.name=="progressCategoryID" && tempobj.value=='0') {
			fieldlist = "Progress Category";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredGAvolReport(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="stateID" && tempobj.value=='') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="programID" && tempobj.value=='') {
			fieldlist = "Program";
			pass=false;
			break;
		}
		if (tempobj.name=="directorName" && tempobj.value=='') {
			fieldlist = "Name";
			pass=false;
			break;
		}
		if (tempobj.name=="agencyName" && tempobj.value=='') {
			fieldlist = "Agency/Program Name";
			pass=false;
			break;
        }
        if (tempobj.name == "calendarQuarterID" && tempobj.value == '0') {
            fieldlist = "Calendar Quarter";
            pass = false;
            break;
        }

        if (tempobj.name == "reportYear" && tempobj.value == '0') {
            fieldlist = "Report Year";
            pass = false;
            break;
        }
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredFFR(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="federalAgencyName" && tempobj.value=='') {
			fieldlist = "Federal Agency Name";
			pass=false;
			break;
		}
		if (tempobj.name=="federalGrantNumber" && tempobj.value=='') {
			fieldlist = "Federal Grant Number";
			pass=false;
			break;
		}
		if (tempobj.name=="recipientOrgName" && tempobj.value=='') {
			fieldlist = "Recipient Organization Name";
			pass=false;
			break;
		}
		if (tempobj.name=="recipientOrgAddr" && tempobj.value=='') {
			fieldlist = "Recipient Organization Address";
			pass=false;
			break;
		}
		if (tempobj.name=="recipientOrgCity" && tempobj.value=='') {
			fieldlist = "Recipient Organization City";
			pass=false;
			break;
		}
		if (tempobj.name=="recipientStateID" && tempobj.value=='0') {
			fieldlist = "Recipient Organization State";
			pass=false;
			break;
		}
		if (tempobj.name=="recipientOrgZip" && tempobj.value=='') {
			fieldlist = "Recipient Organization Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="dunsNumber" && tempobj.value=='') {
			fieldlist = "DUNS Number";
			pass=false;
			break;
		}
		if (tempobj.name=="einNumber" && tempobj.value=='') {
			fieldlist = "EIN Number";
			pass=false;
			break;
		}
		if (tempobj.name=="acctNumber" && tempobj.value=='') {
			fieldlist = "Recipient Account Number";
			pass=false;
			break;
		}
		if (tempobj.name=="reportType" && tempobj.value=='') {
			fieldlist = "Report Type";
			pass=false;
			break;
		}
		if (tempobj.name=="acctBasis" && tempobj.value=='') {
			fieldlist = "Basis of Accounting";
			pass=false;
			break;
		}
		if (tempobj.name=="grantStartDate" && tempobj.value=='') {
			fieldlist = "Project/Grant Period From";
			pass=false;
			break;
		}
		if (tempobj.name=="grantEndDate" && tempobj.value=='') {
			fieldlist = "Project/Grant Period To";
			pass=false;
			break;
		}
		if (tempobj.name=="periodDate" && tempobj.value=='') {
			fieldlist = "Reporting Period End Date";
			pass=false;
			break;
		}
		if (tempobj.name=="transA" && tempobj.value=='') {
			fieldlist = "Cash Receipts";
			pass=false;
			break;
		}
		if (tempobj.name=="transB" && tempobj.value=='') {
			fieldlist = "Cash Disbursements";
			pass=false;
			break;
		}
		if (tempobj.name=="transC" && tempobj.value=='') {
			fieldlist = "Cash on Hand";
			pass=false;
			break;
		}
		if (tempobj.name=="transD" && tempobj.value=='') {
			fieldlist = "Total Federal funds authorized";
			pass=false;
			break;
		}
		if (tempobj.name=="transE" && tempobj.value=='') {
			fieldlist = "Federal share of expenditures";
			pass=false;
			break;
		}
		if (tempobj.name=="transF" && tempobj.value=='') {
			fieldlist = "Federal share of unliquidated obligations";
			pass=false;
			break;
		}
		if (tempobj.name=="transG" && tempobj.value=='') {
			fieldlist = "Total Federal share";
			pass=false;
			break;
		}
		if (tempobj.name=="transH" && tempobj.value=='') {
			fieldlist = "Unobligated balance of Federal funds";
			pass=false;
			break;
		}
		if (tempobj.name=="transI" && tempobj.value=='') {
			fieldlist = "Total recipient share required";
			pass=false;
			break;
		}
		if (tempobj.name=="transJ" && tempobj.value=='') {
			fieldlist = "Recipient share of expenditures";
			pass=false;
			break;
		}
		if (tempobj.name=="transK" && tempobj.value=='') {
			fieldlist = "Remaining recipient share to be provided";
			pass=false;
			break;
		}
		if (tempobj.name=="transL" && tempobj.value=='') {
			fieldlist = "Total Federal program income earned";
			pass=false;
			break;
		}
		if (tempobj.name=="transM" && tempobj.value=='') {
			fieldlist = "Program income expended in accordance with the deduction alternative";
			pass=false;
			break;
		}
		if (tempobj.name=="transN" && tempobj.value=='') {
			fieldlist = "Program income expended in accordance with the addition alternative";
			pass=false;
			break;
		}
		if (tempobj.name=="transO" && tempobj.value=='') {
			fieldlist = "Unexpended program income";
			pass=false;
			break;
		}
		if (tempobj.name=="officialName" && tempobj.value=='') {
			fieldlist = "Typed or Printed Name and Title of Authorized Certifying Official";
			pass=false;
			break;
		}
		if (tempobj.name=="officialSignature" && tempobj.value=='') {
			fieldlist = "Signature of Authorized Certifying Official";
			pass=false;
			break;
		}
		if (tempobj.name=="officialPhone" && tempobj.value=='') {
			fieldlist = "Telephone";
			pass=false;
			break;
		}
		if (tempobj.name=="officialEmail" && tempobj.value=='') {
			fieldlist = "Email address";
			pass=false;
			break;
		}
		if (tempobj.name=="reportDate" && tempobj.value=='') {
			fieldlist = "Date Report Submitted";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    calcTotalFFR();
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredProgramProgressReport(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="programID" && tempobj.value=='0') {
			fieldlist = "Program";
			pass=false;
			break;
		}
		if (tempobj.name=="progressCategoryID" && tempobj.value=='0') {
			fieldlist = "Progress Category";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredPerformanceMeasures(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="performanceMeasureName" && tempobj.value=='') {
			fieldlist = "Performance Measure Name";
			pass=false;
			break;
		}
		if (tempobj.name=="programYearID" && tempobj.value=='0') {
			fieldlist = "Program Year";
			pass=false;
			break;
		}
		if (tempobj.name=="periodID" && tempobj.value=='0') {
			fieldlist = "Period";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredProgramBudgetPeriod(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="programID" && tempobj.value=='0') {
			fieldlist = "Program";
			pass=false;
			break;
		}
		if (tempobj.name=="budgetPeriodID" && tempobj.value=='0') {
			fieldlist = "Budget Period";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredProgram(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="programName" && tempobj.value=='') {
			fieldlist = "Program Name";
			pass=false;
			break;
		}
		if (tempobj.name=="legalApplicant" && tempobj.value=='') {
			fieldlist = "Legal Applicant";
			pass=false;
			break;
		}
		if (tempobj.name=="programShortName" && tempobj.value=='') {
			fieldlist = "Program Short Name";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="timezoneID" && tempobj.value=='0') {
			fieldlist = "Time Zone";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    //ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredProgramS4K(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="programName" && tempobj.value=='') {
			fieldlist = "City Name";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredClientProgramS4K(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="enrollDate" && tempobj.value=='') {
			fieldlist = "Enroll Date";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredClient(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredClient2(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredMI_MCSCForm(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="aoc" && tempobj.value=='') {
			fieldlist = "AOC";
			pass=false;
			break;
		}
		if (tempobj.name=="periodFrom" && tempobj.value=='') {
			fieldlist = "Period From";
			pass=false;
			break;
		}
		if (tempobj.name=="periodThru" && tempobj.value=='') {
			fieldlist = "Period Thru";
			pass=false;
			break;
		}
		if (tempobj.name=="requestNumber" && tempobj.value=='') {
			fieldlist = "Request Number";
			pass=false;
			break;
		}
		if (tempobj.name=="pca" && tempobj.value=='') {
			fieldlist = "PCA";
			pass=false;
			break;
		}
		if (tempobj.name=="fedIDNumber" && tempobj.value=='') {
			fieldlist = "Federal Identification Number";
			pass=false;
			break;
		}
		if (tempobj.name=="cashReceived" && tempobj.value=='') {
			fieldlist = "Cash Received";
			pass=false;
			break;
		}
		if (tempobj.name=="actualDisbursements" && tempobj.value=='') {
			fieldlist = "Actual Disbursements";
			pass=false;
			break;
		}
		if (tempobj.name=="cashOnHand" && tempobj.value=='') {
			fieldlist = "Cash On Hand";
			pass=false;
			break;
		}
		if (tempobj.name=="cashRequests" && tempobj.value=='') {
			fieldlist = "Cash Requests";
			pass=false;
			break;
		}
		if (tempobj.name=="requestAmount" && tempobj.value=='') {
			fieldlist = "Requested Amount";
			pass=false;
			break;
		}
		if (tempobj.name=="phoneNumber" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="formDate" && tempobj.value=='') {
			fieldlist = "Form Date";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequireds4k733(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="s4k_assessmentID" && tempobj.value=='0') {
			fieldlist = "Type";
			pass=false;
			break;
		}
		if (tempobj.name=="assessmentName" && tempobj.value=='') {
			fieldlist = "My Assessment Name";
			pass=false;
			break;
		}
		if (tempobj.name=="assessmentDate" && tempobj.value=='') {
			fieldlist = "Assessment Date";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredMember(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="supervisorID" && tempobj.value=='0') {
			fieldlist = "Supervisor";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="birthDate" && tempobj.value=='') {
			fieldlist = "Birth Date";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceStartDate" && tempobj.value=='') {
			fieldlist = "Service Start Date";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceEndDate" && tempobj.value=='') {
			fieldlist = "Service End Date";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredMemberME(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

	var acPortal1 = document.form1.americorpsPortal[0].checked;
	var acPortal2 = document.form1.americorpsPortal[1].checked;

	var applicationForm1 = document.form1.applicationForm[0].checked;
	var applicationForm2 = document.form1.applicationForm[1].checked;

	var enrollmentForm1 = document.form1.enrollmentForm[0].checked;
	var enrollmentForm2 = document.form1.enrollmentForm[1].checked;

	var eligibilityForm1 = document.form1.eligibilityForm[0].checked;
	var eligibilityForm2 = document.form1.eligibilityForm[1].checked;

	var backgroundForm1 = document.form1.backgroundForm[0].checked;
	var backgroundForm2 = document.form1.backgroundForm[1].checked;
	var backgroundForm3 = document.form1.backgroundForm[2].checked;

	var contractForm1 = document.form1.contractForm[0].checked;
	var contractForm2 = document.form1.contractForm[1].checked;

	var healthCareForm1 = document.form1.healthCareForm[0].checked;
	var healthCareForm2 = document.form1.healthCareForm[1].checked;
	var healthCareForm3 = document.form1.healthCareForm[2].checked;

	var childCareForm1 = document.form1.childCareForm[0].checked;
	var childCareForm2 = document.form1.childCareForm[1].checked;
	var childCareForm3 = document.form1.childCareForm[2].checked;

	var publicityForm1 = document.form1.publicityForm[0].checked;
	var publicityForm2 = document.form1.publicityForm[1].checked;

	var parentalForm1 = document.form1.parentalForm[0].checked;
	var parentalForm2 = document.form1.parentalForm[1].checked;
	var parentalForm3 = document.form1.parentalForm[2].checked;

	var exitForm1 = document.form1.exitForm[0].checked;
	var exitForm2 = document.form1.exitForm[1].checked;

	var w4TaxForm1 = document.form1.w4TaxForm[0].checked;
	var w4TaxForm2 = document.form1.w4TaxForm[1].checked;
	var w4TaxForm3 = document.form1.w4TaxForm[2].checked;

	var midYearEvalForm1 = document.form1.midYearEvalForm[0].checked;
	var midYearEvalForm2 = document.form1.midYearEvalForm[1].checked;
	var midYearEvalForm3 = document.form1.midYearEvalForm[2].checked;

	var endYearEvalForm1 = document.form1.endYearEvalForm[0].checked;
	var endYearEvalForm2 = document.form1.endYearEvalForm[1].checked;

	var roleDescriptionForm1 = document.form1.roleDescriptionForm[0].checked;
	var roleDescriptionForm2 = document.form1.roleDescriptionForm[1].checked;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="supervisorID" && tempobj.value=='0') {
			fieldlist = "Supervisor";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="birthDate" && tempobj.value=='') {
			fieldlist = "Birth Date";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceStartDate" && tempobj.value=='') {
			fieldlist = "Service Start Date";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceEndDate" && tempobj.value=='') {
			fieldlist = "Service End Date";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
		if (tempobj.name=="memberTypeID" && tempobj.value=='0') {
			fieldlist = "Slot Type";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (acPortal1==false && acPortal2==false) {
	alert("Has this member been enrolled in the AmeriCorps Portal is required.");
	return false;
}

if (applicationForm1==false && applicationForm2==false) {
	alert("Application is required.");
	return false;
}

if (enrollmentForm1==false && enrollmentForm2==false) {
	alert("Enrollment is required.");
	return false;
}

if (eligibilityForm1==false && eligibilityForm2==false) {
	alert("Eligibility Doc is required.");
	return false;
}

if (backgroundForm1==false && backgroundForm2==false && backgroundForm3==false) {
	alert("Background Check is required.");
	return false;
}

if (contractForm1==false && contractForm2==false) {
	alert("Member Contract is required.");
	return false;
}

if (healthCareForm1==false && healthCareForm2==false && healthCareForm3==false) {
	alert("Health Care Section Completed is required.");
	return false;
}

if (childCareForm1==false && childCareForm2==false && childCareForm3==false) {
	alert("Child Care Section Completed is required.");
	return false;
}

if (publicityForm1==false && publicityForm2==false) {
	alert("Publicity Release Section Completed is required.");
	return false;
}

if (parentalForm1==false && parentalForm2==false && parentalForm3==false) {
	alert("Parental Consent Form is required.");
	return false;
}

if (exitForm1==false && exitForm2==false) {
	alert("Exit Form is required.");
	return false;
}

if (w4TaxForm1==false && w4TaxForm2==false && w4TaxForm3==false) {
	alert("W-4 Tax Form is required.");
	return false;
}

if (midYearEvalForm1==false && midYearEvalForm2==false && midYearEvalForm3==false) {
	alert("Mid Year Evaluation is required.");
	return false;
}

if (endYearEvalForm1==false && endYearEvalForm2==false) {
	alert("End of Year Evaluation is required.");
	return false;
}

if (roleDescriptionForm1==false && roleDescriptionForm2==false) {
	alert("Member Role Description is required.");
	return false;
}



if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredMemberMD(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="supervisorID" && tempobj.value=='0') {
			fieldlist = "Supervisor";
			pass=false;
			break;
		}
//		if (tempobj.name=="email" && tempobj.value=='') {
//			fieldlist = "Email";
//			pass=false;
//			break;
//		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="birthDate" && tempobj.value=='') {
			fieldlist = "Birth Date";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceStartDate" && tempobj.value=='') {
			fieldlist = "Service Start Date";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceEndDate" && tempobj.value=='') {
			fieldlist = "Service End Date";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function showHidePY(which) {
	var hasTimesheets1 = document.form1.hasTimesheets[0].checked;
	var hasTimesheets2 = document.form1.hasTimesheets[1].checked;
    if (hasTimesheets1==true) {                // show info
        document.form1.memberStatusID.disabled = false;
        document.form1.exitDate.disabled = false;
        document.form1.memberTypeID.disabled = false;
        document.form1.serviceStartDate.disabled = false;
        document.form1.serviceEndDate.disabled = false;
        document.form1.serviceMidDate.disabled = false;
    } else {
        if (hasTimesheets2==true) {                // hide info
        document.form1.memberStatusID.disabled = true;
        document.form1.exitDate.disabled = true;
        document.form1.memberTypeID.disabled = true;
        document.form1.serviceStartDate.disabled = true;
        document.form1.serviceEndDate.disabled = true;
        document.form1.serviceMidDate.disabled = true;
        }  
    }  
}

// ##############################
function checkrequiredMbrPY(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

var hasTimesheets1 = document.form1.hasTimesheets[0].checked;
var hasTimesheets2 = document.form1.hasTimesheets[1].checked;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="supervisorID" && tempobj.value=='0') {
			fieldlist = "Supervisor";
			pass=false;
			break;
		}
//		if (tempobj.name=="email" && tempobj.value=='') {
//			fieldlist = "Email";
//			pass=false;
//			break;
//		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="birthDate" && tempobj.value=='') {
			fieldlist = "Birth Date";
			pass=false;
			break;
		}
//		if (hasTimesheets1==true && tempobj.name=="serviceStartDate" && tempobj.value=='') {
//			fieldlist = "Service Start Date";
//			pass=false;
//			break;
//		}
//		if (hasTimesheets1==true && tempobj.name=="serviceEndDate" && tempobj.value=='') {
//			fieldlist = "Service End Date";
//			pass=false;
//			break;
//		}
        if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
        if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
        if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredMemberWI(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

	var gender1 = document.form1.gender[0].checked;
	var gender2 = document.form1.gender[1].checked;

	var degree1 = document.form1.degree[0].checked;
	var degree2 = document.form1.degree[1].checked;

	var secondYear1 = document.form1.secondYear[0].checked;
	var secondYear2 = document.form1.secondYear[1].checked;

	var americorpsPortal1 = document.form1.americorpsPortal[0].checked;
	var americorpsPortal2 = document.form1.americorpsPortal[1].checked;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="countyID" && tempobj.value=='0') {
			fieldlist = "County";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="birthDate" && trim(tempobj.value)=='') {
			fieldlist = "Birth Date";
			pass=false;
			break;
		}
		if (tempobj.name=="raceID" && tempobj.value=='0') {
			fieldlist = "Race";
			pass=false;
			break;
		}
		if (tempobj.name=="ethnicityID" && tempobj.value=='0') {
			fieldlist = "Ethnicity";
			pass=false;
			break;
		}
		if (tempobj.name=="educLevelID" && tempobj.value=='0') {
			fieldlist = "Education Level";
			pass=false;
			break;
		}
		if (tempobj.name=="memberStatusID" && tempobj.value=='0') {
			fieldlist = "Status";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceStartDate" && trim(tempobj.value)=='') {
			fieldlist = "Service Start Date";
			pass=false;
			break;
		}
		if (tempobj.name=="serviceEndDate" && trim(tempobj.value)=='') {
			fieldlist = "Service End Date";
			pass=false;
			break;
		}
		if (tempobj.name=="supervisorID" && tempobj.value=='0') {
			fieldlist = "Supervisor";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (degree1 == false && degree2 == false) {
	alert("Education Degree is required.");
	return false;
}

if (gender1 == false && gender2 == false) {
	alert("Gender is required.");
	return false;
}

if (secondYear1 == false && secondYear2 == false) {
	alert("Second Year Member is required.");
	return false;
}

if (americorpsPortal1 == false && americorpsPortal2 == false) {
	alert("Americorps Portal is required.");
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredProspect(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";


if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredClientProfile(which) {

    var pass = true;
    fieldlist = "";

    var bgBad = '#dddddd';
    var bgGood = "white";

    if (document.images) {
        for (i = 0; i < which.length; i++) {
            var tempobj = which.elements[i];
            if (tempobj.name == "firstName" && tempobj.value == '') {
                fieldlist = "First Name";
                pass = false;
                break;
            }
            if (tempobj.name == "memberID" && tempobj.value == '0') {
                fieldlist = "Member";
                pass = false;
                break;
            }
            //		if (tempobj.name=="s4k_studentNumber" && tempobj.value=='') {
            //			fieldlist = "Student ID";
            //			pass=false;
            //			break;
            //		}
        }
    }

    if (!pass) {
        setColor(tempobj, bgBad);
        alert("" + fieldlist + " is required.");
        tempobj.focus();
        //	tempobj.blur();
        return false;
    }
    else {
        ray2.ajax();
        return true;
    }
}


// ##############################
function checkrequiredAlumniProfile(which) {

    var pass = true;
    fieldlist = "";

    var bgBad = '#dddddd';
    var bgGood = "white";

    var pwd = document.form1.password.value;
    var pwd2 = document.form1.verifypassword.value;

    if (document.images) {
        for (i = 0; i < which.length; i++) {
            var tempobj = which.elements[i];
            if (tempobj.name == "firstName" && tempobj.value == '') {
                fieldlist = "First Name";
                pass = false;
                break;
            }
            if (tempobj.name == "lastName" && tempobj.value == '') {
                fieldlist = "Last Name";
                pass = false;
                break;
            }
            if (tempobj.name == "email" && tempobj.value == '') {
                fieldlist = "Email";
                pass = false;
                break;
            }
            if (tempobj.name == "address" && tempobj.value == '') {
                fieldlist = "Address";
                pass = false;
                break;
            }
            if (tempobj.name == "city" && tempobj.value == '') {
                fieldlist = "City";
                pass = false;
                break;
            }
            if (tempobj.name == "stateID" && tempobj.value == '0') {
                fieldlist = "State";
                pass = false;
                break;
            }
            if (tempobj.name == "zip" && tempobj.value == '') {
                fieldlist = "Zip";
                pass = false;
                break;
            }
            if (tempobj.name == "phone1" && tempobj.value == '') {
                fieldlist = "Phone";
                pass = false;
                break;
            }
            if (tempobj.name == "phone2" && tempobj.value == '') {
                fieldlist = "Phone";
                pass = false;
                break;
            }
            if (tempobj.name == "phone3" && tempobj.value == '') {
                fieldlist = "Phone";
                pass = false;
                break;
            }
            if (tempobj.name == "birthDate" && tempobj.value == '') {
                fieldlist = "Birth date";
                pass = false;
                break;
            }
            if (tempobj.name == "login" && tempobj.value == '') {
                fieldlist = "Login";
                pass = false;
                break;
            }
            if (tempobj.name == "password" && tempobj.value == '') {
                fieldlist = "Password";
                pass = false;
                break;
            }
            if (tempobj.name == "verifypassword" && tempobj.value == '') {
                fieldlist = "Verify Password";
                pass = false;
                break;
            }
        }
    }

    if (pwd != pwd2) {
        alert("Passwords do not match.");
        setColor(document.form1.password, bgBad);
        setColor(document.form1.verifypassword, bgBad);
        document.form1.password.focus();
        return false;
    }

    if (!pass) {
        setColor(tempobj, bgBad);
        alert("" + fieldlist + " is required.");
        tempobj.focus();
        //	tempobj.blur();
        return false;
    }
    else {
        ray2.ajax();
        return true;
    }
}


// ##############################
function checkrequiredClientProfileS4K(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

    var gender1 = (document.form1.studentGender[0].checked);
    var gender2 = (document.form1.studentGender[1].checked);

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="memberID" && tempobj.value=='0') {
			fieldlist = "Member";
			pass=false;
			break;
		}
		if (tempobj.name=="birthDate" && tempobj.value=='') {
			fieldlist = "Birth Date";
			pass=false;
			break;
		}
	}
}

if (gender1==false && gender2==false) {
    alert("Gender is required");
    return false; 
}
if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredSupervisorProfile(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="siteID" && tempobj.value=='0') {
			fieldlist = "Site";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredSupervisorProfileMI(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="siteID" && tempobj.value=='0') {
			fieldlist = "Site";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredSupervisorProfileS4K(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="siteID" && tempobj.value=='0') {
			fieldlist = "Site";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}



// ##############################
function checkrequiredStaffJournal(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="staffJournalName" && tempobj.value=='') {
			fieldlist = "Journal Entry Name";
			pass=false;
			break;
		}
		if (tempobj.name=="programID" && tempobj.value=='X') {
			fieldlist = "Program";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequireds4kLogin(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredProfile(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
        }

        if (tempobj.name == "directorID" && tempobj.value == '0') {
                fieldlist = "Program Director";
                pass = false;
                break;
         }
         if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
		}
	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredDirector(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

  var pwd = document.form1.password.value;
  var pwd2 = document.form1.verifypassword.value;

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name == "programID" && tempobj.value == '0') {
            fieldlist = "Program";
            pass = false;
            break;
        }
        if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
		if (tempobj.name=="verifypassword" && tempobj.value=='') {
			fieldlist = "Verify Password";
			pass=false;
			break;
        }
        

	}
}

if (pwd != pwd2) {
	alert("Passwords do not match.");
	setColor(document.form1.password, bgBad);
	setColor(document.form1.verifypassword, bgBad);
	document.form1.password.focus();
	return false;
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredSiteProfileCoordinator(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="siteName" && tempobj.value=='') {
			fieldlist = "Site Name";
			pass=false;
			break;
		}
		if (tempobj.name=="coordinatorID" && tempobj.value=='0') {
			fieldlist = "Regional Coordinator";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredSiteProfile(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="siteName" && tempobj.value=='') {
			fieldlist = "Site Name";
			pass=false;
			break;
		}
		if (tempobj.name=="coordinatorID" && tempobj.value=='0') {
			fieldlist = "Program Director";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "Email";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='0') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredSiteProfileOK(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="siteName" && tempobj.value=='') {
			fieldlist = "Site Name";
			pass=false;
			break;
		}
		if (tempobj.name=="coordinatorID" && tempobj.value=='0') {
			fieldlist = "Program Director";
			pass=false;
			break;
		}
	}
}


if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredMRCStudent(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
    var MARSS_Number = document.form1.MARSS_Number.value;  
    var verifyMARSS_Number = document.form1.verifyMARSS_Number.value;  
    var MN_MRCGradeID = document.form1.MN_MRCGradeID.value;
    
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="MN_MRCStudentStatusID" && tempobj.value=='0') {
			fieldlist = "Status";
			pass=false;
			break;
		}
		if (tempobj.name=="MN_MRCEthnicity" && tempobj.value=='0') {
			fieldlist = "Ethnicity";
			pass=false;
			break;
		}
		if (tempobj.name=="MN_MRCGradeID" && tempobj.value=='0') {
			fieldlist = "Grade";
			pass=false;
			break;
		}
	}
}

if (MN_MRCGradeID!='0' && MN_MRCGradeID!='2' && MARSS_Number=='') {
    alert("MARSS Number is required");
    return false; 
}

if (MARSS_Number!='' && MARSS_Number.length!=13) {
    alert("MARSS Number must be 13 digits");
    return false; 
}

if (MARSS_Number!='' && MARSS_Number!=verifyMARSS_Number) {
    alert("MARSS Number and Verify MARSS Number do not match");
    return false; 
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredMathStudent(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
    var MARSS_Number = document.form1.MARSS_Number.value;  
    var verifyMARSS_Number = document.form1.verifyMARSS_Number.value;  
    var MN_MathGradeID = document.form1.MN_MathGradeID.value;
    
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="MN_MathStudentStatusID" && tempobj.value=='0') {
			fieldlist = "Status";
			pass=false;
			break;
		}
		if (tempobj.name=="MN_MRCEthnicity" && tempobj.value=='0') {
			fieldlist = "Ethnicity";
			pass=false;
			break;
		}
		if (tempobj.name=="MN_MathGradeID" && tempobj.value=='0') {
			fieldlist = "Grade";
			pass=false;
			break;
		}
		if (tempobj.name=="MARSS_number" && tempobj.value=='0') {
			fieldlist = "MARSS Number";
			pass=false;
			break;
		}
	}
}

if (MARSS_Number!='' && MARSS_Number.length!=13) {
    alert("MARSS Number must be 13 digits");
    return false; 
}

if (MARSS_Number!='' && MARSS_Number!=verifyMARSS_Number) {
    alert("MARSS Number and Verify MARSS Number do not match");
    return false; 
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequireds4kAssessment(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";
 
   
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="s4k_assessmentID" && tempobj.value=='0') {
			fieldlist = "Select an Assessment";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    return true;
}
}


// ##############################
function authorizeTimesheet(which) {

	var agree=confirm("Click OK to submit this timesheet to your Supervisor for approval or Cancel to cancel.");
	if (agree) {
        document.form1.authSubmit.value="X";
		return true ;
	} else {
        document.form1.authSubmit.value="";
		return false ;
	}
}


// ##############################
function authorizeSupervisorTimesheet(which) {

	var agree=confirm("Click OK to submit this timesheet to your Program Director for approval or Cancel to cancel.");
	if (agree)
		return true ;
	else
		return false ;
}


// ##############################
function deleteEvent(which) {

	var agree=confirm("Are you sure you want to delete this item?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}



// ##############################
function makePagePDF(which) {

	var agree=confirm("Click OK to create a PDF of this page or Cancel to cancel");
	if (agree) {
        ray.ajax();
		return true ;
	} else {
		return false ;
    }
}


// ##############################
function enrollMember(which) {

	var agree=confirm("Click OK to enroll this prospective member or Cancel to cancel");
	if (agree)
		return true ;
	else
		return false ;
}


// ##############################
function deleteBestPractice(which) {

	var agree=confirm("Are you sure you want to delete this item?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}


// ##############################
function deleteOtherInKind(which) {

	var agree=confirm("Are you sure you want to delete this item?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}


// ##############################
function deletePerformanceMeasure(which) {

	var agree=confirm("Are you sure you want to delete this item?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}


// ##############################
function deleteProgress(which) {

	var agree=confirm("Are you sure you want to delete this item?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}


// ##############################
function deleteStory(which) {

	var agree=confirm("Are you sure you want to delete this story?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}

// ##############################
function deleteDirectService(which) {

	var agree=confirm("Are you sure you want to delete this direct service activity?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}

// ##############################
function deleteCapacityBuilding(which) {

	var agree=confirm("Are you sure you want to delete this capacity building activity?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}


// ##############################
function deleteService(which) {

	var agree=confirm("Are you sure you want to delete this community volunteer activity?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}

// ##############################
function deleteCivic(which) {

	var agree=confirm("Are you sure you want to delete this civic engagement activity?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}

// ##############################
function checkrequiredSelectOutcomeCategory(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="outcomeCategoryID" && tempobj.value=='X') {
			fieldlist = "Outcome Category";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}

// ##############################
function checkrequiredServeMNLogin(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="login" && tempobj.value=='') {
			fieldlist = "Login";
			pass=false;
			break;
		}
		if (tempobj.name=="password" && tempobj.value=='') {
			fieldlist = "Password";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    return true;
}
}


// ##############################
function checkrequiredServeMNEmail(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "E-Mail";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else {
    ray2.ajax();
    return true;
}
}


// ##############################
function checkrequiredSelectTimesheetSupervisor(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';
  var bgGood = "white";

    var approved1 = (document.form1.approved[0].checked);
    var approved2 = (document.form1.approved[1].checked);

if (approved1 == false && approved2 == false) {
	alert("You must either approve or reject this time sheet.");
	return false;
}
return true;

}

// ##############################
function checkrequiredSelectTimesheet(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';;
  var bgGood = "white";
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="weekID" && tempobj.value=='X') {
			fieldlist = "Please select a week";
			pass=false;
			break;
		}
		if (tempobj.name=="weekID" && tempobj.value=='L') {
			fieldlist = "The selected time sheet is locked - please select another period";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
	tempobj.blur();
	return false;
}
else {
    return true;
}
}


// ##############################
function checkrequiredSelectTimesheetStatus(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';;
  var bgGood = "white";
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="tsStat" && tempobj.value=='X') {
			fieldlist = "Please select a Timesheet Status";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
	tempobj.blur();
	return false;
}
else {
    return true;
}
}


// ##############################
function checkrequiredSelectMember(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#dddddd';;
  var bgGood = "white";
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="memberID" && tempobj.value=='X') {
			fieldlist = "Please select a member";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
	tempobj.blur();
	return false;
}
else {
    return true;
}
}


// ##############################
function checkrequiredMemberTimesheet(which) {

    var pass=true;
    fieldlist = "";

    var bgBad = '#dddddd';;
    var bgGood = "white";

    if (document.form1.supervisorID.type == "checkbox") {
        var super1 = document.form1.supervisorID.checked;
        var super2 = document.form1.supervisor2ID.checked;
        var super3 = document.form1.supervisor3ID.checked;
        var super4 = document.form1.supervisor4ID.checked;
    }
    else {
        var super1 = document.form1.supervisorID.value
        var super2 = document.form1.supervisor2ID.value;
        var super3 = document.form1.supervisor3ID.value;
        var super4 = document.form1.supervisor4ID.value;
    }
    

    if (super1==0 && super2==0 && super3==0 && super4==0) {
       alert("You must choose at least one Supervisor");
       pass=false;  
    }

    if (!pass) {
    	return false;
    }
   else {
     return true;
    }
}

// ##############################
function setColor(el, bg) {
  if (el.style) el.style.backgroundColor = bg;
}

// ##############################
function validate(field) {
var valid = "0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers are allowed!");
field.value = "";
field.focus();
field.select();
   }
}

// ##############################
function validate2(field) {
var valid = "0123456789."
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers are allowed!");
field.value = "";
field.focus();
field.select();
   }
}

// ##############################
function validate3(field) {
var valid = "0123456789. "
var ok = "yes";
var temp;
var decfound=field.value.indexOf(".");
if (decfound>0) {
    var decvalue = field.value.substring(decfound+1);
    if (decvalue=="0" || decvalue=="00" || decvalue=="25" || decvalue=="5" || decvalue=="50" || decvalue=="75") {
    } else { 
        alert("Invalid entry: Hours must be entered in multiples of quarter hours (.25, .50, .75)");
        field.value=""; 
        field.focus();
        field.select();
        return false;
    }    
} 
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers are allowed!");
field.value = "";
field.focus();
field.select();
   }
}

// ##############################
// validate3 for Missouri
function validate3mo(field) {
var valid = "0123456789. "
var ok = "yes";
var temp;
var decfound=field.value.indexOf(".");
if (decfound>0) {
    var decvalue = field.value.substring(decfound+1);
//    if (decvalue=="0" || decvalue=="00" || decvalue=="25" || decvalue=="5" || decvalue=="50" || decvalue=="75") {
//    } else { 
//        alert("Invalid entry: Hours must be entered in multiples of quarter hours (.25, .50, .75)");
//        field.value=""; 
//        field.focus();
//        field.select();
//        return false;
//    }    
} 
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers are allowed!");
field.value = "";
field.focus();
field.select();
   }
}


// ##############################
function validate4(field) {
var valid = "0123456789.-"
var ok = "yes";
var temp;
//var decfound=field.value.indexOf(".");
//if (decfound>0) {
//    var decvalue = field.value.substring(decfound+1);
//    if (decvalue=="0" || decvalue=="00" || decvalue=="25" || decvalue=="5" || decvalue=="50" || decvalue=="75") {
//    } else { 
//        alert("Invalid entry: Hours must be entered in multiples of quarter hours (.25, .50, .75)");
//        field.value=""; 
//        field.focus();
//        field.select();
//        return false;
//    }    
//} 
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers are allowed!");
field.value = "";
field.focus();
field.select();
   }
}

// ##############################
function validate5(field) {
var valid = "0123456789.-"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers are allowed!");
field.value = "";
field.focus();
field.select();
   }
}

// ##############################
function validates4kAssessment(field) {
var valid = "012345"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers between 1-5 are allowed!");
field.value = "";
field.focus();
field.select();
   }
}

// ##############################
function validateTutorLog(field) {
var valid = "0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no" || trim(field.value)=="1" || trim(field.value)=="2" || trim(field.value)=="3" || trim(field.value)=="4") {
alert("Invalid entry!  Values of 0 or greater than 4 are allowed");
field.value = "";
field.focus();
field.select();
return false;
   }
}

// ##############################
function validateZip(field) {
var valid = "0123456789"
var ok1 = "yes";
var ok2 = "yes";
var temp;
if (field.value.length == 0) {
} else {
	for (var i=0; i<field.value.length; i++) {
	temp = "" + field.value.substring(i, i+1);
	if (valid.indexOf(temp) == "-1") ok1 = "no";
	}
	if (field.value.length == 5) {
	} else {
	  ok2 = "no";
	}
	if (ok1 == "no") {
	alert("Invalid entry!  Only numbers are accepted!");
    field.value = "";
	field.focus();
	field.select();
	   }
	if (ok2 == "no") {
	alert("Field must contain five numbers");
	field.value = "";
	field.focus();
	field.select();
	   }
	}
}

// ##############################
function gtpage(url,frname,height,width) {

        var p1 = 'toolbar=no,'
        var p2 = 'location=no,'
        var p3 = 'directories=no,'
        var p4 = 'status=no,'
        var p5 = 'menubar=no,'
        var p6 = 'resizable=no,'
        var p7 = 'scrollbars=no,'
        var p8=  'copyhistory=no,'
        var p9 = 'width='+width+',';
        var p10 = 'height='+height
        var props = p1+p2+p3+p4+p5+p6+p7+p8+p9+p10;

        themainwindow = window.open(url,frname,props);
        themainwindow.focus();

     }

// ##############################
function gtpage2(url,frname,height,width) {

        var p1 = 'toolbar=no,'
        var p2 = 'location=no,'
        var p3 = 'directories=no,'
        var p4 = 'status=no,'
        var p5 = 'menubar=no,'
        var p6 = 'resizable=yes,'
        var p7 = 'scrollbars=yes,'
        var p8=  'copyhistory=no,'
        var p9 = 'width='+width+',';
        var p10 = 'height='+height
        var props = p1+p2+p3+p4+p5+p6+p7+p8+p9+p10;

        themainwindow = window.open(url,frname,props);
        themainwindow.focus();

     }

// ##############################
function printpage() {
	window.print();
}

// ###################################
function check_date(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = ".";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(0,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(2,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = month + seperator + day + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert("Date is incorrect!\n\nMust use format: mm/dd/yyyy");
      DateField.select();
	  DateField.focus();
   }
}

// ###################################
function check_date2(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(0,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(2,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = month + seperator + day + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert("Date is incorrect!\n\nMust use format: mm/dd/yyyy");
      err = 0; day = ""; month = ""; year = ""; seperator = "";
      DateField.value = month + seperator + day + seperator + year;
      DateField.select();
	  DateField.focus();
   }
}

// ###################################
 function check_time(field) { 
    var TimeField = field;
 
    // regular expression to match required time format 
    re = /^\d{1,2}:\d{2}([ap]m)?$/; 
    if (TimeField.value != '' && !TimeField.value.match(re)) { 
        alert("Invalid time format: " + TimeField.value+"\n\nTimes should be entered using 12:34am format"); 
        TimeField.value=""; 
        TimeField.focus(); 
        return false; 
    }
}  
 
 
// ###################################
function check_birthdate(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '19' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(0,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(2,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = month + seperator + day + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert("Date is incorrect!\n\nMust use format: mm/dd/yyyy");
      DateField.select();
	  DateField.focus();
   }
}

// ###################################
 function check_time(field) { 
    var TimeField = field;
 
    // regular expression to match required time format 
    re = /^\d{1,2}:\d{2}([ap]m)?$/; 
    if (TimeField.value != '' && !TimeField.value.match(re)) { 
        alert("Invalid time format: " + TimeField.value+"\n\nTimes should be entered using 12:34am format"); 
        TimeField.focus(); 
        return false; 
    }
}  
 
 
// ##############################
function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   alert("Invalid e-mail address entered")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Invalid e-mail address entered")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    alert("Invalid e-mail address entered")
	    return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    alert("Invalid e-mail address entered")
	    return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    alert("Invalid e-mail address entered")
	    return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    alert("Invalid e-mail address entered")
	    return false
	 }
		
	 if (str.indexOf(" ")!=-1){
	    alert("Invalid e-mail address entered")
	    return false
	 }

 	 return true					
}



// ###################################
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

// ###################################
function MM_goToURL_deleteEvent() { //v3.0
    var agree = confirm("Are you sure you want to delete this item?\n\nThis action cannot be undone!");
    if (agree) {
        var i, args = MM_goToURL_deleteEvent.arguments; document.MM_returnValue = false;
        for (i = 0; i < (args.length - 1); i += 2) eval(args[i] + ".location='" + args[i + 1] + "'");
    } else {
        return false;
    }
}

// ###################################
function MM_goToURL_deleteNewPM() { //v3.0
    var agree = confirm("Are you sure you want to deactivate this Performance Measure?\n\nThis action cannot be undone!");
    if (agree) {
        var i, args = MM_goToURL_deleteNewPM.arguments; document.MM_returnValue = false;
        for (i = 0; i < (args.length - 1); i += 2) eval(args[i] + ".location='" + args[i + 1] + "'");
    } else {
        return false;
    }
}

// ###################################
function MM_goToURL_deactivatePM() { //v3.0
	var agree=confirm("Are you sure you want to deactivate this Performance Measure?\n\nThis action cannot be undone!");
	if (agree) {
      var i, args=MM_goToURL_deactivatePM.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
		return false ;
    }
}

// ###################################
function MM_goToURL_copySurvey() { //v3.0
	var agree=confirm("Are you sure you want to copy this Survey to a new Survey?");
	if (agree) {
      var i, args=MM_goToURL_copySurvey.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
		return false ;
    }
}

// ###################################
function MM_goToURL_submitProgress() { //v3.0
	var agree=confirm("Are you sure you want to submit this progress report for State Commission approval?");
	if (agree) {
      var i, args=MM_goToURL_submitProgress.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
		return false ;
    }
}

// ###################################
function MM_goToURL_submitMDMonthly() { //v3.0
    var agree = confirm("Are you sure you want to submit this report for UMDHSA approval?");
    if (agree) {
        var i, args = MM_goToURL_submitMDMonthly.arguments; document.MM_returnValue = false;
        for (i = 0; i < (args.length - 1); i += 2) eval(args[i] + ".location='" + args[i + 1] + "'");
    } else {
        return false;
    }
}

// ###################################
function MM_goToURL_removeSHTimesheet() { //v3.0
    var agree = confirm("Are you sure you want to remove this row?\n\nThis action cannot be undone.");
    if (agree) {
        var i, args = MM_goToURL_removeSHTimesheet.arguments; document.MM_returnValue = false;
        for (i = 0; i < (args.length - 1); i += 2) eval(args[i] + ".location='" + args[i + 1] + "'");
    } else {
        return false;
    }
}

// ###################################
function MM_goToURL_enrollMember() { //v3.0
	var agree=confirm("Are you sure you want to enroll this prospective member?");
	if (agree) {
      var i, args=MM_goToURL_enrollMember.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
		return false ;
    }
}

// ###################################
function MM_goToURL_unlockTimesheet() { //v3.0
	var agree=confirm("Are you sure you want to unlock this time sheet?");
	if (agree) {
      var i, args=MM_goToURL_unlockTimesheet.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
		return false ;
    }
}

// ###################################
function MM_goToURL_removeNotification() { //v3.0
	var agree=confirm("Are you sure you want to remove this notification?");
	if (agree) {
      var i, args=MM_goToURL_removeNotification.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
		return false ;
    }
}

// ###################################
function MM_goToURL_removeFile() { //v3.0
	var agree=confirm("Are you sure you want to remove this file?");
	if (agree) {
      var i, args=MM_goToURL_removeFile.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
		return false ;
    }
}

// ###################################
function calcTotalFFR(which) {
    var transA = document.ffr.transA.value;
    var transB = document.ffr.transB.value;
    var transC = document.ffr.transC.value;
    var transD = document.ffr.transD.value;
    var transE = document.ffr.transE.value;
    var transF = document.ffr.transF.value;
    //var transF = document.ffr.transFCalc.value;
    var transG = document.ffr.transG.value;
    var transH = document.ffr.transH.value;
    var transI = document.ffr.transI.value;
    var transJ = document.ffr.transJ.value;
    var transK = document.ffr.transK.value;
    var transL = document.ffr.transL.value;
    var transM = document.ffr.transM.value;
    var transN = document.ffr.transN.value;
    var transO = document.ffr.transO.value;
    var indirectBase = document.ffr.indirectBase.value;
    var indirectBase2 = document.ffr.indirectBase2.value;
    var indirectBase3 = document.ffr.indirectBase3.value;
    var indirectBase4 = document.ffr.indirectBase4.value;
    var indirectCharged = document.ffr.indirectCharged.value;
    var indirectCharged2 = document.ffr.indirectCharged2.value;
    var indirectCharged3 = document.ffr.indirectCharged3.value;
    var indirectCharged4 = document.ffr.indirectCharged4.value;
    var indirectShare = document.ffr.indirectShare.value;
    var indirectShare2 = document.ffr.indirectShare2.value;
    var indirectShare3 = document.ffr.indirectShare3.value;
    var indirectShare4 = document.ffr.indirectShare4.value;

    var transA2 = document.ffr.transA2.value;
    var transB2 = document.ffr.transB2.value;
    var transC2 = document.ffr.transC2.value;
    var transD2 = document.ffr.transD2.value;
    var transE2 = document.ffr.transE2.value;
    var transF2 = document.ffr.transF2.value;
    var transG2 = document.ffr.transG2.value;
    var transH2 = document.ffr.transH2.value;
    var transI2 = document.ffr.transI2.value;
    var transJ2 = document.ffr.transJ2.value;
    var transK2 = document.ffr.transK2.value;
    var transL2 = document.ffr.transL2.value;
    var transM2 = document.ffr.transM2.value;
    var transN2 = document.ffr.transN2.value;
    var transO2 = document.ffr.transO2.value;

    if (transA=='' || transA==' ') transD = 0; 
    if (transB=='' || transB==' ') transD = 0; 
    if (transC=='' || transC==' ') transD = 0; 
    if (transD=='' || transD==' ') transD = 0; 
    if (transE=='' || transE==' ') transD = 0; 
    if (transF=='' || transF==' ') transD = 0; 
    if (transG=='' || transG==' ') transD = 0; 
    if (transH=='' || transH==' ') transD = 0; 
    if (transI=='' || transI==' ') transD = 0; 
    if (transJ=='' || transJ==' ') transD = 0; 
    if (transK=='' || transK==' ') transD = 0; 
    if (indirectBase=='' || indirectBase==' ') indirectBase = 0; 
    if (indirectBase2=='' || indirectBase2==' ') indirectBase2 = 0; 
    if (indirectBase3=='' || indirectBase3==' ') indirectBase3 = 0; 
    if (indirectBase4=='' || indirectBase4==' ') indirectBase4 = 0; 
    if (indirectCharged=='' || indirectCharged==' ') indirectCharged = 0; 
    if (indirectCharged2=='' || indirectCharged2==' ') indirectCharged2 = 0; 
    if (indirectCharged3=='' || indirectCharged3==' ') indirectCharged3 = 0; 
    if (indirectCharged4=='' || indirectCharged4==' ') indirectCharged4 = 0; 
    if (indirectShare=='' || indirectShare==' ') indirectShare = 0; 
    if (indirectShare2=='' || indirectShare2==' ') indirectShare2 = 0; 
    if (indirectShare3=='' || indirectShare3==' ') indirectShare3 = 0; 
    if (indirectShare4=='' || indirectShare4==' ') indirectShare4 = 0; 

    document.ffr.transC.value=Math.round(parseFloat(0 + parseFloat(transA) - parseFloat(transB)) * 100) / 100;
    document.ffr.transCcalc.value=Math.round(parseFloat(0 + parseFloat(transA) - parseFloat(transB)) * 100) / 100;

    transC = document.ffr.transC.value;
    document.ffr.transG.value=Math.round(parseFloat(0 + parseFloat(transE) + parseFloat(transF)) * 100) / 100;
    document.ffr.transGcalc.value=Math.round(parseFloat(0 + parseFloat(transE) + parseFloat(transF)) * 100) / 100;

    transG = document.ffr.transG.value;
    document.ffr.transH.value=Math.round(parseFloat(0 + parseFloat(transD) - parseFloat(transG)) * 100) / 100;
    document.ffr.transHcalc.value=Math.round(parseFloat(0 + parseFloat(transD) - parseFloat(transG)) * 100) / 100;

    transH = document.ffr.transH.value;
    document.ffr.transK.value=Math.round(parseFloat(0 + parseFloat(transI) - parseFloat(transJ)) * 100) / 100;
    document.ffr.transKcalc.value=Math.round(parseFloat(0 + parseFloat(transI) - parseFloat(transJ)) * 100) / 100;
    transK = document.ffr.transK.value;

    document.ffr.indirectBasecalc.value=Math.round(parseFloat(0 + parseFloat(indirectBase) + parseFloat(indirectBase2) + parseFloat(indirectBase3) + parseFloat(indirectBase4)) * 100) / 100;
    document.ffr.indirectChargedcalc.value=Math.round(parseFloat(0 + parseFloat(indirectCharged) + parseFloat(indirectCharged2) + parseFloat(indirectCharged3) + parseFloat(indirectCharged4)) * 100) / 100;
    document.ffr.indirectSharecalc.value=Math.round(parseFloat(0 + parseFloat(indirectShare) + parseFloat(indirectShare2) + parseFloat(indirectShare3) + parseFloat(indirectShare4)) * 100) / 100;

    // get the values from the screen again as they may have changed
    transA = document.ffr.transA.value;
    transB = document.ffr.transB.value;
    transC = document.ffr.transC.value;
    transD = document.ffr.transD.value;
    transE = document.ffr.transE.value;
    transF = document.ffr.transF.value;
    //transF = document.ffr.transFCalc.value;
    transG = document.ffr.transG.value;
    transH = document.ffr.transH.value;
    transI = document.ffr.transI.value;
    transJ = document.ffr.transJ.value;
    transK = document.ffr.transK.value;
    transL = document.ffr.transL.value;
    transM = document.ffr.transM.value;
    transN = document.ffr.transN.value;
    transO = document.ffr.transO.value;

    document.ffr.transA3.value=Math.round(parseFloat(0 + parseFloat(transA) + parseFloat(transA2)) * 100) / 100;
    document.ffr.transA3calc.value=Math.round(parseFloat(0 + parseFloat(transA) + parseFloat(transA2)) * 100) / 100;
    document.ffr.transB3.value=Math.round(parseFloat(0 + parseFloat(transB) + parseFloat(transB2)) * 100) / 100;
    document.ffr.transB3calc.value=Math.round(parseFloat(0 + parseFloat(transB) + parseFloat(transB2)) * 100) / 100;
    document.ffr.transC3.value=Math.round(parseFloat(0 + parseFloat(transC) + parseFloat(transC2)) * 100) / 100;
    document.ffr.transC3calc.value=Math.round(parseFloat(0 + parseFloat(transC) + parseFloat(transC2)) * 100) / 100;
    document.ffr.transD3.value=Math.round(parseFloat(0 + parseFloat(transD) + parseFloat(transD2)) * 100) / 100;
    document.ffr.transD3calc.value=Math.round(parseFloat(0 + parseFloat(transD) + parseFloat(transD2)) * 100) / 100;
    document.ffr.transE3.value=Math.round(parseFloat(0 + parseFloat(transE) + parseFloat(transE2)) * 100) / 100;
    document.ffr.transE3calc.value=Math.round(parseFloat(0 + parseFloat(transE) + parseFloat(transE2)) * 100) / 100;
    document.ffr.transF3.value=Math.round(parseFloat(0 + parseFloat(transF) + parseFloat(transF2)) * 100) / 100;
    document.ffr.transF3calc.value=Math.round(parseFloat(0 + parseFloat(transF) + parseFloat(transF2)) * 100) / 100;
    document.ffr.transG3.value=Math.round(parseFloat(0 + parseFloat(transG) + parseFloat(transG2)) * 100) / 100;
    document.ffr.transG3calc.value=Math.round(parseFloat(0 + parseFloat(transG) + parseFloat(transG2)) * 100) / 100;
    //document.ffr.transH3.value=Math.round(parseFloat(0 + parseFloat(transH) + parseFloat(transH2)) * 100) / 100;
    //document.ffr.transH3calc.value=Math.round(parseFloat(0 + parseFloat(transH) + parseFloat(transH2)) * 100) / 100;
//alert(transD);
//alert(transG);
//alert(transG2);
//alert(parseFloat(transD) - (0 + parseFloat(transG) + parseFloat(transG2)));
    document.ffr.transH3.value=parseFloat(transD) - (0 + parseFloat(transG) + parseFloat(transG2));
    document.ffr.transH3calc.value=parseFloat(transD) - (0 + parseFloat(transG) + parseFloat(transG2));
    document.ffr.transI3.value=Math.round(parseFloat(0 + parseFloat(transI) + parseFloat(transI2)) * 100) / 100;
    document.ffr.transI3calc.value=Math.round(parseFloat(0 + parseFloat(transI) + parseFloat(transI2)) * 100) / 100;
    document.ffr.transJ3.value=Math.round(parseFloat(0 + parseFloat(transJ) + parseFloat(transJ2)) * 100) / 100;
    document.ffr.transJ3calc.value=Math.round(parseFloat(0 + parseFloat(transJ) + parseFloat(transJ2)) * 100) / 100;
    //document.ffr.transK3.value=Math.round(parseFloat(0 + parseFloat(transK) + parseFloat(transK2)) * 100) / 100;
    //document.ffr.transK3calc.value=Math.round(parseFloat(0 + parseFloat(transK) + parseFloat(transK2)) * 100) / 100;
    document.ffr.transK3.value=parseFloat(transI) - (0 + parseFloat(transJ) + parseFloat(transJ2));
    document.ffr.transK3calc.value=parseFloat(transI) - (0 + parseFloat(transJ) + parseFloat(transJ2));
    document.ffr.transL3.value=Math.round(parseFloat(0 + parseFloat(transL) + parseFloat(transL2)) * 100) / 100;
    document.ffr.transL3calc.value=Math.round(parseFloat(0 + parseFloat(transL) + parseFloat(transL2)) * 100) / 100;
    document.ffr.transM3.value=Math.round(parseFloat(0 + parseFloat(transM) + parseFloat(transM2)) * 100) / 100;
    document.ffr.transM3calc.value=Math.round(parseFloat(0 + parseFloat(transM) + parseFloat(transM2)) * 100) / 100;
    document.ffr.transN3.value=Math.round(parseFloat(0 + parseFloat(transN) + parseFloat(transN2)) * 100) / 100;
    document.ffr.transN3calc.value=Math.round(parseFloat(0 + parseFloat(transN) + parseFloat(transN2)) * 100) / 100;
    document.ffr.transO3.value=Math.round(parseFloat(0 + parseFloat(transO) + parseFloat(transO2)) * 100) / 100;
    document.ffr.transO3calc.value=Math.round(parseFloat(0 + parseFloat(transO) + parseFloat(transO2)) * 100) / 100;

}

// ###################################
function checkrequiredFFRPER(whichForm,whichCheckBoxArray,myMax,myMin,whichQuestion)
/*
  This function takes 5 paramaters:
  whichForm -- the NAME of the form to be validated, a string
  whichCheckBoxArray -- the NAME of the checkbox to be checked, a string
  myMax -- the most you want the user to be able to check, an integer
  myMin -- the least you want the user to be able to check, an integer
  whichQuestion -- a short description of the question, a string
  
  example use:
  howManyChecked('myform','cb_industry',6,1,'Industry');
*/
{

    var _countChecked = 0;
    var err = 0;

    var numCheckboxes = document[whichForm][whichCheckBoxArray].length;
    if (numCheckboxes>1) {
    } else {
        numCheckboxes = 1;
    }    
    /* iterate through all the elements in the checkbox array */
    if (numCheckboxes==1) {
        if (document.form1.budgetPeriodIDList.checked) {
            _countChecked++;
        } else {
        }    
    } else {  
        for(i=0;i<numCheckboxes;i++)
        {
	        /* and check to see if each is checked */
	        if(document.form1.budgetPeriodIDList[i].checked==true)
		        /* if it is, increment a counter */
		        { _countChecked++; }
        }
    }
    /* is the count too high? */
    if(_countChecked > myMax) { 
        alert('You may only choose up to 999 PERs.');
	    err = 1;
        return false; 
    }
    /* of is the count too low */
    else if(_countChecked < myMin) { 
	    alert('You must choose at least one PER.');
        err = 1;
        return false; 
    }

}

// ##############################
var type = "IE";	//Variable used to hold the browser name

BrowserSniffer();

// ##############################
//detects the capabilities of the browser
function BrowserSniffer() {
	if (navigator.userAgent.indexOf("Opera")!=-1 && document.getElementById) type="OP";		//Opera
	else if (document.all) type="IE";														//Internet Explorer e.g. IE4 upwards
	else if (document.layers) type="NN";													//Netscape Communicator 4
	else if (!document.all && document.getElementById) type="MO";							//Mozila e.g. Netscape 6 upwards
	else type = "IE";		//I assume it will not get here
}

// ##############################
//Displays the generic browser type
function whatBrows() {
	window.alert("Browser is : " + type);
}

// ##############################
//Puts the contents of str into the layer id
//id is the name of the layer
//str is the required content
//Works with all browsers except Opera
function ChangeContent(id, str) {
	if (type=="IE") {
		document.all[id].innerHTML = str;
	}
	if (type=="NN") { 
		document.layers[id].document.open();
		document.layers[id].document.write(str);
		document.layers[id].document.close();
	}
	if (type=="MO" || type=="OP") {
		document.getElementById(id).innerHTML = str;
	}
}

// ##############################
//Change the color of the layer background
//id is the name of the layer
//color is the required color
//Works with all browsers except NN4
function ChangeLayerBgColor(id, color){
	if (type=="IE") document.all[id].style.backgroundColor=color;
	if (type=="NN") document.layer['id'].bgColor=color;
	if (type=="MO" || type=="OP") document.getElementById(id).style.backgroundColor=color;
}

// ##############################
//Show and hide a layer
//id is the name of the layer
//action is either hidden or visible
//Seems to work with all versions NN4 plus other browsers
function ShowLayer(id, action){
	if (type=="IE") eval("document.all." + id + ".style.visibility='" + action + "'");
	if (type=="NN") eval("document." + id + ".visibility='" + action + "'");
	if (type=="MO" || type=="OP") eval("document.getElementById('" + id + "').style.visibility='" + action + "'");
}
// ##############################
function RefreshImage(valImageId) {
	var objImage = document.images[valImageId];
	if (objImage == undefined) {
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}


// ##############################
function checkrequiredSHExpenseReport(which) {

    var pass = true;
    fieldlist = "";

    var bgBad = '#dddddd';
    var bgGood = "white";

    if (document.images) {
        for (i = 0; i < which.length; i++) {
            var tempobj = which.elements[i];
            if (tempobj.name == "reportStartDate" && tempobj.value == '') {
                fieldlist = "Report Start Date";
                pass = false;
                break;
            }
            if (tempobj.name == "reportEndDate" && tempobj.value == '') {
                fieldlist = "Report End Date";
                pass = false;
                break;
            } 
         
            
        }
    }

    if (!pass) {
        setColor(tempobj, bgBad);
        alert("" + fieldlist + " is required.");
        tempobj.focus();
        //	tempobj.blur();
        return false;
    }
    else {
        return true;
    }
} 


// ##############################
function checkrequiredSHVista(which) {

    var pass = true;
    fieldlist = "";

    var bgBad = '#dddddd';
    var bgGood = "white";

    if (document.images) {
        for (i = 0; i < which.length; i++) {
            var tempobj = which.elements[i];
            if (tempobj.name == "reportStartDate" && tempobj.value == '') {
                fieldlist = "Report Start Date";
                pass = false;
                break;
            }
            if (tempobj.name == "reportEndDate" && tempobj.value == '') {
                fieldlist = "Report End Date";
                pass = false;
                break;
            }
            
        }
    }

    if (!pass) {
        setColor(tempobj, bgBad);
        alert("" + fieldlist + " is required.");
        tempobj.focus();
        //	tempobj.blur();
        return false;
    }
    else {
        return true;
    }
}
