/*const*/ var UNSELECTED_VALUE = "$#%Unknown%#$";
/*const*/ var MISSING_REQUIRED_FIELDS_HEADING_ID = "divMissingRequiredFieldsHeading";

var g_RequiredFieldsNames = new Array();
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "PositionAppliedFor";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "ShiftPreference";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "StatusPrefered";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "WhoReferredYou";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "MinimumSalaryRequirement";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "WorkedHereBefore";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "AppliedHereBefore";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "LastName";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "FirstName";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "MiddleInitial";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "SocialSecurityNumber";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "ResidenceAddress";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "ResidenceCity";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "ResidenceState";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "ResidenceZip";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "ResidenceTelephone";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "HowLongResidence";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "EmailAddress";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "CitizenshipStatus";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "HaveBeenInArmedForces";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "HaveBeenBonded";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "HaveBeenConvicted";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "EmergencyContactName";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "EmergencyContactPhoneNumber";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "NameOfEmployer1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "DatesFrom1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "DatesTo1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "EmployerStreet1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "EmployerCity1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "EmployerState1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "EmployerZip1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "JobPosition1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "JobPositionsHeld1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "JobDuties1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "WhyDidYouLeave1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "NameOfSupervisor1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "SupervisorPhoneNumber1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "MayWeContact1";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "HighSchoolGEDName";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "HighSchoolGEDAddress";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "HighSchoolGEDHighestGradeCompleted";
g_RequiredFieldsNames[g_RequiredFieldsNames.length] = "GraduateHighSchoolGED";

function validate()
{
	var worked = false;
	
	if ( messagesDisplayed() )
	{
		hideAllMessages();
	}
	
	var validRequiredFields = true;
	for (var index in g_RequiredFieldsNames)
	{
		var elementId = g_RequiredFieldsNames[index];
		var currentElement = elementById( elementId );
		if ( currentElement != null )
		{
			if ( currentElement.value != null && currentElement.value.length > 0 && currentElement.value != UNSELECTED_VALUE )
			{
				//do nothing
			}
			else
			{
				if ( validRequiredFields == true )
				{
					validRequiredFields = false;
					showElementById( MISSING_REQUIRED_FIELDS_HEADING_ID );
				}
				
				var currentHiddenDivId = hiddenDivId( elementId );
				showElementById( currentHiddenDivId );
			}
		}
		worked = validRequiredFields;
	}		
	return worked;
}

function messagesDisplayed()
{
	var isVisible = false;
	var missingRequiredFieldsHeading = elementById( MISSING_REQUIRED_FIELDS_HEADING_ID );
	if ( isElementHidden( missingRequiredFieldsHeading ) )
	{
		isVisible = false;
	}
	else
	{
		isVisible = true;
	}
	return isVisible;
}

function hideAllMessages()
{
	hideElementById( MISSING_REQUIRED_FIELDS_HEADING_ID );
	
	for ( var index in g_RequiredFieldsNames )
	{
		var elementId = hiddenDivId( g_RequiredFieldsNames[index] );
		var element = elementById( elementId );
		hideElement( element );
	}	
}

function hiddenDivId( elementId )
{
	var currentHiddenDivId = "div" + elementId;
	return currentHiddenDivId;
}

function elementById( elementId )
{
	var element = document.getElementById( elementId )
	return element;
}

function showElementById( elementId )
{
	var element = elementById( elementId );
	showElement( element );
}

function hideElementById( elementId )
{
	var element = elementById( elementId );
	hideElement( element );
}

/* const */ var DO_NOT_DISPLAY = "none";
function isElementHidden( element )
{
	var isHidden = false;
	if ( element.style.display == DO_NOT_DISPLAY )
	{
		isHidden = true;
	}
	return isHidden;
}

function hideElement( element )
{
	/* const */ var DO_NOT_DISPLAY = "none";
	element.style.display = DO_NOT_DISPLAY;
}

function showElement( element )
{
	/* const */ var DISPLAY = "";
	element.style.display = DISPLAY;
}
