var currentSize = undefined;
var currentField = undefined;

function showHelp(id)
{
	var showHelp = false;
	
	for(x in showHelpGroup)
	{
		if(id == showHelpGroup[x])
		{
			showHelp = true;
			break;
		}
	}
	
	var size = validationGroupHeights[id];

	if(showHelp)
	{
		if(document.getElementById('regTtl_' + id).className == 'fldTtl')
		{
			document.getElementById('regSec_' + id).className='regSec' + size + 'Sel';
			document.getElementById('regSecHlp_' + id).style.display='block';
		}
	}

	currentSize = size;
}

function hideHelp(id)
{
	var size = validationGroupHeights[id];
	
	document.getElementById('regSec_' + id).className='regSec' + currentSize;
	document.getElementById('regSecHlp_' + id).style.display='none';
}

function replaceText(id, text)
{
	document.getElementById(id).value = text;
}

function loadDefaultText(controlName)
{
	var controlObject = document.getElementById(controlName);

	var index = getFieldNumber(controlName);
	if(controlObject.type == 'text' && index > -1 && controlObject.value == '')
	{
		var label = fieldLabel[index];
		
		controlObject.value = label;
	}
}

function showImage(imgSrc)
{
	var lrgImg = document.getElementById('lrgImg');
	if(lrgImg != undefined)
	{
		lrgImg.src=imgSrc;
		lrgImg.style.display='inline';
	}	
}

function hideImage()
{
	var lrgImg = document.getElementById('lrgImg');
	if(lrgImg != undefined)
	{
		lrgImg.src='/images/spacer.gif';
		lrgImg.style.display='none';
	}	
}

function enterField(controlName)
{
	var groupNumber = getFieldGroupNumber(controlName);

	showHelp(groupNumber);

	// Clear the field if the default text is present

	var controlObject = document.getElementById(controlName);
	var index = getFieldNumber(controlName);
	if(controlObject.type == 'text' && index > -1)
	{
		var label = fieldLabel[index];
		if(label == controlObject.value)
		{
			controlObject.value = '';
		}
	}
	currentField = controlName;
}

function exitField(controlName)
{
	var groupNumber = getFieldGroupNumber(controlName);

	hideHelp(groupNumber);

	// Add the default text if it was blank
	
	var controlObject = document.getElementById(controlName);
	var index = getFieldNumber(controlName);
	if(controlObject.type == 'text' && index > -1 && controlObject.value == '')
	{
		var label = fieldLabel[index];
		controlObject.value = label;
	}

	setTimeout('delayValidate(\'' + controlName + '\')', 100);
	
	currentField = undefined;

}

function delayValidate(controlName)
{
	var groupNumber = getFieldGroupNumber(controlName);
	
	if(currentField == undefined || groupNumber != getFieldGroupNumber(currentField))
	{
		validateFieldGroup(groupNumber);
	}
}

function validateFieldGroup(groupNumber)
{
	var errorsExist = false;

	var errorDiv = document.getElementById('regSecErr_' + groupNumber);
	errorDiv.innerHTML = '';
	
	var fieldArray = validationGroups[groupNumber];
	for(x in fieldArray)
	{
		if(validateRequired(fieldArray[x], groupNumber) == false)
		{	
			errorsExist = true;
		}
	}

	var controlObject = document.getElementById('regTtl_' + groupNumber);

	var size = validationLabelHeights[groupNumber];
	if(size == undefined)
	{
		size = '';
	}

	if(errorsExist)
	{
		controlObject.className = 'fldTtl' + size + 'Err';
	}else{
		controlObject.className = 'fldTtl' + size;
	}
}

function getFieldNumber(controlName)
{
	var arrayIndex = -1;
	
	for(x in validationFields)
	{
		if(validationFields[x] == controlName)
		{
			arrayIndex = x;
			break;
		}
	}
	
	return arrayIndex;
}

function getFieldGroupNumber(controlName)
{
	var arrayIndex = -1;
	
	for(x in validationGroups)
	{
		var fieldArray = validationGroups[x];
		for(y in fieldArray)
		{
			if(fieldArray[y] == controlName)
			{
				arrayIndex = x;
				break;
			}
		}
	}
	
	return arrayIndex;
}

function updateChildren(controlName)
{
	var control = document.getElementById(controlName);
	var childCountDiv = document.getElementById('srvChildCountDiv');
	
	if(control.value == undefined || control.value == '' || control.value == '50036')
	{
		childCountDiv.style.display = 'none';
	}else{
		childCountDiv.style.display = 'block';
	}
}

function updateStore(controlName)
{
	var control = document.getElementById(controlName);
	var storeControl = document.getElementById('val0');
	
	if(control.value != '' && control.value == 0)
	{
		storeControl.style.display = 'inline';
	}else{
		storeControl.style.display = 'none';
	}
}

/************************************************/

function validateRequired(controlName, groupNumber)
{
	var control = document.getElementById(controlName);
	var controlValue = control.value;
	var valField = true;
	
	for(x in validationIgnoreRequired)
	{
		if(validationIgnoreRequired[x] == controlName)
		{
			valField = false;
			break;
		}
	}
	
	if(valField == true)
	{
		var index = getFieldNumber(controlName);
		if(index > -1)
		{
			var label = fieldLabel[index];
			var errorDiv = document.getElementById('regSecErr_' + groupNumber);

			if(controlValue != label && controlValue != '')
			{
				return true;
			}else{
				errorDiv.innerHTML += label + ' is required.<br />'; 
			}
		}
	}else{
		return true;
	}
	return false;
}

/************************************************/
