function scalecalc()
{
  var intervalrow = 0;
  var scaledirection = "";
  var keynotefixedornot = "";
  var textnotecode = "";
  
  var clefsign = "";
  
  var stringlength = 0;
  
  var scalenote1 = "";
  var scalekey1 = "";
  
  var scalenoteinflection1 = "";
  var scalenoteinflectiontext1 = "";
 
  var Clefchoice = document.getElementById('Clefchoice');
  
  if(Clefchoice.value == "treble")
  {
  clefsign = "Tr" ;
  cleftext="treble clef";
  }
  
  if(Clefchoice.value == "bass")
  {
  clefsign = "Bs" ;
  cleftext="bass clef";  
  }
  
  if(Clefchoice.value == "alto")
  {
  clefsign = "Al";
  cleftext="alto clef";  
  }
  
  if(Clefchoice.value == "soprano")
  {
  clefsign = "Sp";
  cleftext="soprano clef";  
  }
  
  if(Clefchoice.value == "mezzo")
  {
  clefsign = "Mz";
  cleftext="mezzo-soprano clef";
  } 
  
  if(Clefchoice.value == "tenor")
  {
  clefsign = "Te" ;
  cleftext="tenor clef";  
  } 
  
  if(Clefchoice.value == "baritoneC")
  {
  clefsign = "BC" ;
  cleftext="baritone C clef";  
  } 
  
  if(Clefchoice.value == "baritoneF")
  {
  clefsign = "BC" ;
  cleftext="baritone F clef";  
  }  
  
  if(Clefchoice.value == "French")
  {
  clefsign = "Bs" ;
  cleftext="French violin clef";  
  }
  
  if(Clefchoice.value == "subbass")
  {
  clefsign = "Tr" ;
  cleftext="subbass clef";  
  }      
  
  var Startingnote = document.getElementById('Startingnote');
  var Scalename = document.getElementById('Scalename');
  var scaleoption = document.scalecalculator.Scalename.selectedIndex;
	
  var oDDL = document.scalecalculator.Scalename;
  var scaletext = oDDL.options[oDDL.selectedIndex].text;

  stringlength = (Scalename.value).length;

  textnotecode = (Scalename.value).substring(0,3);
  scaledirection = (Scalename.value).substring(3,4);
  keynotefixedornot = (Scalename.value).substring(4,5);
  intervalrow = (Scalename.value).substring(5,stringlength);

  var newworkingrow = "";
    
  scalenotes = ((stringlength - 5)/2) - 1;

  var scalenotechoice = (Startingnote.value).substring(0,2);
  scalenote1 = (Startingnote.value).substring(0,1);
  scalekey1 = (Startingnote.value).substring(0,2);
  scalenoteinflection1 = (Startingnote.value).substring(1,2);
  
  workingintervalrow = intervalrow + "                                        ";
  
  var notea = (workingintervalrow).substring(0,1);
  var scalenoteinflectiona = (workingintervalrow).substring(1,2);
  var scalenoteinflectiontexta = "";
  
  if( scalenoteinflectiona == " " )
  scalenoteinflectiontexta = " ";
  
  if( scalenoteinflectiona == "n" )
  scalenoteinflectiontexta = " ";
    
  if( scalenoteinflectiona == "s" )
  scalenoteinflectiontexta = "# ";
      
  if( scalenoteinflectiona == "b" )
  scalenoteinflectiontexta = "b ";
       
  if( scalenoteinflectiona == "f" )   
  scalenoteinflectiontexta = "bb ";
  
  if( scalenoteinflectiona == "g" )   
  scalenoteinflectiontexta = "bbb ";
      
  if( scalenoteinflectiona == "x" )   
  scalenoteinflectiontexta = "x ";

    
  var noteb = (workingintervalrow).substring(2,3);
  var scalenoteinflectionb = (workingintervalrow).substring(3,4);
  var scalenoteinflectiontextb = "";
  
  if( scalenoteinflectionb == " " )
  scalenoteinflectiontextb = " ";
  
  if( scalenoteinflectionb == "n" )
  scalenoteinflectiontextb = " ";
    
  if( scalenoteinflectionb == "s" )
  scalenoteinflectiontextb = "# ";
      
  if( scalenoteinflectionb == "b" )
  scalenoteinflectiontextb = "b ";
       
  if( scalenoteinflectionb == "f" )   
  scalenoteinflectiontextb = "bb ";
  
  if( scalenoteinflectionb == "g" )   
  scalenoteinflectiontextb = "bbb ";
    
  if( scalenoteinflectionb == "x" )   
  scalenoteinflectiontextb = "x ";

  var notec = (workingintervalrow).substring(4,5);
  var scalenoteinflectionc = (workingintervalrow).substring(5,6);
  var scalenoteinflectiontextc = "";
  
  if( scalenoteinflectionc == " " )
  scalenoteinflectiontextc = " ";
  
  if( scalenoteinflectionc == "n" )
  scalenoteinflectiontextc = " ";
    
  if( scalenoteinflectionc == "s" )
  scalenoteinflectiontextc = "# ";
      
  if( scalenoteinflectionc == "b" )
  scalenoteinflectiontextc = "b ";
       
  if( scalenoteinflectionc == "f" )   
  scalenoteinflectiontextc = "bb ";
  
  if( scalenoteinflectionc == "g" )   
  scalenoteinflectiontextc = "bbb ";
    
  if( scalenoteinflectionc == "x" )   
  scalenoteinflectiontextc = "x "; 
  
  var noted = (workingintervalrow).substring(6,7);
  var scalenoteinflectiond = (workingintervalrow).substring(7,8);
  var scalenoteinflectiontextd = "";
  
  if( scalenoteinflectiond == " " )
  scalenoteinflectiontextd = " ";
  
  if( scalenoteinflectiond == "n" )
  scalenoteinflectiontextd = " ";
    
  if( scalenoteinflectiond == "s" )
  scalenoteinflectiontextd = "# ";
      
  if( scalenoteinflectiond == "b" )
  scalenoteinflectiontextd = "b ";
       
  if( scalenoteinflectiond == "f" )   
  scalenoteinflectiontextd = "bb ";
  
  if( scalenoteinflectiond == "g" )   
  scalenoteinflectiontextd = "bbb ";
    
  if( scalenoteinflectiond == "x" )   
  scalenoteinflectiontextd = "x "; 
 
  var notee = (workingintervalrow).substring(8,9);
  var scalenoteinflectione = (workingintervalrow).substring(9,10);
  var scalenoteinflectiontexte = "";
  
  if( scalenoteinflectione == " " )
  scalenoteinflectiontexte = " ";
  
  if( scalenoteinflectione == "n" )
  scalenoteinflectiontexte = " ";
    
  if( scalenoteinflectione == "s" )
  scalenoteinflectiontexte = "# ";
      
  if( scalenoteinflectione == "b" )
  scalenoteinflectiontexte = "b ";
       
  if( scalenoteinflectione == "f" )   
  scalenoteinflectiontexte = "bb ";
  
  if( scalenoteinflectione == "g" )   
  scalenoteinflectiontexte = "bbb ";  
    
  if( scalenoteinflectione == "x" )   
  scalenoteinflectiontexte = "x "; 
  
  var notef = (workingintervalrow).substring(10,11);
  var scalenoteinflectionf = (workingintervalrow).substring(11,12);
  var scalenoteinflectiontextf = "";
  
  if( scalenoteinflectionf == " " )
  scalenoteinflectiontextf = " ";
  
  if( scalenoteinflectionf == "n" )
  scalenoteinflectiontextf = " ";
    
  if( scalenoteinflectionf == "s" )
  scalenoteinflectiontextf = "# ";
      
  if( scalenoteinflectionf == "b" )
  scalenoteinflectiontextf = "b ";
       
  if( scalenoteinflectionf == "f" )   
  scalenoteinflectiontextf = "bb ";
  
  if( scalenoteinflectionf == "g" )   
  scalenoteinflectiontextf = "bbb ";  
    
  if( scalenoteinflectionf == "x" )   
  scalenoteinflectiontextf = "x "; 
  
  
  var noteg = (workingintervalrow).substring(12,13);
  var scalenoteinflectiong = (workingintervalrow).substring(13,14);
  var scalenoteinflectiontextg = "";
  
  if( scalenoteinflectiong == " " )
  scalenoteinflectiontextg = " ";
  
  if( scalenoteinflectiong == "n" )
  scalenoteinflectiontextg = " ";
    
  if( scalenoteinflectiong == "s" )
  scalenoteinflectiontextg = "# ";
      
  if( scalenoteinflectiong == "b" )
  scalenoteinflectiontextg = "b ";
       
  if( scalenoteinflectiong == "f" )   
  scalenoteinflectiontextg = "bb ";
  
  if( scalenoteinflectiong == "g" )   
  scalenoteinflectiontextg = "bbb ";  
    
  if( scalenoteinflectiong == "x" )   
  scalenoteinflectiontextg = "x ";   
  
  
  var noteh = (workingintervalrow).substring(14,15);
  var scalenoteinflectionh = (workingintervalrow).substring(15,16);
  var scalenoteinflectiontexth = "";
  
  if( scalenoteinflectionh == " " )
  scalenoteinflectiontexth = " ";
  
  if( scalenoteinflectionh == "n" )
  scalenoteinflectiontexth = " ";
    
  if( scalenoteinflectionh == "s" )
  scalenoteinflectiontexth = "# ";
      
  if( scalenoteinflectionh == "b" )
  scalenoteinflectiontexth = "b ";
       
  if( scalenoteinflectionh == "f" )   
  scalenoteinflectiontexth = "bb ";
  
  if( scalenoteinflectionh == "g" )   
  scalenoteinflectiontexth = "bbb ";  
    
  if( scalenoteinflectionh == "x" )   
  scalenoteinflectiontexth = "x "; 
  
  
  var notei = (workingintervalrow).substring(16,17);
  var scalenoteinflectioni = (workingintervalrow).substring(17,18);
  var scalenoteinflectiontexti = "";
  
  if( scalenoteinflectioni == " " )
  scalenoteinflectiontexti = " ";
  
  if( scalenoteinflectioni == "n" )
  scalenoteinflectiontexti = " ";
    
  if( scalenoteinflectioni == "s" )
  scalenoteinflectiontexti = "# ";
      
  if( scalenoteinflectioni == "b" )
  scalenoteinflectiontexti = "b ";
       
  if( scalenoteinflectioni == "f" )   
  scalenoteinflectiontexti = "bb ";
  
  if( scalenoteinflectioni == "g" )   
  scalenoteinflectiontexti = "bbb ";  
    
  if( scalenoteinflectioni == "x" )   
  scalenoteinflectiontexti = "x "; 
  
  
  var notej = (workingintervalrow).substring(18,19);
  var scalenoteinflectionj = (workingintervalrow).substring(19,20);
  var scalenoteinflectiontextj = "";
  
  if( scalenoteinflectionj == " " )
  scalenoteinflectiontextj = " ";
  
  if( scalenoteinflectionj == "n" )
  scalenoteinflectiontextj = " ";
    
  if( scalenoteinflectionj == "s" )
  scalenoteinflectiontextj = "# ";
      
  if( scalenoteinflectionj == "b" )
  scalenoteinflectiontextj = "b ";
       
  if( scalenoteinflectionj == "f" )   
  scalenoteinflectiontextj = "bb ";
  
  if( scalenoteinflectionj == "g" )   
  scalenoteinflectiontextj = "bbb ";  
    
  if( scalenoteinflectionj == "x" )   
  scalenoteinflectiontextj = "x "; 
  
  
  var notek = (workingintervalrow).substring(20,21);
  var scalenoteinflectionk = (workingintervalrow).substring(21,22);
  var scalenoteinflectiontextk = "";
  
  if( scalenoteinflectionk == " " )
  scalenoteinflectiontextk = " ";
  
  if( scalenoteinflectionk == "n" )
  scalenoteinflectiontextk = " ";
    
  if( scalenoteinflectionk == "s" )
  scalenoteinflectiontextk = "# ";
      
  if( scalenoteinflectionk == "b" )
  scalenoteinflectiontextk = "b ";
       
  if( scalenoteinflectionk == "f" )   
  scalenoteinflectiontextk = "bb ";
  
  if( scalenoteinflectionk == "g" )   
  scalenoteinflectiontextk = "bbb ";  
    
  if( scalenoteinflectionk == "x" )   
  scalenoteinflectiontextk = "x "; 
  
  var notel = (workingintervalrow).substring(22,23);
  var scalenoteinflectionl = (workingintervalrow).substring(23,24);
  var scalenoteinflectiontextl = "";
  
  if( scalenoteinflectionl == " " )
  scalenoteinflectiontextl = " ";
  
  if( scalenoteinflectionl == "n" )
  scalenoteinflectiontextl = " ";
    
  if( scalenoteinflectionl == "s" )
  scalenoteinflectiontextl = "# ";
      
  if( scalenoteinflectionl == "b" )
  scalenoteinflectiontextl = "b ";
       
  if( scalenoteinflectionl == "f" )   
  scalenoteinflectiontextl = "bb ";
  
  if( scalenoteinflectionl == "g" )   
  scalenoteinflectiontextl = "bbb ";  
    
  if( scalenoteinflectionl == "x" )   
  scalenoteinflectiontextl = "x "; 
  
  
  var notem = (workingintervalrow).substring(24,25);
  var scalenoteinflectionm = (workingintervalrow).substring(25,26);
  var scalenoteinflectiontextm = "";
  
  if( scalenoteinflectionm == " " )
  scalenoteinflectiontextm = " ";
  
  if( scalenoteinflectionm == "n" )
  scalenoteinflectiontextm = " ";
    
  if( scalenoteinflectionm == "s" )
  scalenoteinflectiontextm = "# ";
      
  if( scalenoteinflectionm == "b" )
  scalenoteinflectiontextm = "b ";
       
  if( scalenoteinflectionm == "f" )   
  scalenoteinflectiontextm = "bb ";
  
  if( scalenoteinflectionm == "g" )   
  scalenoteinflectiontextm = "bbb ";  
    
  if( scalenoteinflectionm == "x" )   
  scalenoteinflectiontextm = "x "; 

  if( Startingnote.value == "0" )
  {
  t0101.innerHTML = "select starting note";
  t0102.innerHTML = "&nbsp;";
//  t0103.innerHTML = "&nbsp;";
  t0104.innerHTML = "&nbsp;";
  t0105.innerHTML = "&nbsp;"; 


  t0110.innerHTML = "&nbsp;";
  t0110a.innerHTML = "&nbsp;";
  t0110b.innerHTML = "&nbsp;";
  t0110c.innerHTML = "&nbsp;";
  t0110d.innerHTML = "&nbsp;"; 
  t0110e.innerHTML = "&nbsp;";
  t0110f.innerHTML = "&nbsp;";
  t0110g.innerHTML = "&nbsp;";
  t0110h.innerHTML = "&nbsp;"; 
  t0110i.innerHTML = "&nbsp;"; 
  t0110j.innerHTML = "&nbsp;";
  t0110k.innerHTML = "&nbsp;"; 
  t0110l.innerHTML = "&nbsp;";
  t0110m.innerHTML = "&nbsp;"; 
   
//  t0111.innerHTML = "&nbsp;";
//  t0112.innerHTML = "&nbsp;";
   
  t0115.innerHTML = "&nbsp;";
  t0115a.innerHTML = "&nbsp;";
  t0115b.innerHTML = "&nbsp;";
  t0115c.innerHTML = "&nbsp;";
  t0115d.innerHTML = "&nbsp;"; 
  t0115e.innerHTML = "&nbsp;";
  t0115f.innerHTML = "&nbsp;";
  t0115g.innerHTML = "&nbsp;";
  t0115h.innerHTML = "&nbsp;"; 
  t0115i.innerHTML = "&nbsp;"; 
  t0115j.innerHTML = "&nbsp;";
  t0115k.innerHTML = "&nbsp;"; 
  t0115l.innerHTML = "&nbsp;";
  t0115m.innerHTML = "&nbsp;"; 
  
  t0116.innerHTML = "&nbsp;";
  t0116a.innerHTML = "&nbsp;";
  t0116b.innerHTML = "&nbsp;";
  t0116c.innerHTML = "&nbsp;";
  t0116d.innerHTML = "&nbsp;"; 
  t0116e.innerHTML = "&nbsp;";
  t0116f.innerHTML = "&nbsp;";
  t0116g.innerHTML = "&nbsp;";
  t0116h.innerHTML = "&nbsp;"; 
  t0116i.innerHTML = "&nbsp;"; 
  t0116j.innerHTML = "&nbsp;";
  t0116k.innerHTML = "&nbsp;"; 
  t0116l.innerHTML = "&nbsp;";
  t0116m.innerHTML = "&nbsp;"; 
  
  t0117.innerHTML = "&nbsp;";

  t0118.innerHTML = "<img src='" + (Clefchoice.value) + "clefforscale.gif' alt='" + cleftext + "'>";
  t0118a.innerHTML = "<img src='scalenotespace.gif'>";
  t0118b.innerHTML = "<img src='scalenotespace.gif'>";
  t0118c.innerHTML = "<img src='scalenotespace.gif'>";
  t0118d.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118e.innerHTML = "<img src='scalenotespace.gif'>";
  t0118f.innerHTML = "<img src='scalenotespace.gif'>";
  t0118g.innerHTML = "<img src='scalenotespace.gif'>";
  t0118h.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118i.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118j.innerHTML = "<img src='scalenotespace.gif'>";
  t0118k.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118l.innerHTML = "<img src='scalenotespace.gif'>";
  t0118m.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118n.innerHTML = "<img src='endofstaff.gif' alt='double bar'>";



  t0120.innerHTML = "&nbsp;";
  t0120a.innerHTML = "&nbsp;";
  t0120b.innerHTML = "&nbsp;";
  t0120c.innerHTML = "&nbsp;";
  t0120d.innerHTML = "&nbsp;"; 
  t0120e.innerHTML = "&nbsp;";
  t0120f.innerHTML = "&nbsp;";
  t0120g.innerHTML = "&nbsp;";
  t0120h.innerHTML = "&nbsp;"; 
  t0120i.innerHTML = "&nbsp;"; 
  t0120j.innerHTML = "&nbsp;";
  t0120k.innerHTML = "&nbsp;"; 
  t0120l.innerHTML = "&nbsp;";
  t0120m.innerHTML = "&nbsp;";
  

  }
  else
  {
  if( scalenoteinflection1 == " " )
  scalenoteinflectiontext1 = " ";
    
  if( scalenoteinflection1 == "n" )
  scalenoteinflectiontext1 = " ";
    
  if( scalenoteinflection1 == "s" )
  scalenoteinflectiontext1 = "# ";
      
  if( scalenoteinflection1 == "b" )
  scalenoteinflectiontext1 = "b ";
       
  if( scalenoteinflection1 == "f" )   
  scalenoteinflectiontext1 = "bb ";
  
  if( scalenoteinflection1 == "g" )   
  scalenoteinflectiontext1 = "bbb ";
    
  if( scalenoteinflection1 == "x" )   
  scalenoteinflectiontext1 = "x ";
    
  if( scalenoteinflection1 == "y" )   
  scalenoteinflectiontext1 = "x#";

  t0101.innerHTML = "the default key note is <font color=blue><b>C</b></font> - the selected key note is <b><font color=blue>" + scalenote1 +  scalenoteinflectiontext1 +  "</font></b>";
    

  if ( Scalename.value == "0" )
  {
  t0102.innerHTML = "select a scale";
  }
  else
  {
  t0102.innerHTML = "the selected scale is #<b><font color=blue>" + scaleoption + " : " + scaletext + "</font></b>";
//  t0103.innerHTML = "please refer to reference #" + textnotecode + " <font color=red>(feature in preparation)</font>";
   
  if( scaledirection == "U")
  {
  t0104.innerHTML = "the scale is <font color=blue><b>ascending</b></font>";
  }
  else
  {
  t0104.innerHTML = "the scale is <font color=blue><b>descending</b></font>";
  }
   


  t0105.innerHTML = "the default scale keynote is <b><font color=blue>" + notea + scalenoteinflectiontexta + "</font></b> and the scale has <b><font color=blue>" + scalenotes + "</font></b> notes plus the octave";
  }    
  
  if ( Scalename.value == "0" )
  {
  t0110.innerHTML = "&nbsp;";
  t0110a.innerHTML = "&nbsp;";
  t0110b.innerHTML = "&nbsp;";
  t0110c.innerHTML = "&nbsp;";
  t0110d.innerHTML = "&nbsp;"; 
  t0110e.innerHTML = "&nbsp;";
  t0110f.innerHTML = "&nbsp;";
  t0110g.innerHTML = "&nbsp;";
  t0110h.innerHTML = "&nbsp;"; 
  t0110i.innerHTML = "&nbsp;"; 
  t0110j.innerHTML = "&nbsp;";
  t0110k.innerHTML = "&nbsp;"; 
  t0110l.innerHTML = "&nbsp;";
  t0110m.innerHTML = "&nbsp;";
      
//  t0111.innerHTML = "&nbsp;";
//  t0112.innerHTML = "&nbsp;";
   
  t0115.innerHTML = "&nbsp;";
  t0115a.innerHTML = "&nbsp;";
  t0115b.innerHTML = "&nbsp;";
  t0115c.innerHTML = "&nbsp;";
  t0115d.innerHTML = "&nbsp;"; 
  t0115e.innerHTML = "&nbsp;";
  t0115f.innerHTML = "&nbsp;";
  t0115g.innerHTML = "&nbsp;";
  t0115h.innerHTML = "&nbsp;"; 
  t0115i.innerHTML = "&nbsp;"; 
  t0115j.innerHTML = "&nbsp;";
  t0115k.innerHTML = "&nbsp;"; 
  t0115l.innerHTML = "&nbsp;";
  t0115m.innerHTML = "&nbsp;";

  t0116.innerHTML = "&nbsp;";
  t0116a.innerHTML = "&nbsp;";
  t0116b.innerHTML = "&nbsp;";
  t0116c.innerHTML = "&nbsp;";
  t0116d.innerHTML = "&nbsp;"; 
  t0116e.innerHTML = "&nbsp;";
  t0116f.innerHTML = "&nbsp;";
  t0116g.innerHTML = "&nbsp;";
  t0116h.innerHTML = "&nbsp;"; 
  t0116i.innerHTML = "&nbsp;"; 
  t0116j.innerHTML = "&nbsp;";
  t0116k.innerHTML = "&nbsp;"; 
  t0116l.innerHTML = "&nbsp;";
  t0116m.innerHTML = "&nbsp;"; 
  
  t0117.innerHTML = "&nbsp;";
  
  t0118.innerHTML = "<img src='" + (Clefchoice.value) + "clefforscale.gif' alt='" + cleftext + "'>";
  t0118a.innerHTML = "<img src='scalenotespace.gif'>";
  t0118b.innerHTML = "<img src='scalenotespace.gif'>";
  t0118c.innerHTML = "<img src='scalenotespace.gif'>";
  t0118d.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118e.innerHTML = "<img src='scalenotespace.gif'>";
  t0118f.innerHTML = "<img src='scalenotespace.gif'>";
  t0118g.innerHTML = "<img src='scalenotespace.gif'>";
  t0118h.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118i.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118j.innerHTML = "<img src='scalenotespace.gif'>";
  t0118k.innerHTML = "<img src='scalenotespace.gif'>"; 
  t0118l.innerHTML = "<img src='scalenotespace.gif'>";
  t0118m.innerHTML = "<img src='scalenotespace.gif'>";
  t0118n.innerHTML = "<img src='endofstaff.gif'>";
   

  t0120.innerHTML = "&nbsp;";   
  t0120a.innerHTML = "&nbsp;";
  t0120b.innerHTML = "&nbsp;";
  t0120c.innerHTML = "&nbsp;";
  t0120d.innerHTML = "&nbsp;"; 
  t0120e.innerHTML = "&nbsp;";
  t0120f.innerHTML = "&nbsp;";
  t0120g.innerHTML = "&nbsp;";
  t0120h.innerHTML = "&nbsp;"; 
  t0120i.innerHTML = "&nbsp;"; 
  t0120j.innerHTML = "&nbsp;";
  t0120k.innerHTML = "&nbsp;"; 
  t0120l.innerHTML = "&nbsp;";
  t0120m.innerHTML = "&nbsp;"; 

  }
  else
  {
  t0110.innerHTML = "scale on <font color=blue><b>" + notea + scalenoteinflectiontexta + " </b>(displayed graphically below)<b> :</b></font>";
  
  t0110a.innerHTML = notea + scalenoteinflectiontexta;
  
  t0110b.innerHTML = noteb + scalenoteinflectiontextb;
  
  t0110c.innerHTML = notec + scalenoteinflectiontextc;
  
  
  t0110d.innerHTML = noted + scalenoteinflectiontextd; 
  
  
  t0110e.innerHTML = notee + scalenoteinflectiontexte;
  
  
  t0110f.innerHTML = notef + scalenoteinflectiontextf;
  
  
  t0110g.innerHTML = noteg + scalenoteinflectiontextg;
  
  
  t0110h.innerHTML = noteh + scalenoteinflectiontexth; 
  
  
  t0110i.innerHTML = notei + scalenoteinflectiontexti; 
  
  
  t0110j.innerHTML = notej + scalenoteinflectiontextj;
  
  
  t0110k.innerHTML = notek + scalenoteinflectiontextk;
  
   
  t0110l.innerHTML = notel + scalenoteinflectiontextl;
  
  
  t0110m.innerHTML = notem + scalenoteinflectiontextm; 
  
  
   
//  t0111.innerHTML = "&nbsp;";
//  t0112.innerHTML = "&nbsp;";  
   
  var letterrow = "CDEFGABCDEFGABCDEFGABC";
  var inflectionrow = "gfbnsxy";  
  
// calculate scale note shift indexes  
   
  t0115.innerHTML = "scale intervals in semitone or half steps from key note : ";
  
  if(scaledirection == "U")
  {
  t0116.innerHTML = "note to note interval :";
  
  t0117.innerHTML = "interval quality : <font color=green><b>dd</b></font>: doubly diminished, <font color=green><b>d</b></font>: diminished, <font color=green><b>m</b></font>: minor, <font color=green><b>P</b></font>: perfect, <font color=green><b>M</b></font>: major, <font color=green><b>A</b></font>: augmented, <font color=green><b>dA</b></font>: doubly augmented";
  
  }
  
  
  
  if(scaledirection == "D")
  {
  t0116.innerHTML = "note to note intervals : <font color=red>not available for descending scales</font>";
  t0117.innerHTML = "&nbsp;";
  
  }

   
  var noteaposition = letterrow.indexOf(notea);
  var inflectionaposition = inflectionrow.indexOf(scalenoteinflectiona);
  var notebposition = letterrow.indexOf(noteb);
  var inflectionbposition = inflectionrow.indexOf(scalenoteinflectionb);
  var notecposition = letterrow.indexOf(notec);
  var inflectioncposition = inflectionrow.indexOf(scalenoteinflectionc);
  var notedposition = letterrow.indexOf(noted);
  var inflectiondposition = inflectionrow.indexOf(scalenoteinflectiond);   
  var noteeposition = letterrow.indexOf(notee);
  var inflectioneposition = inflectionrow.indexOf(scalenoteinflectione);   
  var notefposition = letterrow.indexOf(notef);
  var inflectionfposition = inflectionrow.indexOf(scalenoteinflectionf);   
  var notegposition = letterrow.indexOf(noteg);
  var inflectiongposition = inflectionrow.indexOf(scalenoteinflectiong);   
  var notehposition = letterrow.indexOf(noteh);
  var inflectionhposition = inflectionrow.indexOf(scalenoteinflectionh);   
  var noteiposition = letterrow.indexOf(notei);
  var inflectioniposition = inflectionrow.indexOf(scalenoteinflectioni);   
  var notejposition = letterrow.indexOf(notej);
  var inflectionjposition = inflectionrow.indexOf(scalenoteinflectionj);   
  var notekposition = letterrow.indexOf(notek);
  var inflectionkposition = inflectionrow.indexOf(scalenoteinflectionk);   
  var notelposition = letterrow.indexOf(notel);
  var inflectionlposition = inflectionrow.indexOf(scalenoteinflectionl);   
  var notemposition = letterrow.indexOf(notem);
  var inflectionmposition =  inflectionrow.indexOf(scalenoteinflectionm);
   
  var intervalaa = "&nbsp;"; 
  var intervalba = "&nbsp;"; 
  var intervalca = "&nbsp;";
  var intervalda = "&nbsp;";
  var intervalea = "&nbsp;";
  var intervalfa = "&nbsp;";
  var intervalga = "&nbsp;";
  var intervalha = "&nbsp;";
  var intervalia = "&nbsp;"; 
  var intervalja = "&nbsp;";
  var intervalka = "&nbsp;"; 
  var intervalma = "&nbsp;"; 
  
  var intervalnameshiftaa = "&nbsp;"; 
  var intervalnameshiftba = "&nbsp;"; 
  var intervalnameshiftca = "&nbsp;";
  var intervalnameshiftda = "&nbsp;";
  var intervalnameshiftea = "&nbsp;";
  var intervalnameshiftfa = "&nbsp;";
  var intervalnameshiftga = "&nbsp;";
  var intervalnameshiftha = "&nbsp;";
  var intervalnameshiftia = "&nbsp;"; 
  var intervalnameshiftja = "&nbsp;";
  var intervalnameshiftka = "&nbsp;"; 
  var intervalnameshiftma = "&nbsp;";  
  
  var intervalinflectionrow = "       ";
  
//  pintervalinflectionrow for values 0,3,6
  
  var pintervalinflectionrow = "edPABedPABedmMA"; 
  
//  nintervalinflectionrow for values 1,4,7  
  
  var nintervalinflectionrow = "xedmMABedPABedP";
  
//  mintervalinflectionrow for values 2,5   
  
  var mintervalinflectionrow = "xxxedmMABdmMABx";
                       
   
// note 1   
   
  if( (noteaposition < "12") && (noteaposition > "-1") )
  {
  var notedifferenceaa = 0;
  var inflectiondifferenceaa = 0;
  var shiftscalenoteindexaa = ((notedifferenceaa * 2) - parseInt((notedifferenceaa)/3) +  parseInt((notedifferenceaa) / 6) + inflectiondifferenceaa);

  t0118.innerHTML = "<img src='" + (Clefchoice.value) + "clefforscale.gif' alt='" + cleftext + "'>";

  if(scaledirection == "U")
  {
  intervalaa = shiftscalenoteindexaa
  t0115a.innerHTML = intervalaa;
  t0116a.innerHTML = "";
  t0118a.innerHTML = "<img src='scalenote" + clefsign + "Cnmid.gif' alt = 'C'>";
  }
  else
  {  
  intervalaa = shiftscalenoteindexaa + 12
  t0115a.innerHTML = intervalaa;
  t0116a.innerHTML = "";
  t0118a.innerHTML = "<img src='scalenote" + clefsign + "Cn.gif' alt = 'C'>";  
  }
  
  }
  else
  {
  t0118.innerHTML = "<img src='" + (Clefchoice.value) + "clefforscale.gif'>";
  t0115a.innerHTML = "";
  t0116a.innerHTML = "";
  t0118a.innerHTML = "<img src='scalenotespace.gif'>";  
  }
  
// note 2   

  if(notebposition == "0")
  {
  var shiftscalenoteindexba = 0;
  
  if( (scaledirection == "U") && ( shiftscalenoteindexba == "0") ) 
  {
  shiftscalenoteindexba = shiftscalenoteindexba + 1;
  intervalba = shiftscalenoteindexba;
  t0115b.innerHTML = intervalba;
  semitoneintervalba = intervalba - intervalaa;
  intervalnameshiftba = parseInt(notebposition - noteaposition); 
   
  if((intervalnameshiftba == 0) || (intervalnameshiftba == 3) || (intervalnameshiftba == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
 
  if((intervalnameshiftba == 1) || (intervalnameshiftba == 4) || (intervalnameshiftba == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {	  
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeba = parseInt(intervalnameshiftba) + parseInt(1);
  var intervalqualityba = (intervalinflectionrow).substring(semitoneintervalba+2, semitoneintervalba + 3);

  if(intervalqualityba == "B")
  {
  intervalqualityba = "dA";
  }
  t0116b.innerHTML = intervalqualityba + intervalsizeba; 
  t0118b.innerHTML = "<img src='scalenote" + clefsign + noteb + scalenoteinflectionb + ".gif' alt = '" + noteb + scalenoteinflectiontextb + "'>";
  }
  else
  {
  intervalba = shiftscalenoteindexba;
  t0115b.innerHTML = intervalba;
  t0116b.innerHTML = "&nbsp;";
  t0118b.innerHTML = "<img src='scalennotespace=gif'>";
  }
  }
  
  else
  {    
  
  if( (notebposition < "12") && (notebposition > "0") )
  {
  var notedifferenceba = notebposition - noteaposition;
  var inflectiondifferenceba = inflectionbposition - inflectionaposition;
  var shiftscalenoteindexba = ((notedifferenceba * 2) - parseInt((notedifferenceba)/3) +  parseInt((notedifferenceba) / 6) + inflectiondifferenceba); 
   
  if( (scaledirection == "U") && ( shiftscalenoteindexba == "0") ) 
  {
  intervalba = shiftscalenoteindexba;
  t0115b.innerHTML = intervalba;
  semitoneintervalba = intervalba - intervalaa;
  intervalnameshiftba = parseInt(notebposition - noteaposition) + parseInt(7);
   
  if((intervalnameshiftba == 0) || (intervalnameshiftba == 3) || (intervalnameshiftba == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  
  if((intervalnameshiftba == 1) || (intervalnameshiftba == 4) || (intervalnameshiftba == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeba = parseInt(intervalnameshiftba) + parseInt(1);
  var intervalqualityba = (intervalinflectionrow).substring(semitoneintervalba+2, semitoneintervalba + 3);
  
  if(intervalqualityba == "B")
  {
  intervalqualityba = "dA";
  }
  t0116b.innerHTML = intervalqualityba + intervalsizeba; 
  t0118b.innerHTML = "<img src='scalenote" + clefsign + noteb + scalenoteinflectionb + ".gif' alt = '" + noteb + scalenoteinflectiontextb + "'>";
  }
  else
  {
  intervalba = shiftscalenoteindexba;
  t0115b.innerHTML = intervalba;

  if(scaledirection == "U") 
  {
  semitoneintervalba = intervalba - intervalaa;
  intervalnameshiftba = parseInt(notebposition - noteaposition);
  
  if((intervalnameshiftba == 0) || (intervalnameshiftba == 3) || (intervalnameshiftba == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftba == 1) || (intervalnameshiftba == 4) || (intervalnameshiftba == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeba = parseInt(intervalnameshiftba) + parseInt(1);
  var intervalqualityba = (intervalinflectionrow).substring(semitoneintervalba+2, semitoneintervalba + 3);

  if(intervalqualityba == "B")
  {
  intervalqualityba = "dA";
  } 

  t0116b.innerHTML = intervalqualityba + intervalsizeba;
  
  t0118b.innerHTML = "<img src='scalenote" + clefsign + noteb + scalenoteinflectionb + ".gif' alt = '" + noteb + scalenoteinflectiontextb + "'>";
   
  }
  else
  {
  t0116b.innerHTML = "&nbsp;";
  t0118b.innerHTML = "<img src='scalenote" + clefsign + noteb + scalenoteinflectionb + ".gif' alt = '" + noteb + scalenoteinflectiontextb + "'>";
  }
  }
  }
  else
  {
  t0115b.innerHTML = " ";
  t0116b.innerHTML = " ";
  t0118b.innerHTML = "<img src='scalenotespace.gif'>";
  }
  }
  
// note 3 
  
    
  if(notecposition == "0")
  {
  var shiftscalenoteindexca = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexca == "0") ) 
  {
  intervalca = shiftscalenoteindexca + 12;
  t0115c.innerHTML = intervalca;
  
  semitoneintervalcb = intervalca - intervalba;
  intervalnameshiftcb = parseInt(notecposition - notebposition) + parseInt(7); 
  
  if((intervalnameshiftcb == 0) || (intervalnameshiftcb == 3) || (intervalnameshiftcb == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftcb == 1) || (intervalnameshiftcb == 4) || (intervalnameshiftcb == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizecb = parseInt(intervalnameshiftcb) + parseInt(1);
  var intervalqualitycb = (intervalinflectionrow).substring(semitoneintervalcb+2, semitoneintervalcb + 3);
  
  if(intervalqualitycb == "B")
  {
  intervalqualitycb = "dA";
  }

  t0116c.innerHTML = intervalqualitycb + intervalsizecb; 
  
  t0118c.innerHTML = "<img src='scalenote" + clefsign + notec + scalenoteinflectionc + ".gif' alt = '" + notec + scalenoteinflectiontextc + "'>";

  }
  else
  {
  intervalca = shiftscalenoteindexca;
  t0115c.innerHTML = intervalca;
  t0116c.innerHTML = "&nbsp;";
  t0118c.innerHTML = "<img src='scalenotespace.gif'>";
  }
  }
  else
  {    
  if( (notecposition < "12") && (notecposition > "0") )
  {
  var notedifferenceca = notecposition - noteaposition;
  
  var inflectiondifferenceca = inflectioncposition - inflectionaposition;
   
  var shiftscalenoteindexca = ((notedifferenceca * 2) - parseInt((notedifferenceca)/3) +  parseInt((notedifferenceca) / 6) + inflectiondifferenceca); 
   
  if( (scaledirection == "U") && ( shiftscalenoteindexca == "0") ) 
  {
  intervalca = shiftscalenoteindexca + 12;
  t0115c.innerHTML = intervalca;
  
  semitoneintervalcb = intervalca - intervalba;
  intervalnameshiftcb = parseInt(notecposition - notebposition) + parseInt(7);
   
  if((intervalnameshiftcb == 0) || (intervalnameshiftcb == 3) || (intervalnameshiftcb == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftcb == 1) || (intervalnameshiftcb == 4) || (intervalnameshiftcb == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizecb = parseInt(intervalnameshiftcb) + parseInt(1);
  var intervalqualitycb = (intervalinflectionrow).substring(semitoneintervalcb+2, semitoneintervalcb + 3);

  if(intervalqualitycb == "B")
  {
  intervalqualitycb = "dA";
  }

  t0116c.innerHTML = intervalqualitycb + intervalsizecb; 
  
  t0118c.innerHTML = "<img src='scalenote" + clefsign + notec + scalenoteinflectionc + ".gif' alt = '" + notec + scalenoteinflectiontextc + "'>";
  
  }
  else
  {
  intervalca = shiftscalenoteindexca;
  t0115c.innerHTML = intervalca;

  if(scaledirection == "U") 
  {
  semitoneintervalcb = intervalca - intervalba;
  intervalnameshiftcb = parseInt(notecposition - notebposition);
  
  if((intervalnameshiftcb == 0) || (intervalnameshiftcb == 3) || (intervalnameshiftcb == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftcb == 1) || (intervalnameshiftcb == 4) || (intervalnameshiftcb == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizecb = parseInt(intervalnameshiftcb) + parseInt(1);
  var intervalqualitycb = (intervalinflectionrow).substring(semitoneintervalcb+2, semitoneintervalcb + 3);

  if(intervalqualitycb == "B")
  {
  intervalqualitycb = "dA";
  }

  t0116c.innerHTML = intervalqualitycb + intervalsizecb;
  
  t0118c.innerHTML = "<img src='scalenote" + clefsign + notec + scalenoteinflectionc + ".gif' alt = '" + notec + scalenoteinflectiontextc + "'>";
   
  }
  else
  {
  t0116c.innerHTML = "&nbsp;";
  t0118c.innerHTML = "<img src='scalenote" + clefsign + notec + scalenoteinflectionc + ".gif' alt = '" + notec + scalenoteinflectiontextc + "'>";
  }

  }
  }
  else
  {
  t0115c.innerHTML = " ";
  t0116c.innerHTML = " ";
  t0118c.innerHTML = "<img src='scalenotespace.gif'>";
  }
  }
  
// note 4  
  
  if(notedposition == "0")
  {
  var shiftscalenoteindexda = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexda == 0 )) 
  {
  intervalda = shiftscalenoteindexda + 12;
  t0115d.innerHTML = intervalda;
  
  semitoneintervaldc = intervalda - intervalca;
  intervalnameshiftdc = parseInt(notedposition - notecposition) + parseInt(7); 
  
  if((intervalnameshiftdc == 0) || (intervalnameshiftdc == 3) || (intervalnameshiftdc == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftdc == 1) || (intervalnameshiftdc == 4) || (intervalnameshiftdc == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizedc = parseInt(intervalnameshiftdc) + parseInt(1);
  var intervalqualitydc = (intervalinflectionrow).substring(semitoneintervaldc+2, semitoneintervaldc + 3);

  if(intervalqualitydc == "B")
  {
  intervalqualitydc = "dA";
  }

  t0116d.innerHTML = intervalqualitydc + intervalsizedc; 
  
  t0118d.innerHTML = "<img src='scalenote" + clefsign + noted + scalenoteinflectiond + ".gif' alt = '" + noted + scalenoteinflectiontextd + "'>";
  
  }
  else
  {
  intervalda = shiftscalenoteindexda;
  t0115d.innerHTML = intervalda;
  t0116d.innerHTML = "&nbsp;";
  
// new test line  
   
  t0118d.innerHTML = "<img src='scalenote" + clefsign + noted + scalenoteinflectiond + "mid.gif' alt = 'C'>";  
  }
  }
  else
  {    
  if( (notedposition < "12") && (notedposition > "0") )
  {
  var notedifferenceda = notedposition - noteaposition;
  
  var inflectiondifferenceda = inflectiondposition - inflectionaposition;
   
  var shiftscalenoteindexda = ((notedifferenceda * 2) - parseInt((notedifferenceda)/3) +  parseInt((notedifferenceda) / 6) + inflectiondifferenceda);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexda == 0 )) 
  {
  intervalda = shiftscalenoteindexda + 12;
  t0115d.innerHTML = intervalda;
  
  semitoneintervaldc = intervalda - intervalca;
  intervalnameshiftdc = parseInt(notedposition - notecposition) + parseInt(7);  
  
  if((intervalnameshiftdc == 0) || (intervalnameshiftdc == 3) || (intervalnameshiftdc == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftdc == 1) || (intervalnameshiftdc == 4) || (intervalnameshiftdc == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizedc = parseInt(intervalnameshiftdc) + parseInt(1);
  var intervalqualitydc = (intervalinflectionrow).substring(semitoneintervaldc+2, semitoneintervaldc + 3);

  if(intervalqualitydc == "B")
  {
  intervalqualitydc = "dA";
  }

  t0116d.innerHTML = intervalqualitydc + intervalsizedc; 
  
  t0118d.innerHTML = "<img src='scalenote" + clefsign + noted + scalenoteinflectiond + ".gif' alt = '" + noted + scalenoteinflectiontextd + "'>";
  
  }
  else
  {
  intervalda = shiftscalenoteindexda;
  t0115d.innerHTML = intervalda;

  if(scaledirection == "U") 
  {
  
  semitoneintervaldc = intervalda - intervalca;
  intervalnameshiftdc = parseInt(notedposition - notecposition); 
  
  if((intervalnameshiftdc == 0) || (intervalnameshiftdc == 3) || (intervalnameshiftdc == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftdc == 1) || (intervalnameshiftdc == 4) || (intervalnameshiftdc == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizedc = parseInt(intervalnameshiftdc) + parseInt(1);
  var intervalqualitydc = (intervalinflectionrow).substring(semitoneintervaldc+2, semitoneintervaldc + 3);

  if(intervalqualitydc == "B")
  {
  intervalqualitydc = "dA";
  }

  t0116d.innerHTML = intervalqualitydc + intervalsizedc;  
  
  t0118d.innerHTML = "<img src='scalenote" + clefsign + noted + scalenoteinflectiond + ".gif' alt = '" + noted + scalenoteinflectiontextd + "'>";  
  
  }
  else
  {
  t0116d.innerHTML = "&nbsp;";
  t0118d.innerHTML = "<img src='scalenote" + clefsign + noted + scalenoteinflectiond + ".gif' alt = '" + noted + scalenoteinflectiontextd + "'>";  
  }

  }
  
  }
  else
  {
  t0115d.innerHTML = " ";
  t0116d.innerHTML = " ";
  t0118d.innerHTML = "<img src='scalenotespace.gif'>";     
  }
  }
  
// note 5  
  
  if(noteeposition == "0")
  {
  var shiftscalenoteindexea = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexea == 0 )) 
  {
  intervalea = shiftscalenoteindexea + 12;
  t0115e.innerHTML = intervalea;

  semitoneintervaled = intervalea - intervalda;
  intervalnameshifted = parseInt(noteeposition - notedposition) + parseInt(7);  

  if((intervalnameshifted == 0) || (intervalnameshifted == 3) || (intervalnameshifted == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshifted == 1) || (intervalnameshifted == 4) || (intervalnameshifted == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeed = parseInt(intervalnameshifted) + parseInt(1);
  var intervalqualityed = (intervalinflectionrow).substring(semitoneintervaled+2, semitoneintervaled + 3);

  if(intervalqualityed == "B")
  {
  intervalqualityed = "dA";
  }

  t0116e.innerHTML = intervalqualityed + intervalsizeed; 
  
  t0118e.innerHTML = "<img src='scalenote" + clefsign + notee + scalenoteinflectione + ".gif' alt = '" + notee + scalenoteinflectiontexte + "'>";  
    
  }
  else
  {
  intervalea = shiftscalenoteindexea;
  t0115e.innerHTML = intervalea;
  t0116e.innerHTML = "&nbsp;";
  
// new test line  
   
  t0118e.innerHTML = "<img src='scalenote" + clefsign + notee + scalenoteinflectione + "mid.gif' alt = 'C'>";      
  }
  
  }
  else
  {    

  if( (noteeposition < "12") && (noteeposition > "0") )
  {
  var notedifferenceea = noteeposition - noteaposition;
  
  var inflectiondifferenceea = inflectioneposition - inflectionaposition;
   
  var shiftscalenoteindexea = ((notedifferenceea * 2) - parseInt((notedifferenceea)/3) +  parseInt((notedifferenceea) / 6) + inflectiondifferenceea);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexea == 0 )) 
  {
  intervalea = shiftscalenoteindexea + 12;
  t0115e.innerHTML = intervalea;

  semitoneintervaled = intervalea - intervalda;
  intervalnameshifted = parseInt(noteeposition - notedposition) + parseInt(7);

  if((intervalnameshifted == 0) || (intervalnameshifted == 3) || (intervalnameshifted == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshifted == 1) || (intervalnameshifted == 4) || (intervalnameshifted == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeed = parseInt(intervalnameshifted) + parseInt(1);
  var intervalqualityed = (intervalinflectionrow).substring(semitoneintervaled+2, semitoneintervaled + 3);

  if(intervalqualityed == "B")
  {
  intervalqualityed = "dA";
  }

  t0116e.innerHTML = intervalqualityed + intervalsizeed;

  t0118e.innerHTML = "<img src='scalenote" + clefsign + notee + scalenoteinflectione + ".gif' alt = '" + notee + scalenoteinflectiontexte + "'>";
   
  }
  else
  {
  intervalea = shiftscalenoteindexea;
  t0115e.innerHTML = intervalea;
  
  if(scaledirection == "U") 
  {
  
  semitoneintervaled = intervalea - intervalda;
  intervalnameshifted = noteeposition - notedposition; 
  
  if((intervalnameshifted == 0) || (intervalnameshifted == 3) || (intervalnameshifted == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshifted == 1) || (intervalnameshifted == 4) || (intervalnameshifted == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeed = parseInt(intervalnameshifted) + parseInt(1);
  var intervalqualityed = (intervalinflectionrow).substring(semitoneintervaled+2, semitoneintervaled + 3);

  if(intervalqualityed == "B")
  {
  intervalqualityed = "dA";
  }

  t0116e.innerHTML = intervalqualityed + intervalsizeed;
  
  t0118e.innerHTML = "<img src='scalenote" + clefsign + notee + scalenoteinflectione + ".gif' alt = '" + notee + scalenoteinflectiontexte + "'>";  
  
  }
  else
  {
  t0116e.innerHTML = "&nbsp;";
  t0118e.innerHTML = "<img src='scalenote" + clefsign + notee + scalenoteinflectione + ".gif' alt = '" + notee + scalenoteinflectiontexte + "'>"; 
  }
  
  }
  
  }
  else
  {
  t0115e.innerHTML = " ";
  t0116e.innerHTML = " ";
  t0118e.innerHTML = "<img src='scalenotespace.gif'>";    
  }
  }
 
// note 6  
  
  if(notefposition == "0")
  {
  var shiftscalenoteindexfa = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexfa == 0 )) 
  {
  intervalfa = shiftscalenoteindexfa + 12;
  t0115f.innerHTML = intervalfa;

  semitoneintervalfe = intervalfa - intervalea;
  intervalnameshiftfe = parseInt(notefposition - noteeposition) + parseInt(7);  

  if((intervalnameshiftfe == 0) || (intervalnameshiftfe == 3) || (intervalnameshiftfe == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftfe == 1) || (intervalnameshiftfe == 4) || (intervalnameshiftfe == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizefe = parseInt(intervalnameshiftfe) + parseInt(1);
  var intervalqualityfe = (intervalinflectionrow).substring(semitoneintervalfe+2, semitoneintervalfe + 3);

  if(intervalqualityfe == "B")
  {
  intervalqualityfe = "dA";
  }

  t0116f.innerHTML = intervalqualityfe + intervalsizefe;
  
  t0118f.innerHTML = "<img src='scalenote" + clefsign + notef + scalenoteinflectionf + ".gif' alt = '" + notef + scalenoteinflectiontextf + "'>";  
   
  }
  else
  {
  intervalfa = shiftscalenoteindexfa;
  t0115f.innerHTML = intervalfa;  

  t0116f.innerHTML = "&nbsp;";
  
// new test line  
   
  t0118f.innerHTML = "<img src='scalenote" + clefsign + notef + scalenoteinflectionf + "mid.gif' alt = 'C'>";  
  }
  
  }
  else
  {    
  if( (notefposition < "12") && (notefposition > "0") )
  {
  var notedifferencefa = notefposition - noteaposition;
  var inflectiondifferencefa = inflectionfposition - inflectionaposition;
   
  var shiftscalenoteindexfa = ((notedifferencefa * 2) - parseInt((notedifferencefa)/3) +  parseInt((notedifferencefa) / 6) + inflectiondifferencefa);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexfa == 0 )) 
  {
  intervalfa = shiftscalenoteindexfa + 12;
  t0115f.innerHTML = intervalfa;
  
  semitoneintervalfe = intervalfa - intervalea;
  intervalnameshiftfe = parseInt(notefposition - noteeposition) + parseInt(7);
  
  if((intervalnameshiftfe == 0) || (intervalnameshiftfe == 3) || (intervalnameshiftfe == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftfe == 1) || (intervalnameshiftfe == 4) || (intervalnameshiftfe == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizefe = parseInt(intervalnameshiftfe) + parseInt(1);
  var intervalqualityfe = (intervalinflectionrow).substring(semitoneintervalfe+2, semitoneintervalfe + 3);

  if(intervalqualityfe == "B")
  {
  intervalqualityfe = "dA";
  }

  t0116f.innerHTML = intervalqualityfe + intervalsizefe; 

  t0118f.innerHTML = "<img src='scalenote" + clefsign + notef + scalenoteinflectionf + ".gif' alt = '" + notef + scalenoteinflectiontextf + "'>";  
  
  }
  else
  {
  intervalfa = shiftscalenoteindexfa;
  t0115f.innerHTML = intervalfa;

  if(scaledirection == "U") 
  {

  semitoneintervalfe = intervalfa - intervalea; 
  intervalnameshiftfe = notefposition - noteeposition;    
  
  if((intervalnameshiftfe == 0) || (intervalnameshiftfe == 3) || (intervalnameshiftfe == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftfe == 1) || (intervalnameshiftfe == 4) || (intervalnameshiftfe == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizefe = parseInt(intervalnameshiftfe) + parseInt(1);
  var intervalqualityfe = (intervalinflectionrow).substring(semitoneintervalfe+2, semitoneintervalfe + 3);

  if(intervalqualityfe == "B")
  {
  intervalqualityfe = "dA";
  }

  t0116f.innerHTML = intervalqualityfe + intervalsizefe; 
  
  t0118f.innerHTML = "<img src='scalenote" + clefsign + notef + scalenoteinflectionf + ".gif' alt = '" + notef + scalenoteinflectiontextf + "'>";    
  
  }
  else
  {
  t0116f.innerHTML = "&nbsp;";
  t0118f.innerHTML = "<img src='scalenote" + clefsign + notef + scalenoteinflectionf + ".gif' alt = '" + notef + scalenoteinflectiontextf + "'>"; 
  }

  }
  }
  else
  {
  t0115f.innerHTML = " ";
  t0116f.innerHTML = " ";
  t0118f.innerHTML = "<img src='scalenotespace.gif'>";  
  }
  }
    
// note 7  
  
  if(notegposition == "0")
  {
  var shiftscalenoteindexga = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexga == 0 )) 
  {
  intervalga = shiftscalenoteindexga + 12;
  t0115g.innerHTML = intervalga;
  
  semitoneintervalgf = intervalga - intervalfa; 
  intervalnameshiftgf = parseInt(notegposition - notefposition) + parseInt(7); 
  
  if((intervalnameshiftgf == 0) || (intervalnameshiftgf == 3) || (intervalnameshiftgf == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftgf == 1) || (intervalnameshiftgf == 4) || (intervalnameshiftgf == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizegf = parseInt(intervalnameshiftgf) + parseInt(1);
  var intervalqualitygf = (intervalinflectionrow).substring(semitoneintervalgf+2, semitoneintervalgf + 3);

  if(intervalqualitygf == "B")
  {
  intervalqualitygf = "dA";
  }

  t0116g.innerHTML = intervalqualitygf + intervalsizegf; 
  
  t0118g.innerHTML = "<img src='scalenote" + clefsign + noteg + scalenoteinflectiong + ".gif' alt = '" + noteg + scalenoteinflectiontextg + "'>"; 
  
  
  }
  else
  {
  intervalga = shiftscalenoteindexga;
  t0115g.innerHTML = intervalga;
  t0116g.innerHTML = "&nbsp;";
  
// new test line  
   
  t0118g.innerHTML = "<img src='scalenote" + clefsign + noteg + scalenoteinflectiong + "mid.gif' alt = 'C'>"; 
  }
  
  }
  else
  {    

  if( (notegposition < "12") && (notegposition > "0")  )
  {
  var notedifferencega = notegposition - noteaposition;
  var inflectiondifferencega = inflectiongposition - inflectionaposition;
   
  var shiftscalenoteindexga = ((notedifferencega * 2) - parseInt((notedifferencega)/3) +  parseInt((notedifferencega) / 6) + inflectiondifferencega);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexga == 0 )) 
  {
  intervalga = shiftscalenoteindexga + 12;
  t0115g.innerHTML = intervalga;
  
  semitoneintervalgf = intervalga - intervalfa;  
  intervalnameshiftgf = parseInt(notegposition - notefposition) + parseInt(7);  
  
  if((intervalnameshiftgf == 0) || (intervalnameshiftgf == 3) || (intervalnameshiftgf == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftgf == 1) || (intervalnameshiftgf == 4) || (intervalnameshiftgf == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizegf = parseInt(intervalnameshiftgf) + parseInt(1);
  var intervalqualitygf = (intervalinflectionrow).substring(semitoneintervalgf+2, semitoneintervalgf + 3);

  if(intervalqualitygf == "B")
  {
  intervalqualitygf = "dA";
  }

  t0116g.innerHTML = intervalqualitygf + intervalsizegf; 
  
  t0118g.innerHTML = "<img src='scalenote" + clefsign + noteg + scalenoteinflectiong + ".gif' alt = '" + noteg + scalenoteinflectiontextg + "'>"; 
    
  }
  else
  {
  
  intervalga = shiftscalenoteindexga;
  t0115g.innerHTML = intervalga;

  if(scaledirection == "U") 
  {
  
  semitoneintervalgf = intervalga - intervalfa;
  intervalnameshiftgf = notegposition - notefposition; 
  
  if((intervalnameshiftgf == 0) || (intervalnameshiftgf == 3) || (intervalnameshiftgf == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftgf == 1) || (intervalnameshiftgf == 4) || (intervalnameshiftgf == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizegf = parseInt(intervalnameshiftgf) + parseInt(1);
  var intervalqualitygf = (intervalinflectionrow).substring(semitoneintervalgf+2, semitoneintervalgf + 3);

  if(intervalqualitygf == "B")
  {
  intervalqualitygf = "dA";
  }

  t0116g.innerHTML = intervalqualitygf + intervalsizegf;
  
  t0118g.innerHTML = "<img src='scalenote" + clefsign + noteg + scalenoteinflectiong + ".gif' alt = '" + noteg + scalenoteinflectiontextg + "'>";   
   
  }
  else
  {
  t0116g.innerHTML = "&nbsp;";
  t0118g.innerHTML = "<img src='scalenote" + clefsign + noteg + scalenoteinflectiong + ".gif' alt = '" + noteg + scalenoteinflectiontextg + "'>";  
  }
 
  }
  
  }
  else
  {
  t0115g.innerHTML = " ";
  t0116g.innerHTML = " ";
  t0118g.innerHTML = "<img src='scalenotespace.gif'>";    
  }
  }

// note 8  
  
  if(notehposition == "0")
  {
  var shiftscalenoteindexha = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexha == 0) ) 
  {
  intervalha = shiftscalenoteindexha + 12;
  t0115h.innerHTML = intervalha;
  
  semitoneintervalhg = intervalha - intervalga; 
  intervalnameshifthg = parseInt(notehposition - notegposition) + parseInt(7);  
  
  if((intervalnameshifthg == 0) || (intervalnameshifthg == 3) || (intervalnameshifthg == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshifthg == 1) || (intervalnameshifthg == 4) || (intervalnameshifthg == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizehg = parseInt(intervalnameshifthg) + parseInt(1);
  var intervalqualityhg = (intervalinflectionrow).substring(semitoneintervalhg+2, semitoneintervalhg + 3);

  if(intervalqualityhg == "B")
  {
  intervalqualityhg = "dA";
  }

  t0116h.innerHTML = intervalqualityhg + intervalsizehg; 
  
  t0118h.innerHTML = "<img src='scalenote" + clefsign + noteh + scalenoteinflectionh + ".gif' alt = '" + noteh + scalenoteinflectiontexth + "'>";   
    
  }
  else
  {
  intervalha = shiftscalenoteindexha;
  t0115h.innerHTML = intervalha;
  
  t0116h.innerHTML = "&nbsp;";
   
// new test line  
   
  t0118h.innerHTML = "<img src='scalenote" + clefsign + noteh + scalenoteinflectionh + "mid.gif' alt = 'C'>";  
  }
  
  }
  else
  {    

  if( (notehposition < "12") && (notehposition > "0") )
  {
  var notedifferenceha = notehposition - noteaposition;
  var inflectiondifferenceha = inflectionhposition - inflectionaposition;
   
  var shiftscalenoteindexha = ((notedifferenceha * 2) - parseInt((notedifferenceha)/3) +  parseInt((notedifferenceha) / 6) + inflectiondifferenceha);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexha == 0) ) 
  {
  intervalha = shiftscalenoteindexha + 12;
  t0115h.innerHTML = intervalha;
  
  semitoneintervalhg = intervalha - intervalga;   
  intervalnameshifthg = parseInt(notehposition - notegposition) + parseInt(7);
  
  if((intervalnameshifthg == 0) || (intervalnameshifthg == 3) || (intervalnameshifthg == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshifthg == 1) || (intervalnameshifthg == 4) || (intervalnameshifthg == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizehg = parseInt(intervalnameshifthg) + parseInt(1);
  var intervalqualityhg = (intervalinflectionrow).substring(semitoneintervalhg+2, semitoneintervalhg + 3);

  if(intervalqualityhg == "B")
  {
  intervalqualityhg = "dA";
  }

  t0116h.innerHTML = intervalqualityhg + intervalsizehg;
  
  t0118h.innerHTML = "<img src='scalenote" + clefsign + noteh + scalenoteinflectionh + ".gif' alt = '" + noteh + scalenoteinflectiontexth + "'>";   
     
  }
  else
  {
  intervalha = shiftscalenoteindexha;
  t0115h.innerHTML = intervalha;

  if(scaledirection == "U") 
  {
  
  semitoneintervalhg = intervalha - intervalga; 
  intervalnameshifthg = notehposition - notegposition; 
  
  if((intervalnameshifthg == 0) || (intervalnameshifthg == 3) || (intervalnameshifthg == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshifthg == 1) || (intervalnameshifthg == 4) || (intervalnameshifthg == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizehg = parseInt(intervalnameshifthg) + parseInt(1);
  var intervalqualityhg = (intervalinflectionrow).substring(semitoneintervalhg+2, semitoneintervalhg + 3);

  if(intervalqualityhg == "B")
  {
  intervalqualityhg = "dA";
  }

  t0116h.innerHTML = intervalqualityhg + intervalsizehg; 
  
  t0118h.innerHTML = "<img src='scalenote" + clefsign + noteh + scalenoteinflectionh + ".gif' alt = '" + noteh + scalenoteinflectiontexth + "'>";   
   
  }
  else
  {
  t0116h.innerHTML = "&nbsp;";
  t0118h.innerHTML = "<img src='scalenote" + clefsign + noteh + scalenoteinflectionh + ".gif' alt = '" + noteh + scalenoteinflectiontexth + "'>";
  }
 
  }
  }
  else
  {
  t0115h.innerHTML = " ";
  t0116h.innerHTML = " "; 
  t0118h.innerHTML = "<img src='scalenotespace.gif'>";   
  }
  }

// note 9  
  
  if(noteiposition == "0")
  {
  var shiftscalenoteindexia = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexia == 0 )) 
  {
  intervalia = shiftscalenoteindexia + 12;
  t0115i.innerHTML = intervalia;
  
  semitoneintervalih = intervalia - intervalha;
  intervalnameshiftih = parseInt(noteiposition - notehposition) + parseInt(7);   
  
  if((intervalnameshiftih == 0) || (intervalnameshiftih == 3) || (intervalnameshiftih == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftih == 1) || (intervalnameshiftih == 4) || (intervalnameshiftih == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeih = parseInt(intervalnameshiftih) + parseInt(1);
  var intervalqualityih = (intervalinflectionrow).substring(semitoneintervalih+2, semitoneintervalih + 3);

  if(intervalqualityih == "B")
  {
  intervalqualityih = "dA";
  }

  t0116i.innerHTML = intervalqualityih + intervalsizeih;  
  
  t0118i.innerHTML = "<img src='scalenote" + clefsign + notei + scalenoteinflectioni + ".gif' alt = '" + notei + scalenoteinflectiontexti + "'>"; 
   
  }
  else
  {
  intervalia = shiftscalenoteindexia;
  t0115i.innerHTML = intervalia;
  t0116i.innerHTML = "&nbsp;"; 
  
// new test line  
   
  t0118i.innerHTML = "<img src='scalenote" + clefsign + notei + scalenoteinflectioni + "mid.gif' alt = 'C'>";    
  }
  
  }
  else
  {    

  if( (noteiposition < "12") && (noteiposition > "0") ) 
  {
  var notedifferenceia = noteiposition - noteaposition;
  var inflectiondifferenceia = inflectioniposition - inflectionaposition;
   
  var shiftscalenoteindexia = ((notedifferenceia * 2) - parseInt((notedifferenceia)/3) +  parseInt((notedifferenceia) / 6) + inflectiondifferenceia);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexia == 0 )) 
  {
  intervalia = shiftscalenoteindexia + 12;
  t0115i.innerHTML = intervalia;
  
  semitoneintervalih = intervalia - intervalha;   
  intervalnameshiftih = parseInt(noteiposition - notehposition) + parseInt(7); 
  
  if((intervalnameshiftih == 0) || (intervalnameshiftih == 3) || (intervalnameshiftih == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftih == 1) || (intervalnameshiftih == 4) || (intervalnameshiftih == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeih = parseInt(intervalnameshiftih) + parseInt(1);
  var intervalqualityih = (intervalinflectionrow).substring(semitoneintervalih+2, semitoneintervalih + 3);

  if(intervalqualityih == "B")
  {
  intervalqualityih = "dA";
  }

  t0116i.innerHTML = intervalqualityih + intervalsizeih; 
  
  t0118i.innerHTML = "<img src='scalenote" + clefsign + notei + scalenoteinflectioni + ".gif' alt = '" + notei + scalenoteinflectiontexti + "'>";   
  
  }
  else
  {
  intervalia = shiftscalenoteindexia;
  t0115i.innerHTML = intervalia;

  if(scaledirection == "U") 
  {

  semitoneintervalih = intervalia - intervalha;   
  intervalnameshiftih = noteiposition - notehposition; 
  
  if((intervalnameshiftih == 0) || (intervalnameshiftih == 3) || (intervalnameshiftih == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftih == 1) || (intervalnameshiftih == 4) || (intervalnameshiftih == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeih = parseInt(intervalnameshiftih) + parseInt(1);
  var intervalqualityih = (intervalinflectionrow).substring(semitoneintervalih+2, semitoneintervalih + 3);

  if(intervalqualityih == "B")
  {
  intervalqualityih = "dA";
  }

  t0116i.innerHTML = intervalqualityih + intervalsizeih; 
  
  t0118i.innerHTML = "<img src='scalenote" + clefsign + notei + scalenoteinflectioni + ".gif' alt = '" + notei + scalenoteinflectiontexti + "'>";   
  
  }
  else
  {
  t0116i.innerHTML = "&nbsp;";
  t0118i.innerHTML = "<img src='scalenote" + clefsign + notei + scalenoteinflectioni + ".gif' alt = '" + notei + scalenoteinflectiontexti + "'>";  
  }
  
  }
  
  }
  else
  {
  t0115i.innerHTML = " ";
  t0116i.innerHTML = " "; 
  t0118i.innerHTML = "<img src='scalenotespace.gif'>";   
  }
  }

// note 10  
  
  if(notejposition == "0")
  {
  var shiftscalenoteindexja = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexja == 0 )) 
  {
  intervalja = shiftscalenoteindexja + 12;
  t0115j.innerHTML = intervalja;
  
  semitoneintervalji = intervalja - intervalia; 
  intervalnameshiftji = parseInt(notejposition - noteiposition) + parseInt(7);   
  
  if((intervalnameshiftji == 0) || (intervalnameshiftji == 3) || (intervalnameshiftji == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftji == 1) || (intervalnameshiftji == 4) || (intervalnameshiftji == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeji = parseInt(intervalnameshiftji) + parseInt(1);
  var intervalqualityji = (intervalinflectionrow).substring(semitoneintervalji+2, semitoneintervalji + 3);

  if(intervalqualityji == "B")
  {
  intervalqualityji = "dA";
  }

  t0116j.innerHTML = intervalqualityji + intervalsizeji;   
  
  t0118j.innerHTML = "<img src='scalenote" + clefsign + notej + scalenoteinflectionj + ".gif' alt = '" + notej + scalenoteinflectiontextj + "'>";   
   
  }
  else
  {
  intervalja = shiftscalenoteindexja;
  t0115j.innerHTML = intervalja;
  t0116j.innerHTML = "&nbsp;";  
  
// new test line  
   
  t0118j.innerHTML = "<img src='scalenote" + clefsign + notej + scalenoteinflectionj + "mid.gif' alt = 'C'>";   
  }
  
  }
  else
  {    

  if( (notejposition < "12") && (notejposition > "0") ) 
  {
  var notedifferenceja = notejposition - noteaposition;
  var inflectiondifferenceja = inflectionjposition - inflectionaposition;
   
  var shiftscalenoteindexja = ((notedifferenceja * 2) - parseInt((notedifferenceja)/3) +  parseInt((notedifferenceja) / 6) + inflectiondifferenceja);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexja == 0 )) 
  {
  intervalja = shiftscalenoteindexja + 12;
  t0115j.innerHTML = intervalja;
  
  semitoneintervalji = intervalja - intervalia;     
  intervalnameshiftji = parseInt(notejposition - noteiposition) + parseInt(7);
  
  if((intervalnameshiftji == 0) || (intervalnameshiftji == 3) || (intervalnameshiftji == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftji == 1) || (intervalnameshiftji == 4) || (intervalnameshiftji == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeji = parseInt(intervalnameshiftji) + parseInt(1);
  var intervalqualityji = (intervalinflectionrow).substring(semitoneintervalji+2, semitoneintervalji + 3);

  if(intervalqualityji == "B")
  {
  intervalqualityji = "dA";
  }

  t0116j.innerHTML = intervalqualityji + intervalsizeji; 
  
  t0118j.innerHTML = "<img src='scalenote" + clefsign + notej + scalenoteinflectionj + ".gif' alt = '" + notej + scalenoteinflectiontextj + "'>";   
    
  }
  else
  {
  intervalja = shiftscalenoteindexja;
  t0115j.innerHTML = intervalja;

  if(scaledirection == "U") 
  {
  
  semitoneintervalji = intervalja - intervalia;     
  intervalnameshiftji = notejposition - noteiposition; 
  
  if((intervalnameshiftji == 0) || (intervalnameshiftji == 3) || (intervalnameshiftji == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftji == 1) || (intervalnameshiftji == 4) || (intervalnameshiftji == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeji = parseInt(intervalnameshiftji) + parseInt(1);
  var intervalqualityji = (intervalinflectionrow).substring(semitoneintervalji+2, semitoneintervalji + 3);

  if(intervalqualityji == "B")
  {
  intervalqualityji = "dA";
  }

  t0116j.innerHTML = intervalqualityji + intervalsizeji; 
  
  t0118j.innerHTML = "<img src='scalenote" + clefsign + notej + scalenoteinflectionj + ".gif' alt = '" + notej + scalenoteinflectiontextj + "'>";   
   
  }
  else
  {
  t0116j.innerHTML = "&nbsp;";
  t0118j.innerHTML = "<img src='scalenote" + clefsign + notej + scalenoteinflectionj + ".gif' alt = '" + notej + scalenoteinflectiontextj + "'>";  
  }
 
  }
  
  }
  else
  {
  t0115j.innerHTML = " ";
  t0116j.innerHTML = " "; 
  t0118j.innerHTML = "<img src='scalenotespace.gif'>";   
  }
  }
   
// note 11  
  
  if(notekposition == "0")
  {
  var shiftscalenoteindexka = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexka == 0 )) 
  {
  intervalka = shiftscalenoteindexka + 12;
  t0115k.innerHTML = intervalka;
  
  semitoneintervalkj = intervalka - intervalja;     
  intervalnameshiftkj = parseInt(notekposition - notejposition) + parseInt(7); 
  
  if((intervalnameshiftkj == 0) || (intervalnameshiftkj == 3) || (intervalnameshiftkj == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftkj == 1) || (intervalnameshiftkj == 4) || (intervalnameshiftkj == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizekj = parseInt(intervalnameshiftkj) + parseInt(1);
  var intervalqualitykj = (intervalinflectionrow).substring(semitoneintervalkj+2, semitoneintervalkj + 3);

  if(intervalqualitykj == "B")
  {
  intervalqualitykj = "dA";
  }

  t0116k.innerHTML = intervalqualitykj + intervalsizekj; 
  
  t0118k.innerHTML = "<img src='scalenote" + clefsign + notek + scalenoteinflectionk + ".gif' alt = '" + notek + scalenoteinflectiontextk + "'>"; 
   
  }
  else
  {
  intervalka = shiftscalenoteindexka;
  t0115k.innerHTML = intervalka;
  t0116k.innerHTML = "&nbsp;";
   
// new test line  
   
  t0118k.innerHTML = "<img src='scalenote" + clefsign + notek + scalenoteinflectionk + "mid.gif' alt = 'C'>";    
  }
  
  }
  else
  {    

  if( (notekposition < "12") && (notekposition > "0") )
  {
   
  var notedifferenceka = notekposition - noteaposition;
  var inflectiondifferenceka = inflectionkposition - inflectionaposition;
   
  var shiftscalenoteindexka = ((notedifferenceka * 2) - parseInt((notedifferenceka)/3) +  parseInt((notedifferenceka) / 6) + inflectiondifferenceka);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexka == 0 )) 
  {
  intervalka = shiftscalenoteindexka + 12;
  t0115k.innerHTML = intervalka;
  
  semitoneintervalkj = intervalka - intervalja;     
  intervalnameshiftkj = parseInt(notekposition - notejposition) + parseInt(7); 
  
  if((intervalnameshiftkj == 0) || (intervalnameshiftkj == 3) || (intervalnameshiftkj == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftkj == 1) || (intervalnameshiftkj == 4) || (intervalnameshiftkj == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizekj = parseInt(intervalnameshiftkj) + parseInt(1);
  var intervalqualitykj = (intervalinflectionrow).substring(semitoneintervalkj+2, semitoneintervalkj + 3);

  if(intervalqualitykj == "B")
  {
  intervalqualitykj = "dA";
  }

  t0116k.innerHTML = intervalqualitykj + intervalsizekj;  
  
  t0118k.innerHTML = "<img src='scalenote" + clefsign + notek + scalenoteinflectionk + ".gif' alt = '" + notek + scalenoteinflectiontextk + "'>";   
  
  }
  else
  {
  intervalka = shiftscalenoteindexka;
  t0115k.innerHTML = intervalka;

  if(scaledirection == "U") 
  {
  
  semitoneintervalkj = intervalka - intervalja;     
  intervalnameshiftkj = notekposition - notejposition; 
  
  if((intervalnameshiftkj == 0) || (intervalnameshiftkj == 3) || (intervalnameshiftkj == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftkj == 1) || (intervalnameshiftkj == 4) || (intervalnameshiftkj == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizekj = parseInt(intervalnameshiftkj) + parseInt(1);
  var intervalqualitykj = (intervalinflectionrow).substring(semitoneintervalkj+2, semitoneintervalkj + 3);

  if(intervalqualitykj == "B")
  {
  intervalqualitykj = "dA";
  }

  t0116k.innerHTML = intervalqualitykj + intervalsizekj;
  
  t0118k.innerHTML = "<img src='scalenote" + clefsign + notek + scalenoteinflectionk + ".gif' alt = '" + notek + scalenoteinflectiontextk + "'>";   
    
  }
  else
  {
  t0116k.innerHTML = "&nbsp;";
  t0118k.innerHTML = "<img src='scalenote" + clefsign + notek + scalenoteinflectionk + ".gif' alt = '" + notek + scalenoteinflectiontextk + "'>";   
  }
 
  }
  
  }
  else
  {
  t0115k.innerHTML = " ";
  t0116k.innerHTML = " ";
  t0118k.innerHTML = "<img src='scalenotespace.gif'>";     
  }
  }
   
// note 12  
  
  if(notelposition == "0")
  {
  var shiftscalenoteindexla = 0;
  if( (scaledirection == "U") && ( shiftscalenoteindexla == 0) ) 
  {
  intervalla = shiftscalenoteindexla + 12;
  t0115l.innerHTML = intervalla;
  
  semitoneintervallk = intervalla - intervalka;     
  intervalnameshiftlk = parseInt(notelposition - notekposition) + parseInt(7); 
  
  if((intervalnameshiftlk == 0) || (intervalnameshiftlk == 3) || (intervalnameshiftlk == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftlk == 1) || (intervalnameshiftlk == 4) || (intervalnameshiftlk == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizelk = parseInt(intervalnameshiftlk) + parseInt(1);
  var intervalqualitylk = (intervalinflectionrow).substring(semitoneintervallk+2, semitoneintervallk + 3);

  if(intervalqualitylk == "B")
  {
  intervalqualitylk = "dA";
  }

  t0116l.innerHTML = intervalqualitylk + intervalsizelk; 
  t0118l.innerHTML = "<img src='scalenote" + clefsign + notel + scalenoteinflectionl + ".gif' alt = '" + notel + scalenoteinflectiontextl + "'>";   
    
  }
  else
  {
  intervalla = shiftscalenoteindexla;
  t0115l.innerHTML = intervalla;
  t0116l.innerHTML = "&nbsp;";
 
// new test line  
   
  t0118l.innerHTML = "<img src='scalenote" + clefsign + notel + scalenoteinflectionl + "mid.gif' alt = 'C'>";    
  }
  
  }
  else
  {    
  if( (notelposition < "12") && (notelposition > "0") )
  {
  var notedifferencela = notelposition - noteaposition;
  var inflectiondifferencela = inflectionlposition - inflectionaposition;
   
  var shiftscalenoteindexla = ((notedifferencela * 2) - parseInt((notedifferencela)/3) +  parseInt((notedifferencela) / 6) + inflectiondifferencela);
   
  if( (scaledirection == "U") && ( shiftscalenoteindexla == 0) ) 
  {
  intervalla = shiftscalenoteindexla + 12;
  t0115l.innerHTML = intervalla;
  
  semitoneintervallk = intervalla - intervalka;     
  intervalnameshiftlk = parseInt(notelposition - notekposition) + parseInt(7); 
  
  if((intervalnameshiftlk == 0) || (intervalnameshiftlk == 3) || (intervalnameshiftlk == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftlk == 1) || (intervalnameshiftlk == 4) || (intervalnameshiftlk == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizelk = parseInt(intervalnameshiftlk) + parseInt(1);
  var intervalqualitylk = (intervalinflectionrow).substring(semitoneintervallk+2, semitoneintervallk + 3);

  if(intervalqualitylk == "B")
  {
  intervalqualitylk = "dA";
  }

  t0116l.innerHTML = intervalqualitylk + intervalsizelk;
  
  t0118l.innerHTML = "<img src='scalenote" + clefsign + notel + scalenoteinflectionl + ".gif' alt = '" + notel + scalenoteinflectiontextl + "'>";   
   
  }
  else
  {
  intervalla = shiftscalenoteindexla;
  t0115l.innerHTML = intervalla;

  if(scaledirection == "U") 
  {
  
  semitoneintervallk = intervalla - intervalka;     
  intervalnameshiftlk = notelposition - notekposition; 
  
  if((intervalnameshiftlk == 0) || (intervalnameshiftlk == 3) || (intervalnameshiftlk == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftlk == 1) || (intervalnameshiftlk == 4) || (intervalnameshiftlk == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizelk = parseInt(intervalnameshiftlk) + parseInt(1);
  var intervalqualitylk = (intervalinflectionrow).substring(semitoneintervallk+2, semitoneintervallk + 3);

  if(intervalqualitylk == "B")
  {
  intervalqualitylk = "dA";
  }

  t0116l.innerHTML = intervalqualitylk + intervalsizelk;
  
  t0118l.innerHTML = "<img src='scalenote" + clefsign + notel + scalenoteinflectionl + ".gif' alt = '" + notel + scalenoteinflectiontextl + "'>";   
  
  }
  else
  {
  t0116l.innerHTML = "&nbsp;";
  t0118l.innerHTML = "<img src='scalenote" + clefsign + notel + scalenoteinflectionl + ".gif' alt = '" + notel + scalenoteinflectiontextl + "'>";
  }
  }
  }
  else
  {
  t0115l.innerHTML = " ";
  t0116l.innerHTML = " ";
  t0118l.innerHTML = "<img src='scalenotespace.gif'>";    
  }
  }
   
// note 13  
  
  if(notemposition == "0")
  {
  var shiftscalenoteindexma = 0;
  if( (scaledirection == "U") && (shiftscalenoteindexma == 0) ) 
  {
  intervalma = shiftscalenoteindexma + 12;
  t0115m.innerHTML = intervalma;
  
  semitoneintervalml = intervalma - intervalla;     
  intervalnameshiftml = parseInt(notemposition - notelposition) + parseInt(7); 
  
  if((intervalnameshiftml == 0) || (intervalnameshiftml == 3) || (intervalnameshiftml == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftml == 1) || (intervalnameshiftml == 4) || (intervalnameshiftml == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeml = parseInt(intervalnameshiftml) + parseInt(1);
  var intervalqualityml = (intervalinflectionrow).substring(semitoneintervalml+2, semitoneintervalml + 3);

  if(intervalqualityml == "B")
  {
  intervalqualityml = "dA";
  }

  t0116m.innerHTML = intervalqualityml + intervalsizeml;  
  
  t0118m.innerHTML = "<img src='scalenote" + clefsign + notem + scalenoteinflectionm + ".gif' alt = '" + notem + scalenoteinflectiontextm + "'>";   
   
  }
  else
  {
  intervalma = shiftscalenoteindexma;
  t0115m.innerHTML = intervalma;
  t0116m.innerHTML = "&nbsp;";

  t0118m.innerHTML = "<img src='scalenote" + clefsign + notem + scalenoteinflectionm + "mid.gif'' alt = '" + notem + scalenoteinflectiontextm + "'>"; 
   
  }
  
  }
  else
  {    
  if( (notemposition < "12") && (notemposition > "0") )
  {
  var notedifferencema = notemposition - noteaposition;
  var inflectiondifferencema = inflectionmposition - inflectionaposition;
   
  var shiftscalenoteindexma = ((notedifferencema * 2) - parseInt((notedifferencema)/3) +  parseInt((notedifferencema) / 6) + inflectiondifferencema);
   
  if( (scaledirection == "U") && (shiftscalenoteindexma == 0) ) 
  {
  intervalma = shiftscalenoteindexma + 12;
  t0115m.innerHTML = intervalma;
  
  semitoneintervalml = intervalma - intervalla;     
  intervalnameshiftml = parseInt(notemposition - notelposition) + parseInt(7); 
  
  if((intervalnameshiftml == 0) || (intervalnameshiftml == 3) || (intervalnameshiftml == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftml == 1) || (intervalnameshiftml == 4) || (intervalnameshiftml == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeml = parseInt(intervalnameshiftml) + parseInt(1);
  var intervalqualityml = (intervalinflectionrow).substring(semitoneintervalml+2, semitoneintervalml + 3);

  if(intervalqualityml == "B")
  {
  intervalqualityml = "dA";
  }

  t0116m.innerHTML = intervalqualityml + intervalsizeml; 
  
  t0118m.innerHTML = "<img src='scalenote" + clefsign + notem + scalenoteinflectionm + ".gif' alt = '" + notem + scalenoteinflectiontextm + "'>";   
   
  }
  else
  {
  intervalma = shiftscalenoteindexma;
  t0115m.innerHTML = intervalma;

  if(scaledirection == "U") 
  {
  
  semitoneintervalml = intervalma - intervalla;     
  intervalnameshiftml = notemposition - notekposition; 
  
  if((intervalnameshiftml == 0) || (intervalnameshiftml == 3) || (intervalnameshiftml == 6))
  {
  intervalinflectionrow = pintervalinflectionrow;
  }
  else
  {
  if((intervalnameshiftml == 1) || (intervalnameshiftml == 4) || (intervalnameshiftml == 7))
  {
  intervalinflectionrow = nintervalinflectionrow;
  }
  else
  {
  intervalinflectionrow = mintervalinflectionrow;
  }
  }
   
  var intervalsizeml = parseInt(intervalnameshiftml) + parseInt(1);
  var intervalqualityml = (intervalinflectionrow).substring(semitoneintervalml+2, semitoneintervalml + 3);

  if(intervalqualityml == "B")
  {
  intervalqualityml = "dA";
  }

  t0116m.innerHTML = intervalqualityml + intervalsizeml; 
  t0118m.innerHTML = "<img src='scalenote" + clefsign + notem + scalenoteinflectionm + ".gif' alt = '" + notem + scalenoteinflectiontextm + "'>";   
   
  }
  else
  {
  t0116m.innerHTML = "&nbsp;";
  t0118m.innerHTML = "<img src='scalenote" + clefsign + notem + scalenoteinflectionm + ".gif' alt = '" + notem + scalenoteinflectiontextm + "'>";

  
  
  
  }
  }
  }
  else
  {
  t0115m.innerHTML = " ";
  t0116m.innerHTML = " ";
  t0118m.innerHTML = "<img src='scalenotespace.gif'>";    
  }
  }   
  
  t0118n.innerHTML = "<img src='endofstaff.gif' alt='double bar'>";
  
  var shiftnotevalueindex = 0;
  
  var scalenote1position = letterrow.indexOf(scalenote1);
  var scalenoteaposition = letterrow.indexOf(notea);
  var shiftnoteindex = scalenote1position - scalenoteaposition;

  var scalenoteinflection1position = inflectionrow.indexOf(scalenoteinflection1);
  var scalenoteinflectionaposition = inflectionrow.indexOf(scalenoteinflectiona);
  var shiftinflectionindex = scalenoteinflection1position - scalenoteinflectionaposition;
  
   var shiftnotevalueindex = (shiftnoteindex * 2) - parseInt(shiftnoteindex / 3) +  parseInt(shiftnoteindex / 6) + shiftinflectionindex;
  
   if( ((shiftnoteindex == 0) && (shiftinflectionindex == 0)) || (keynotefixedornot == "F") )
  {
//  t0111.innerHTML = "note name shift index: " + shiftnoteindex + " and the shift note value index: " + shiftnotevalueindex;
//  t0112.innerHTML = "note inflection shift index: " + shiftinflectionindex;

  t0120.innerHTML = "scale on " + notea + scalenoteinflectiontexta + ":";
  t0120a.innerHTML = notea + scalenoteinflectiontexta;
  t0120b.innerHTML = noteb + scalenoteinflectiontextb;
  t0120c.innerHTML = notec + scalenoteinflectiontextc;
  t0120d.innerHTML = noted + scalenoteinflectiontextd; 
  t0120e.innerHTML = notee + scalenoteinflectiontexte;
  t0120f.innerHTML = notef + scalenoteinflectiontextf;
  t0120g.innerHTML = noteg + scalenoteinflectiontextg;
  t0120h.innerHTML = noteh + scalenoteinflectiontexth; 
  t0120i.innerHTML = notei + scalenoteinflectiontexti; 
  t0120j.innerHTML = notej + scalenoteinflectiontextj;
  t0120k.innerHTML = notek + scalenoteinflectiontextk; 
  t0120l.innerHTML = notel + scalenoteinflectiontextl;
  t0120m.innerHTML = notem + scalenoteinflectiontextm;
  
  t0150.innerHTML = endtext;
  
  }
  else
  {
//  t0111.innerHTML = "note name shift index: " + shiftnoteindex + " and the shift note value index: " + shiftnotevalueindex;
  
//  t0112.innerHTML = "note inflection shift index: " + shiftinflectionindex;
      


  var newnoteaposition = parseInt(letterrow.indexOf(notea)) + parseInt(shiftnoteindex);
  
  var newinflectionaposition = parseInt(inflectionrow.indexOf(scalenoteinflectiona)) + parseInt(shiftinflectionindex);
  
  var noteavalueindex = (newnoteaposition * 2) - parseInt(newnoteaposition / 3) +  parseInt(newnoteaposition / 6) -  parseInt(newnoteaposition / 7) +   parseInt(newnoteaposition / 9) -  parseInt(newnoteaposition / 10) + parseInt(newinflectionaposition);
  
  if( noteb == " " )
  {
  
  t0120.innerHTML = " ";
  t0120b.innerHTML = " ";
  }
  else
  {
  
  t0120.innerHTML = "transposed scale on <font color=blue><b>" + scalenote1 + scalenoteinflectiontext1 + ": </b></font>";
  
  t0120a.innerHTML = scalenote1 + scalenoteinflectiontext1;
  }

  
  var newnotebposition = parseInt(letterrow.indexOf(noteb)) + parseInt(shiftnoteindex);
  
  var newinflectionbposition = parseInt(inflectionrow.indexOf(scalenoteinflectionb)) + parseInt(shiftinflectionindex);
  
  var notebvalueindex = (newnotebposition * 2) - parseInt(newnotebposition / 3) +  parseInt(newnotebposition / 6) -  parseInt(newnotebposition / 7) +   parseInt(newnotebposition / 9) -  parseInt(newnotebposition / 10) + parseInt(newinflectionbposition);
  
  var newshiftscalenoteindexerrorba = parseInt(notebvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexba);
  
  if( noteb == " " )
  {
  t0120b.innerHTML = " ";
  }
  else
  {
  
  var newnoteb = (letterrow).substring(newnotebposition,(newnotebposition + 1));
  
  var revisedinflectionbposition = parseInt(newinflectionbposition) - parseInt(newshiftscalenoteindexerrorba);
  
  var newinflectiontextb = (inflectionrow).substring(revisedinflectionbposition,(revisedinflectionbposition + 1));
  
  if( newinflectiontextb == " " )
  newinflectiontextb1 = " ";
    
  if( newinflectiontextb == "n" )
  newinflectiontextb1 = " ";
    
  if( newinflectiontextb == "s" )
  newinflectiontextb1 = "# ";
      
  if( newinflectiontextb == "b" )
  newinflectiontextb1 = "b ";
       
  if( newinflectiontextb == "f" )   
  newinflectiontextb1 = "bb ";
  
  if( newinflectiontextb == "g" )   
  newinflectiontextb1 = "bbb ";  
    
  if( newinflectiontextb == "x" )   
  newinflectiontextb1 = "x ";
    
  if( newinflectiontextb == "y" )   
  newinflectiontextb1 = "x#";
  

  t0120b.innerHTML = newnoteb + newinflectiontextb1;
  }
 

  var newnotecposition = parseInt(letterrow.indexOf(notec)) + parseInt(shiftnoteindex);
  
  var newinflectioncposition = parseInt(inflectionrow.indexOf(scalenoteinflectionc)) + parseInt(shiftinflectionindex);
  
  var notecvalueindex = (newnotecposition * 2) - parseInt(newnotecposition / 3) +  parseInt(newnotecposition / 6) -  parseInt(newnotecposition / 7) +   parseInt(newnotecposition / 9) -  parseInt(newnotecposition / 10) + parseInt(newinflectioncposition);
  
  var newshiftscalenoteindexerrorca = parseInt(notecvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexca);
  
  if( notec == " " )
  {
  t0120c.innerHTML = " ";
  }
  else
  {
  
  var newnotec = (letterrow).substring(newnotecposition,(newnotecposition + 1));
  
  var revisedinflectioncposition = parseInt(newinflectioncposition) - parseInt(newshiftscalenoteindexerrorca);
  
  var newinflectiontextc = (inflectionrow).substring(revisedinflectioncposition,(revisedinflectioncposition + 1));
  
  if( newinflectiontextc == " " )
  newinflectiontextc1 = " ";
    
  if( newinflectiontextc == "n" )
  newinflectiontextc1 = " ";
    
  if( newinflectiontextc == "s" )
  newinflectiontextc1 = "# ";
      
  if( newinflectiontextc == "b" )
  newinflectiontextc1 = "b ";
       
  if( newinflectiontextc == "f" )   
  newinflectiontextc1 = "bb ";
  
  if( newinflectiontextc == "g" )   
  newinflectiontextc1 = "bbb ";   
    
  if( newinflectiontextc == "x" )   
  newinflectiontextc1 = "x ";
    
  if( newinflectiontextc == "y" )   
  newinflectiontextc1 = "x#";
  

  t0120c.innerHTML = newnotec + newinflectiontextc1;
  }
  
  var newnotedposition = parseInt(letterrow.indexOf(noted)) + parseInt(shiftnoteindex);
  
  var newinflectiondposition = parseInt(inflectionrow.indexOf(scalenoteinflectiond)) + parseInt(shiftinflectionindex); 
  
  var notedvalueindex = (newnotedposition * 2) - parseInt(newnotedposition / 3) +  parseInt(newnotedposition / 6) -  parseInt(newnotedposition / 7) +   parseInt(newnotedposition / 9) -  parseInt(newnotedposition / 10) + parseInt(newinflectiondposition);
  
  var newshiftscalenoteindexerrorda = parseInt(notedvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexda);  
  
  if( noted == " " )
  {
  t0120d.innerHTML = " ";
  }
  else
  {
  
  var newnoted = (letterrow).substring(newnotedposition,(newnotedposition + 1));
  
  var revisedinflectiondposition = parseInt(newinflectiondposition) - parseInt(newshiftscalenoteindexerrorda);
  
  var newinflectiontextd = (inflectionrow).substring(revisedinflectiondposition,(revisedinflectiondposition + 1));
  
  if( newinflectiontextd == " " )
  newinflectiontextd1 = " ";
    
  if( newinflectiontextd == "n" )
  newinflectiontextd1 = " ";
    
  if( newinflectiontextd == "s" )
  newinflectiontextd1 = "# ";
      
  if( newinflectiontextd == "b" )
  newinflectiontextd1 = "b ";
       
  if( newinflectiontextd == "f" )   
  newinflectiontextd1 = "bb ";
  
  if( newinflectiontextd == "g" )   
  newinflectiontextd1 = "bbb ";   
    
  if( newinflectiontextd == "x" )   
  newinflectiontextd1 = "x ";
    
  if( newinflectiontextd == "y" )   
  newinflectiontextd1 = "x#";
  

  t0120d.innerHTML = newnoted + newinflectiontextd1;
  }
    
  var newnoteeposition = parseInt(letterrow.indexOf(notee)) + parseInt(shiftnoteindex);
  
  var newinflectioneposition = parseInt(inflectionrow.indexOf(scalenoteinflectione)) + parseInt(shiftinflectionindex);
  
  var noteevalueindex = (newnoteeposition * 2) - parseInt(newnoteeposition / 3) +  parseInt(newnoteeposition / 6) -  parseInt(newnoteeposition / 7) +   parseInt(newnoteeposition / 9) -  parseInt(newnoteeposition / 10) + parseInt(newinflectioneposition);
  
  var newshiftscalenoteindexerrorea = parseInt(noteevalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexea); 
  
  if( notee == " " )
  {
  t0120e.innerHTML = " ";
  }
  else
  {
  
  var newnotee = (letterrow).substring(newnoteeposition,(newnoteeposition + 1));
  
  var revisedinflectioneposition = parseInt(newinflectioneposition) - parseInt(newshiftscalenoteindexerrorea);
  
  var newinflectiontexte = (inflectionrow).substring(revisedinflectioneposition,(revisedinflectioneposition + 1));
  
  if( newinflectiontexte == " " )
  newinflectiontexte1 = " ";
    
  if( newinflectiontexte == "n" )
  newinflectiontexte1 = " ";
    
  if( newinflectiontexte == "s" )
  newinflectiontexte1 = "# ";
      
  if( newinflectiontexte == "b" )
  newinflectiontexte1 = "b ";
       
  if( newinflectiontexte == "f" )   
  newinflectiontexte1 = "bb ";
  
  if( newinflectiontexte == "g" )   
  newinflectiontexte1 = "bbb ";   
    
  if( newinflectiontexte == "x" )   
  newinflectiontexte1 = "x ";
    
  if( newinflectiontexte == "y" )   
  newinflectiontexte1 = "x#";
  

  t0120e.innerHTML = newnotee + newinflectiontexte1;
  } 
       
  var newnotefposition = parseInt(letterrow.indexOf(notef)) + parseInt(shiftnoteindex);
  
  var newinflectionfposition = parseInt(inflectionrow.indexOf(scalenoteinflectionf)) + parseInt(shiftinflectionindex);
  
  var notefvalueindex = (newnotefposition * 2) - parseInt(newnotefposition / 3) +  parseInt(newnotefposition / 6) -  parseInt(newnotefposition / 7) +   parseInt(newnotefposition / 9) -  parseInt(newnotefposition / 10) + parseInt(newinflectionfposition);
  
  var newshiftscalenoteindexerrorfa = parseInt(notefvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexfa); 
  
  if( notef == " " )
  {
  t0120f.innerHTML = " ";
  }
  else
  {
  
  var newnotef = (letterrow).substring(newnotefposition,(newnotefposition + 1));
  
  var revisedinflectionfposition = parseInt(newinflectionfposition) - parseInt(newshiftscalenoteindexerrorfa);
  
  var newinflectiontextf = (inflectionrow).substring(revisedinflectionfposition,(revisedinflectionfposition + 1));
  
  if( newinflectiontextf == " " )
  newinflectiontextf1 = " ";
    
  if( newinflectiontextf == "n" )
  newinflectiontextf1 = " ";
    
  if( newinflectiontextf == "s" )
  newinflectiontextf1 = "# ";
      
  if( newinflectiontextf == "b" )
  newinflectiontextf1 = "b ";
       
  if( newinflectiontextf == "f" )   
  newinflectiontextf1 = "bb ";
  
  if( newinflectiontextf == "g" )   
  newinflectiontextf1 = "bbb ";   
    
  if( newinflectiontextf == "x" )   
  newinflectiontextf1 = "x ";
    
  if( newinflectiontextf == "y" )   
  newinflectiontextf1 = "x#";
  

  t0120f.innerHTML = newnotef + newinflectiontextf1;
  }
   
  var newnotegposition = parseInt(letterrow.indexOf(noteg)) + parseInt(shiftnoteindex);
  
  var newinflectiongposition = parseInt(inflectionrow.indexOf(scalenoteinflectiong)) + parseInt(shiftinflectionindex);
  
  var notegvalueindex = (newnotegposition * 2) - parseInt(newnotegposition / 3) +  parseInt(newnotegposition / 6) -  parseInt(newnotegposition / 7) +   parseInt(newnotegposition / 9) -  parseInt(newnotegposition / 10) + parseInt(newinflectiongposition);
  
  var newshiftscalenoteindexerrorga = parseInt(notegvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexga);
  
  if( noteg == " " )
  {
  t0120g.innerHTML = " ";
  }
  else
  {
  
  var newnoteg = (letterrow).substring(newnotegposition,(newnotegposition + 1));
  
  var revisedinflectiongposition = parseInt(newinflectiongposition) - parseInt(newshiftscalenoteindexerrorga);
  
  var newinflectiontextg = (inflectionrow).substring(revisedinflectiongposition,(revisedinflectiongposition + 1));
  
  if( newinflectiontextg == " " )
  newinflectiontextg1 = " ";
    
  if( newinflectiontextg == "n" )
  newinflectiontextg1 = " ";
    
  if( newinflectiontextg == "s" )
  newinflectiontextg1 = "# ";
      
  if( newinflectiontextg == "b" )
  newinflectiontextg1 = "b ";
       
  if( newinflectiontextg == "f" )   
  newinflectiontextg1 = "bb ";
  
  if( newinflectiontextg == "g" )   
  newinflectiontextg1 = "bbb ";  
    
  if( newinflectiontextg == "x" )   
  newinflectiontextg1 = "x ";
    
  if( newinflectiontextg == "y" )   
  newinflectiontextg1 = "x#";
  

  t0120g.innerHTML = newnoteg + newinflectiontextg1;
  } 

  var newnotehposition = parseInt(letterrow.indexOf(noteh)) + parseInt(shiftnoteindex);
  
  var newinflectionhposition = parseInt(inflectionrow.indexOf(scalenoteinflectionh)) + parseInt(shiftinflectionindex); 
  
  var notehvalueindex = (newnotehposition * 2) - parseInt(newnotehposition / 3) +  parseInt(newnotehposition / 6) -  parseInt(newnotehposition / 7) +   parseInt(newnotehposition / 9) -  parseInt(newnotehposition / 10) + parseInt(newinflectionhposition);
  
  var newshiftscalenoteindexerrorha = parseInt(notehvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexha);  
  
  if( noteh == " " )
  {
  t0120h.innerHTML = " ";
  }
  else
  {
  
  var newnoteh = (letterrow).substring(newnotehposition,(newnotehposition + 1));
  
  var revisedinflectionhposition = parseInt(newinflectionhposition) - parseInt(newshiftscalenoteindexerrorha);
  
  var newinflectiontexth = (inflectionrow).substring(revisedinflectionhposition,(revisedinflectionhposition + 1));
  
  if( newinflectiontexth == " " )
  newinflectiontexth1 = " ";
    
  if( newinflectiontexth == "n" )
  newinflectiontexth1 = " ";
    
  if( newinflectiontexth == "s" )
  newinflectiontexth1 = "# ";
      
  if( newinflectiontexth == "b" )
  newinflectiontexth1 = "b ";
       
  if( newinflectiontexth == "f" )   
  newinflectiontexth1 = "bb ";
  
  if( newinflectiontexth == "g" )   
  newinflectiontexth1 = "bbb ";   
    
  if( newinflectiontexth == "x" )   
  newinflectiontexth1 = "x ";
    
  if( newinflectiontexth == "y" )   
  newinflectiontexth1 = "x#";
  

  t0120h.innerHTML = newnoteh + newinflectiontexth1;
  }
  
  var newnoteiposition = parseInt(letterrow.indexOf(notei)) + parseInt(shiftnoteindex);
  
  var newinflectioniposition = parseInt(inflectionrow.indexOf(scalenoteinflectioni)) + parseInt(shiftinflectionindex);
  
  var noteivalueindex = (newnoteiposition * 2) - parseInt(newnoteiposition / 3) +  parseInt(newnoteiposition / 6) -  parseInt(newnoteiposition / 7) +   parseInt(newnoteiposition / 9) -  parseInt(newnoteiposition / 10) + parseInt(newinflectioniposition);
  
  var newshiftscalenoteindexerroria = parseInt(noteivalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexia);
  
  if( notei == " " )
  {
  t0120i.innerHTML = " ";
  }
  else
  {
  
  var newnotei = (letterrow).substring(newnoteiposition,(newnoteiposition + 1));
  
  var revisedinflectioniposition = parseInt(newinflectioniposition) - parseInt(newshiftscalenoteindexerroria);
  
  var newinflectiontexti = (inflectionrow).substring(revisedinflectioniposition,(revisedinflectioniposition + 1));
  
  if( newinflectiontexti == " " )
  newinflectiontexti1 = " ";
    
  if( newinflectiontexti == "n" )
  newinflectiontexti1 = " ";
    
  if( newinflectiontexti == "s" )
  newinflectiontexti1 = "# ";
      
  if( newinflectiontexti == "b" )
  newinflectiontexti1 = "b ";
       
  if( newinflectiontexti == "f" )   
  newinflectiontexti1 = "bb ";
  
  if( newinflectiontexti == "g" )   
  newinflectiontexti1 = "bbb ";   
    
  if( newinflectiontexti == "x" )   
  newinflectiontexti1 = "x ";
    
  if( newinflectiontexti == "y" )   
  newinflectiontexti1 = "x#";
  

  t0120i.innerHTML = newnotei + newinflectiontexti1;
  }   
     
  var newnotejposition = parseInt(letterrow.indexOf(notej)) + parseInt(shiftnoteindex);
  
  var newinflectionjposition = parseInt(inflectionrow.indexOf(scalenoteinflectionj)) + parseInt(shiftinflectionindex);
  
  var notejvalueindex = (newnotejposition * 2) - parseInt(newnotejposition / 3) +  parseInt(newnotejposition / 6) -  parseInt(newnotejposition / 7) +   parseInt(newnotejposition / 9) -  parseInt(newnotejposition / 10) + parseInt(newinflectionjposition);
  
  var newshiftscalenoteindexerrorja = parseInt(notejvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexja); 
  
  if( notej == " " )
  {
  t0120j.innerHTML = " ";
  }
  else
  {
  
  var newnotej = (letterrow).substring(newnotejposition,(newnotejposition + 1));
  
  var revisedinflectionjposition = parseInt(newinflectionjposition) - parseInt(newshiftscalenoteindexerrorja);
  
  var newinflectiontextj = (inflectionrow).substring(revisedinflectionjposition,(revisedinflectionjposition + 1));
  
  if( newinflectiontextj == " " )
  newinflectiontextj1 = " ";
    
  if( newinflectiontextj == "n" )
  newinflectiontextj1 = " ";
    
  if( newinflectiontextj == "s" )
  newinflectiontextj1 = "# ";
      
  if( newinflectiontextj == "b" )
  newinflectiontextj1 = "b ";
       
  if( newinflectiontextj == "f" )   
  newinflectiontextj1 = "bb ";
  
  if( newinflectiontextj == "g" )   
  newinflectiontextj1 = "bbb ";  
    
  if( newinflectiontextj == "x" )   
  newinflectiontextj1 = "x ";
    
  if( newinflectiontextj == "y" )   
  newinflectiontextj1 = "x#";
  

  t0120j.innerHTML = newnotej + newinflectiontextj1;
  }
     
  var newnotekposition = parseInt(letterrow.indexOf(notek)) + parseInt(shiftnoteindex);
  
  var newinflectionkposition = parseInt(inflectionrow.indexOf(scalenoteinflectionk)) + parseInt(shiftinflectionindex);  
  
  var notekvalueindex = (newnotekposition * 2) - parseInt(newnotekposition / 3) +  parseInt(newnotekposition / 6) -  parseInt(newnotekposition / 7) +   parseInt(newnotekposition / 9) -  parseInt(newnotekposition / 10) + parseInt(newinflectionkposition);
  
  var newshiftscalenoteindexerrorka = parseInt(notekvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexka);
  
  if( notek == " " )
  {
  t0120k.innerHTML = " ";
  }
  else
  {
  
  var newnotek = (letterrow).substring(newnotekposition,(newnotekposition + 1));
  
  var revisedinflectionkposition = parseInt(newinflectionkposition) - parseInt(newshiftscalenoteindexerrorka);
  
  var newinflectiontextk = (inflectionrow).substring(revisedinflectionkposition,(revisedinflectionkposition + 1));
  
  if( newinflectiontextk == " " )
  newinflectiontextk1 = " ";
    
  if( newinflectiontextk == "n" )
  newinflectiontextk1 = " ";
    
  if( newinflectiontextk == "s" )
  newinflectiontextk1 = "# ";
      
  if( newinflectiontextk == "b" )
  newinflectiontextk1 = "b ";
       
  if( newinflectiontextk == "f" )   
  newinflectiontextk1 = "bb ";
  
  if( newinflectiontextk == "g" )   
  newinflectiontextk1 = "bbb ";   
    
  if( newinflectiontextk == "x" )   
  newinflectiontextk1 = "x ";
    
  if( newinflectiontextk == "y" )   
  newinflectiontextk1 = "x#";
  

  t0120k.innerHTML = newnotek + newinflectiontextk1;
  }
   
  var newnotelposition = parseInt(letterrow.indexOf(notel)) + parseInt(shiftnoteindex);
  
  var newinflectionlposition = parseInt(inflectionrow.indexOf(scalenoteinflectionl)) + parseInt(shiftinflectionindex);
  
  var notelvalueindex = (newnotelposition * 2) - parseInt(newnotelposition / 3) +  parseInt(newnotelposition / 6) -  parseInt(newnotelposition / 7) +   parseInt(newnotelposition / 9) -  parseInt(newnotelposition / 10) + parseInt(newinflectionlposition);
  
  var newshiftscalenoteindexerrorla = parseInt(notelvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexla);
  
  if( notel == " " )
  {
  t0120l.innerHTML = " ";
  }
  else
  {
  
  var newnotel = (letterrow).substring(newnotelposition,(newnotelposition + 1));
  
  var revisedinflectionlposition = parseInt(newinflectionlposition) - parseInt(newshiftscalenoteindexerrorla);
  
  var newinflectiontextl = (inflectionrow).substring(revisedinflectionlposition,(revisedinflectionlposition + 1));
  
  if( newinflectiontextl == " " )
  newinflectiontextl1 = " ";
    
  if( newinflectiontextl == "n" )
  newinflectiontextl1 = " ";
    
  if( newinflectiontextl == "s" )
  newinflectiontextl1 = "# ";
      
  if( newinflectiontextl == "b" )
  newinflectiontextl1 = "b ";
       
  if( newinflectiontextl == "f" )   
  newinflectiontextl1 = "bb ";
  
  if( newinflectiontextl == "g" )   
  newinflectiontextl1 = "bbb ";   
    
  if( newinflectiontextl == "x" )   
  newinflectiontextl1 = "x ";
    
  if( newinflectiontextl == "y" )   
  newinflectiontextl1 = "x#";
  

  t0120l.innerHTML = newnotel + newinflectiontextl1;
  } 
     
  var newnotemposition = parseInt(letterrow.indexOf(notem)) + parseInt(shiftnoteindex);
  
  var newinflectionmposition = parseInt(inflectionrow.indexOf(scalenoteinflectionm)) + parseInt(shiftinflectionindex);
  
  var notemvalueindex = (newnotemposition * 2) - parseInt(newnotemposition / 3) +  parseInt(newnotemposition / 6) -  parseInt(newnotemposition / 7) +   parseInt(newnotemposition / 9) -  parseInt(newnotemposition / 10) + parseInt(newinflectionmposition); 
   
  var newshiftscalenoteindexerrorma = parseInt(notemvalueindex) - parseInt(noteavalueindex) - parseInt(shiftscalenoteindexma); 
  
  if( notem == " " )
  {
  t0120m.innerHTML = " ";
  }
  else
  {
  
  var newnotem = (letterrow).substring(newnotemposition,(newnotemposition + 1));
  
  var revisedinflectionmposition = parseInt(newinflectionmposition) - parseInt(newshiftscalenoteindexerrorma);
  
  var newinflectiontextm = (inflectionrow).substring(revisedinflectionmposition,(revisedinflectionmposition + 1));
  
  if( newinflectiontextm == " " )
  newinflectiontextm1 = " ";
    
  if( newinflectiontextm == "n" )
  newinflectiontextm1 = " ";
    
  if( newinflectiontextm == "s" )
  newinflectiontextm1 = "# ";
      
  if( newinflectiontextm == "b" )
  newinflectiontextm1 = "b ";
       
  if( newinflectiontextm == "f" )   
  newinflectiontextm1 = "bb ";
  
  if( newinflectiontextm == "g" )   
  newinflectiontextm1 = "bbb ";  
    
  if( newinflectiontextm == "x" )   
  newinflectiontextm1 = "x ";
    
  if( newinflectiontextm == "y" )   
  newinflectiontextm1 = "x#";
  

  t0120m.innerHTML = newnotem + newinflectiontextm1;
  } 



  }
  

  
  }
  }
}

  
