Revision: 2376
Updated Code
at February 5, 2007 11:47 by zhernovoi
Updated Code
<html><head><title>Test</title>
<script type="text/javascript">
// Metal Market Price *config*
var Gold = 657.00;
var Silver = 11;
var Platinum = 12;
var Palladium = 13;
var Rhodium = 14;
var Aluminium = 20;
var Copper = 21;
var Nickel = 22;
var Lead = 23;
var Zinc = 24;
//Currency prefix
var currencyPrefix = '$';
var cp = currencyPrefix;
//Metal Market Price with currency prefix
Gold2 = Gold + cp;
Silver2 = Silver + cp;
Platinum2 = Platinum + cp;
Palladium2 = Palladium + cp;
Rhodium2 = Rhodium + cp;
Aluminium2 = Aluminium + cp;
Copper2 = Copper + cp;
Nickel2 = Nickel + cp;
Lead2 = Lead + cp;
Zinc2 = Zinc + cp;
// Convert Values *config*
var gramsPerTonne = 1000000;
var gramsPerOunces = 31.1034768;
var lbPerTonne = 2204.6226218;
var ozPerTonne = gramsPerTonne / gramsPerOunces;
// Prefix and String *config*
var valuePrefix = 'value';
var unitPrefix = '/tonne';
var up = unitPrefix;
var invalideValue = 'N/A';
// Setting - cookie seperator
var PARA_SPRT = '_';
// Main variables
var subTotalPrecious = 0;
var subTotalBase = 0;
var totalMetal = 0;
var singleMetal = 0;
var defaultValue = cp + '0,00 ' + up;
var totalGold = 0;
var totalSilver = 0;
var totalPlatinum = 0;
var totalPalladium = 0;
var totalRhodium = 0;
var totalAluminium = 0;
var totalCopper = 0;
var totalNickel = 0;
var totalLead = 0;
var totalZinc = 0;
function CurrencyFormatted(amount)
{
var i = parseFloat(amount);
if(isNaN(i)) { i = 0.00; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
i = parseInt((i + .005) * 100);
i = i / 100;
s = new String(i);
if(s.indexOf('.') < 0) { s += '.00'; }
if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
s = minus + s;
return s;
}
function CommaFormatted(amount)
{
var delimiter = ",";
var a = amount.split('.',2)
var d = a[1];
var i = parseInt(a[0]);
if(isNaN(i)) { return ''; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
var n = new String(i);
var a = [];
while(n.length > 3)
{
var nn = n.substr(n.length-3);
a.unshift(nn);
n = n.substr(0,n.length-3);
}
if(n.length > 0) { a.unshift(n); }
n = a.join(delimiter);
if(d.length < 1) { amount = n; }
else { amount = n + '.' + d; }
amount = minus + amount;
return amount;
}
// function CommaFormatted()
// end of function CurrencyFormatted()
function UpdateElement(getId, string)
{
document.getElementById(getId).innerHTML = string;
}
// end of function UpdateElement()
function ValueCalculating(getValue,getId,isPrec)
{
var getInsert;
switch (getId)
{
//Precious Metals
case "GoldTotal" : getInsert = totalGold; break;
case "SilverTotal" : getInsert = totalSilver; break;
case "PlatinumTotal" : getInsert = totalPlatinum; break;
case "PalladiumTotal" : getInsert = totalPalladium; break;
case "RhodiumTotal" : getInsert = totalRhodium; break;
//Base Metals
case "AluminiumTotal" : getInsert = totalAluminium; break;
case "CopperTotal" : getInsert = totalCopper; break;
case "NickelTotal" : getInsert = totalNickel; break;
case "LeadTotal" : getInsert = totalLead; break;
case "ZincTotal" : getInsert = totalZinc; break;
}
//document.getElementById(getId).innerHTML = cp + getValue + ' ' + up; //insert the new value
// alert (document.getElementById(getId).innerHTML); //test
if(isNaN(getValue) | getValue < 0)
{
switch (getId)
{
//Precious Metals
case "GoldTotal" : totalGold = 0; break;
case "SilverTotal" : totalSilver = 0; break;
case "PlatinumTotal" : totalPlatinum = 0; break;
case "PalladiumTotal" : totalPalladium = 0; break;
case "RhodiumTotal" : totalRhodium = 0; break;
//Base Metals
case "AluminiumTotal" : totalAluminium = 0; break;
case "CopperTotal" : totalCopper = 0; break;
case "NickelTotal" : totalNickel = 0; break;
case "LeadTotal" : totalLead = 0; break;
case "ZincTotal" : totalZinc = 0; break;
}
if(isNaN(getValue))
{
UpdateElement(getId, invalideValue);
}
else
{
UpdateElement(getId, cp + '0.00 ' + up);
}
subTotalPrecious = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium;
subPreIn = CurrencyFormatted(subTotalPrecious);
subPreIn = CommaFormatted(subPreIn);
subTotalBase = totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Base Metal Total
subBaseIn = CurrencyFormatted(subTotalBase);
subBaseIn = CommaFormatted(subBaseIn);
totalMetal = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium + totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Metal Total
totalIn = CurrencyFormatted(totalMetal);
totalIn = CommaFormatted(totalIn);
UpdateElement("subTotalPre", cp + subPreIn + up);
UpdateElement("subTotalBase", cp + subBaseIn + up);
UpdateElement("totalMetal", cp + totalIn + up);
}
else
{
getValue = parseFloat(getValue); //convert string to number
switch (getId)
{
//Precious Metals
case "GoldTotal" : totalGold = getValue; getInsert = totalGold; break;
case "SilverTotal" : totalSilver = getValue; getInsert = totalSilver; break;
case "PlatinumTotal" : totalPlatinum = getValue; getInsert = totalPlatinum; break;
case "PalladiumTotal" : totalPalladium = getValue; getInsert = totalPalladium; break;
case "RhodiumTotal" : totalRhodium = getValue; getInsert = totalRhodium; break;
//Base Metals
case "AluminiumTotal" : totalAluminium = getValue; getInsert = totalAluminium; break;
case "CopperTotal" : totalCopper = getValue; getInsert = totalCopper; break;
case "NickelTotal" : totalNickel = getValue; getInsert = totalNickel; break;
case "LeadTotal" : totalLead = getValue; getInsert = totalLead; break;
case "ZincTotal" : totalZinc = getValue; getInsert = totalZinc; break;
}
if (isPrec)
{
subTotalPrecious = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium; //update the Precious Metal Total
//alert(subTotalPrecious); //test
calcTotalPre = CurrencyFormatted(subTotalPrecious);
calcTotalPre = CommaFormatted(calcTotalPre);
calcTotalPre = cp + calcTotalPre + ' ' + up; //formate the string to update
// alert(calcTotalPre); //test
UpdateElement("subTotalPre", calcTotalPre); //update the output
}
else
{
subTotalBase = totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Base Metal Total
//alert(subTotalBase); //test
calcTotalBase = CurrencyFormatted(subTotalBase);
calcTotalBase = CommaFormatted(calcTotalBase);
calcTotalBase = cp + calcTotalBase + ' ' + up; //formate the string to update
//alert(calcTotalBase); //test
UpdateElement("subTotalBase", calcTotalBase); //update the output
}
totalMetal = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium + totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Metal Total
//alert(totalMetal); //test
calcTotalMetal = CurrencyFormatted(totalMetal);
calcTotalMetal = CommaFormatted(calcTotalMetal);
calcTotalMetal = cp + calcTotalMetal + ' ' + up; //formate the string to update
// alert(calcTotalMetal); //test
UpdateElement("totalMetal", calcTotalMetal); //update the otput
getInsert = CurrencyFormatted(getInsert);
getInsert = CommaFormatted(getInsert);
UpdateElement(getId, cp + getInsert + ' ' + up)
}
}
function GetRockValue(itemId, amount, price, isPrec)
{
var valuePerTonne;
var percentage;
if (isPrec)
valuePerTonne = price * ozPerTonne;
else
valuePerTonne = price * lbPerTonne;
if (itemId == "percenatge" )
{
if (amount > 100) return -1;
percentage = amount/100;
}
else if(itemId == "oz")
{
if (amount > ozPerTonne) return -1;
percentage = amount / ozPerTonne;
}
else if(itemId == "lb")
{
if (amount > lbPerTonne) return -1;
percentage = amount / lbPerTonne;
}
else if(itemId == "grams")
{
if (amount > gramsPerTonne) return -1;
percentage = amount / gramsPerTonne;
}
else
percentage = 0;
value = valuePerTonne * percentage;
return value;
}
//end of function GetRockValue()
function GetAmountValue(itemId)
{
var rockValue = document.getElementById(itemId).getAttribute("value");
var rockValue = document.getElementById(itemId).value;
rockValue = parseFloat(rockValue);
//alert("4_" + rockValue);
return rockValue;
}
//end of function GetAmountValue()
function GetConvertValue(itemId)
{
var convertValue = document.getElementById(itemId).getAttribute("value");
var convertValue = document.getElementById(itemId).value;
//alert("5_" + convertValue);
return convertValue;
}
//end of function GetConvertValue()
function Calculate(getId,isPrec)
{
var amountText = "Amount";
//var amountId = getId.amountText;
var amountId = getId + amountText;
//alert("1_" + amountId);
var totalMetalId = getId + "Total";
//alert("2_" + totalMetalId);
var convertId = getId + "Convert";
//alert("3_" + convertId);
var amount = GetAmountValue(amountId);
//alert("6_" + amount);
var convert = GetConvertValue(convertId);
//alert("7_" + convert);
var valueId;
switch (getId)
{
//Precious Metals
case "Gold" : valueId = Gold; break;
case "Silver" : valueId = Silver; break;
case "Platinum" : valueId = Platinum; break;
case "Palladium" : valueId = Palladium; break;
case "Rhodium" : valueId = Rhodium; break;
//Base Metals
case "Aluminium" : valueId = Aluminium; break;
case "Copper" : valueId = Copper; break;
case "Nickel" : valueId = Nickel; break;
case "Lead" : valueId = Lead; break;
case "Zinc" : valueId = Zinc; break;
}
if (isPrec)
{
var insert = GetRockValue(convert, amount, valueId, true);
//alert("8_" + insert);
if(isNaN(amount) || insert < 0)
{
ValueCalculating(invalideValue,totalMetalId,isPrec);
}
else
{
ValueCalculating(insert,totalMetalId,isPrec);
}
}
else
{
var insert = GetRockValue(convert, amount, valueId, false);
//alert("9_" + insert);
if(isNaN(amount) || insert < 0)
{
ValueCalculating(invalideValue,totalMetalId,isPrec);
}
else
{
ValueCalculating(insert,totalMetalId,isPrec);
}
}
}
function CalculateGold(){Calculate("Gold",true);}
function CalculateSilver(){Calculate("Silver",true);}
function CalculatePlatinum(){Calculate("Platinum",true);}
function CalculatePalladium(){Calculate("Palladium",true);}
function CalculateRhodium(){Calculate("Rhodium",true);}
function CalculateAluminium(){Calculate("Aluminium",false);}
function CalculateCopper(){Calculate("Copper",false);}
function CalculateNickel(){Calculate("Nickel",false);}
function CalculateLead(){Calculate("Lead",false);}
function CalculateZinc(){Calculate("Zinc",false);}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="600" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="71">Metal</td>
<td width="163">Amount</td>
<td width="88">Units/Weight</td>
<td colspan="2">Metal Market Price</td>
<td width="128">Value of the Rock</td>
</tr>
<tr>
<td colspan="6">Precious Metals</td>
</tr>
<tr>
<td>Gold</td>
<td><input type="text" id="GoldAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateGold()"></td>
<td><select id="GoldConvert" onChange="javascript:CalculateGold()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Gold + cp);</script></td>
<td width="91">/oz</td>
<td id="GoldTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Silver</td>
<td><input type="text" id="SilverAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateSilver()"></td>
<td><select id="SilverConvert" onChange="javascript:CalculateSilver()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Silver + cp);</script></td>
<td width="91">/oz</td>
<td id="SilverTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<tr>
<td>Platinum</td>
<td><input type="text" id="PlatinumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculatePlatinum()"></td>
<td><select id="PlatinumConvert" onChange="javascript:CalculatePlatinum()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Platinum + cp);</script></td>
<td width="91">/oz</td>
<td id="PlatinumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<tr>
<td>Palladium</td>
<td><input type="text" id="PalladiumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculatePalladium()"></td>
<td><select id="PalladiumConvert" onChange="javascript:CalculatePalladium()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Palladium + cp);</script></td>
<td width="91">/oz</td>
<td id="PalladiumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Rhodium</td>
<td><input type="text" id="RhodiumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateRhodium()"></td>
<td><select id="RhodiumConvert" onChange="javascript:CalculateRhodium()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Rhodium + cp);</script></td>
<td width="91">/oz</td>
<td id="RhodiumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td colspan="5">Precious Metal Sub-total >></td>
<td><div id="subTotalPre"><script type="text/javascript"> document.writeln(defaultValue);</script></div></td>
</tr>
<tr>
<td colspan="6">Base Metals</td>
</tr>
<tr>
<tr>
<td>Aluminium</td>
<td><input type="text" id="AluminiumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateAluminium()"></td>
<td><select id="AluminiumConvert" onChange="javascript:CalculateAluminium()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Aluminium + cp);</script></td>
<td width="91">/lb</td>
<td id="AluminiumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Copper</td>
<td><input type="text" id="CopperAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateCopper()"></td>
<td><select id="CopperConvert" onChange="javascript:CalculateCopper()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Copper + cp);</script></td>
<td width="91">/lb</td>
<td id="CopperTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Nickel</td>
<td><input type="text" id="NickelAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateNickel()"></td>
<td><select id="NickelConvert" onChange="javascript:CalculateNickel()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Nickel + cp);</script></td>
<td width="91">/lb</td>
<td id="NickelTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Lead</td>
<td><input type="text" id="LeadAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateLead()"></td>
<td><select id="LeadConvert" onChange="javascript:CalculateLead()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Lead + cp);</script></td>
<td width="91">/lb</td>
<td id="LeadTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Zinc</td>
<td><input type="text" id="ZincAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateZinc()"></td>
<td><select id="ZincConvert" onChange="javascript:CalculateZinc()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Zinc + cp);</script></td>
<td width="91">/lb</td>
<td id="ZincTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<td colspan="5">Base Metal Sub-total >></td>
<td><div id="subTotalBase"><script type="text/javascript"> document.writeln(defaultValue);</script></div></td>
</tr>
<tr>
<td colspan="5">Total Gross Metal Value($USD)>></td>
<td><div id="totalMetal"><script type="text/javascript"> document.writeln(defaultValue);</script></div></td>
</tr>
</table>
<p> </p>
</body></html>
Revision: 2375
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 5, 2007 11:46 by zhernovoi
Initial Code
<html><head><title>Test</title>
<script type="text/javascript">
// Metal Market Price *config*
var Gold = 657.00;
var Silver = 11;
var Platinum = 12;
var Palladium = 13;
var Rhodium = 14;
var Aluminium = 20;
var Copper = 21;
var Nickel = 22;
var Lead = 23;
var Zinc = 24;
//Currency prefix
var currencyPrefix = '$';
var cp = currencyPrefix;
//Metal Market Price with currency prefix
Gold2 = Gold + cp;
Silver2 = Silver + cp;
Platinum2 = Platinum + cp;
Palladium2 = Palladium + cp;
Rhodium2 = Rhodium + cp;
Aluminium2 = Aluminium + cp;
Copper2 = Copper + cp;
Nickel2 = Nickel + cp;
Lead2 = Lead + cp;
Zinc2 = Zinc + cp;
// Convert Values *config*
var gramsPerTonne = 1000000;
var gramsPerOunces = 31.1034768;
var lbPerTonne = 2204.6226218;
var ozPerTonne = gramsPerTonne / gramsPerOunces;
// Prefix and String *config*
var valuePrefix = 'value';
var unitPrefix = '/tonne';
var up = unitPrefix;
var invalideValue = 'N/A';
// Setting - cookie seperator
var PARA_SPRT = '_';
// Main variables
var subTotalPrecious = 0;
var subTotalBase = 0;
var totalMetal = 0;
var singleMetal = 0;
var defaultValue = cp + '0,00 ' + up;
var totalGold = 0;
var totalSilver = 0;
var totalPlatinum = 0;
var totalPalladium = 0;
var totalRhodium = 0;
var totalAluminium = 0;
var totalCopper = 0;
var totalNickel = 0;
var totalLead = 0;
var totalZinc = 0;
function CurrencyFormatted(amount)
{
var i = parseFloat(amount);
if(isNaN(i)) { i = 0.00; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
i = parseInt((i + .005) * 100);
i = i / 100;
s = new String(i);
if(s.indexOf('.') < 0) { s += '.00'; }
if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
s = minus + s;
return s;
}
function CommaFormatted(amount)
{
var delimiter = ",";
var a = amount.split('.',2)
var d = a[1];
var i = parseInt(a[0]);
if(isNaN(i)) { return ''; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
var n = new String(i);
var a = [];
while(n.length > 3)
{
var nn = n.substr(n.length-3);
a.unshift(nn);
n = n.substr(0,n.length-3);
}
if(n.length > 0) { a.unshift(n); }
n = a.join(delimiter);
if(d.length < 1) { amount = n; }
else { amount = n + '.' + d; }
amount = minus + amount;
return amount;
}
// function CommaFormatted()
// end of function CurrencyFormatted()
function UpdateElement(getId, string)
{
document.getElementById(getId).innerHTML = string;
}
// end of function UpdateElement()
function ValueCalculating(getValue,getId,isPrec)
{
var getInsert;
switch (getId)
{
//Precious Metals
case "GoldTotal" : getInsert = totalGold; break;
case "SilverTotal" : getInsert = totalSilver; break;
case "PlatinumTotal" : getInsert = totalPlatinum; break;
case "PalladiumTotal" : getInsert = totalPalladium; break;
case "RhodiumTotal" : getInsert = totalRhodium; break;
//Base Metals
case "AluminiumTotal" : getInsert = totalAluminium; break;
case "CopperTotal" : getInsert = totalCopper; break;
case "NickelTotal" : getInsert = totalNickel; break;
case "LeadTotal" : getInsert = totalLead; break;
case "ZincTotal" : getInsert = totalZinc; break;
}
//document.getElementById(getId).innerHTML = cp + getValue + ' ' + up; //insert the new value
// alert (document.getElementById(getId).innerHTML); //test
if(isNaN(getValue) | getValue < 0)
{
switch (getId)
{
//Precious Metals
case "GoldTotal" : totalGold = 0; break;
case "SilverTotal" : totalSilver = 0; break;
case "PlatinumTotal" : totalPlatinum = 0; break;
case "PalladiumTotal" : totalPalladium = 0; break;
case "RhodiumTotal" : totalRhodium = 0; break;
//Base Metals
case "AluminiumTotal" : totalAluminium = 0; break;
case "CopperTotal" : totalCopper = 0; break;
case "NickelTotal" : totalNickel = 0; break;
case "LeadTotal" : totalLead = 0; break;
case "ZincTotal" : totalZinc = 0; break;
}
if(isNaN(getValue))
{
UpdateElement(getId, invalideValue);
}
else
{
UpdateElement(getId, cp + '0.00 ' + up);
}
subTotalPrecious = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium;
subPreIn = CurrencyFormatted(subTotalPrecious);
subPreIn = CommaFormatted(subPreIn);
subTotalBase = totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Base Metal Total
subBaseIn = CurrencyFormatted(subTotalBase);
subBaseIn = CommaFormatted(subBaseIn);
totalMetal = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium + totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Metal Total
totalIn = CurrencyFormatted(totalMetal);
totalIn = CommaFormatted(totalIn);
UpdateElement("subTotalPre", cp + subPreIn + up);
UpdateElement("subTotalBase", cp + subBaseIn + up);
UpdateElement("totalMetal", cp + totalIn + up);
}
else
{
getValue = parseFloat(getValue); //convert string to number
switch (getId)
{
//Precious Metals
case "GoldTotal" : totalGold = getValue; getInsert = totalGold; break;
case "SilverTotal" : totalSilver = getValue; getInsert = totalSilver; break;
case "PlatinumTotal" : totalPlatinum = getValue; getInsert = totalPlatinum; break;
case "PalladiumTotal" : totalPalladium = getValue; getInsert = totalPalladium; break;
case "RhodiumTotal" : totalRhodium = getValue; getInsert = totalRhodium; break;
//Base Metals
case "AluminiumTotal" : totalAluminium = getValue; getInsert = totalAluminium; break;
case "CopperTotal" : totalCopper = getValue; getInsert = totalCopper; break;
case "NickelTotal" : totalNickel = getValue; getInsert = totalNickel; break;
case "LeadTotal" : totalLead = getValue; getInsert = totalLead; break;
case "ZincTotal" : totalZinc = getValue; getInsert = totalZinc; break;
}
if (isPrec)
{
subTotalPrecious = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium; //update the Precious Metal Total
//alert(subTotalPrecious); //test
calcTotalPre = CurrencyFormatted(subTotalPrecious);
calcTotalPre = CommaFormatted(calcTotalPre);
calcTotalPre = cp + calcTotalPre + ' ' + up; //formate the string to update
// alert(calcTotalPre); //test
UpdateElement("subTotalPre", calcTotalPre); //update the output
}
else
{
subTotalBase = totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Base Metal Total
//alert(subTotalBase); //test
calcTotalBase = CurrencyFormatted(subTotalBase);
calcTotalBase = CommaFormatted(calcTotalBase);
calcTotalBase = cp + calcTotalBase + ' ' + up; //formate the string to update
//alert(calcTotalBase); //test
UpdateElement("subTotalBase", calcTotalBase); //update the output
}
totalMetal = totalGold + totalSilver + totalPlatinum + totalPalladium + totalRhodium + totalAluminium + totalCopper + totalNickel + totalLead + totalZinc; //update the Metal Total
//alert(totalMetal); //test
calcTotalMetal = CurrencyFormatted(totalMetal);
calcTotalMetal = CommaFormatted(calcTotalMetal);
calcTotalMetal = cp + calcTotalMetal + ' ' + up; //formate the string to update
// alert(calcTotalMetal); //test
UpdateElement("totalMetal", calcTotalMetal); //update the otput
getInsert = CurrencyFormatted(getInsert);
getInsert = CommaFormatted(getInsert);
UpdateElement(getId, cp + getInsert + ' ' + up)
}
}
function GetRockValue(itemId, amount, price, isPrec)
{
var valuePerTonne;
var percentage;
if (isPrec)
valuePerTonne = price * ozPerTonne;
else
valuePerTonne = price * lbPerTonne;
if (itemId == "percenatge" )
{
if (amount > 100) return -1;
percentage = amount/100;
}
else if(itemId == "oz")
{
if (amount > ozPerTonne) return -1;
percentage = amount / ozPerTonne;
}
else if(itemId == "lb")
{
if (amount > lbPerTonne) return -1;
percentage = amount / lbPerTonne;
}
else if(itemId == "grams")
{
if (amount > gramsPerTonne) return -1;
percentage = amount / gramsPerTonne;
}
else
percentage = 0;
value = valuePerTonne * percentage;
return value;
}
//end of function GetRockValue()
function GetAmountValue(itemId)
{
var rockValue = document.getElementById(itemId).getAttribute("value");
var rockValue = document.getElementById(itemId).value;
rockValue = parseFloat(rockValue);
//alert("4_" + rockValue);
return rockValue;
}
//end of function GetAmountValue()
function GetConvertValue(itemId)
{
var convertValue = document.getElementById(itemId).getAttribute("value");
var convertValue = document.getElementById(itemId).value;
//alert("5_" + convertValue);
return convertValue;
}
//end of function GetConvertValue()
function Calculate(getId,isPrec)
{
var amountText = "Amount";
//var amountId = getId.amountText;
var amountId = getId + amountText;
//alert("1_" + amountId);
var totalMetalId = getId + "Total";
//alert("2_" + totalMetalId);
var convertId = getId + "Convert";
//alert("3_" + convertId);
var amount = GetAmountValue(amountId);
//alert("6_" + amount);
var convert = GetConvertValue(convertId);
//alert("7_" + convert);
var valueId;
switch (getId)
{
//Precious Metals
case "Gold" : valueId = Gold; break;
case "Silver" : valueId = Silver; break;
case "Platinum" : valueId = Platinum; break;
case "Palladium" : valueId = Palladium; break;
case "Rhodium" : valueId = Rhodium; break;
//Base Metals
case "Aluminium" : valueId = Aluminium; break;
case "Copper" : valueId = Copper; break;
case "Nickel" : valueId = Nickel; break;
case "Lead" : valueId = Lead; break;
case "Zinc" : valueId = Zinc; break;
}
if (isPrec)
{
var insert = GetRockValue(convert, amount, valueId, true);
//alert("8_" + insert);
if(isNaN(amount) || insert < 0)
{
ValueCalculating(invalideValue,totalMetalId,isPrec);
}
else
{
ValueCalculating(insert,totalMetalId,isPrec);
}
}
else
{
var insert = GetRockValue(convert, amount, valueId, false);
//alert("9_" + insert);
if(isNaN(amount) || insert < 0)
{
ValueCalculating(invalideValue,totalMetalId,isPrec);
}
else
{
ValueCalculating(insert,totalMetalId,isPrec);
}
}
}
function CalculateGold(){Calculate("Gold",true);}
function CalculateSilver(){Calculate("Silver",true);}
function CalculatePlatinum(){Calculate("Platinum",true);}
function CalculatePalladium(){Calculate("Palladium",true);}
function CalculateRhodium(){Calculate("Rhodium",true);}
function CalculateAluminium(){Calculate("Aluminium",false);}
function CalculateCopper(){Calculate("Copper",false);}
function CalculateNickel(){Calculate("Nickel",false);}
function CalculateLead(){Calculate("Lead",false);}
function CalculateZinc(){Calculate("Zinc",false);}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="600" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="71">Metal</td>
<td width="163">Amount</td>
<td width="88">Units/Weight</td>
<td colspan="2">Metal Market Price</td>
<td width="128">Value of the Rock</td>
</tr>
<tr>
<td colspan="6">Precious Metals</td>
</tr>
<tr>
<td>Gold</td>
<td><input type="text" id="GoldAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateGold()"></td>
<td><select id="GoldConvert" onChange="javascript:CalculateGold()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Gold + cp);</script></td>
<td width="91">/oz</td>
<td id="GoldTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Silver</td>
<td><input type="text" id="SilverAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateSilver()"></td>
<td><select id="SilverConvert" onChange="javascript:CalculateSilver()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Silver + cp);</script></td>
<td width="91">/oz</td>
<td id="SilverTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<tr>
<td>Platinum</td>
<td><input type="text" id="PlatinumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculatePlatinum()"></td>
<td><select id="PlatinumConvert" onChange="javascript:CalculatePlatinum()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Platinum + cp);</script></td>
<td width="91">/oz</td>
<td id="PlatinumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<tr>
<td>Palladium</td>
<td><input type="text" id="PalladiumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculatePalladium()"></td>
<td><select id="PalladiumConvert" onChange="javascript:CalculatePalladium()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Palladium + cp);</script></td>
<td width="91">/oz</td>
<td id="PalladiumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Rhodium</td>
<td><input type="text" id="RhodiumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateRhodium()"></td>
<td><select id="RhodiumConvert" onChange="javascript:CalculateRhodium()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Rhodium + cp);</script></td>
<td width="91">/oz</td>
<td id="RhodiumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td colspan="5">Precious Metal Sub-total >></td>
<td><div id="subTotalPre"><script type="text/javascript"> document.writeln(defaultValue);</script></div></td>
</tr>
<tr>
<td colspan="6">Base Metals</td>
</tr>
<tr>
<tr>
<td>Aluminium</td>
<td><input type="text" id="AluminiumAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateAluminium()"></td>
<td><select id="AluminiumConvert" onChange="javascript:CalculateAluminium()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Aluminium + cp);</script></td>
<td width="91">/lb</td>
<td id="AluminiumTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Copper</td>
<td><input type="text" id="CopperAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateCopper()"></td>
<td><select id="CopperConvert" onChange="javascript:CalculateCopper()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Copper + cp);</script></td>
<td width="91">/lb</td>
<td id="CopperTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Nickel</td>
<td><input type="text" id="NickelAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateNickel()"></td>
<td><select id="NickelConvert" onChange="javascript:CalculateNickel()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Nickel + cp);</script></td>
<td width="91">/lb</td>
<td id="NickelTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Lead</td>
<td><input type="text" id="LeadAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateLead()"></td>
<td><select id="LeadConvert" onChange="javascript:CalculateLead()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Lead + cp);</script></td>
<td width="91">/lb</td>
<td id="LeadTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<tr>
<td>Zinc</td>
<td><input type="text" id="ZincAmount" size="8" maxlength="10" onKeyUp="javascript:CalculateZinc()"></td>
<td><select id="ZincConvert" onChange="javascript:CalculateZinc()">
<option value="percentage">%</option>
<option value="oz" selected>ounces/tonne</option>
<option value="grams">grams/tonne</option>
<option value="lb">pounds/tonne</option>
</select></td>
<td width="45"><script type="text/javascript"> document.writeln(Zinc + cp);</script></td>
<td width="91">/lb</td>
<td id="ZincTotal"><script type="text/javascript"> document.writeln(defaultValue);</script></td>
</tr>
<tr>
<td colspan="5">Base Metal Sub-total >></td>
<td><div id="subTotalBase"><script type="text/javascript"> document.writeln(defaultValue);</script></div></td>
</tr>
<tr>
<td colspan="5">Total Gross Metal Value($USD)>></td>
<td><div id="totalMetal"><script type="text/javascript"> document.writeln(defaultValue);</script></div></td>
</tr>
</table>
<p> </p>
</body></html>
Initial URL
Initial Description
Initial Title
Rock Value Calculating
Initial Tags
Initial Language
HTML