var divSurbet = document.getElementById('divSurbet');
var nbBookmaker = 0;
var listeBook = new Array();
var equipe1 = '';
var equipe2 = '';
var etat = 0;


function getMaxOdds()
{
	rezBook = new Array('', '', '');
	rezOdds = new Array(0, 0, 0);
	echec = false;
	
	for(i in listeBook)
	{
		if(listeBook[i] == 1)
		{
			bookVal = document.getElementById('book-' + i).value;
			equipe1Val = document.getElementById('equipe1-' + i).value;
			nulVal = document.getElementById('nul-' + i).value;
			equipe2Val = document.getElementById('equipe2-' + i).value;
			
			if(bookVal == '')
			{
				alert("Vous devez donner un nom à tous les bookmakers !!");
				echec = true;
				break;
			}
			
			equipe1Val = equipe1Val.replace(/,/g, '.');
			if((isNaN(equipe1Val)) || (equipe1Val <= 0))
			{
				alert("La cote << " + equipe1Val + " >> n'est pas correcte !!");
				echec = true;
				break;
			}
			
			
			nulVal = nulVal.replace(/,/g, '.');
			if((isNaN(nulVal)) || (nulVal <= 0))
			{
				alert("La cote << " + nulVal + " >> n'est pas correcte !!");
				echec = true;
				break;
			}
			
			
			equipe2Val = equipe2Val.replace(/,/g, '.');
			if((isNaN(equipe2Val)) || (equipe2Val <= 0))
			{
				alert("La cote << " + equipe2Val + " >> n'est pas correcte !!");
				echec = true;
				break;
			}

			
			
			if((parseFloat(equipe1Val)) > (parseFloat(rezOdds[0])))
			{
				rezOdds[0] = equipe1Val;
				rezBook[0] = bookVal;
			}	
			
			

			if((parseFloat(nulVal)) > (parseFloat(rezOdds[1])))
			{
				rezOdds[1] = nulVal;
				rezBook[1] = bookVal;
			}	

			
			
			if((parseFloat(equipe2Val)) > (parseFloat(rezOdds[2])))
			{
				rezOdds[2] = equipe2Val;
				rezBook[2] = bookVal;
			}	
		}
	}
	if(echec)
		return(false);
	else
		return(new Array(rezOdds, rezBook));
}

function getTotalStake()
{
	totalStake = document.getElementById('total').value;
	if((isNaN(totalStake)) || (totalStake <= 0))
	{
		alert("La mise << " + totalStake + " >> n'est pas valide !!");
		return(false);
	}
	return(totalStake);
}

function getBestPercent(tabOdds)
{
	maxi = Math.max(tabOdds[0], tabOdds[1], tabOdds[2]);
	sum = (maxi / tabOdds[0]) + (maxi / tabOdds[1]) + (maxi / tabOdds[2]);
	return(new Array(((maxi / tabOdds[0]) / sum), ((maxi / tabOdds[1]) / sum), ((maxi / tabOdds[2]) / sum)));
}

function applyPercent(tabPercent)
{
	if(totall = getTotalStake())
	{
		return(new Array(totall * tabPercent[0], totall * tabPercent[1], totall * tabPercent[2]));
	}
	else
		return(false);
}

function getSurbet(surbet)
{
	totall = getTotalStake();
	surbetPercent = ((surbet - totall) / totall) * 100;
	return(new Array(surbet - totall, surbetPercent));
}


function calculate()
{
	if(tabOdds = getMaxOdds())
	{
		tabPercent = getBestPercent(tabOdds[0]);

		if(tabCalc = applyPercent(tabPercent))
		{

			surbet = (tabOdds[0][0] * tabCalc[0]);

			tabRez = getSurbet(surbet);
	
			txt = '<table><tr align = "center"><td>' + equipe1 + ' gagne</td><td> ( ' + tabOdds[1][0] + ' )</td><td> : </td><td>' + ((Math.round(tabOdds[0][0] * 100)) / 100) + '</td><td> x </td><td>' + ((Math.round(tabCalc[0] * 100)) / 100) + '</td><td> = </td><td>' + ((Math.round((tabOdds[0][0] * tabCalc[0]) * 100)) / 100) + '€</tr><tr align = "center"><td>Match nul</td><td> ( ' + tabOdds[1][1] + ' )</td><td> : </td><td>' + ((Math.round(tabOdds[0][1] * 100)) / 100) + '</td><td> x </td><td>' + ((Math.round(tabCalc[1] * 100)) / 100) + '</td><td> = </td><td>' + ((Math.round((tabOdds[0][1] * tabCalc[1]) * 100)) / 100) + '€</tr><tr align = "center"><td>' + equipe2 + ' gagne</td><td> ( ' + tabOdds[1][2] + ' )</td><td> : </td><td>' + ((Math.round(tabOdds[0][2] * 100)) / 100) + '</td><td> x </td><td>' + ((Math.round(tabCalc[2] * 100)) / 100) + '</td><td> = </td><td>' + ((Math.round((tabOdds[0][2] * tabCalc[2]) * 100)) / 100) + '€</td></tr></table><br /><img src="./images/ul-enjoybet.png" /><b> Gains : ' + ((Math.round(tabRez[0] * 100)) / 100) + '€ ( ' + ((Math.round(tabRez[1] * 100)) / 100) + '%) </b><img src="./images/ul-enjoybet.png" />';
			document.getElementById('resultat').innerHTML = txt;
		}
	}
	
	return false;
}














function validerEquipe()
{
	equipe1 = document.getElementById('equipe1').value;
	equipe2 = document.getElementById('equipe2').value;
	
	if((equipe1 != '') && (equipe2 != ''))
	{
		document.getElementById('tdEquipe1').innerHTML = '<b>' + equipe1 + '</b>';
		document.getElementById('tdEquipe2').innerHTML = '<b>' + equipe2 + '</b>';
		divSurbet.removeChild(document.getElementById('aSupp'));
		etat = 1;
		divSurbet.innerHTML += '<br />Total à miser (€) : <input type = "text" id = "total" maxlength = "20" /><br /><br /><br /><div align="center"><b>Insérez les côtes des équipes en fonction du bookmaker sélectionné.</b></div><table><tbody id = "books"><tr align = "center"><td>Bookmaker</td><td>' + equipe1 +' gagne</td><td>Match nul</td><td>' + equipe2 +' gagne</td><td></td></tbody></table><a href = "javascript:newBook();">Ajouter un bookmaker</a><br /><br /><input type = "button" onclick = "javascript:calculate();" value = "Calculer" />';
		newBook();
	}
	else
		alert('Vous devez donner un nom à vos deux équipes !!');
		
}


function newBook()
{
	trNode = document.createElement('tr');
	trNode.align = 'center';
	trNode.id = "tr-" + nbBookmaker;
	tdNode = document.createElement('td');
	tdNode.innerHTML = '<input type = "text" id = "book-' + nbBookmaker + '" maxlength = "20" />';
	trNode.appendChild(tdNode);
	tdNode = document.createElement('td');
	tdNode.innerHTML = '<input type = "text" id = "equipe1-' + nbBookmaker + '" maxlength = "20" />';
	trNode.appendChild(tdNode);
	tdNode = document.createElement('td');
	tdNode.innerHTML = '<input type = "text" id = "nul-' + nbBookmaker + '" maxlength = "20" />';
	trNode.appendChild(tdNode);
	tdNode = document.createElement('td');
	tdNode.innerHTML = '<input type = "text" id = "equipe2-' + nbBookmaker + '" maxlength = "20" />';
	trNode.appendChild(tdNode);
	tdNode = document.createElement('td');
	tdNode.innerHTML = '<a href = "javascript:suppBook(\'' + nbBookmaker + '\');"><img src = "images/supp.gif" title = "Supprimer ce bookmaker" style = "border : none;" /></a>';
	trNode.appendChild(tdNode);
	
	document.getElementById('books').appendChild(trNode);
	listeBook[nbBookmaker] = 1;
	nbBookmaker++;
}

function suppBook(id)
{
	nb = 0;
	for(i in listeBook)
	{
		if(listeBook[i] == 1)
			nb++;
	}
		

	if(nb <= 1)
		alert("Impossible de supprimer le dernier bookmaker !");
	else
	{
		document.getElementById('books').removeChild(document.getElementById('tr-' + id));
		listeBook[id] = '';
	}
}

function validerForm()
{
	if(etat == 0)
		validerEquipe();
	else if(etat == 1)
		calculate();
}