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