Bet

Bet

by Mingtao Sun

HTML

<h2>Bonus bet</h2>
<div id="bonus-bet-div">
  Turnover loss rate% <input id="turnover-loss" value="2"/>  
  Bonus odds <input id="bonus-odds" /> 
  Real odds <input id="real-odds" />
  Lay <input type=checkbox id="lay"/>
  Commission% <input id="commission" value="5"/> 
  Bonus bet <input id="bonus-bet" value="100"> <br/>
  Converstion rate: <span id="convert-rate"></span> <br/>
  Real money to bet: <span id="real-money"></span> <br/>
  Profit: <span id="profit"></span> <br/>
  Liability: <span id="liability"></span>
</div>
<hr/>
<h2>Turnover</h2>
<div id="turnover-div">
  Odds 1 <input id="odds1" /> 
  Real money 1 <input id="turnover-real-money-1" value="200"/>
  Odds 2 <input id="odds2" />
  Lay <input type=checkbox id="turnover-lay"/>
  Commission% <input id="turnover-commission" value="0"/>
  Bonus profit% <input id="bonus-profit" value="0"/> <br/>
  Real money to bet: <span id="turnover-real-money-display"></span> <br/>
  Liability: <span id="turnover-liability"></span> <br/>
  <span id='loss-label'>Loss:</span> <span id="turnover-loss-money"></span> <br/>
  <span id='loss-rate-label'>Loss rate:</span> <span id="turnover-loss-rate"></span> <br/>
</div>
<h2>Turnover 3 way</h2>
<div id="turnover-3-way-div">
  Odds 1.1 <input id="odds1-1" /> 
  Real money 1.1 <input id="turnover-real-money-1-1" value="200"/>
  Odds 1.2 <input id="odds1-2" /> 
  Real money 1.2 <input id="turnover-real-money-1-2" value="20"/> <br/>
  Odds 2 <input id="odds2-1" /> <br/>
  Real money to bet: <span id="turnover-real-money-display-3-way"></span> <br/>
  <span id='loss-label'>Loss:</span> <span id="turnover-loss-money-3-way"></span> <br/>
  <span id='loss-rate-label'>Loss rate:</span> <span id="turnover-loss-rate-3-way"></span> <br/>
</div>

JavaScript

$(function($){
	$('#bonus-bet-div input').focusout(function(){
  	calculateBonusBet();
  });
  $('#lay').click(function(){
  	calculateBonusBet();
  });
  $('#turnover-div input').focusout(function(){
  	calculateTurnover();
  });
  $('#turnover-lay').click(function(){
  	calculateTurnover();
  });
  $('#turnover-3-way-div input').focusout(function(){
  	calculateTurnover3Way();
  });
});

function calculateTurnover3Way(){
	var odds11 = $('#odds1-1').val();
  var odds12 = $('#odds1-2').val();
  var odds2 = $('#odds2-1').val();
  var realMoney11 = $('#turnover-real-money-1-1').val();
  var realMoney12 = $('#turnover-real-money-1-2').val();
  if ($.isNumeric(odds11) && $.isNumeric(odds12) && $.isNumeric(odds2) && $.isNumeric(realMoney11) && $.isNumeric(realMoney12)){
  	var realMoneyToBet = (realMoney11 * odds11 + realMoney12 * odds12) / odds2;
    $('#turnover-real-money-display-3-way').html(realMoneyToBet.toFixed(2));
    var loss1 = realMoneyToBet * (odds2 - 1) - realMoney11 - realMoney12;
    var loss2= realMoney11 * (odds11 - 1) + realMoney12 * (odds12 - 1) - realMoneyToBet;
    console.assert(Math.abs(loss1 - loss2) < 0.0001, 'loss1 not equal to loss2');
    var lossRate = loss1 / (realMoney11 * 1.0 + realMoneyToBet * 1.0 + realMoney12 * 1.0);
    $('#turnover-loss-money-3-way').html(loss1.toFixed(2)); 
    $('#turnover-loss-rate-3-way').html((lossRate*100).toFixed(2)+'%'); 
  }
}

function calculateTurnover(){
	var odds1 = $('#odds1').val();
  var odds2 = $('#odds2').val();
  var realMoney1 = $('#turnover-real-money-1').val();
  var isLay = $('#turnover-lay').is(":checked");
  var commission = $('#turnover-commission').val();
  var bonusProfit = $('#bonus-profit').val();
  if ($.isNumeric(odds1) && $.isNumeric(odds2) && $.isNumeric(realMoney1) && $.isNumeric(commission) && $.isNumeric(bonusProfit)){	
  	if (!isLay){
      odds2 = 1 + (odds2 - 1) * (1 + bonusProfit / 100);
    	var realMoneyToBet = realMoney1 * odds1 / (odds2 * 1.0 + (1 - odds2) * commission...