﻿if ("undefined" == typeof Ektron.FormBlock)
{
	Ektron.FormBlock = 
	{
		instances: [],
		
		setState: function(id, state)
		{
			var fieldId = document.getElementById(id);
			if (fieldId != null)
			{
				fieldId.value = state;
			}
		},
		
		setTargetAction: function(formId, state)
		{
			var fieldApplicationAPI = document.getElementById("ApplicationAPI" + formId);
			if (fieldApplicationAPI != null)
			{
				fieldApplicationAPI.value = state;
			}
		},
		
		validate: function(objForm)
		{
			var bValid = true;
			var legacyValidation = false;
			var containingElement = null;
			var formId = "";
			for (var i = 0; i < Ektron.FormBlock.instances.length; i++)
			{
				var objInstance = Ektron.FormBlock.instances[i];
				var currentState = document.getElementById(objInstance.formStateElementName);
				if (currentState != null && 0 == currentState.value.indexOf("in"))
				{
					formId = objInstance.formId;
					legacyValidation = true;
					if (0 == objInstance.legacyValidationRules)
					{
						if (Ektron.SmartForm && "function" == typeof Ektron.SmartForm.onsubmitForm)
						{
							containingElement = document.getElementById(objInstance.smartFormContainingElementName);
							break;
						}
					}
				} 
			}
			if (containingElement != null)
			{
				bValid = Ektron.SmartForm.onsubmitForm(containingElement);
			}
			else if (legacyValidation)
			{
				bValid = EkFmValidate(objForm);
			}
			if (false == bValid)
			{
				Ektron.FormBlock.setTargetAction(formId, "");
			}
			return bValid;
		}
	};
}