// Code sous Copyright (c) 2009 Pronosoft - Nadim Noureddine. Toute réutilisation, copie ou copie partielle interdite

function CheckBoxDispatch(id)
{
}

var NbD=0; // doubles
var NbT=0; // triples
var ElementsId=new Array(NbMatch);
var SystemTableId=new Array(NbMatch);
var WinningMatches=new Array(NbMatch);
window.onload=InitAll;
function InitAll()
{
	Custom.init();
	Custom.clear(); 
	InitProno();
}

function InitProno()
{
var i;
	for (i=0; i<NbMatch; i++)
	{
		ElementsId[i]=new Array(3);
		for (j=0; j<3; j++)
		{
			var ch;
			ch = 'prono_'+i+'_'+j;
			ElementsId[i][j]=ch;
		}
	}
	var numMatch=0;
	for (i=0; i<Prono.length; i++)
	{
		var r=Prono.charCodeAt(i);
		if (r==95) // _
			numMatch++;
		if (r==49) // 1
			SetMatchResultSelected(numMatch, 0, true);
		if (r==78) // N
			SetMatchResultSelected(numMatch, 1, true);
		if (r==50) // 2
			SetMatchResultSelected(numMatch, 2, true);
		if (r==71)
		{
			WinningMatches[numMatch]=true;
		}
		else
		{
			WinningMatches[numMatch]=false;
		}
	}


	UdpateDisplay();
}

function ResetGrid()
{
	var i,j;
	for (i=0; i<NbMatch; i++)
	{
		if (!WinningMatches[i]) // don't check winning matches
		{
			for (j=0; j<3; j++)
			{
				SetMatchResultSelected(i, j, false);
			}
		}
	}

	UdpateDisplay();
	ActivateCancelButton();
}


function GetNbTriple()
{
	var nbT=0;
	for (i=0; i<NbMatch; i++)
	{
		if (GetMatchNbResultAt(i)==3)
			nbT++;
	}
	return nbT;
}

function GetNbDouble()
{
	var nbD=0;
	for (i=0; i<NbMatch; i++)
	{
		if (GetMatchNbResultAt(i)==2)
			nbD++;
	}
	return nbD;
}

function GetNbSimple()
{
	var nbS=0;
	for (i=0; i<NbMatch; i++)
	{
		if (GetMatchNbResultAt(i)==1)
			nbS++;
	}
	return nbS;
}

function GetNbEmpty()
{
	var nbE=0;
	for (i=0; i<NbMatch; i++)
	{
		if (GetMatchNbResultAt(i)==0)
			nbE++;
	}
	return nbE;
}

function GetMatchNbResultAt(numMatch)
{
	var nbR=0;
	if (GetMatchResultSelected(numMatch,0)==true)
		nbR++;
	if (GetMatchResultSelected(numMatch,1)==true)
		nbR++;
	if (GetMatchResultSelected(numMatch,2)==true)
		nbR++;
	return nbR;
}

function GetMatchResultSelected(numMatch, numResult)
{
	if (!WinningMatches[numMatch]) // don't check winning matches
		return (document.getElementById(ElementsId[numMatch][numResult]).checked == true);
	else
	{
		return (numResult==0);
	}
}
function SetMatchResultSelected(numMatch, numResult, sel)
{
	if (!WinningMatches[numMatch]) // don't check winning matches
		document.getElementById(ElementsId[numMatch][numResult]).checked = sel;
}

function CheckValid()
{
	// check the system
	valid=true;
	gridDesc = 'Votre grille contient actuellement '+GetNbDouble()+' double(s), '+GetNbTriple()+' triple(s)';
	if (GetNbEmpty()>0)
	{
		gridDesc+=', et '+GetNbEmpty()+' match(es) non rempli(s)';
	}
	if (NbMatch==7)
	{
		if (GetNbEmpty()>0 || GetNbDouble()!=3 || GetNbTriple()!=0)
		{
			alert('Merci de cocher exactement 3 doubles sur la grille');
			valid=false;
		}
	}
	else
	{
		if (GetNbEmpty()>0 || GetNbDouble()!=3 || GetNbTriple()!=3)
		{
			alert('Merci de cocher exactement 3 doubles et 3 triples sur la grille.'+"\n"+gridDesc+'.');
			valid=false;
		}
	}
	return valid;
}

function CrossClicked(numMatch,numResult)
{
	UdpateDisplay();
}


function UdpateDisplay()
{
	NbD=GetNbDouble();
	NbT=GetNbTriple();

	var doubleText, tripleText;
	if (NbD==0)
		doubleText='0 double';
	else if (NbD==1)
		doubleText='1 double';
	else
		doubleText=NbD+' doubles';
	if (NbT==0)
		tripleText='0 triple';
	else if (NbT==1)
		tripleText='1 triple';
	else
		tripleText=NbT+' triples';
//	UpdateText('doubles', doubleText);
//	UpdateText('triples', tripleText);

	Custom.clear(); // update the display
}

function CheckBoxDispatch(device)
{
	CrossClicked(0,0);
	ActivateCancelButton();
}

function ActivateCancelButton()
{
	var cancel_button=document.getElementById('cancel_button');
	if (cancel_button!=null)
	{
		cancel_button.style.visibility='visible';
	}
}

function UpdateText(id, newText)
{
	var old = document.getElementById(id).firstChild;
	var txt = document.createTextNode(newText);
	document.getElementById(id).replaceChild(txt, old);
}
