var textFields = null
var selectField = null
var selectFieldLabel = null
var phoneFields = null
var MainSubmitButton = null

function RegisterRequiredTextFields (fieldsStr)
{	
	fieldsStr = fieldsStr.replace (/\s+$/g, "")
	textFields = fieldsStr.split (' ')
}

function RegisterRequiredSelectField (fieldStr)
{	
	selectField = document.getElementById (fieldStr)
	selectFieldLabel = document.getElementById (fieldStr + 'L')
}

function RegisterRequiredPhoneFields (fieldsStr)
{
	fieldsStr = fieldsStr.replace (/\s+$/g, "")
	phoneFields = fieldsStr.split (' ')
}

function DisableSubmitButton(id)
{
	MainSubmitButton = document.getElementById (id)
	if (MainSubmitButton && (selectField || textFields)) MainSubmitButton.disabled = true
}

function ValidateRequired()
{
	var ok = true

	if (selectField)
	{
		if (!selectField.selectedIndex) ok = false
		if (selectFieldLabel) selectFieldLabel.className = selectField.selectedIndex ? "valid" : "required"
	}

	if (textFields)
	{
		for (c = 0; c != textFields.length; c++)
		{
			var input = document.getElementById (textFields[c])
			var label = document.getElementById (textFields[c] + 'L')
			if (input && label)
			{
				var value = input.value
				value = value.replace (/^\s+/g, "")
				value = value.replace (/\s+$/g, "") 

				if (value == '') ok = false
				label.className = value != '' ? "valid" : "required"
			}
		}
	}

	if (phoneFields)
	{
		for (c = 0; c != phoneFields.length; c++)
		{
			var input = document.getElementById (phoneFields[c])
			var label = document.getElementById (phoneFields[c] + 'L')
			if (input && label)
			{
				var value = input.value
				value = value.replace (/^\s+/g, "")
				value = value.replace (/\s+$/g, "") 
				var regExp = /^\+[0-9]+\s+\([0-9]+\)\s+[0-9]{3,}$/
				if (!regExp.test(value))
					ok = false
				label.className = regExp.test(value) ? "valid" : "required"
			}
		}
	}

	if (MainSubmitButton) MainSubmitButton.disabled = !ok
}