Rev 20 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | <html> |
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> |
||
5787 | bpr | 178 | <tr><td colspan=6><input type="text" name="answer" size=30 maxlength=30 onChange="CheckNumber(this.value)"/></td></tr> |
20 | reyssat | 179 | <tr><td colspan=6> |
180 | <table border=0 cellpadding=0> |
||
181 | <tr><td> |
||
5787 | bpr | 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;"/> |
20 | reyssat | 183 | </td></tr> |
184 | </table> |
||
185 | </td></tr> |
||
5787 | bpr | 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> |
||
20 | reyssat | 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> |
||
5787 | bpr | 221 | <font face="arial, helvetica" size="-2">Free JavaScripts provided<br/> |
20 | reyssat | 222 | by <a href="http://javascriptsource.com">The JavaScript Source</a></font> |
223 | </center><p> --> |
||
224 | |||
225 | </html> |