var num1=0;
conta=0;
num= new Array(0,0,0,0,0,0,0,0,0,0)
cifre=0
function indietro(){
str=document.MioForm[9].value
document.MioForm[9].value=str.substr(0,str.length-1)
num[9]=eval(document.MioForm[9].value)
}
function drop(){
for (i=0; i<=9; i++){
 if (document.MioForm[i].value!=''){
document.MioForm[i].value=''
num[i]=0
break
}
}
}
function cancella() {
for (i=0; i<10; i++){
 num[i]=0
 document.MioForm[i].value=''
 }
 colori()
}
function giu() {
for (i=8; i>0; i--){
 document.MioForm[i].value=document.MioForm[i-1].value
  num[i]=num[i-1]
 }
 document.MioForm[0].value=''
  num[0]=0
  conta=0
}
function su() {
for (i=0; i<9; i++){
 document.MioForm[i].value=document.MioForm[i+1].value
  num[i]=num[i+1]
 }
 conta=0
}
function aggiungi(n) {
   if (conta==0){
   su()
   document.MioForm[9].value=''
   num[9]=0
   }
   if (n=='pi'){
   document.MioForm[9].value=Math.PI
    num[9]=Math.PI
    }
   else if (n=='e'){
   document.MioForm[9].value=Math.E
   num[9]=Math.E
   }
   else {
     if ((document.MioForm[9].value=='') && (n=='.')) {
         document.MioForm[9].value= '0.' 
         }
      else {
        document.MioForm[9].value=document.MioForm[9].value+n 
      }
      num[9]=eval(document.MioForm[9].value)
   }
conta=conta+1   
}


function opera1(y) {
cifre=document.MioForm.scelta.value
  switch (y) {
     case 'inv':
     num[9]=1/num[9]
     document.MioForm[9].value=num[9].toFixed(cifre)
     break
      case 'opposto':
      num[9]=-num[9]
        document.MioForm[9].value=num[9].toFixed(cifre)
     break
      case 'pot':
          num[9]=Math.pow(num[8],num[9])
          document.MioForm[9].value=num[9].toFixed(cifre)
          giu()
     break
      case 'rad':
          num[9]=Math.sqrt(num[9])
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'le':
          num[9]=Math.log(num[9])
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'ex':
          num[9]=Math.exp(num[9])
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'il':
         num[9]=Math.pow(10,num[9])
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'l10':
          num[9]=Math.log(num[9])/Math.LN10
           document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'qua':
          num[9]=Math.pow(num[9],2)
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
      case '!':
          parziale=num[9]
          if ((parziale<0)||(Math.round(parziale)!=parziale)){
          document.MioForm[9].value='Errore'
          num[9]=NaN
          }
          else {
          if (parziale==0){parziale=1}
          else{
          for (i=parziale-1;i>1;i--){
           parziale=parziale*i
          }
          }
          document.MioForm[9].value=parziale
          num[9]=parziale
          }
     break
     case '+':
          num[9]=num[8]+num[9]
          document.MioForm[9].value=num[9].toFixed(cifre)
          giu()
     break
     case '-':
          num[9]=num[8]-num[9]
          document.MioForm[9].value=num[9].toFixed(cifre)
          giu()
     break
     case '*':
           num[9]=num[8]*num[9]
          document.MioForm[9].value=num[9].toFixed(cifre)
          giu()
     break
     case '/':
          num[9]=num[8]/num[9]
          document.MioForm[9].value=num[9].toFixed(cifre)
          giu()
     break
     case 's':
          prova=angolo(num[9])
          num[9]=Math.sin(prova)
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'c':
           prova=angolo(num[9])
          num[9]=Math.cos(prova)
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 't':
           prova=angolo(num[9])
          num[9]=Math.tan(prova)
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'as':
          prova=Math.asin(num[9])
          num[9]=arco(prova)
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'ac':
          prova=Math.acos(num[9])
          num[9]=arco(prova)
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'at':
          prova=Math.atan(num[9])
          num[9]=arco(prova)
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'g':
         num[9] = (180 / Math.PI) * num[9];
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case 'r':
          num[9] = (Math.PI / 180) * num[9];
          document.MioForm[9].value=num[9].toFixed(cifre)
     break
     case '%':
            if (num[9]<0) {
               q=Math.ceil(num[8]/num[9])
               }
            else {
            q=Math.floor(num[8]/num[9])
            }
            num[9]= num[8]-num[9]*q
          document.MioForm[9].value=num[9]
          giu()
     break
  default:
window.alert('ERRORE!')
}
conta=0
}
function inserisci(questo){
cifre=document.MioForm.scelta.value
document.MioForm[9].value=num[9].toFixed(cifre)
conta=0
}
function angolo(a){
if (document.MioForm.ang[0].checked){
a= (Math.PI / 180) * a
}
return a
}
function arco(a){
if (document.MioForm.ang[0].checked){
a= (180/Math.PI) * a
}
return a
}
function scambioA(a,b){
appo1=num[a]
num[a]=num[b]
num[b]=appo1
document.MioForm[b].value=num[b].toFixed(cifre)
document.MioForm[a].value=num[a].toFixed(cifre)
}
indice=11; /*esterno*/
function colori(){
for (k=0; k<=9; k++){
 document.MioForm[k].style.backgroundColor="#FFFFFF"
 }
}
function passa(i){ 
colori()
if (i<=11){
indice=i
 document.MioForm[indice].style.backgroundColor="#E1B078"
 }
 else {indice=i}
}
function spostagiu() {
if ((indice>=0)&& (indice<9)){
   scambioA(indice,indice+1)
   passa(indice+1)
}
}
function spostasu() {
if ((indice<=9) && (indice>0)){
   scambioA(indice,indice-1)
   passa(indice-1)
}
}
function copia(){
su()
conta=0
}
