<!--Begin

//Copyright © 2005 Global Aircraft


function help() {
var status = helpTop.style.visibility;
if (status == "hidden") {helpTop.style.visibility = "visible";}
else if (status == "visible") {helpTop.style.visibility = "hidden";}
else {}
}

function showGraphOpts() {
var status = graphOpts.style.display;
if (status == "none") {graphOpts.style.display = "block";}
else if (status == "block") {graphOpts.style.display = "none";}
else {}
}


function popFuncs() {
var myArray = new Array();var tmpSto;
var config = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,width=180,height=250";
var winFuncs = window.open("",null,config);
winFuncs.document.write("<title>popFunctions</title><form name='popFunction' target='_parent'><select size='10' style='font-family: verdana, times new roman;font-size:10px;width:160;height:225;' target='_parent' onchange=\"if (this.options[this.selectedIndex].value.indexOf('()') == -1) {window.opener.location='javascript:addnum(\\''+this.options[this.selectedIndex].value+'\\')';}else{window.opener.location='javascript:'+this.options[this.selectedIndex].value+'';}window.close();\">");
winFuncs.document.write("<option value='binDec('>binDec(#)</option>");
winFuncs.document.write("<option value='decBin('>decBin(#)</option>");
winFuncs.document.write("<option value='decHex('>decHex(#)</option>");
winFuncs.document.write("<option value='decOct('>decOct(#)</option>");
winFuncs.document.write("<option value='getPrimes('>getPrimes(lower,upper)</option>");
winFuncs.document.write("<option value='hexDec('>hexDec(#)</option>");
winFuncs.document.write("<option value='isPrime('>isPrime(#)</option>");
winFuncs.document.write("<option value='modulus('>modulus(#,#)</option>");
winFuncs.document.write("<option value='octDec('>octDec(#)</option>");
winFuncs.document.write("<option value='mkFunc()'>Create Function</option>");
for (var e=1; e <= 5; e++) {var tmp="func"+e+"";
if (document.Calulator[tmp].value != null && document.Calulator[tmp].value != '') {
tmpSto = document.Calulator[tmp].value;
myArray = tmpSto.split("=");
myArray[0] = myArray[0].replace(/\(x\)/g, "");
var name = myArray[0];
winFuncs.document.write("<option value='"+name+"('>"+name+"(#)</option>");}}
winFuncs.document.write("</select></form>");
winFuncs.document.close();}




function deFuncToJscript(output) {
output = output.replace(/asin/g, "ASIN");
output = output.replace(/acos/g, "ACOS");
output = output.replace(/atan/g, "ATAN");
if (output.indexOf("^3") != -1) {output = output.replace(/(\d+)\^3/g, "(Math.pow($1,3))");output = output.replace(/x\^3/g, "(Math.pow(x,3))");}
if (output.indexOf("^2") != -1) {output = output.replace(/(\d+)\^2/g, "(Math.pow($1,2))");output = output.replace(/x\^2/g, "(Math.pow(x,2))");}
if (output.indexOf("sin(") != -1 || output.indexOf("cos(") != -1 || output.indexOf("tan(") != -1) {
if (document.Calulator.type[1].checked == true) {
output = output.replace(/sin\(/g, "Math.sin((Math.PI/180)*");
output = output.replace(/cos\(/g, "Math.cos((Math.PI/180)*");
output = output.replace(/tan\(/g, "Math.tan((Math.PI/180)*");}
else {
output = output.replace(/sin/g, "Math.sin");
output = output.replace(/cos/g, "Math.cos");
output = output.replace(/tan/g, "Math.tan");}
}
if (output.indexOf("ASIN(") != -1 || output.indexOf("ACOS(") != -1 || output.indexOf("ATAN(") != -1) {
if (document.Calulator.type[1].checked == true) {
output = output.replace(/ASIN\(/g, "Math.asin((Math.PI/180)*");
output = output.replace(/ACOS\(/g, "Math.acos((Math.PI/180)*");
output = output.replace(/ATAN\(/g, "Math.atan((Math.PI/180)*");}
else {
output = output.replace(/ASIN/g, "Math.asin");
output = output.replace(/ACOS/g, "Math.acos");
output = output.replace(/ATAN/g, "Math.atan");}
}
if (output.indexOf("log(") != -1) {output = output.replace(/log/g, "Math.log");output = "("+output+")/(Math.log(10))";}
if (output.indexOf("sqrt(") != -1) {output = output.replace(/sqrt/g, "Math.sqrt");}
if (output.indexOf("ln(") != -1) {output = output.replace(/ln/g, "Math.log");}
return output;}



function mkFunc() {var toSave,toSave2;var domain = "x";
document.getElementById('popupOld').src='';
var name = window.prompt("Please enter a name for this function. (<8 chars)","f");
if (name != null && name != '' && name.length <= 7) {
alert("You can use the following math codes in your output: ^2, ^3, sin(), cos(), tan(), asin(), acos(), atan(), log(), ln(), sqrt()");
var output = window.prompt("Define the output for this function. {ie. what's after the 'f(x)=' part}  \rOnly use x for a variable!","3+x^2");
if (output != null && output != '') {
output2=deFuncToJscript(output);
toSave = ""+name+"("+domain+")="+output+"";
toSave2 = ""+name+"("+domain+")="+output2+"";
if (confirm("Your function will been formatted for JScript when it is run.  \rConfirm your function works in JScript:  "+toSave2)){
if (document.Calulator.func1.value == "") {document.Calulator.func1.value=toSave;}
else if (document.Calulator.func2.value == "") {document.Calulator.func2.value=toSave;}
else if (document.Calulator.func3.value == "") {document.Calulator.func3.value=toSave;}
else if (document.Calulator.func4.value == "") {document.Calulator.func4.value=toSave;}
else if (document.Calulator.func5.value == "") {document.Calulator.func5.value=toSave;}
else {alert("ERROR: No empty function slots left!");
var pr=prompt('Choose a function slot to overwrite, 1-5.','1');
if (pr != null && pr != '' && pr <= 5 && pr != 0){
if (pr == 1) {document.Calulator.func1.value=toSave;}
else if (pr == 2) {document.Calulator.func2.value=toSave;}
else if (pr == 3) {document.Calulator.func3.value=toSave;}
else if (pr == 4) {document.Calulator.func4.value=toSave;}
else if (pr == 5) {document.Calulator.func5.value=toSave;}else {}}}
alert("Function "+name+"("+domain+") has been saved.  Refer to the 'index' to use your function.");
}}}else{alert("ERROR: name too long!");}}






// KEYPRESS HANDLER // 
var altTrue = false;
var shiftTrue = false;
if(!document.all){window.captureEvents(Event.KEYDOWN);window.captureEvents(Event.KEYUP);}else{document.onkeydown = msEnterCode;document.onkeyup = msKillCode;}

function msKillCode(keyCode) {
if(document.Calulator.altFour.value != 'exit' && graphOpts.style.display != "block") {
if(document.all) {var keyCode = window.event.keyCode;altTrue = window.event.altKey;shiftTrue = window.event.shiftKey;}
else{keyCode = keyCode.which;if (keyCode == 18) {altTrue = false;}if (keyCode == 16) {shiftTrue = false;}}}}

function msEnterCode(keyCode) {
if(document.Calulator.altFour.value != 'exit' && graphOpts.style.display != "block") {

if(document.all) {var keyCode = window.event.keyCode;altTrue = window.event.altKey;shiftTrue = window.event.shiftKey;}
else{keyCode = keyCode.which;if (keyCode == 18) {altTrue = true;}if (keyCode == 16) {shiftTrue = true;}}

if (keyCode > 95 && keyCode < 106) {keyCode -= 48;}

if (altTrue == true && keyCode == 50) {keyCode = 'altTwo';}
else if (shiftTrue == true && keyCode == 46) {keyCode = 'clear';}
else if (shiftTrue == true && keyCode == 80) {keyCode = 'prgms';}
else if (altTrue == true && keyCode == 46) {keyCode = 'clearAll';}
else if (keyCode == 46) {backspace();return false;}
else{}

if (keyCode == 'altTwo') {swapup();}
else if (keyCode == 'clear') {clearit();}
else if (keyCode == 'clearAll') {altTrue = false;shiftTrue = false;clearAll();}
else if (keyCode == 'prgms') {
	if (document.Calulator.altOne.value != 'exit' &&  document.Calulator.altTwo.value != 'exit' &&  document.Calulator.altThree.value != 'exit' &&  document.Calulator.altSeven.value != 'exit'
	 &&  document.Calulator.altFour.value != 'exit' &&  document.Calulator.altFive.value != 'exit' &&  document.Calulator.altSix.value != 'exit'
	 && document.Calulator.screen.value.indexOf('Storage 0') == -1 && document.Calulator.screen.value.indexOf('ERROR') == -1) {
		if (document.Calulator.workDie.value == "die") {
			if (document.Calulator.secondButtonVal.value != "secDwn") {swapup();}enterPrgms();iWorkNow();
		} else {swapup();enterPrgms();iWorkNow();}
	}
}
else {
if (keyCode == 13) {evalMe();}
else if (shiftTrue == true && keyCode == 37) {/*percent*/}
else if (shiftTrue == true && keyCode == 57) {addnum('(');return;}
else if (shiftTrue == true && keyCode == 48) {addnum(')');return;}
else if ((shiftTrue == true && keyCode == 56) || keyCode == 106) {addnum('*');return;}
else if ((shiftTrue == true && keyCode == 61) || keyCode == 107) {addnum('+');return;}
else if (shiftTrue == false && keyCode == 188) {addnum(',');}
else if (keyCode == 109) {addnum('-');}
else if (shiftTrue == false && (keyCode == 190 || keyCode == 110)) {addnum('.');}
else if (keyCode == 191 || keyCode == 111) {addnum('/');}
else if (shiftTrue == true && keyCode == 54 && document.Calulator.altSix.value == 'exit') {addnum('pow(');return;} // was '^'
else {}

if (document.Calulator.numBase[0].checked == true) {
if (keyCode == 65) {addnum('a');}
if (keyCode == 66) {addnum('b');}
if (keyCode == 67) {addnum('c');}
if (keyCode == 68) {addnum('d');}
if (keyCode == 69) {addnum('e');}
if (keyCode == 70) {addnum('f');}
}

if (shiftTrue == false && keyCode == 48) {addnum('0');}
if (shiftTrue == false && keyCode == 49) {addnum('1');}
if (document.Calulator.numBase[2].checked == false) {
if (shiftTrue == false && keyCode == 50) {addnum('2');}
if (shiftTrue == false && keyCode == 51) {addnum('3');}
if (shiftTrue == false && keyCode == 52) {addnum('4');}
if (shiftTrue == false && keyCode == 53) {addnum('5');}
if (shiftTrue == false && keyCode == 54) {addnum('6');}
if (shiftTrue == false && keyCode == 55) {addnum('7');}
if (document.Calulator.numBase[1].checked == false) {
if (shiftTrue == false && keyCode == 56) {addnum('8');}
if (shiftTrue == false && keyCode == 57) {addnum('9');}
if (document.Calulator.numBase[0].checked == false) {
if (shiftTrue == true && keyCode == 69) {addnum('E');}
}}}

if (shiftTrue == true && keyCode == 190 && document.Calulator.altSix.value == 'exit') {addnum('>');}
else if (shiftTrue == true && keyCode == 188 && document.Calulator.altSix.value == 'exit') {addnum('<');}
else if (shiftTrue == true && keyCode == 49 && document.Calulator.altSix.value == 'exit') {addnum('!');}
else if (shiftTrue == false && keyCode == 61 && (document.Calulator.altFive.value == 'exit' ||  document.Calulator.altSix.value == 'exit')) {addnum('=');}
else if (keyCode == 88 && (document.Calulator.altFive.value == 'exit' || document.Calulator.altOne.value == 'exit')) {addnum('x');}
else {}}
}}
window.onkeydown = msEnterCode;
window.onkeyup = msKillCode;





//ADD A NUMBER IN
function addnum(which,stand) {
//(document.Calulator.screen.value.length >= 50 && stand != "stand") ||
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1 || document.Calulator.screen.value.indexOf('ERROR') != -1) {alert("You must exit Programs or Memory before performing this action!");return false;}
var toEval=document.Calulator.screen.value.substring(document.Calulator.screen.value.lastIndexOf("\n"), document.Calulator.screen.value.length);

// || 
//document.Calulator.screen.value.indexOf('[A] [') != -1 || document.Calulator.screen.value.indexOf('[B] [') != -1 || document.Calulator.screen.value.indexOf('[C] [') != -1 || 
//document.Calulator.screen.value.indexOf('[D] [') != -1 || document.Calulator.screen.value.indexOf('[E] [') != -1 || document.Calulator.screen.value.indexOf('[F] [') != -1

if (toEval == "" && which == "+" || 
toEval == "" && which == "-" || 
toEval == "" && which == "*" || 
toEval == "" && which == "/" ||
toEval == "\n" && which == "+" || 
toEval == "\n" && which == "-" || 
toEval == "\n" && which == "*" || 
toEval == "\n" && which == "/" ||
toEval == "0" && which == "+" || 
toEval == "0" && which == "*" || 
toEval == "0" && which == "/") {
var substr = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length-1);
if (document.Calulator.altThree.value == 'exit'){document.Calulator.screen.value = substr+""+which;}
else {
	if (toEval == "0") {document.Calulator.screen.value = substr+"ans"+which;}
	else {document.Calulator.screen.value = substr+"\nans"+which;}
}
}

else if ((toEval.indexOf(".") != -1) && which == "3.1415926535897932384626433832795" && (toEval.indexOf("+") == -1) && (toEval.indexOf("-") == -1) && (toEval.indexOf("*") == -1) && (toEval.indexOf("/") == -1)) {return false;}
else if ((toEval.indexOf(".") != -1) && which == "2.7182818284590452353602874713526" && (toEval.indexOf("+") == -1) && (toEval.indexOf("-") == -1) && (toEval.indexOf("*") == -1) && (toEval.indexOf("/") == -1)) {return false;}
else {

if (which == "+" || which == "*" || which == "/") {
var substr = document.Calulator.screen.value.substring(document.Calulator.screen.value.length-1, document.Calulator.screen.value.length);
if (substr == "+" || substr == "-" || substr == "*" || substr == "/") {return false;}}

if (document.Calulator.screen.value == "0") {document.Calulator.screen.value="";}

if ((which == ".") && (toEval.indexOf(".") != -1)
&& (toEval.indexOf(",") == -1) && (toEval.indexOf("+") == -1)
  && (toEval.indexOf("-") == -1)   && (toEval.indexOf("*") == -1)
    && (toEval.indexOf("/") == -1)) {document.Calulator.screen.value = document.Calulator.screen.value;}
else {document.Calulator.screen.value = document.Calulator.screen.value+""+which;}

}}




//STORE / RECALL FUNCTIONS
var memory = new Array();
function storeData() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1 || document.Calulator.screen.value.indexOf('ERROR') != -1) {alert("You must exit Programs or Memory before performing this action!");return false;}

//var toSave=document.Calulator.screen.value.substring(document.Calulator.screen.value.lastIndexOf("         ")+9, document.Calulator.screen.value.lastIndexOf("\n"));
//if (toSave.indexOf(' ') != -1) {toSave=document.Calulator.answer.value;}

var toSave=document.Calulator.screen.value.substring(document.Calulator.screen.value.lastIndexOf("\n"), document.Calulator.screen.value.length);
if (toSave == "" || toSave == "\n") {toSave = "ans";}

if (toSave != 0) {
while (toSave.indexOf("ans")>-1) {var pos=toSave.indexOf("ans");var toSave=""+toSave.substring(0, pos)+""+document.Calulator.answer.value+""+toSave.substring((pos + 3), toSave.length);}
try {toSave=eval(toSave);}catch (e) {alert('I can\'t store something like that!');return false;}
memory.push(toSave);alert("\""+toSave+"\" has been saved to memory block "+eval(memory.length-1)+".");
document.Calulator.screen.value="0";}
}
function recallData() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1 || document.Calulator.screen.value.indexOf('ERROR') != -1) {alert("You must exit Programs or Memory before performing this action!");return false;}
var pr=prompt('Choose a memory block, 0-99.','');
if (pr != null && pr != '' && (!(isNaN(pr)))){
if (memory[pr] == undefined || memory[pr] == "") {alert("ERROR: Memory block empty!");}
else {
if (document.Calulator.screen.value == 0) {document.Calulator.screen.value=memory[pr];}
else {document.Calulator.screen.value+=memory[pr];}}}
}



//TAKE CARE OF BASE UNIT WE'RE IN
function convertBaseline(num,type) {
type = parseInt(type);
if (type == "" || type == "NaN") {type=2;}
num = ""+num+"";
var trackIn = false;
var buildNum = "";
var tmpSto;

var tmpArryNum = num.split(/(.)/);
var arryNum = new Array();
for (var e=0; e < tmpArryNum.length; e++) {if (tmpArryNum[e] != "") {arryNum.push(tmpArryNum[e]);}}
arryNum.push("x");

var edu=0;
var arryNumlength=arryNum.length;
while  (edu < arryNumlength) {

	if (trackIn) {

	if ((!isNaN(arryNum[edu])) || arryNum[edu].match(/([a-f])/)) {buildNum = buildNum+""+arryNum[edu]+"";}
	else {
		if (type != 16) {tmpSto = parseInt(buildNum);}else {tmpSto=buildNum;}
		tmpSto = parseInt(tmpSto, type);
		tmpSto = ""+tmpSto+"";
		arryNum.splice( (edu - buildNum.length), buildNum.length, tmpSto);
		edu = edu - (buildNum.length);
		trackIn=false;buildNum="";}

	}
	else {if ((!isNaN(arryNum[edu])) || arryNum[edu].match(/([a-f])/)) {trackIn=true;buildNum=""+arryNum[edu]+"";}}

arryNumlength=arryNum.length;
edu++;}

arryNum.pop();
num = arryNum.join("");
return num;}





//EVALUATE INPUT MATH
function evalMe() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1 || document.Calulator.screen.value.indexOf('ERROR') != -1) {alert("You must exit Programs or Memory before performing this action!");return false;}
var typeCalc=document.Calulator.typeCalc.value;
var toEval=document.Calulator.screen.value.substring(document.Calulator.screen.value.lastIndexOf("\n"), document.Calulator.screen.value.length);
if (toEval == "" || toEval == "\n") {toEval = "ans";}

if (document.Calulator.numBase[3].checked != true) {toEval = replaceLetters(toEval);}

var checkUsrFuncs = 0;var nmA,eqt;

for (var e=1; e <= 5; e++) {var tmp="func"+e+"";
if (document.Calulator[tmp].value != null && document.Calulator[tmp].value != '') {
tmpSto = document.Calulator[tmp].value;
myArray = tmpSto.split("=");
myArray[0] = myArray[0].replace(/\(x\)/g, "");
var name = myArray[0];
if (toEval.indexOf(name+"(") != -1) {checkUsrFuncs=1;nmA=name;eqt=myArray[1];}}}

if (toEval == "\n" || toEval == "") {document.Calulator.screen.value="0";}
else if (document.Calulator.altSix.value == 'exit') {
var toEval=document.Calulator.screen.value.substring((document.Calulator.screen.value.lastIndexOf("\n"))+1, document.Calulator.screen.value.length);parseAdvs(toEval);}
else if (toEval == "0" && document.Calulator.powSto.value == "") {document.Calulator.screen.value="0";}
else if (toEval.substring(1, toEval.length) == "+" ||
toEval.substring(1, toEval.length) == "-" || 
toEval.substring(1, toEval.length) == "*" ||
toEval.substring(1, toEval.length) == "/") {return false;}
else if (!document.Calulator.powSto.value == "") {
var calc = Math.pow(document.Calulator.powSto.value,eval(toEval));
document.Calulator.screen.value=document.Calulator.powSto.value+"^"+eval(toEval)+"\n         "+eval(calc)+"\n";
document.Calulator.powSto.value="";
if (typeCalc == "adv") {document.Calulator.answer.value=calc;}
}
else if (toEval.indexOf("randInt(") != -1) {
var subStrt=(toEval.indexOf("randInt("))+8;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
randInt(startMeUp);
}
else if (toEval.indexOf("avg(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("avg("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
avg(startMeUp);
}
else if (toEval.indexOf("gcd(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("gcd("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
doGCD(startMeUp);
}
else if (toEval.indexOf("lcm(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("lcm("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
doLCM(startMeUp);
}
else if (toEval.indexOf("min(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("min("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
doMin(startMeUp);
}
else if (toEval.indexOf("max(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("max("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
doMax(startMeUp);
}
else if (toEval.indexOf("modulus(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("modulus("))+8;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
doModulus(startMeUp);
}
else if (toEval.indexOf("sub(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("sub("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
matrixSub(startMeUp);
}
else if (toEval.indexOf("add(") != -1 && toEval.indexOf(",") != -1) {
var subStrt=(toEval.indexOf("add("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
matrixAdd(startMeUp);
}
else if (toEval.indexOf("div(") != -1) {
var subStrt=(toEval.indexOf("div("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
matrixDiv(startMeUp);
}
else if (toEval.indexOf("mult(") != -1) {
var subStrt=(toEval.indexOf("mult("))+5;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
matrixMult(startMeUp);
}
else if (toEval.indexOf("tpose(") != -1) {
var subStrt=(toEval.indexOf("tpose("))+6;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
matrixTrans(startMeUp);
}
else if (toEval.indexOf("inv(") != -1) {
var subStrt=(toEval.indexOf("inv("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
getInv(startMeUp);
}
else if (toEval.indexOf("det(") != -1) {
var subStrt=(toEval.indexOf("det("))+4;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
var tmp1 = getDet(startMeUp);
var toEval3=document.Calulator.screen.value.substring((document.Calulator.screen.value.lastIndexOf("\n"))+1, document.Calulator.screen.value.length);
document.Calulator.screen.value=toEval3+"\n         "+tmp1+"\n";
document.Calulator.answer.value=tmp1;
}
else if (toEval.indexOf("isPrime(") != -1 || toEval.indexOf("getPrimes(") != -1) {
if (toEval.indexOf("isPrime(") != -1) {
var subStrt=(toEval.indexOf("isPrime("))+8;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
doPrimeCheck(startMeUp);}
else if (toEval.indexOf("getPrimes(") != -1) {
var subStrt=(toEval.indexOf("getPrimes("))+10;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
doPrimes(startMeUp);}
else {}
}
else if (toEval.indexOf("binDec(") != -1 || toEval.indexOf("decBin(") != -1 || toEval.indexOf("decHex(") != -1 || toEval.indexOf("decOct(") != -1 || toEval.indexOf("octDec(") != -1 || toEval.indexOf("hexDec(") != -1) {
	if (toEval.indexOf("binDec(") != -1) {var thisThatThere="binDec";}
	else if (toEval.indexOf("decBin(") != -1) {var thisThatThere="decBin";}
	else if (toEval.indexOf("decHex(") != -1) {var thisThatThere="decHex";}
	else if (toEval.indexOf("decOct(") != -1) {var thisThatThere="decOct";}
	else if (toEval.indexOf("octDec(") != -1) {var thisThatThere="octDec";}
	else if (toEval.indexOf("hexDec(") != -1) {var thisThatThere="hexDec";}
	else{}
var subStrt=(toEval.indexOf(thisThatThere+"("))+7;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
convertBase(startMeUp,thisThatThere);
}
else if (checkUsrFuncs,nmA,eqt) {
var subStrt=(toEval.indexOf(nmA+"("))+nmA.length+1;
var startMeUp=toEval.substring(subStrt,toEval.length);
while (startMeUp.indexOf(")")>-1) {var pos=startMeUp.indexOf(")");var startMeUp=""+startMeUp.substring(0, pos)+""+startMeUp.substring((pos + 1), startMeUp.length);}
while (startMeUp.indexOf(",")>-1) {var pos=startMeUp.indexOf(",");var startMeUp=""+startMeUp.substring(0, pos)+"C"+startMeUp.substring((pos + 1), startMeUp.length);}
execFuncs(nmA,startMeUp,eqt);
}
else {
var toEval3=document.Calulator.screen.value.substring((document.Calulator.screen.value.lastIndexOf("\n"))+1, document.Calulator.screen.value.length);
var toEval3 = removeCommas(toEval3);
var toEval3B4=toEval3;
var toEval3 = replaceLetters(toEval3);
if (document.Calulator.numBase[2].checked == true) {toEval3=convertBaseline(toEval3,2);}
if (document.Calulator.numBase[1].checked == true) {toEval3=convertBaseline(toEval3,8);}
if (document.Calulator.numBase[0].checked == true) {toEval3=convertBaseline(toEval3,16);}
var toEval2=eval(toEval3);
if (document.Calulator.numBase[2].checked == true) {toEval2 = toEval2.toString(2);}
if (document.Calulator.numBase[1].checked == true) {toEval2 = toEval2.toString(8);}
if (document.Calulator.numBase[0].checked == true) {toEval2 = toEval2.toString(16);}

document.Calulator.screen.value=toEval3B4+"\n         "+toEval2+"\n";
document.Calulator.answer.value=toEval2;
}}



function execFuncs(name,input,output) {
output=deFuncToJscript(output);
output = output.replace(/x/gi, input);
var newNum=eval(output);
document.Calulator.screen.value="usr "+name+"("+input+")\n         "+newNum+"\n";
document.Calulator.answer.value=newNum;}



function changeBase(chgTo,hex,oct,bin,dec) {
var toEval3=document.Calulator.screen.value.substring((document.Calulator.screen.value.lastIndexOf("\n"))+1, document.Calulator.screen.value.length);
if (toEval3 == "" && document.Calulator.answer.value != "" && document.Calulator.screen.value != "0") {toEval3 = document.Calulator.answer.value;}

toEval3 = removeCommas(toEval3);
toEval3 = replaceLetters(toEval3);

// STANDARDIZE TO DEC
if (bin) {toEval3 = parseInt(toEval3, 2);}
else if (oct) {toEval3 = parseInt(toEval3, 8);}
else if (hex) {toEval3 = parseInt(toEval3, 16);}else {}

if (chgTo == "bin"){var TFvar = true;var TFNvar = true;var hexTFvar = true;
toEval3 = parseInt(toEval3);toEval3 = toEval3.toString(2);
document.Calulator.screen.value=toEval3+"";}

else if (chgTo == "oct"){var TFvar = true;var TFNvar = false;var hexTFvar = true;
toEval3 = parseInt(toEval3);toEval3 = toEval3.toString(8);
document.Calulator.screen.value=toEval3+"";}

else if (chgTo == "hex"){var TFvar = true;var TFNvar = false;var hexTFvar = false;
toEval3 = parseInt(toEval3);toEval3 = toEval3.toString(16);
document.Calulator.screen.value=toEval3+"";}

else {var TFvar = false;var TFNvar = false;var hexTFvar = true;
toEval3 = parseInt(toEval3);
document.Calulator.screen.value=toEval3+"";}

document.Calulator.hexA.disabled=hexTFvar;
document.Calulator.hexB.disabled=hexTFvar;
document.Calulator.hexC.disabled=hexTFvar;
document.Calulator.hexD.disabled=hexTFvar;
document.Calulator.hexE.disabled=hexTFvar;
document.Calulator.hexF.disabled=hexTFvar;
document.Calulator.posneg.disabled=TFvar;
document.Calulator.factorial.disabled=TFvar;
document.Calulator.cos.disabled=TFvar;
document.Calulator.sec.disabled=TFvar;
document.Calulator.acos.disabled=TFvar;
document.Calulator.sin.disabled=TFvar;
document.Calulator.csc.disabled=TFvar;
document.Calulator.asin.disabled=TFvar;
document.Calulator.tan.disabled=TFvar;
document.Calulator.cot.disabled=TFvar;
document.Calulator.atan.disabled=TFvar;
document.Calulator.log.disabled=TFvar;
document.Calulator.xToy.disabled=TFvar;
document.Calulator.store.disabled=TFvar;
document.Calulator.nlog.disabled=TFvar;
document.Calulator.cubed.disabled=TFvar;
document.Calulator.recall.disabled=TFvar;
document.Calulator.e.disabled=TFvar;
document.Calulator.pi.disabled=TFvar;
document.Calulator.lastAns.disabled=TFvar;
document.Calulator.sqrt.disabled=TFvar;
document.Calulator.sq.disabled=TFvar;
document.Calulator.period.disabled=TFvar;
document.Calulator.enterMem.disabled=TFvar;
document.Calulator.seven.disabled=TFNvar;
document.Calulator.eight.disabled=TFNvar;
document.Calulator.nine.disabled=TFNvar;
document.Calulator.four.disabled=TFNvar;
document.Calulator.five.disabled=TFNvar;
document.Calulator.six.disabled=TFNvar;
document.Calulator.two.disabled=TFNvar;
document.Calulator.three.disabled=TFNvar;

if (chgTo == "oct"){document.Calulator.nine.disabled=true;document.Calulator.eight.disabled=true;}
}


//DO BASE CONVERSIONS
function convertBase(number,type) {
if (type == 'decBin') {number = parseInt(number);var newNum = number.toString(2);}
else if (type == 'decOct') {number = parseInt(number);var newNum = number.toString(8);}
else if (type == 'decHex') {number = parseInt(number);var newNum = ("0x" +  number.toString(16));}
else if (type == 'binDec') {number = parseInt(number);var newNum = parseInt(number, 2);}
else if (type == 'octDec') {number = parseInt(number);var newNum = parseInt(number, 8);}
else if (type == 'hexDec') {var newNum = parseInt(number, 16);}else{}
document.Calulator.screen.value=type+"("+number+")\n         "+newNum+"\n";
document.Calulator.answer.value=newNum;}



//CLEAR CALCULATOR
function clearit() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1) {return false;}

if (document.Calulator.screen.value.indexOf("y=") > -1) {document.Calulator.screen.value="y=";}
else if (document.Calulator.screen.value.indexOf("r=") > -1) {document.Calulator.screen.value="r=";}
else if (document.Calulator.screen.value.indexOf("x=") > -1) {document.Calulator.screen.value="x=";}

else if (document.Calulator.matrixState.value == 1 && document.Calulator.screen.value.indexOf("[A] [") != -1) {document.Calulator.screen.value="[A] [";}
else if (document.Calulator.matrixState.value == 1 && document.Calulator.screen.value.indexOf("[B] [") != -1) {document.Calulator.screen.value="[B] [";}
else if (document.Calulator.matrixState.value == 1 && document.Calulator.screen.value.indexOf("[C] [") != -1) {document.Calulator.screen.value="[C] [";}
else if (document.Calulator.matrixState.value == 1 && document.Calulator.screen.value.indexOf("[D] [") != -1) {document.Calulator.screen.value="[D] [";}
else if (document.Calulator.matrixState.value == 1 && document.Calulator.screen.value.indexOf("[E] [") != -1) {document.Calulator.screen.value="[E] [";}

else {
document.Calulator.screen.value="0";
document.Calulator.powSto.value="";
}

}
function clearAll() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1) {return false;}
var addYesNo=confirm('Are you sure you want to clear all memory?');
if (addYesNo) {
document.Calulator.posneg.value='+/-';
document.Calulator.posneg.title='positive / negative';
document.Calulator.screen.style.backgroundColor='#888888';
document.Calulator.screen.style.color='#FFFFFF';
document.Calulator.contrast.value=5;
listStorage = [];
matrixStorage = [];
document.Calulator.func1.value="";
document.Calulator.func2.value="";
document.Calulator.func3.value="";
document.Calulator.func4.value="";
document.Calulator.func5.value="";
document.Calulator.screen.value="0";
document.Calulator.powSto.value="";
memory = [];
document.Calulator.answer.value="";
document.Calulator.largeStorage.value="";
document.Calulator.clear.value='C';
document.Calulator.lp.value='(';
document.Calulator.rp.value=')';
document.Calulator.cos.value='cos';
document.Calulator.cos.style.backgroundColor='#AAAAAA';
document.Calulator.cos.title='cosine';
document.Calulator.sec.value='sec';
document.Calulator.sec.style.backgroundColor='#AAAAAA';
document.Calulator.sec.title='secant';
document.Calulator.acos.value='acos';
document.Calulator.acos.style.backgroundColor='#AAAAAA';
document.Calulator.acos.title='arccosine';
document.Calulator.pi.value='pi';
document.Calulator.pi.style.backgroundColor='#AAAAAA';
document.Calulator.period.value='.';
document.Calulator.lastAns.value='ans';
document.Calulator.cubed.value='x^3';
document.Calulator.e.value='E';
document.Calulator.xToy.value='x^y';
document.Calulator.sqrt.value='sqrt';
document.Calulator.enterMem.value='mem';
document.Calulator.sq.value='x^2';
document.Calulator.sq.style.backgroundColor='#AAAAAA';
document.Calulator.secondButtonVal.value = "secUp";
document.Calulator.secondBtn.style.backgroundColor='#66BB99';
document.Calulator.secondBtn.style.borderColor='#119922';
document.Calulator.secondBtn.style.color='#004400';
document.Calulator.e.title='Base of a natural logarithm';
document.Calulator.xToy.title='x to the power of y';
document.Calulator.pi.title='PI';
document.Calulator.lastAns.title='Insert last answer';
document.Calulator.cubed.title='cube';
document.Calulator.sqrt.title='square root';
document.Calulator.enterMem.title='Enter Memory';
document.Calulator.sq.title='square';
document.Calulator.log.value='log';
document.Calulator.log.style.backgroundColor='#AAAAAA';
document.Calulator.log.title='logarithm (base 10)';
document.Calulator.nlog.value='ln';
document.Calulator.nlog.style.backgroundColor='#AAAAAA';
document.Calulator.nlog.title='natural logarithm (base E)';
document.Calulator.store.value='sto';
document.Calulator.store.style.backgroundColor='#AAAAAA';
document.Calulator.store.title='Store screen value';
document.Calulator.recall.value='rcl';
document.Calulator.recall.style.backgroundColor='#AAAAAA';
document.Calulator.recall.title='Recall stored values';
document.Calulator.sin.value='sin';
document.Calulator.sin.title='sine';
document.Calulator.tan.value='tan';
document.Calulator.tan.title='tangent';
document.Calulator.csc.value='csc';
document.Calulator.csc.title='cosecant';
document.Calulator.asin.value='asin';
document.Calulator.asin.title='arcsine';
document.Calulator.cot.value='cot';
document.Calulator.cot.title='cotangent';
document.Calulator.atan.value='atan';
document.Calulator.atan.title='arctangent';}
}



//SWAP POSITIVE AND NEGATIVE
function newy() {
var tempSto=(document.Calulator.screen.value.lastIndexOf("\n"))+1;
var toEval=document.Calulator.screen.value.substring(tempSto, document.Calulator.screen.value.length);
var toEval = removeCommas(toEval);
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1 || document.Calulator.screen.value.indexOf('ERROR') != -1) {alert("You must exit Programs or Memory before performing this action!");return false;}
if (toEval.charAt(0) != "0") {
if(toEval.substring(0, 1) == "-") {document.Calulator.screen.value = toEval.substring(1, toEval.length)}
else {document.Calulator.screen.value = "-" + toEval;}
}
}



//BACKSPACE
function backspace() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1 || document.Calulator.screen.value.indexOf('ERROR') != -1) {return false;}

/* || 
document.Calulator.screen.value.indexOf('[A] [') != -1 || document.Calulator.screen.value.indexOf('[B] [') != -1 || document.Calulator.screen.value.indexOf('[C] [') != -1 || 
document.Calulator.screen.value.indexOf('[D] [') != -1 || document.Calulator.screen.value.indexOf('[E] [') != -1 || document.Calulator.screen.value.indexOf('[F] [') != -1*/

var checkUsrFuncs = 0;var nmA,eqt;

for (var e=1; e <= 5; e++) {var tmp="func"+e+"";
if (document.Calulator[tmp].value != null && document.Calulator[tmp].value != '') {
tmpSto = document.Calulator[tmp].value;
myArray = tmpSto.split("=");
myArray[0] = myArray[0].replace(/\(x\)/g, "");
var name = myArray[0];
if (document.Calulator.screen.value.substring(document.Calulator.screen.value.length - (name.length+1), document.Calulator.screen.value.length) == (name+"(")) {checkUsrFuncs=1;nmA=name;}}}

var thisIsIt2 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 2, document.Calulator.screen.value.length);
var thisIsIt3 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 3, document.Calulator.screen.value.length);
var thisIsIt4 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 4, document.Calulator.screen.value.length);
var thisIsIt5 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 5, document.Calulator.screen.value.length);
var thisIsIt6 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 6, document.Calulator.screen.value.length);
var thisIsIt7 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 7, document.Calulator.screen.value.length);
var thisIsIt8 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 8, document.Calulator.screen.value.length);
var thisIsIt9 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 9, document.Calulator.screen.value.length);
var thisIsIt10 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 10, document.Calulator.screen.value.length);
var thisIsIt11 = document.Calulator.screen.value.substring(document.Calulator.screen.value.length - 11, document.Calulator.screen.value.length);

if (document.Calulator.screen.value == "0") {document.Calulator.screen.value = 0;}
else if (checkUsrFuncs) {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - (nmA.length+1));}
else if ((thisIsIt2 == "y=" || thisIsIt2 == "r=" || thisIsIt2 == "x=") && document.Calulator.altSix.value != 'exit') {return false;}
else if (thisIsIt3 == "ans" || thisIsIt3 == "ln(" || thisIsIt3 == "x^2" || thisIsIt3 == "x^3" || thisIsIt3.match(/L([0-9]{2})/)) {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 3);}
else if (thisIsIt3.match(/\[[A-Za-z]\]/) || thisIsIt3 == "[A]" || thisIsIt3 == "[B]" || thisIsIt3 == "[C]" || thisIsIt3 == "[D]" || thisIsIt3 == "[E]" || thisIsIt3 == "[F]") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 3);}
else if (thisIsIt5 == "rVal(" || thisIsIt5 == "     " || thisIsIt5 == "sqrt(" || thisIsIt5 == "zToP(" || thisIsIt5 == "pToZ(" || thisIsIt5 == "acos(" || thisIsIt5 == "asin(" || thisIsIt5 == "atan(" || thisIsIt5 == "mult(" || thisIsIt5 == "ceil(" || thisIsIt5 == "fact(" || thisIsIt5 == "loop(" || thisIsIt5 == "test(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 5);}
else if (thisIsIt6 == "tpose(" || thisIsIt6 == "round(" || thisIsIt6 == "floor(" || thisIsIt6 == "toDec(" || thisIsIt6 == "stDev(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 6);}
else if (thisIsIt4 == "pow(" || thisIsIt4 == "gcd(" || thisIsIt4 == "lcm(" || thisIsIt4 == "nCr(" || thisIsIt4 == "nPr(" || thisIsIt4 == "int(" || thisIsIt4 == "min(" || thisIsIt4 == "max(" || thisIsIt4 == "avg(" || thisIsIt4 == "log(" || thisIsIt4 == "cos(" || thisIsIt4 == "sin(" || thisIsIt4 == "tan(" || thisIsIt4 == "sub(" || thisIsIt4 == "add(" || thisIsIt4 == "div(" || thisIsIt4 == "sec(" || thisIsIt4 == "csc(" || thisIsIt4 == "cot(" || thisIsIt4 == "abs(" || thisIsIt4 == "det(" || thisIsIt4 == "inv(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 4);}
else if (thisIsIt7 == "atomWt(" || thisIsIt7 == "mklist(" || thisIsIt7 == "revPol(" || thisIsIt7 == "toFrac(" || thisIsIt7 == "median(" || thisIsIt7 == "binDec(" || thisIsIt7 == "decBin(" || thisIsIt7 == "decOct(" || thisIsIt7 == "decHex(" || thisIsIt7 == "octDec(" || thisIsIt7 == "hexDec(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 7);}
else if (thisIsIt8 == "Infinity" || thisIsIt8 == "randInt(" || thisIsIt8 == "modulus(" || thisIsIt8 == "isPrime(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 8);}
else if (thisIsIt9 == "randNorm(" || thisIsIt9 == "mkmatrix(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 9);}
else if (thisIsIt10 == "getPrimes(" || thisIsIt10 == "solveForX(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 10);}
else if (thisIsIt9 == "binomcdf(" || thisIsIt9 == "binompdf(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 9);}
else if (thisIsIt2 == "Na" || thisIsIt2 == "eV" || thisIsIt2 == "pi" || thisIsIt2.match(/L([0-9])/)) {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 2);}
else if (thisIsIt11 == "poissoncdf(" || thisIsIt11 == "poissonpdf(" || thisIsIt11 == "percentile(") {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 11);}
else {document.Calulator.screen.value = document.Calulator.screen.value.substring(0, document.Calulator.screen.value.length - 1);}

if (document.Calulator.screen.value == "") {document.Calulator.screen.value = "0";}
}



//ENTER MEMORY
function encroachMem() {
if (document.Calulator.screen.value.indexOf('PROGRAMS') != -1) {alert("You must exit Programs before performing this action!");return false;}
if (document.Calulator.largeStorage.value == "") {
document.Calulator.numBase[3].checked = true;
document.Calulator.numBase[3].disabled = true;
document.Calulator.numBase[2].disabled = true;
document.Calulator.numBase[1].disabled = true;
document.Calulator.numBase[0].disabled = true;
document.Calulator.largeStorage.value=document.Calulator.screen.value+"";
document.Calulator.screen.value="";

if (memory.length > 0) {for (var ebb=0;ebb < memory.length; ebb++) {
document.Calulator.screen.value+="Storage "+ebb+": "+memory[ebb]+"\n";}}
else {document.Calulator.screen.value+="Storage 0: \n";}

document.Calulator.screen.value+="\n";

var co=0;for(var ebb in listStorage){document.Calulator.screen.value+="Stat "+ebb+": ("+listStorage[ebb]+")\n";co++;}
if (co == 0) {document.Calulator.screen.value+="Stat L1: ()\n";}

document.Calulator.screen.value+="\n";

var co=0;for(var ebb in matrixStorage){document.Calulator.screen.value+="Matrix "+ebb+": "+matrixStorage[ebb]+"\n";co++;}
if (co == 0) {document.Calulator.screen.value+="Matrix A: \n";}

document.Calulator.screen.value+="\nFunc1: "+document.Calulator.func1.value+"\nFunc2: "+document.Calulator.func2.value+"\nFunc3: "+document.Calulator.func3.value+"\nFunc4: "+document.Calulator.func4.value+"\nFunc5: "+document.Calulator.func5.value+"\n\nLast Answer: "+document.Calulator.answer.value+"";
document.Calulator.screen.style.color="#ffffaa";
}
else {
document.Calulator.numBase[3].disabled = false;
document.Calulator.numBase[2].disabled = false;
document.Calulator.numBase[1].disabled = false;
document.Calulator.numBase[0].disabled = false;
document.Calulator.screen.style.color="#ffffff";
document.Calulator.screen.value=document.Calulator.largeStorage.value;
document.Calulator.largeStorage.value = "";
}}



//ENTER PROGRAMS
function enterPrgms() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1) {alert("You must exit Memory before performing this action!");return false;}
if (document.Calulator.largeStorage.value == "") {
document.Calulator.factorial.disabled=true;
document.Calulator.numBase[3].checked = true;
document.Calulator.numBase[3].disabled = true;
document.Calulator.numBase[2].disabled = true;
document.Calulator.numBase[1].disabled = true;
document.Calulator.numBase[0].disabled = true;
document.Calulator.largeStorage.value=document.Calulator.screen.value+"";
document.Calulator.screen.value="PROGRAMS\n1. GAC GraphIt (v2.0)\n2. GAC Matrices (v1.0)\n3. GAC Unit Converter (v1.0)\n4. GAC Statistics (v1.0)\n5. GAC Equation Solver (v1.0)\n6. GAC Expert Architecture (v1.0)\n";
document.Calulator.screen.style.color="#ffffaa";
}
else {
document.Calulator.factorial.disabled=false;
document.Calulator.numBase[3].disabled = false;
document.Calulator.numBase[2].disabled = false;
document.Calulator.numBase[1].disabled = false;
document.Calulator.numBase[0].disabled = false;
document.Calulator.screen.style.color="#ffffff";
document.Calulator.screen.value=document.Calulator.largeStorage.value;
document.Calulator.largeStorage.value = "";
}}



//ENTER LAST ANSWER
function addAns() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1 || document.Calulator.screen.value.indexOf('PROGRAMS') != -1 || document.Calulator.screen.value.indexOf('ERROR') != -1) {alert("You must exit Programs or Memory before performing this action!");return false;}
if (document.Calulator.screen.value == "0") {document.Calulator.screen.value="ans";}
else {document.Calulator.screen.value=document.Calulator.screen.value+"ans";}
}



function replaceLetters(toEval) {
while (toEval.indexOf("Na")>-1) {var pos=toEval.indexOf("Na");var toEval=""+toEval.substring(0, pos)+""+6.022e23+""+toEval.substring((pos + 2), toEval.length);}
while (toEval.indexOf("C")>-1) {var pos=toEval.indexOf("C");var toEval=""+toEval.substring(0, pos)+""+299792458+""+toEval.substring((pos + 1), toEval.length);}
while (toEval.indexOf("eV")>-1) {var pos=toEval.indexOf("eV");var toEval=""+toEval.substring(0, pos)+""+1.60217653e-19+""+toEval.substring((pos + 2), toEval.length);}
while (toEval.indexOf("G")>-1) {var pos=toEval.indexOf("G");var toEval=""+toEval.substring(0, pos)+""+6.67300e-11+""+toEval.substring((pos + 1), toEval.length);}
while (toEval.indexOf("H")>-1) {var pos=toEval.indexOf("H");var toEval=""+toEval.substring(0, pos)+""+6.626068e-34+""+toEval.substring((pos + 1), toEval.length);}
while (toEval.indexOf("pi")>-1) {var pos=toEval.indexOf("pi");var toEval=""+toEval.substring(0, pos)+""+3.1415926535897932384626433832795+""+toEval.substring((pos + 2), toEval.length);}
while (toEval.indexOf("E")>-1) {var pos=toEval.indexOf("E");var toEval=""+toEval.substring(0, pos)+""+2.7182818284590452353602874713526+""+toEval.substring((pos + 1), toEval.length);}
while (toEval.indexOf("ans")>-1) {var pos=toEval.indexOf("ans");var toEval=""+toEval.substring(0, pos)+""+document.Calulator.answer.value+""+toEval.substring((pos + 3), toEval.length);}
return toEval;}

function removeCommas(toEval) {
while (toEval.indexOf(",")>-1) {var pos=toEval.indexOf(",");var toEval=""+toEval.substring(0, pos)+""+toEval.substring((pos + 1), toEval.length);}
return toEval;
}


function swapup() {
if(document.Calulator.secondButtonVal.value == "secDwn"){swapdown();}
else {
document.Calulator.clear.value='CE';
document.Calulator.lp.value='[';
document.Calulator.rp.value=']';
document.Calulator.cos.value='«';
document.Calulator.cos.style.backgroundColor='#DDDDDD';
document.Calulator.cos.title='Lower screen contrast';
document.Calulator.sec.value='Ø';
document.Calulator.sec.style.backgroundColor='#888888';
document.Calulator.sec.title='Reset screen contrast';
document.Calulator.acos.value='»';
document.Calulator.acos.style.backgroundColor='#666666';
document.Calulator.acos.title='Raise screen contrast';
document.Calulator.e.value='exp';
document.Calulator.e.title='Exponential (e^x)';
document.Calulator.xToy.value='10^x';
document.Calulator.xToy.title='Power of 10 (10^x)';
document.Calulator.pi.value='randInt';
document.Calulator.pi.style.backgroundColor='#BBBB55';
document.Calulator.pi.title='Random integers - randInt(lowest,highest,# integers)';
document.Calulator.period.value='‚';
document.Calulator.lastAns.value='round';
document.Calulator.lastAns.title='Round a decimal';
document.Calulator.cubed.value='abs';
document.Calulator.cubed.title='Absolute value';
document.Calulator.sqrt.value='cubert';
document.Calulator.sqrt.title='Cubed root (x^ 1/3)';
document.Calulator.enterMem.value='prgm';
document.Calulator.enterMem.title='Enter Programs';
document.Calulator.sq.value='avg';
document.Calulator.sq.style.backgroundColor='#BBBB55';
document.Calulator.sq.title='Calculate average - avg(a,b,c,d...) 10 max';
document.Calulator.secondButtonVal.value="secDwn";
document.Calulator.secondBtn.style.backgroundColor='#CC77AA';
document.Calulator.secondBtn.style.borderColor='#991122';
document.Calulator.secondBtn.style.color='#440000';
document.Calulator.log.value='gcd';
document.Calulator.log.style.backgroundColor='#BBBB55';
document.Calulator.log.title='Greatest Common Denominator - gcd(a,b) 2 max';
document.Calulator.nlog.value='lcm';
document.Calulator.nlog.style.backgroundColor='#BBBB55';
document.Calulator.nlog.title='Least Common Multiple - lcm(a,b) 2 max';
document.Calulator.store.value='min';
document.Calulator.store.style.backgroundColor='#BBBB55';
document.Calulator.store.title='Minimum value - min(a,b, ... z)';
document.Calulator.recall.value='max';
document.Calulator.recall.style.backgroundColor='#BBBB55';
document.Calulator.recall.title='Maximum value - max(a,b, ... z)';

document.Calulator.posneg.value='index';
document.Calulator.posneg.title='A list of advanced functions not listed as a button.';

document.Calulator.sin.value='floor';
document.Calulator.sin.title='Next less than or equal to integer';
document.Calulator.tan.value='ceil';
document.Calulator.tan.title='Next greater than or equal to integer';

document.Calulator.csc.value='to Frac';
document.Calulator.csc.title='Convert number to fraction / reduce fraction';
document.Calulator.asin.value='to Dec';
document.Calulator.asin.title='Convert number to decimal';

document.Calulator.cot.value='msf';
document.Calulator.cot.title='Standardized Mach Function - base 660. (Enter MPH value, answer in Mach)';
document.Calulator.atan.value='msf^-1';
document.Calulator.atan.title='Inverse Standardized Mach Function - base 660. (Enter Mach value, Answer in MPH)';
}

}

function swapdown() {

document.Calulator.clear.value='C';
document.Calulator.lp.value='(';
document.Calulator.rp.value=')';
document.Calulator.cos.value='cos';
document.Calulator.cos.style.backgroundColor='#AAAAAA';
document.Calulator.cos.title='cosine';
document.Calulator.sec.value='sec';
document.Calulator.sec.style.backgroundColor='#AAAAAA';
document.Calulator.sec.title='secant';
document.Calulator.acos.value='acos';
document.Calulator.acos.style.backgroundColor='#AAAAAA';
document.Calulator.acos.title='arccosine';
document.Calulator.e.value='E';
document.Calulator.xToy.value='x^y';
document.Calulator.pi.value='pi';
document.Calulator.pi.style.backgroundColor='#AAAAAA';
document.Calulator.period.value='.';
document.Calulator.lastAns.value='ans';
document.Calulator.cubed.value='x^3';
document.Calulator.sqrt.value='sqrt';
document.Calulator.enterMem.value='mem';
document.Calulator.sq.value='x^2';
document.Calulator.sq.style.backgroundColor='#AAAAAA';
document.Calulator.secondButtonVal.value = "secUp";
document.Calulator.secondBtn.style.backgroundColor='#66BB99';
document.Calulator.secondBtn.style.borderColor='#119922';
document.Calulator.secondBtn.style.color='#004400';
document.Calulator.e.title='Base of a natural logarithm';
document.Calulator.xToy.title='x to the power of y';
document.Calulator.pi.title='PI';
document.Calulator.lastAns.title='Insert last answer';
document.Calulator.cubed.title='cube';
document.Calulator.sqrt.title='square root';
document.Calulator.enterMem.title='Enter Memory';
document.Calulator.sq.title='square';
document.Calulator.log.value='log';
document.Calulator.log.style.backgroundColor='#AAAAAA';
document.Calulator.log.title='logarithm (base 10)';
document.Calulator.nlog.value='ln';
document.Calulator.nlog.style.backgroundColor='#AAAAAA';
document.Calulator.nlog.title='natural logarithm (base E)';
document.Calulator.store.value='sto';
document.Calulator.store.style.backgroundColor='#AAAAAA';
document.Calulator.store.title='Store screen value';
document.Calulator.recall.value='rcl';
document.Calulator.recall.style.backgroundColor='#AAAAAA';
document.Calulator.recall.title='Recall stored values';

document.Calulator.posneg.value='+/-';
document.Calulator.posneg.title='positive / negative';

document.Calulator.sin.value='sin';
document.Calulator.sin.title='sine';
document.Calulator.tan.value='tan';
document.Calulator.tan.title='tangent';

document.Calulator.csc.value='csc';
document.Calulator.csc.title='cosecant';
document.Calulator.asin.value='asin';
document.Calulator.asin.title='arcsine';

document.Calulator.cot.value='cot';
document.Calulator.cot.title='cotangent';
document.Calulator.atan.value='atan';
document.Calulator.atan.title='arctangent';
}


function upContrast(reset) {
if (reset != "true") {
var conNow=document.Calulator.contrast.value;
conNow++;
if (conNow == 11) {conNow=10;}
document.Calulator.contrast.value=conNow;
if (conNow == 1){document.Calulator.screen.style.backgroundColor='#FFFFFF';document.Calulator.screen.style.color='#000000';}
else if (conNow == 2){document.Calulator.screen.style.backgroundColor='#DDDDDD';document.Calulator.screen.style.color='#000000';}
else if (conNow == 3){document.Calulator.screen.style.backgroundColor='#BBBBBB';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 4){document.Calulator.screen.style.backgroundColor='#999999';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 5){document.Calulator.screen.style.backgroundColor='#888888';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 6){document.Calulator.screen.style.backgroundColor='#777777';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 7){document.Calulator.screen.style.backgroundColor='#666666';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 8){document.Calulator.screen.style.backgroundColor='#555555';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 9){document.Calulator.screen.style.backgroundColor='#333333';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 10){document.Calulator.screen.style.backgroundColor='#000000';document.Calulator.screen.style.color='#FFFFFF';}
else {document.Calulator.screen.style.backgroundColor='#888888';document.Calulator.screen.style.color='#FFFFFF';}}
else {document.Calulator.screen.style.backgroundColor='#888888';document.Calulator.screen.style.color='#FFFFFF';document.Calulator.contrast.value=5;}}


function downContrast() {
var conNow=document.Calulator.contrast.value;
conNow--;
if (conNow == 0) {conNow=1;}
document.Calulator.contrast.value=conNow;
if (conNow == 1){document.Calulator.screen.style.backgroundColor='#FFFFFF';document.Calulator.screen.style.color='#000000';}
else if (conNow == 2){document.Calulator.screen.style.backgroundColor='#DDDDDD';document.Calulator.screen.style.color='#000000';}
else if (conNow == 3){document.Calulator.screen.style.backgroundColor='#BBBBBB';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 4){document.Calulator.screen.style.backgroundColor='#999999';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 5){document.Calulator.screen.style.backgroundColor='#888888';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 6){document.Calulator.screen.style.backgroundColor='#777777';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 7){document.Calulator.screen.style.backgroundColor='#666666';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 8){document.Calulator.screen.style.backgroundColor='#555555';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 9){document.Calulator.screen.style.backgroundColor='#333333';document.Calulator.screen.style.color='#FFFFFF';}
else if (conNow == 10){document.Calulator.screen.style.backgroundColor='#000000';document.Calulator.screen.style.color='#FFFFFF';}
else {document.Calulator.screen.style.backgroundColor='#888888';document.Calulator.screen.style.color='#FFFFFF';}}


function iWorkNow() {
if (document.Calulator.screen.value.indexOf('Storage 0') != -1) {return false;}
if (document.Calulator.workDie.value == "die") {
document.Calulator.numBase[3].checked = true;
document.Calulator.numBase[3].disabled = true;
document.Calulator.numBase[2].disabled = true;
document.Calulator.numBase[1].disabled = true;
document.Calulator.numBase[0].disabled = true;
document.Calulator.secondBtn.disabled = true;
document.Calulator.altOne.style.backgroundColor="#3399CC";document.Calulator.altOne.style.borderColor="#4455CC";
document.Calulator.altTwo.style.backgroundColor="#3399CC";document.Calulator.altTwo.style.borderColor="#4455CC";
document.Calulator.altThree.style.backgroundColor="#3399CC";document.Calulator.altThree.style.borderColor="#4455CC";
document.Calulator.altFour.style.backgroundColor="#3399CC";document.Calulator.altFour.style.borderColor="#4455CC";
document.Calulator.altFive.style.backgroundColor="#3399CC";document.Calulator.altFive.style.borderColor="#4455CC";
document.Calulator.altSix.style.backgroundColor="#3399CC";document.Calulator.altSix.style.borderColor="#4455CC";
document.Calulator.altOne.disabled=false;
document.Calulator.altTwo.disabled=false;
document.Calulator.altThree.disabled=false;
document.Calulator.altFour.disabled=false;
document.Calulator.altFive.disabled=false;
document.Calulator.altSix.disabled=false;
document.Calulator.altSeven.disabled=true;
document.Calulator.workDie.value = "live";}
else {
document.Calulator.numBase[3].disabled = false;
document.Calulator.numBase[2].disabled = false;
document.Calulator.numBase[1].disabled = false;
document.Calulator.numBase[0].disabled = false;
document.Calulator.secondBtn.disabled = false;
document.Calulator.altOne.style.backgroundColor="#AAAAAA";document.Calulator.altOne.style.borderColor="#777777";
document.Calulator.altTwo.style.backgroundColor="#AAAAAA";document.Calulator.altTwo.style.borderColor="#777777";
document.Calulator.altThree.style.backgroundColor="#AAAAAA";document.Calulator.altThree.style.borderColor="#777777";
document.Calulator.altFour.style.backgroundColor="#AAAAAA";document.Calulator.altFour.style.borderColor="#777777";
document.Calulator.altFive.style.backgroundColor="#AAAAAA";document.Calulator.altFive.style.borderColor="#777777";
document.Calulator.altSix.style.backgroundColor="#AAAAAA";document.Calulator.altSix.style.borderColor="#777777";
document.Calulator.altOne.disabled=true;
document.Calulator.altTwo.disabled=true;
document.Calulator.altThree.disabled=true;
document.Calulator.altFour.disabled=true;
document.Calulator.altFive.disabled=true;
document.Calulator.altSix.disabled=true;
document.Calulator.altSeven.disabled=true;
document.Calulator.workDie.value = "die";}}


// END -->
