 
function doFlip() {
  document.getElementById("target").value = 
    flip(document.getElementById("msg").value);
}

function flip(msg) {
  //
  // Remove all leading >'s
  //
  if (!msg) return msg;
  var lines = msg.split(/\n/);
  var lastNumGts = 0;
  var msgs = new Array();
  for (var i=0; i<lines.length; i++) {
    var line = lines[i];
    line = line.replace(/^\s+/,"");
    line = line.replace(/\s+$/,"");
    var start = 0;
    while (start < line.length) {
      if (line[start] == ">") {
        start++;
      } else {
        break;
      }
    }
    var numGTs = start;
    if (numGTs < lastNumGts) break;
    lastNumGts = numGTs;
    if (!msgs[numGTs]) msgs[numGTs] = "";
    msgs[numGTs] += line.substr(numGTs == 0 ? 0 : numGTs+1) + "\n";
  }
  //
  // Reconstruct the message backwards
  //
  var res = "";
  for (var i=msgs.length-1; i>=0; i--) {
    res += msgs[i];
    res += "==================================================\n\n";
  }
  return res;
}

function example() {
  var msg = "";
  msg += "ok that sounds good\n";
  msg += "\n";
  msg += "> do you want to go to the park?\n";
  msg += "> \n";
  msg += ">> I was thinking friday? ? ? \n";
  msg += ">>\n";
  msg += ">>> would you like to do something this week\n";
  msg += ">>>\n";
  msg += ">>>> you're stupid, I hate you\n";
  msg += ">>>>\n";
  document.getElementById("msg").value = msg;
  doFlip();
}

