var MAX_BET_AMOUNT = 16383.5;
var MAX_BET_AMOUNT_STRING = "$16,383.50";

var MAX_FLEXI_PRODUCT_BET_AMOUNT = 99999.99;
var MAX_FLEXI_PRODUCT_BET_AMOUNT_STRING = "$99,999.99";
//----------------------------------------------------------------------------
function checkBetCost()
{
  var cellValue;
  var amount = new Number(0);
  var isValidEntry = true;

  clearDisplayedErrors();

  //
  // Bet values must be whole or half dollar amounts
  //
  for ( var i = 0; i < betControlArray.length; i++ )
  {
    cellValue = new Number( eval( "document.forms[0].elements['" + betControlArray[i] + "'].value" ) );
    
    if( checkAmount(cellValue)) {
      amount = amount + cellValue
    }
    else {
      isValidEntry = false;
      break;
    }
  }
  
  if( isValidEntry  )
  {
    alert('BetCost = $' + amount);
  }
}

//----------------------------------------------------------------------------
function checkAmount(value, flexiBetProduct) {
  var result = true;
  
  if( isValidAmount(value) == false ) {
    result = false;
    displayError('An invalid investment was entered. Please use whole or half dollar amounts.');
  }
  else if ((flexiBetProduct == null) && ( value > MAX_BET_AMOUNT )) {
    result = false;
    displayError( 'The investment you have entered is too large. The maximum bet amount is ' + MAX_BET_AMOUNT_STRING + '.' );
  }
  else if ((flexiBetProduct != null) && ( value > MAX_FLEXI_PRODUCT_BET_AMOUNT )) {
    result = false;
    displayError( 'The investment you have entered is too large. The maximum bet amount is ' + MAX_FLEXI_PRODUCT_BET_AMOUNT_STRING + '.' );
  }
  else if( value < 0 ) {
    result = false;
    displayError( 'The investment must be greater than 0.' );
  }
  return result;
}

//----------------------------------------------------------------------------
function isValidAmount( value )
{
  var result = true;
  
  if(( isNaN(value) ) || (value % 0.5 != 0 ))
  {
    result = false;
  }
  
  return result;
}

//----------------------------------------------------------------------------
function validateWinPlaceAmounts(flexiBetProduct)
{
  var result = true;
 
  var winValue = 0;
  var placeValue = 0;
 
  clearDisplayedErrors();

  if( document.forms[0].elements['betControl_winTextBox'] ) {
    winValue = new Number( eval( "document.forms[0].elements['betControl_winTextBox'].value" ) );
  }
  
  if( document.forms[0].elements['betControl_placeTextBox'] ) {
    placeValue = new Number( eval( "document.forms[0].elements['betControl_placeTextBox'].value" ) );
  }
       
  if(( checkAmount(winValue,flexiBetProduct) == false ) || ( checkAmount(placeValue,flexiBetProduct) == false )) {
    result = false;
  }

  return result;
}

var betControlArray;
var betCostWin = null;

//----------------------------------------------------------------------------
function OpenBetCostWindow(aUrl)
{
  if(( betCostWin == null ) || ( betCostWin.closed ))
  {
    betCostWin = openBetCostWin(aUrl, 'BetCost');
  }
  else
  {
    betCostWin.refresh();
    betCostWin.focus();
  }
}

var __bvt = "betControl_betValuesTable";
var __wtbn = "betControl_winTextBox";
var __wcbp = "wu";
var __ptbn = "betControl_placeTextBox";
var __pcbp = "pu";

//----------------------------------------------------------------------------
function WinTextBoxOnChange(element)
{
  ClearBetCheckboxes(element.form, "wu");
}
//----------------------------------------------------------------------------
function PlaceTextBoxOnChange(element)
{
  ClearBetCheckboxes(element.form, "pu");
}
//----------------------------------------------------------------------------
function WinCBClick()
{
  var value = 0.0;
  if( document.getElementById(__wcbp + "0").checked ) { value += 0.5; }
  if( document.getElementById(__wcbp + "1").checked ) { value += 1; }
  if( document.getElementById(__wcbp + "2").checked ) { value += 2; }
  if( document.getElementById(__wcbp + "3").checked ) { value += 3; }
  if( document.getElementById(__wcbp + "4").checked ) { value += 4; }
  if( document.getElementById(__wcbp + "5").checked ) { value += 5; }
  if( document.getElementById(__wcbp + "6").checked ) { value += 10; }
  if( document.getElementById(__wcbp + "7").checked ) { value += 20; }
  if( document.getElementById(__wcbp + "8").checked ) { value += 100; }
  if( document.getElementById(__wcbp + "9").checked ) { value = value * 10; }
  if( document.getElementById(__wcbp + "10").checked ) { value = value * 100; }
  document.getElementById(__wtbn).value = value;
}
//----------------------------------------------------------------------------
function PlaceCBClick()
{
  var value = 0.0;
  if( document.getElementById(__pcbp + "0").checked ) { value += 0.5; }
  if( document.getElementById(__pcbp + "1").checked ) { value += 1; }
  if( document.getElementById(__pcbp + "2").checked ) { value += 2; }
  if( document.getElementById(__pcbp + "3").checked ) { value += 3; }
  if( document.getElementById(__pcbp + "4").checked ) { value += 4; }
  if( document.getElementById(__pcbp + "5").checked ) { value += 5; }
  if( document.getElementById(__pcbp + "6").checked ) { value += 10; }
  if( document.getElementById(__pcbp + "7").checked ) { value += 20; }
  if( document.getElementById(__pcbp + "8").checked ) { value += 100; }
  if( document.getElementById(__pcbp + "9").checked ) { value = value * 10; }
  if( document.getElementById(__pcbp + "10").checked ) { value = value * 100; }
  document.getElementById(__ptbn).value = value;
}
//----------------------------------------------------------------------------
function ClearBetCheckboxes(aForm, aName)
{
  for ( var i = 0; i < aForm.elements.length; i++ )
  {
    element = aForm.elements[i];
    if ( element.id.indexOf( aName ) != -1 )
    {
      element.checked = false;
    }
  }
}

var BET_UNITS = new Array();
    BET_UNITS[0] = "50c";
    BET_UNITS[1] = "1";
    BET_UNITS[2] = "2";
    BET_UNITS[3] = "3";
    BET_UNITS[4] = "4";
    BET_UNITS[5] = "5";
    BET_UNITS[6] = "10";
    BET_UNITS[7] = "20";
    BET_UNITS[8] = "100";
    BET_UNITS[9] = "x10";
    BET_UNITS[10] = "x100";
                  
var winChecked = new Array();
    winChecked[0] = false;
    winChecked[1] = false;
    winChecked[2] = false;
    winChecked[3] = false;
    winChecked[4] = false;
    winChecked[5] = false;
    winChecked[6] = false;
    winChecked[7] = false;
    winChecked[8] = false;
    winChecked[10] = false;

var placeChecked = new Array();
    placeChecked[0] = false;
    placeChecked[1] = false;
    placeChecked[2] = false;
    placeChecked[3] = false;
    placeChecked[4] = false;
    placeChecked[5] = false;
    placeChecked[6] = false;
    placeChecked[7] = false;
    placeChecked[8] = false;
    placeChecked[10] = false;

//------------------------------------------------------------------------
function AddWinPlaceBetChecks(isIncludePlaceChecks)
{
  var table;
  var newRow;
  var newCell;
  var index;
  var isCheckedString;
  
  table = document.getElementById(__bvt);
  if( table != null )
  {
    for( index = 0; index < 11; index++ )
    {
      if( winChecked[index] )
      {
        isCheckedString = " checked=true";
      }
      else
      {
        isCheckedString = "";
      }
      newRow = AppendRowToTable( table ); 
      newCell = newRow.insertCell(0);
      newCell.innerHTML = "<input id=\"wu" + index + "\" name=\"wu" + index + "\" type=\"checkbox\" onclick=\"WinCBClick();\"" + isCheckedString + "/>" + BET_UNITS[index];
      if( isIncludePlaceChecks )
      {
        if( placeChecked[index] )
        {
          isCheckedString = " checked=true";
        }
        else
        {
          isCheckedString = "";
        }
        newCell = newRow.insertCell(1);
        newCell.innerHTML = "<input id=\"pu" + index + "\" name=\"pu" + index + "\" type=\"checkbox\" onclick=\"PlaceCBClick();\"" + isCheckedString + "/>" + BET_UNITS[index];
      }
    }
  }
}

//------------------------------------------------------------------------
function SetContestDropList(aToteUrl, selectedContestNumber, allContestNumbers)
{
  var span;
  var select;
  var contests;
  var index;
  
  span = document.getElementById("spanHideRaceNo_0011");
  if( span != null )
  {
    contests = allContestNumbers.split(",");
    select = "<select onChange='location=\"" + aToteUrl + "\" + this.options[this.selectedIndex].value;'>";    
    for( index = 0; index < contests.length; index++ )
    {
      select += "<option";
      if( contests[index] == selectedContestNumber )
      {
        select += " selected=true";
      }
      select += " value=\"" + contests[index] + "\">" + contests[index] + "</option>";
    }
    select += "</select>";

    span.innerHTML = select;
  }
}