// oddscalc.js - functions for an odds parlay calculator
// Copyright 2004, VegasInsider.com, Inc. All rights reserved.

// ckkfld - check validity of numeric field
//  input - form, field, flag (if 1, then only pos numbers allowed)
function chkfld(inform, infield, flag)
{
	// if any field changed, clear results
	inform.Winnings.value = '';
	// remove all blanks from field
	infield.value = infield.value.replace(/ /g,'');
	// if not number or under 0 with flag, set error
	if (isNaN(infield.value) ||
		(infield.value < 0 && flag))
	{
		infield.value = 'Error';
		return false;
	}
	else
	{
		// add + to number if user did not
		if (!flag && infield.value > 0 && infield.value.indexOf('+') == -1)
			infield.value = '+' + infield.value;
		return true;
	}
}

// calcFactor - calculate odds factor from the line
//  input - line (e.g. -110 or +240)
function calcFactor(line)
{
	var num = parseFloat(line);
	var fct = (num > 0) ? (num+100)/100 : (num < 0) ? (-num+100)/-num : 1 ;
	return fct;
}

// calcOdds - calc all odds and give resulting winnings	
//  input - form
function calcOdds(inform)
{
	if (!chkfld(inform,inform.Bet,1) || 
		!chkfld(inform,inform.Line1,0)||!chkfld(inform,inform.Line2,0)||
		!chkfld(inform,inform.Line3,0)||!chkfld(inform,inform.Line4,0)||!chkfld(inform,inform.Line5,0))
	{
		inform.Winnings.value = 'Error';
		return false;
	}
	var f1 = calcFactor(inform.Line1.value);
	var f2 = calcFactor(inform.Line2.value);
	var f3 = calcFactor(inform.Line3.value);
	var f4 = calcFactor(inform.Line4.value);
	var f5 = calcFactor(inform.Line5.value);

	var fact = f1 * f2 * f3 * f4 * f5;
	var w = inform.Bet.value * (fact - 1.0);
	// money, so use 2 dec places
	inform.Winnings.value = Math.round(w*100)/100;
	return true;
}