  var NUMBERS = [39, 47, 49, 55, 56];
  var pick1 = 5;
  var pick2 = 1;
  var numbers1 = 56;
  var numbers2 = 46;
  var cookie = null;
  var timer = null;
  var startTime = 0;
  var defaultTime = 0;
  var startColor = [0xA0, 0x00, 0];//[0xC0, 0x70, 0];
  var endColor = [0xFF, 0x30, 0x30];//[0xFF, 0x98, 0x30];    
  
  function setup() {
    for (var i = 1; i < 10; i++) {
    	var option = document.createElement("option");
    	option.innerHTML = i;
    	option.value = i;
    	$("Pick1").appendChild(option);
    	$("Pick2").appendChild(option.cloneNode(true));
    }
    
    var option = document.createElement("option");
    option.innerHTML = "<--";    
    option.value = 0;
   	$("NumbersSelect1").appendChild(option);
   	$("NumbersSelect2").appendChild(option.cloneNode(true));
    for (var i = 0; i < NUMBERS.length; i++) {
    	var option = document.createElement("option");
    	option.innerHTML = NUMBERS[i];
    	option.value = NUMBERS[i];
    	$("NumbersSelect1").appendChild(option);
    	$("NumbersSelect2").appendChild(option.cloneNode(true));    	
    }
   	$("NumbersSelect1").input = $("Numbers1");
   	$("NumbersSelect2").input = $("Numbers2");
    
    cookie = new Cookie("Lottery");
    var values = cookie.get();
    if (values) {
      values = eval("[" + values + "]");
      pick1 = values[0];
      numbers1 = values[1];
      pick2 = values[2];
      numbers2 = values[3];
    }
    $("Pick1").value = pick1;
    $("Pick2").value = pick2;
    $("Numbers1").value = numbers1;
    $("Numbers2").value = numbers2;
    $("Numbers1").picks = $("Pick1");
    $("Numbers2").picks = $("Pick2");;
    
    setTimeout(function() {window.scrollTo(0, 1)}, 1);
  }
  
  function draw1(nr) {
    $("Results1").style.display = "none";
    pick1 = parseInt($("Pick1").value);
    var numbers = checkInput($("Numbers1"));
    if (numbers < 0) {
      return;
    }
    numbers1 = numbers;
    $("Numbers1").style.border = null;
    $("Results1").style.display = "block";
    var draws = draw(pick1, numbers1);
    $("Draws1").innerHTML = draws[0];
    for (var i = 1; i < draws.length; i++) {
    	$("Draws1").innerHTML += ", " + draws[i]
    }
    save();
  }
  
  function draw2() {
    $("Results2").style.display = "none";
    pick2 = parseInt($("Pick2").value);
    var numbers = checkInput($("Numbers2"));
    if (numbers < 0) {
      return;
    }
    numbers2 = numbers;
    $("Numbers2").style.border = null;
    $("Results2").style.display = "block";
    var draws = draw(pick2, numbers2);
    $("Draws2").innerHTML = draws[0];
    for (var i = 1; i < draws.length; i++) {
    	$("Draws2").innerHTML += ", " + draws[i]
    }
    save();
  }
  
  function draw(picks, numbers) {
    var results = new Array();
    while (results.length < picks) {
    	var pick = Math.ceil(Math.random() * numbers);
    	var pos = results.length;
    	for (var j = 0; j < results.length; j++) {
    		if (pick == results[j] || pick > numbers) {
    		  pick = -1;
    		  break;
    		}
    		if (pick < results[j]) {
    		  pos = j;
    		  break;
    		}
    	}
    	if (pick < 0) {
    	  continue;
    	}
    	if (pos == results.length) {
    	  results.push(pick);
    	}
    	else {
    	  results.splice(pos, 0, pick);
    	}
    }
    return results;
  }
  
  function checkInput(input) {
    var numbers = parseInt(input.value);
    if (isNaN(numbers) || numbers <= parseInt(input.picks.value)) {
      input.style.border = "2px red solid";
      input.focus();
      return -1;
    }
    input.style.border = null;
    return numbers;
  }
  
  function numbersSelected(select) {
    var value = parseInt(select.value);
    if (value == 0) {
      return;
    }  
    select.input.value = value;
    select.selectedIndex = 0;
  }
  
  function save() {
    var values = "" + pick1 + "," + numbers1 + "," + pick2 + "," + numbers2;
    cookie.store(values);
  }
  
  function tick() {
    if (!timer) {
      return;
    }
    now = new Date().getTime();
    var factor = (1 - Math.cos((now - startTime) / 300)) / 2;
    var color = 0;
    var shift = 1;
    for (var i = 2; i >= 0; i--) {
      color += shift * parseInt((startColor[i] + (endColor[i] - startColor[i]) * factor));
      shift *= 256;
    }
    color = parseInt(color);
    $("PauseButton").style.backgroundColor = "#" + color.toString(16);
      
    var time = defaultTime - (now - startTime) / 1000;
    if (time <= 0) {
      updateTime(0);
      $("StartButton").style.display = "none";    
      $("PauseButton").style.display = "none";
      return;          
    }
    updateTime(time);
    timer = window.setTimeout(tick, 100);    
  }
  
  function $(id) {
    return document.getElementById(id);
  } 
  
  function tellFriend() {
    var body = "Hi,<br><br>I just stumbled upon this iPhone Lottery application:" +
        "<br><br>http://lottery.speedymarks.com<br><br>" +
        "Helps to find true random picks for lotteries to higher the winning price." +
        "<br><br>Best regards";
    window.open("mailto:?subject=Lottery on the iPhone&body=" + body, "_self");  
  }

  function debug(msg) {
    var e = document.getElementById("Debug");
    e.innerHTML += msg + "<br>";
  }
