here's my two cents - i built this js calc quite some time ago just to see if i could. you can repeatedly enter commands like "2+3+4+5+6"
<html>
<head>
<title>JavaScript calculator</title>
<script type="text/javascript">
if (this.name != "calc"

{
foo = window.open(location.href, "calc", "height=175, width=175"

;
window.opener = self;
window.close();
}
var operator = "";
var operand = "";
var opClickedLast = false;
function numClick(args) {
if (opClickedLast) {
// reset the display if an operator was last clicked
display.value = args;
opClickedLast = false;
}
else if (args == '.') {
// make sure there can only be one decimal point
if (display.value.indexOf('.') > 0) {
return false;
}
else {
if (display.value == "0" || display.value == "" || opClickedLast) {
display.value = "0";
}
display.value += args;
opClickedLast = false;
return true;
}
}
else {
display.value += args;
}
}
function operClick(args) {
if (operator != ""

{
// if there's an operation pending
doMath(operator);
}
operator = args;
operand = display.value;
opClickedLast = true;
}
function doMath(op) {
if (display.value) {
if (display.value == "."

{return false;}
else {
switch(op) {
case '+':
display.value = eval(operand) + eval(display.value);
break;
case '-':
display.value = eval(operand) - eval(display.value);
break;
case '*':
display.value = eval(operand) * eval(display.value);
break;
case '/':
display.value = eval(operand) / eval(display.value);
break;
}
}
}
}
function doClear(args) {
switch(args) {
case 'c':
display.value = "";
opClickedLast = false;
operator = "";
operand = "";
break;
case 'ce':
display.value = "";
break;
}
}
</script>
<style type="text/css">
body {
background:threedhighlight;
border:none;
}
input.btn {
width:25px;
height:20px;
font:status-bar;
}
table {
background:threedface;
border:2px outset threedhighlight;
border-collapse:collapse;
}
td {
text-align:center;
padding:2px 3px;
}
.btnEquals {
width:65px;
height:20px;
font:status-bar;
}
</style>
</head>
<body>
<table align="center">
<tr>
<td colspan="4" align="center">
<input type="text" readonly name="display" style="text-align:right; width:100%;" />
</td>
</tr>
<tr>
<td><input type="button" class="btn" value="7" onClick="numClick('7');" /></td>
<td><input type="button" class="btn" value="8" onClick="numClick('8');" /></td>
<td><input type="button" class="btn" value="9" onClick="numClick('9');" /></td>
<td><input type="button" class="btn" value="+" onClick="operClick('+');" /></td>
</tr>
<tr>
<td><input type="button" class="btn" value="4" onClick="numClick('4');" /></td>
<td><input type="button" class="btn" value="5" onClick="numClick('5');" /></td>
<td><input type="button" class="btn" value="6" onClick="numClick('6');" /></td>
<td><input type="button" class="btn" value="-" onClick="operClick('-');" /></td>
</tr>
<tr>
<td><input type="button" class="btn" value="1" onClick="numClick('1');" /></td>
<td><input type="button" class="btn" value="2" onClick="numClick('2');" /></td>
<td><input type="button" class="btn" value="3" onClick="numClick('3');" /></td>
<td><input type="button" class="btn" value="x" onClick="operClick('*');" /></td>
</tr>
<tr>
<td><input type="button" class="btn" value="0" onClick="numClick('0');" /></td>
<td><input type="button" class="btn" value="." onClick="numClick('.');" /></td>
<td><input type="button" class="btn" value="?" onClick="alert('This is a calculator, Einstein.');" /></td>
<td><input type="button" class="btn" value="/" onClick="operClick('/');" /></td>
</tr>
<tr>
<td colspan="2">
<input type="button" class="btnEquals" value="=" onClick="operClick('=');" />
</td>
<td><input type="button" class="btn" value="C" onClick="doClear('c');" /></td>
<td><input type="button" class="btn" value="CE" onClick="doClear('ce');" /></td>
</tr>
</table>
</body>
</html>
=========================================================
try { succeed(); } catch(E) { tryAgain(); }
-jeff