jsMath.Parser.prototype.environments['steps'] = ['Array',null,null,'lrcll',[1/3,1/3,1/3,4]];
jsMath.Macro('=','=\\rule 0pt 2em 0pt');
var theSteps="";
var TeX="";
var TeXq="";
var HTML="";
var curStep = 0;
var myscale=1.2;
var mycolor="ff0066";
var mycolor2="000000";

function writeNewEqn(){
randomiser(level); 
  HTML = '<SPAN CLASS="math">'+jsMath.TextMode('\\displaystyle{'+TeXq+'}')+'</SPAN>';
  question.innerHTML = HTML;
  steps.innerHTML = "";curStep = 0;
  next.value = 'Steps';next2.value = 'Steps' 
}
function NextStep() {
  if (++curStep > theSteps.length) {
    curStep = 0;
    next.value = 'Steps';next2.value = 'Steps';
  } else if (curStep == theSteps.length) {
    next.value = 'Restart';next2.value='Restart';
  } else {
    next.value = 'Steps';next2.value = 'Steps';
  }
  TeX = '\\begin{steps}\n' +
               theSteps.slice(0,curStep).join('') +
            '\\end{steps}';
  HTML = '<SPAN CLASS="math">' + 
               jsMath.TextMode('\\displaystyle{'+TeX+'}') +
             '</SPAN>';
  steps.innerHTML = HTML;
}
function ScaleFont(scale) {
  if (!sizes) {
     alert("Can't change sizes in this browser");
  } else {
    var size;
    for (i = 0; i < sizes.length; i++) {
      size = sizes[i].style.fontSize;
      if (size != "") {
        size = Math.floor(size.replace('%','')*scale) + "%";
        sizes[i].style.fontSize = size;
      }
    }
    jsMath.Init(); // reinitialize jsMath with the new sizes
  }
}
function ColorFont(mycol) {
  if (!sizes) {
     alert("Can't change sizes in this browser");
  } else {
    var coll;
    for (i = 0; i < sizes.length; i++) {
      coll = sizes[i].style.color;
      if (coll != "") {
        coll = mycol;
        sizes[i].style.color = coll;
      }
    }
    jsMath.Init(); // reinitialize jsMath with the new color
  }
}