<!--
var calculator = new Object; 

function doOp(operation) { 
 
  if(operation == '') { 
    alert("Null Op"); 
  } 
  if(operation == 'clear') { 
    calculator.clearOnInput = true; 
    calculator.previous = '0'; 
    document.calculator.thevalue.value = '0'; 
    calculator.op = ''; 
    return; 
  } 
  if(operation == 'invert') { 
    var calcval = document.calculator.thevalue; 
    if(calcval.value.charAt(0) == '-') { 
      calcval.value = calcval.value.substr(1, calcval.value.length); 
    } else { 
      if(calcval.value != '0') { 
	calcval.value = '-' + calcval.value; 
      } 
    } 
    return; 
  } 
  if(calculator.op == '') {  
    if(operation == 'equals') { 
      calculator.clearOnInput = true; 
    } else { 
      calculator.op = operation; 
      calculator.clearOnInput = true; 
      calculator.previous = document.calculator.thevalue.value; 
    } 
  } else { 
    var result = doEquals();  
    calculator.previous = document.calculator.thevalue.value; 
    document.calculator.thevalue.value = result; 
    if(operation != 'equals') { 
      calculator.op = operation; 
    } else { 
      calculator.op = '';  
    } 
  } 
} 

function doEquals() { 
  calculator.clearOnInput = true; 
  if (calculator.op == 'clear') { 
    alert("op = clear"); 
    return 0; 
  } 
  if(calculator.op == 'equals') { 
    alert("op = equals"); 
    return 0; 
  } 
  if(calculator.op == '') { 
    calculator.previous = '0'; 
    return document.calculator.thevalue.value; 
  } 
  if (calculator.op == 'plus') { 
    calculator.op = ''; 
    return parseFloat(calculator.previous) + parseFloat(document.calculator.thevalue.value); 
  } 
  if (calculator.op == 'minus') { 
    calculator.op = ''; 
    return parseFloat(calculator.previous) - parseFloat(document.calculator.thevalue.value); 
  } 
  if (calculator.op == 'times') { 
    calculator.op = ''; 
    return parseFloat(calculator.previous) * parseFloat(document.calculator.thevalue.value); 
  } 
  if (calculator.op == 'divide') { 
    calculator.op = ''; 
    return parseFloat(calculator.previous) / parseFloat(document.calculator.thevalue.value); 
  } 
  alert("unknown Op"); 
  return -1; 
} 

function eN(number) { 
  if(calculator.clearOnInput) { 
     calculator.previous = document.calculator.thevalue.value; 
     document.calculator.thevalue.value = number; 
     calculator.clearOnInput = false; 
  } else { 
    if(document.calculator.thevalue.value == '0') { 
      document.calculator.thevalue.value = number; 
    } else { 
      document.calculator.thevalue.value = document.calculator.thevalue.value + number; 
    } 
  } 
} 

doOp('clear');
//-->

