Hello,
Somebody made a compare script for me, but it is working like it should be, because I a was little unclear, the code doesn't totally do how I like to have it.
Please take a look at this website, this will explain more then thousand words
The function of this website is checking the lotto/bingo numbers, Each draw day (1 and 2) should be compared with all the people who are playing. Some of the numbers are green, but not all the numbers are green which should be green because they match with some numbers in the players list. Again, it was my own fault because I wasn't clear enough. Can somebody please tell me what part should be replaced or edited to have it check all the numbers within the DRAW var instead it checks only the latest added var DRAW?
http://www.coldcharlie.nl/lotto/
This is the function part.
function checkArray(guesses, draw) {
var results = {}
for (var i = 0; i< guesses.length; ++i) {
if (draw.picks[guesses[i]]) {
results[guesses[i]] = 'win';
} else {
results[guesses[i]] = 'loss';
}
}
return results;
}
function appendTo(elt, parent) {
if (parent) {
document.getElementById(parent).appendChild(elt);
} else {
document.body.appendChild(elt);
}
}
function printResults(name, winloss, parent) {
var resultElt = document.createElement('div');
resultElt.appendChild(document.createElement('span'));
resultElt.firstChild.appendChild(document.createTextNode(name));
resultElt.firstChild.className='name';
var picks = document.createElement('ol');
picks.className='picks';
for (var p in winloss) {
picks.appendChild(document.createElement('li'));
picks.lastChild.appendChild(document.createTextNode(p));
picks.lastChild.className = winloss[p];
}
resultElt.appendChild(picks);
appendTo(resultElt, parent);
}
function printResultsFor(name, draw, parent) {
printResults(name, checkArray(players[name], draw), parent);
}
function printDraw(which, draw, parent) {
var drawElt = document.createElement('div');
drawElt.className='draw';
drawElt.appendChild(document.createElement('h3'));
drawElt.lastChild.appendChild(document.createTextNode('Draw '+which));
drawElt.lastChild.className='drawNum';
drawElt.appendChild(document.createElement('div'));
drawElt.lastChild.className='date';
drawElt.lastChild.appendChild(document.createTextNode(draw.when));
var picks = document.createElement('ol');
picks.className='picks';
for (var p in draw.picks) {
picks.appendChild(document.createElement('li'));
picks.lastChild.appendChild(document.createTextNode(p));
}
drawElt.appendChild(picks);
appendTo(drawElt, parent);
}
This is the HTML part
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: white;
background-color: #333;
}
.name {
color: white;
font-weight: bold;
margin-right: 0.5em;
}
.picks, .picks * {
display: inline;
margin: 0;
padding: 0;
list-style-type: none;
}
.picks * {
margin: auto 0.25em;
}
.win { color: lime; }
.loss { color: red; }
.drawNum, #Draws H3 {
margin-bottom: 0;
}
</style>
<script type="text/javascript" src="lotto.js"></script>
</head>
<body>
<div id="Results"></div>
<div id="Draws"></div>
<script type="text/javascript">
var players = {John: ["2","3","8","12","23", "37", "41", "45", "48"],
Michael: ["2","14","3","12","24", "37", "41", "46", "48"]};
var draws = [ {when: 'Sat 08-08-2009',
picks:{2:1, 5:1, 11:1, 16:1, 23:1, 45:1, 46:1}},
{when: 'Sat 15-08-2009',
picks:{1:1, 23:1, 11:1, 14:1, 23:1, 42:1, 46:1}}];
draws.last = draws[draws.length-1];
for (name in players) {
printResultsFor(name, draws.last, 'Results');
}
for (var i=0; i<draws.length; ++i) {
printDraw(i+1, draws[i]);
}
</script>
</body>
</html>