function draftcap() {
  
  var input_line = document.getElementById("draft_out").value;
  input_line = trim_whitespace(input_line);
  
  var input_array = input_line.split("\n");

  var output = "";
  
  while (input_array.length > 0) {
    // handle pack
    var pack_line = input_array.shift();
    var pack_array = pack_line.split("%");
    
    while (pack_array.length > 0) {
      var card = pack_array.shift();
      if (card == "") { continue; }
      
      var set = pack_array.shift();
      
      output += "<img src='" + get_image(card, set) + "' style='height:143px; width:100px; margin:5px; border:4px solid black;'>";
    }
    
    output += "<br/>";
    
    // handle pick
    var pick = input_array.shift();
    var set = input_array.shift();
    output += "<img src='" + get_image(pick, set) + "' style='height:143px; width:100px; margin:5px; border:4px solid gold;'>";
    output += "<br/><br/>";
  }
  
  output += "This draft converter created by <a href='mailto:ben@mundy.net'>Benjamin Peebles-Mundy</a>.<br/>\n";
  output += "Visit the <a href='http://www.zizibaloob.com/'>draft converter</a> today!";
  
  document.getElementById("preview").innerHTML = output;
}

function get_image(cardname, set) {
  cardname = cardname.toLowerCase();

  // ignore foils
  cardname = cardname.replace(/ \(foil\)/g, "");
  cardname = cardname.replace(/ \(FOIL\)/g, "");

  // handle special characters
  cardname = cardname.replace(/ /g, "_");
  cardname = cardname.replace(/:/g, "");
  cardname = cardname.replace(/'/g, "");
  cardname = cardname.replace(/,/g, "");
  cardname = cardname.replace(/-/g, "_");
  cardname = cardname.replace(/\/\//g, "_");
  cardname = cardname.replace(new RegExp(String.fromCharCode(230), "g"), "ae");

  if (set == "CON" || set == "ME3") {
    set = "general";
  }

  return "http://www.wizards.com/global/images/magic/" + set + "/" + cardname + ".jpg";
}

function trim_whitespace(s) {
  while (s.charAt(0).match(/\s/)) {
    s = s.substring(1, s.length);
  }

  while (s.charAt(s.length - 1).match(/\s/)) {
    s = s.substring(0, s.length - 1);
  }

  return s;
}
