Subversion Repositories wimsdev

Rev

Rev 20 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. <html><body>
  2. <style type="text/css">
  3. <!--
  4. .red {color: red}
  5. .blue {color: blue}
  6. -->
  7. </style>
  8.  
  9. <SCRIPT LANGUAGE="JavaScript">
  10. <!-- Original:  Steve Dulaney -->
  11. <!-- Web Site:  http://www.hmhd.com/steve -->
  12.  
  13. <!-- This script and many more are available free online at -->
  14. <!-- The JavaScript Source!! http://javascript.internet.com -->
  15.  
  16. <!-- Begin
  17. var Memory = 0;
  18. var Number1 = "";
  19. var Number2 = "";
  20. var NewNumber = "blank";
  21. var opvalue = "";
  22.  
  23. function Display(displaynumber) {
  24. document.calculator.answer.value = displaynumber;
  25. }
  26.  
  27. function MemoryClear() {
  28. Memory = 0;
  29. document.calculator.mem.value = "";
  30. }
  31.  
  32. function MemoryRecall(answer) {
  33. if(NewNumber != "blank") {
  34. Number2 += answer;
  35. } else {
  36. Number1 = answer;
  37. }
  38. NewNumber = "blank";
  39. Display(answer);
  40. }
  41.  
  42. function MemorySubtract(answer) {
  43. Memory = Memory - eval(answer);
  44. }
  45.  
  46. function MemoryAdd(answer) {
  47. Memory = Memory + eval(answer);
  48. document.calculator.mem.value = " M ";
  49. NewNumber = "blank";
  50. }
  51.  
  52. function ClearCalc() {
  53. Number1 = "";
  54. Number2 = "";
  55. NewNumber = "blank";
  56. Display("");
  57. }
  58.  
  59. function Backspace(answer) {
  60. answerlength = answer.length;
  61. answer = answer.substring(0, answerlength - 1);
  62. if (Number2 != "") {
  63. Number2 = answer.toString();
  64. Display(Number2);
  65. } else {
  66. Number1 = answer.toString();
  67. Display(Number1);
  68.    }
  69. }
  70.  
  71. function CECalc() {
  72. Number2 = "";
  73. NewNumber = "yes";
  74. Display("");
  75. }
  76.  
  77. function CheckNumber(answer) {
  78. if(answer == ".") {
  79. Number = document.calculator.answer.value;
  80. if(Number.indexOf(".") != -1) {
  81. answer = "";
  82.    }
  83. }
  84. if(NewNumber == "yes") {
  85. Number2 += answer;
  86. Display(Number2);
  87. }
  88. else {
  89. if(NewNumber == "blank") {
  90. Number1 = answer;
  91. Number2 = "";
  92. NewNumber = "no";
  93. }
  94. else {
  95. Number1 += answer;
  96. }
  97. Display(Number1);
  98.    }
  99. }
  100. function AddButton(x) {
  101. if(x == 1) EqualButton();
  102. if(Number2 != "") {
  103. Number1 = parseFloat(Number1) + parseFloat(Number2);
  104. }
  105. NewNumber = "yes";
  106. opvalue = '+';
  107. Display(Number1);
  108. }
  109. function SubButton(x) {
  110. if(x == 1) EqualButton();
  111. if(Number2 != "") {
  112. Number1 = parseFloat(Number1) - parseFloat(Number2);
  113. }
  114. NewNumber = "yes";
  115. opvalue = '-';
  116. Display(Number1);
  117. }
  118. function MultButton(x) {
  119. if(x == 1) EqualButton();
  120. if(Number2 != "") {
  121. Number1 = parseFloat(Number1) * parseFloat(Number2);
  122. }
  123. NewNumber = "yes";
  124. opvalue = '*';
  125. Display(Number1);
  126. }
  127. function DivButton(x) {
  128. if(x == 1) EqualButton();
  129. if(Number2 != "") {
  130. Number1 = parseFloat(Number1) / parseFloat(Number2);
  131. }
  132. NewNumber = "yes";
  133. opvalue = '/';
  134. Display(Number1);
  135. }
  136. function SqrtButton() {
  137. Number1 = Math.sqrt(Number1);
  138. NewNumber = "blank";
  139. Display(Number1);
  140. }
  141. function PercentButton() {
  142. if(NewNumber != "blank") {
  143. Number2 *= .01;
  144. NewNumber = "blank";
  145. Display(Number2);
  146.    }
  147. }
  148. function RecipButton() {
  149. Number1 = 1/Number1;
  150. NewNumber = "blank";
  151. Display(Number1);
  152. }
  153. function NegateButton() {
  154. Number1 = parseFloat(-Number1);
  155. NewNumber = "no";
  156. Display(Number1);
  157. }
  158. function EqualButton() {
  159. if(opvalue == '+') AddButton(0);
  160. if(opvalue == '-') SubButton(0);
  161. if(opvalue == '*') MultButton(0);
  162. if(opvalue == '/') DivButton(0);
  163. Number2 = "";
  164. opvalue = "";
  165. }
  166. //  End -->
  167. </script>
  168.  
  169. <form name="calculator">
  170. <table bgcolor="#aaaaaa" width=220>
  171. <tr><td>
  172. <table bgcolor="#cccccc" border=1>
  173. <tr><td>
  174. <table border=0 cellpadding=0>
  175. <tr><td bgcolor="#000080"><b style="color:white">Calculator</b></td></tr>
  176. <tr><td>
  177. <table width="100%" border=0>
  178. <tr><td colspan=6><input type="text" name="answer" size=30 maxlength=30 onChange="CheckNumber(this.value)"/></td></tr>
  179. <tr><td colspan=6>
  180. <table border=0 cellpadding=0>
  181. <tr><td>
  182. <input type="text" name="mem" size=3 maxlength=3/> <input type="button" name="backspace" class="red" value="Backspace" onclick="Backspace(document.calculator.answer.value); return false;"/> <input type="button" name="CE" class="red" value=" CE " onclick="CECalc(); return false;"/> <input type="reset" name="C" class="red" value="  C  " onclick="ClearCalc(); return false;"/>
  183. </td></tr>
  184. </table>
  185. </td></tr>
  186. <tr><td><input type="button" name="MC" class="red" value=" MC " onclick="MemoryClear(); return false;"/></td>
  187. <td><input type="button" name="calc7" class="blue" value="  7  " onclick="CheckNumber('7'); return false;"/></td>
  188. <td><input type="button" name="calc8" class="blue" value="  8  " onclick="CheckNumber('8'); return false;"/></td>
  189. <td><input type="button" name="calc9" class="blue" value="  9  " onclick="CheckNumber('9'); return false;"/></td>
  190. <td><input type="button" name="divide" class="red" value="  /  " onclick="DivButton(1); return false;"/></td>
  191. <td><input type="button" name="sqrt" class="blue" value="sqrt" onclick="SqrtButton(); return false;"/></td></tr>
  192. <tr><td><input type="button" name="MR" class="red" value=" MR " onclick="MemoryRecall(Memory); return false;"/></td>
  193. <td><input type="button" name="calc4" class="blue" value="  4  " onclick="CheckNumber('4'); return false;"/></td>
  194. <td><input type="button" name="calc5" class="blue" value="  5  " onclick="CheckNumber('5'); return false;"/></td>
  195. <td><input type="button" name="calc6" class="blue" value="  6  " onclick="CheckNumber('6'); return false;"/></td>
  196. <td><input type="button" name="multiply" class="red" value="  *  " onclick="MultButton(1); return false;"/></td>
  197. <td><input type="button" name="percent" class="blue" value=" %  " onclick="PercentButton(); return false;"/></td></tr>
  198. <tr><td><input type="button" name="MS" class="red" value=" MS " onclick="MemorySubtract(document.calculator.answer.value); return false;"/></td>
  199. <td><input type="button" name="calc1" class="blue" value="  1  " onclick="CheckNumber('1'); return false;"/></td>
  200. <td><input type="button" name="calc2" class="blue" value="  2  " onclick="CheckNumber('2'); return false;"/></td>
  201. <td><input type="button" name="calc3" class="blue" value="  3  " onclick="CheckNumber('3'); return false;"/></td>
  202. <td><input type="button" name="minus" class="red" value="  -  " onclick="SubButton(1); return false;"/></td>
  203. <td><input type="button" name="recip" class="blue" value="1/x " onclick="RecipButton(); return false;"/></td></tr>
  204. <tr><td><input type="button" name="Mplus" class="red" value=" M+  " onclick="MemoryAdd(document.calculator.answer.value); return false;"/></td>
  205. <td><input type="button" name="calc0" class="blue" value="  0  " onclick="CheckNumber('0'); return false;"/></td>
  206. <td><input type="button" name="negate" class="blue" value="+/- " onclick="NegateButton(); return false;"/></td>
  207. <td><input type="button" name="dot" class="blue" value="  .   " onclick="CheckNumber('.'); return false;"/></td>
  208. <td><input type="button" name="plus" class="red" value=" +  " onclick="AddButton(1); return false;"/></td>
  209. <td><input type="button" name="equal" class="red" value="  =   " onclick="EqualButton(); return false;"/></td>
  210. </tr>
  211. </table>
  212. </td></tr>
  213. </table>
  214. </td></tr>
  215. </table>
  216. </td></tr>
  217. </table>
  218. </form>
  219.  
  220. <!-- <p><center>
  221. <font face="arial, helvetica" size="-2">Free JavaScripts provided<br/>
  222. by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
  223. </center><p> -->
  224.  
  225. </body></html>