/*
  columnizer.js Copyright 2008 David Gauer
*/

function columnize(){
  var orig    = get("orig").value;
  var char    = get("char").value;
  var origStr = new String(orig);
  var lines   = origStr.split("\n");
  var colpos  = furthestColumn(lines, char);
  
  // if exists, split on char, increase, combine
  for(var i=0; i<lines.length; i++){
    var p = lines[i].indexOf(char);
    if(p != -1){
      lines[i] = lines[i].slice(0,p) +spaces(colpos-p)+ lines[i].slice(p);
    }
  }

  writeLines(lines);
}

function spaces(n){
  var s = "";
  for(var i=0; i<n; i++){ s += " "; }
  return s;
}

function furthestColumn(lines, char){
  var furthest = 0;
  for(var i=0; i<lines.length; i++){
    var thisdist = lines[i].indexOf(char);
    if(thisdist > furthest){
      furthest = thisdist;
    }
  }
  return furthest;
}

function writeLines(lines){
  var output = "";
  for(var i=0; i<lines.length; i++){
    output += lines[i] + "\n";
  }
  get("orig").value = output;  
}  