function onFocusVALUE() { BResult.focus();} var M1="0", M2="0", op=0, count=0, b=0; function checkNum(str) { for (var i = 0; i < str.length; i++){ var ch = str.substring(i, i+1);//буферный символ if ( ((ch<"0")||(ch >"9")) && ((ch!="/")&&(ch!="*")&&(ch!="+")&&(ch!="-")&&(ch!=".")&&(ch!="(")&&(ch!=")")) ){ ERROR.value="Некорректное выражение!"; return false; } }return true; } function onClickButton(n) { ERROR.value="Вводите числа ("+n+")"; switch(n){ case "=": RESULT.value="0"; if(op||count) ERROR.value='Завершите выражение'; else if (checkNum(STRING.value)){ RESULT.value=eval(STRING.value); op=0; STRING.value="0"; b=op=0; } break; case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9": if(STRING.value=="0") STRING.value=n; else STRING.value+=n; b=op=0; break; case ",": if(b)break; b=1; if(STRING.value=="0") STRING.value="0."; else STRING.value+="."; op=0; break; case "+":case "-":case "*":case "/":b=0; if((STRING.value!="0")&&(STRING.value.length)&&(!op)){ STRING.value+=n; op=1;} break; case "<":b=0; if(STRING.value.length) STRING.value=STRING.value.substring(0, STRING.value.length-1); if(!STRING.value.length) STRING.value="0"; if(op) op=0; break; case "?":b=0; RESULT.value=-RESULT.value; break; case "(":b=0; if(op||(STRING.value=="0")){ if(STRING.value=="0") STRING.value=n; else STRING.value+=n; count++; } break; case ")":b=0; if(!op&&(STRING.value!="0")&&(count>0)) STRING.value+=n, count--; break; } } function ClearAll() { MEM1.value="0"; MEM2.value="0"; RESULT.value="0"; STRING.value="0"; op=0; } function ClearResult() {STRING.value="0"; op=0;} function ClearM1() {MEM1.value="0";} function ClearM2() {MEM2.value="0";} function ReadM1() {if((MEM1.value!="0")&&(MEM1.value.length)) op=0, STRING.value+=MEM1.value;} function ReadM2() {if((MEM2.value!="0")&&(MEM2.value.length)) op=0, STRING.value+=MEM2.value;} function AddM1() { onClickButton("="); MEM1.value=eval(MEM1.value+"+"+RESULT.value);} function AddM2() { onClickButton("="); MEM2.value=eval(MEM2.value+"+"+RESULT.value);}


Rambler's Top100