|
↑
Calculators >>>
Computes the average cost base (or cost per share) for a series of stock or mutual fund purchases. When a sale is entered, the capital gain (or loss) is calculated.
Add the below code to the <body> section of your page:
<script
language="javascript"
type="text/javascript">
var
tot_units =
0;
var
tot_cost =
0;
function
acbCalc(acbForm)
{
with
(acbForm)
{
if
(!unitsnum.value
||
isNaN(unitsnum.value)
||
!unitscost.value
||
isNaN(unitscost.value)
)
{
alert("Please
re-enter the units and cost amounts again.");
return;
}
else
{
if
(saletype[0].checked)
{
CapGain.value
=
"";
tot_units
+=
unitsnum.value*1;
total_units.value
=
tot_units;
tot_cost
+=
(unitsnum.value*1)
*
(unitscost.value*1);
total_cost.value
=
d_places(tot_cost,
4);
acb.value
=
d_places(tot_cost/tot_units,
4);
CapGain.value
=
"-- sales only --";
}
else
{
if
((unitsnum.value*-1
+
tot_units*1)
>=
0)
{
tot_units
-=
unitsnum.value;
total_units.value
=
tot_units;
tot_cost
=
tot_units *
acb.value;
total_cost.value
=
d_places(tot_cost,
4);
CapGain.value
=
d_places(unitsnum.value*(unitscost.value
-
acb.value),
2);
}
else
{
alert("You
don't have that many units to sell.");
return;
}
}
}
}
function
d_places(n,p)
{
var
factor =
1;
var
ans =
0;
var
j =
0;
for
(j
=
1;
j <=
p;
j++)
factor
=
factor *
10.0;
ans
=
(Math.round((n
+
0.05
/
(factor)
)
*
factor))
/
factor;
return
ans;
}
}
</script>
<center>
<form>
<table
border=1
cellpadding=5
cellspacing=0><tr><td>
<table>
<th
colspan=2>Adjusted
Cost Base Calculator<p></th>
<tr>
<td># of Units</td>
<td><input
type=text
name=unitsnum
size=15
maxlength=10></td>
</tr>
<tr>
<td>Cost per Unit</td>
<td><input
type=text
name=unitscost
size=15
maxlength=10></td>
</tr>
<tr>
<td>Transaction Type</td>
<td><input
type=radio
name=saletype
value="1"
checked>Bought
<br><input
type=radio
name=saletype
value="-1">Sold
</td>
</tr>
<tr>
<td
colspan=2
align=center><input
type=button
value="Add
This Transaction"
onClick="acbCalc(this.form);"></td>
</tr>
<tr>
<td>Total Units</td>
<td><input
type=text
name=total_units
size=15
readonly></td>
</tr>
<td>Total Cost</td>
<td><input
type=text
name=total_cost
size=15
maxlength=10
readonly></td>
</tr>
<tr>
<td>Adjusted Base Cost</td>
<td><input
type=text
name=acb
size=15
readonly></td>
</tr>
<tr>
<td>Gain or Loss</td>
<td><input
type=text
name=CapGain
size=15
maxlength=20
readonly></td>
</tr>
</table>
</td></tr></table>
</form>
</center>
|
↓
|