
my_pick = "";
pick_prefix = "";
pick_suffix = "";
pack_prefix = "";
pack_suffix = "";

function convert(tags) {
  pick_prefix = tags ? "[censor]" : "";
  pick_suffix = tags ? "[/censor]" : "";
  pack_prefix = tags ? "[card]" : "";
  pack_suffix = tags ? "[/card]" : "";

  var input_field = document.getElementById('draft_in');
  var output_field = document.getElementById('draft_out');

  var output_string = "";

  if (input_field.value == "" || input_field.value === undefined) {
    output_field.value = "No input.";
    return;
  }

  var user_input = trimLines(input_field.value) + "\n";
  var input_array = user_input.split("\n");

  if (input_array[12].substr(0,4) != "----") {
	  output_field.value = "Please paste the entire file, and nothing but the file.";
	  return;
  }

  for (i = 13; i < input_array.length; i++) {
    var line = input_array[i];

    if (is_heading(line)) {
		output_string = output_string.substr(0, output_string.length - 2);
		output_string += handle_heading(line);
	}

	if (is_card(line)) {
		output_string += handle_card(line);
    }

    if (is_pick(line)) {
		handle_pick(line);
	}
  }

  // the last pick
  if (my_pick != "") {
	output_string = output_string.substr(0, output_string.length - 2);
    output_string += "\n\nMy pick:\n";
    output_string += my_pick;
    output_string += "\n\n";
    my_pick = "";
  }

  output_field.value = trimLines(output_string);
}

function is_heading(line) {
    if (line.substr(0,4) == "Pack") {
		return true;
	}

	return false;
}

function handle_heading(line) {
	var s = "";

	if (my_pick != "") {
		s += "\n\nMy pick:\n";
		s += pick_prefix + my_pick + pick_suffix;
		s += "\n\n";
		my_pick = "";
	}

	s += line;
	s += "\n";

	return s;
}

function is_card(line) {
    if (line.substr(0,4) == "    ") {
		return true;
	}

    if (line.substr(0,4) == "--> ") {
		return true;
	}

	return false;
}

function handle_card(line) {
	line = line.replace("    ", "");
	line = line.replace("--> ", "");
	line = line.replace("\r", "");

	var s = pack_prefix + line + pack_suffix + ", ";

	return s;
}

function is_pick(line) {
    if (line.substr(0,4) == "--> ") {
		return true;
	}

	return false;
}

function handle_pick(line) {
	my_pick = line.replace("--> ", "").replace("\r", "");
}

function trimLines(line) {
  while (line[0] == "\n") {
    line = line.substr(1, line.length - 1);
  }

  while (line[line.length - 1] == "\n") {
    line = line.substr(0, line.length - 1);
  }

  return line;
}

