// JavaScript Document
	function setCheckedAnswers()
{
	var checkedAnswerInfo = document.getElementById('CheckedAnswers').value;
	var sCheckedElArray = checkedAnswerInfo.split(';');
	var i, sCheckedElInfo, sId;

	for (i=0; i<sCheckedElArray.length; i++)
	{
		sCheckedElInfo = sCheckedElArray[i];
		if (sCheckedElInfo != "")
		{
			sId = sCheckedElInfo.split('=')[0];
			document.getElementById(sId).checked = true;
		}
	}
}

function resetQVals()
{
	for (i=0; i<QCount; i++)
	{
		QCur[i] = 0;
		QCurComp[i] = FMax;
	}
}

function checkboxElements()
{
	return document.forms.namedItem("advisor").elements;
}

function applyAVals()
{
	var i;
	var els = checkboxElements();
	var sCheckedEls = "", sComma = "";
	for (i=0; i<els.length; i++)
	{
		if (els[i].checked)
		{
			QCur[AQ[i]] = QCur[AQ[i]] | A[i];
			sCheckedEls += sComma + els[i].name;
			sComma = ",";
		}
	}
	document.getElementById('checkedEls').value = sCheckedEls;
}

function fixQVals()
{
	var i, j;
	for (i=0; i<QCur.length; i++)
	{
		if (QCur[i] == 0)
		{
			QCur[i] = QMax[i];
		}
		
		for (j=0; j<QCurComp.length; j++)
		{
			if (j != i)
			{
				QCurComp[j] = QCurComp[j] & QCur[i];
			}
		}
	}
}

function dumpQVals()
{
	var result = "<HR>"
	var i;
	for (i=0; i<QCur.length; i++)
	{
		result += i + ": " + QCur[i] + "<BR>";
	}
	document.getElementById('info').innerHTML += result;
}

function findFamilies()
{
	var i;
	F = FMax;
	for (i=0; i<QCur.length; i++)
	{
		F = F & QCur[i];
	}
//	document.getElementById('info').innerHTML += "<HR>F = " + F + "<BR>";
}

function showHideFamilies()
{
	var i;
	var theDiv;
	var sFams = "", sComma = "";
	var iFamNum = 0, iEligibleFamilyCount = 0;
//document.getElementById('info').innerHTML = "<HR>";
	for (i=1; i<=FMax; i*=2)
	{
		theDiv = document.getElementById("Family" + iFamNum);
		if ((F & i) != 0)
		{
			iEligibleFamilyCount++;
			theDiv.style.visibility="visible";
			theDiv.style.display="inline";
			sFams += sComma + FI[iFamNum];
			sComma = ",";
		}
		else
		{
			theDiv.style.visibility="hidden";
			theDiv.style.display="none";
		}
		iFamNum++;
	}
	document.getElementById('fams').value = sFams;

	//set element's innerHTML to the empty string to work around a IE+Mac bug
	document.getElementById('matchCount').innerHTML = "";
	if (iEligibleFamilyCount == 1)
	{
		document.getElementById('matchCount').innerHTML = iEligibleFamilyCount + sMatch;
	}
	if (iEligibleFamilyCount == 0)
	{
		document.getElementById('matchCount').innerHTML = iEligibleFamilyCount + sMatch0;
	}
	else
	{
		document.getElementById('matchCount').innerHTML = iEligibleFamilyCount + sMatches;
	}
}

function enableDisableAnswers()
{
	var i;
	var els = checkboxElements();
	for (i=0; i<els.length; i++)
	{
		if ((QCurComp[AQ[i]] & A[i]) != 0 || els[i].type != 'checkbox')
		{
			els[i].disabled = false;
		}
		else
		{
			els[i].disabled = true;
		}
	}
}

function highlightAnswers(mask)
{
	var i;
	var els = checkboxElements();
	for (i=0; i<els.length; i++)
	{
		var container = els[i].parentNode;
		if ((mask & A[i]) != 0)
		{
			els[i].style.border = answer_checkbox_highlighted_border;
			container.style.backgroundColor = answer_checkbox_highlighted_bg_color;
			container.style.backgroundImage = answer_checkbox_highlighted_bg_image;
		}
		else
		{
			els[i].style.border = answer_checkbox_unhighlighted_border;
			container.style.backgroundColor = answer_checkbox_unhighlighted_bg_color;
			container.style.backgroundImage = answer_checkbox_unhighlighted_bg_image;
		}
	}
}

function processSels()
{
	resetQVals();
	applyAVals();
	fixQVals();
//	dumpQVals();
	findFamilies();
	showHideFamilies();
	enableDisableAnswers();
}

function doReset()
{
	var i;
	var els = checkboxElements();
	for (i=0; i<els.length; i++)
	{
		if (1 == 1 || els[i].type == 'checkbox')
		{
			els[i].checked = false;
			els[i].disabled = false;
		}
	}
	processSels();
}

//function gotoCompare()
//{
//	document.forms.namedItem('compare_form').submit();
//}
//		var m_glossaryURLBase="../advisor/public/glossary.aspx"