function compare_two_texts($good, $user) {
  
  // remove newlines
  $good = $good.replace(/\n/g, "");
  $user = $user.replace(/\n/g, "");

  $good = $good.replace(/\r/g, ""); // IE & Mac
  $user = $user.replace(/\r/g, ""); // IE & Mac

  // remove triple spaces
  $good = $good.replace(/\s\s\s/g, " ");
  $user = $user.replace(/\s\s\s/g, " ");

  // remove double spaces
  $good = $good.replace(/\s\s/g, " ");
  $user = $user.replace(/\s\s/g, " ");

  // split words into arrays
  $g = $good.split(" ");
  $u = $user.split(" ");

  $g_len = $g.length;
  $u_len = $u.length;

  $len = 0;

  if ($g_len > $u_len) {
    $len = $g_len;
  }
  else if ($u_len > $g_len) {
    $len = $u_len;
  }
  else {
    $len = $g_len;
  }

  $ret_val = "";

  for ($i=0; $i<$len; $i++) {

    if ($g[$i] == $u[$i]) {
      $ret_val = $ret_val + " " + $g[$i];
    }
    else { 
      $ret_val = $ret_val; // + $u[$i];
      $i = $len + 1;
    }
  }

  // remove leading space character
  //if ($ret_val.substr(0,1) == " ") {
    $ret_len = $ret_val.length;
    $ret_val = $ret_val.substr(1, $ret_len);
  //}

  return $ret_val;
}

function check_answer($source_val,$user_val) {

  // check for \r\n for IE or \n default for Firefox
  if ($user_val.indexOf("\r") > -1) {

    if ($user_val.indexOf("\n") > -1) { //IE
      $separator = "\r\n- Correct until here -\r\n";
      $good_job = "\r\n- Perfect -";
    }
    else { // Mac
      $separator = "\r- Correct until here -\r";
      $good_job = "\r- Perfect -";
    }

  }
  else { // Firefox
    $separator = "\n- Correct until here -\n";
    $good_job = "\n- Perfect -";
  }

  // remove separator
  $sep_pos = $user_val.indexOf($separator);
  
  if ($sep_pos != -1) {
    $sep_len = $separator.length;

    if ($sep_pos > 0) {
      $front_val = $user_val.substr(0, $sep_pos);
      $mid_pos = $sep_pos + $sep_len;
      $end_val = $user_val.substr($mid_pos, $user_val.length);
      $user_val = $front_val + " " + $end_val;
    }
    else {
      $user_val = $user_val.substr($sep_len, $user_val.length);
    }

    //alert("/" + $user_val + "/" + $sep_pos);
  }

  // remove $good_job
  $sep_pos = $user_val.indexOf($good_job);

  if ($sep_pos > -1) {
    $user_val = $user_val.replace(/- Perfect -/g, "");
  }

  $right_val = compare_two_texts($source_val, $user_val);

  if ($right_val == $source_val) {
    document.getElementById("user_text").value = $source_val + $good_job;
  }
  else {
    $right_len = $right_val.length;
    $user_len = $user_val.length;

    $wrong_val = $user_val.substr($right_len, $user_len);

    // remove leading space character
    if ($wrong_val.substr(0,1) == " ") {
      $wrong_len = $wrong_val.length;
      $wrong_val = $wrong_val.substr(1, $wrong_len);
    }

    $new_text = $right_val + $separator + $wrong_val;

    document.getElementById("user_text").value = $new_text;
  }
}

function get_current_answer() {
          // check Bible version	  
	  if (document.getElementById("NASB").checked) {
	    verse_text_nbr = 3;	    
	  } 
	  else if (document.getElementById("ESV").checked) {
	    verse_text_nbr = 4;	    
	  }
	  else if (document.getElementById("NIV").checked) {
	    verse_text_nbr = 5;	    
	  }
	  else if (document.getElementById("NLT").checked) {
	    verse_text_nbr = 6;	    
	  }

          // update verse text index to reflect chosen Bible version
          nbr1 = text_list[card_cursor];
          str1 = nbr1.toString();
          len1 = str1.length;
          str1 = str1.substring(0,len1 - 1) + verse_text_nbr;
          text_list[card_cursor] = str1;
	  
	  return verses[text_list[card_cursor]];
}
