//
// inter.js
//
// version v0.92
// DTI interface handler
//

var setSel = null;

function ITJS_init()
{
	var arr = document.simpleForm.elements;
	for (var i=0;i<arr.length;i++)
	{
		arr[i].disabled = false;
		arr[i].checked = false;
	}
	
	// clear number selected
	setSel = new Array(3);
	for (var i=0;i<setSel.length;i++)
	{
		setSel[i]=0;
	}
}

//---

function ITJS_toggleState(name)
{
		document.simpleForm.elements[name].disabled = !document.simpleForm.elements[name].disabled;
}

//---

var lastDissed = null;

function ITJS_forceState(name,state)
{
		document.simpleForm.elements[name].disabled = state;
}

function ITJS_setState(setno,disFlag,state,exception)
{
	for (var i=0;i<setLen[setno];++i)
	{
		var obj = document.simpleForm.elements["check_"+setChar[setno]+(i+1)];
		if (obj == exception)
			continue;
			
		if (disFlag == true)
		{
			obj.disabled = state;
		} else {
			obj.checked = state;
		}
		// alert("check_"+setChar[setno]+(i+1));
	}
}

function ITJS_checkClicked(setno,obj,dissOther)
{
	// if it's disabled or we're not monitoring, do nothing
	if (obj.disabled)
		return(false);

	// read current object state
	if (obj.checked)
	{
		// ticking operation
		if (setSel[setno]==0)
		{
			// first tick, disable other set
			// alert("disable other sets");
			if (clickRestrict)
			{
				ITJS_setState((setno+1)%3,true,true,null);
				ITJS_setState((setno+2)%3,true,true,null);
			}
		} else {
			// untick other selection
			ITJS_setState(setno,false,false,obj);
		}
		if (dissOther != null)
		{
			lastDissed = document.simpleForm.elements[dissOther];
			lastDissed.disabled = false;
		} else {
			if (lastDissed != null)
			{
				if ((clickRestrict) || (false))
				{
					lastDissed.disabled = true;
					lastDissed = null;
				}
			}
		}
		setSel[setno]=1;
	} else {
		// unticking operation
		setSel[setno]--;
		if (setSel[setno]==0)
		{
			// first tick, enable other sets
			// alert("enable other sets");
			ITJS_setState((setno+1)%3,true,false,null);
			ITJS_setState((setno+2)%3,true,false,null);
			
			if (lastDissed != null)
			{
				lastDissed.disabled = true;
				lastDissed = null;
			}
		}
	}
	return(true);
}


