<!--
function FilledReqNumControls(questionToCheck, exclusionFields, skipIfSelected)
{
	var i;
	var numControlsFilled = 0;
	
	var totalControls;
	totalControls = document.aiss.length;
	
	var totalGroupControls = 0;
	
	var currentControl;
	var currentControlName;
	var currentControlValue;
	
	var radioBoxesInFamily = "";
	
	var selectListIndex;
	
	var skipField;
	
	if (skipIfSelected != "") 
	{
		skipField = document.aiss[skipIfSelected];		
		if (typeof document.aiss[skipIfSelected] != "undefined") 
		{
			if (IsControlFilled(skipField))
			{
				return true;
			}								
		}		
	}
	
	for (i = 0; i < totalControls; i ++)
	{
		currentControl = document.aiss[i];
		currentControlName = currentControl.name;
		
		//make sure the control exists on page
		if (typeof document.aiss[currentControlName] != "undefined") 
		{
			
			if ((currentControlName.indexOf(questionToCheck, 0) != -1) && (exclusionFields.indexOf(currentControlName) == -1))
			{
				if (currentControl.type == "radio")
				{
					if (radioBoxesInFamily.indexOf(currentControlName, 0) == -1)
					{
						radioBoxesInFamily = radioBoxesInFamily + "|" + currentControlName;
						totalGroupControls = totalGroupControls + 1;
					}
				}
				else
				{
					totalGroupControls = totalGroupControls + 1;
				}
				
				if (IsControlFilled(currentControl))
				{
					numControlsFilled = numControlsFilled + 1;
				}								
			}
		}
		else
		{
			numControlsFilled = totalGroupControls; //control does not exist, allow user to continue
			i = totalControls; //exits for loop
		}
	}
	
	if (totalGroupControls > 8 && numControlsFilled < 8)
	{
		alert("Please provide at least 8 answers.");
		canSubmit = 0;
		return false;		
	}
	else
	{
		if (totalGroupControls <= 8 && numControlsFilled < totalGroupControls)
		{
			alert(message);
			canSubmit = 0;
			return false;	
		}
		else
		{
			canSubmit = 1;
			return true;
		}
	}
	
}

function FilledReqNumControlsSpecified(questionToCheck, exclusionFields, skipIfSelected, numControlsRequired, message)
{
	var i;
	var numControlsFilled = 0;
	
	var totalControls;
	totalControls = document.aiss.length;
	
	var totalGroupControls = 0;
	
	var currentControl;
	var currentControlName;
	var currentControlValue;
	
	var radioBoxesInFamily = "";
	
	var selectListIndex;
	
	var skipField;
	
	if (skipIfSelected != "") 
	{
		skipField = document.aiss[skipIfSelected];		
		if (typeof document.aiss[skipIfSelected] != "undefined") 
		{
			if (IsControlFilled(skipField))
			{
				return true;
			}								
		}		
	}
	
	for (i = 0; i < totalControls; i ++)
	{
		currentControl = document.aiss[i];
		currentControlName = currentControl.name;
		
		//make sure the control exists on page
		if (typeof document.aiss[currentControlName] != "undefined") 
		{
			
			if ((currentControlName.indexOf(questionToCheck, 0) != -1) && (exclusionFields.indexOf(currentControlName) == -1))
			{
				if (currentControl.type == "radio")
				{
					if (radioBoxesInFamily.indexOf(currentControlName, 0) == -1)
					{
						radioBoxesInFamily = radioBoxesInFamily + "|" + currentControlName;
						totalGroupControls = totalGroupControls + 1;
					}
				}
				else
				{
					totalGroupControls = totalGroupControls + 1;
				}
				
				if (IsControlFilled(currentControl))
				{
					numControlsFilled = numControlsFilled + 1;
				}								
			}
		}
		else
		{
			numControlsFilled = totalGroupControls; //control does not exist, allow user to continue
			i = totalControls; //exits for loop
		}
	}
	
	if (numControlsFilled < numControlsRequired)
	{
		alert(message);
		canSubmit = 0;
		return false;		
	}
	else
	{		
		canSubmit = 1;
		return true;	
	}
	
}

function FilledReqNumControlsMessage(questionToCheck, exclusionFields, skipIfSelected, numControlsRequired, message)
{

	var i;
	var numControlsFilled = 0;
	
	var totalControls;
	totalControls = document.aiss.length;
	
	var totalGroupControls = 0;
	
	var currentControl;
	var currentControlName;
	var currentControlValue;
	
	var radioBoxesInFamily = "";
	
	var selectListIndex;
	
	var skipField;
	
	if (skipIfSelected != "") 
	{
		skipField = document.aiss[skipIfSelected];		
		if (typeof document.aiss[skipIfSelected] != "undefined") 
		{
			if (IsControlFilled(skipField))
			{
				return true;
			}								
		}		
	}
	
	for (i = 0; i < totalControls; i ++)
	{
		currentControl = document.aiss[i];
		currentControlName = currentControl.name;
		
		//make sure the control exists on page
		if (typeof document.aiss[currentControlName] != "undefined") 
		{
			
			//if ((currentControlName.indexOf(questionToCheck, 0) != -1) && (exclusionFields.indexOf(currentControlName) == -1))
			if ((currentControlName.substr(0, questionToCheck.length) == questionToCheck) && (exclusionFields.indexOf(currentControlName) == -1))
			{
				if (currentControl.type == "radio")
				{
					if (radioBoxesInFamily.indexOf(currentControlName, 0) == -1)
					{
						radioBoxesInFamily = radioBoxesInFamily + "|" + currentControlName;
						totalGroupControls = totalGroupControls + 1;
					}
				}
				else
				{
					totalGroupControls = totalGroupControls + 1;
				}
				
				if (IsControlFilled(currentControl))
				{
					numControlsFilled = numControlsFilled + 1;
				}								
			}
		}
		else
		{
			numControlsFilled = totalGroupControls; //control does not exist, allow user to continue
			i = totalControls; //exits for loop
		}
	}

	if (numControlsFilled < numControlsRequired)
	{
		alert(message);
		canSubmit = 0;
		return false;		
	}		
	else
		return true;
}

function IsControlFilled(control)
{
	var	controlValue = "";
	var selectListIndex;
		
	switch (control.type)
	{
		
		case "select-one":					
			selectListIndex = control.selectedIndex;
			controlValue = control.options[selectListIndex].value;			
			break;
		case "text":
			controlValue = control.value;
			break;
		case "checkbox":
			if (control.checked == true)
			{
				controlValue = "filled";
			}
			break;
		case "radio":
			if (control.checked == true)
			{				
				controlValue = "filled";
			}
			break;
	}

	if (controlValue != "")
	{
		return true;
	}
	else
	{
		return false;
	}
}

function limitCheckBoxAnswersWithMessage(questionToCheck, skipIfSelected, exclusionFields, maxAnswers, lastControl, textToClear, textMessage)
{
	var i;
	var numControlsFilled = 0;
	var totalControls;
	totalControls = document.aiss.length;
	
	var currentControl;
	var currentControlName;
	var currentControlValue;

	var skipField;
	
	if (skipIfSelected != "") 
	{
		skipField = document.aiss[skipIfSelected];		
		if (typeof document.aiss[skipIfSelected] != "undefined") 
		{
			if (IsControlFilled(skipField))
			{
				return true;
			}								
		}		
	}
	
	for (i = 0; i < totalControls; i ++)
	{
		currentControl = document.aiss[i];
		currentControlName = currentControl.name;
		
		//make sure the control exists on page
		if (typeof document.aiss[currentControlName] != "undefined") 
		{			
			if ((currentControlName.indexOf(questionToCheck, 0) != -1) && (exclusionFields.indexOf(currentControlName) == -1))
			{				
				if (IsControlFilled(currentControl))
				{
					numControlsFilled = numControlsFilled + 1;
					if (numControlsFilled > maxAnswers)
					{
						alert(textMessage);
						//currentControl.checked = false;
						document.aiss[lastControl].checked = false;
						
						if (textToClear != "")
							document.aiss[textToClear].value = "";
						return false;		
					}
				}								
			}
		}
		else
		{
			numControlsFilled = totalGroupControls; //control does not exist, allow user to continue
			i = totalControls; //exits for loop
		}
	}
	
	
	return true;	
}

//-->
