Searchable XML?

[FONT=Arial][SIZE=2][FONT=Arial]I completed a similar xml searchable database based on this tutorial:[/FONT][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=#800080]http://www.kirupa.com/web/xml/examples/searchbestof.htm[/COLOR][/SIZE][/FONT]

[FONT=Arial][SIZE=2][FONT=Arial]I have a rather large xml that when you do a search flash times out and the user gets a scrip error,[/FONT][/SIZE][/FONT]
[FONT=Arial][SIZE=2][FONT=Arial]What I want to know is how would you go about only displaying/returning only 10 records at a time?[/FONT][/SIZE][/FONT]


 
//Arrays
String.prototype.contains = function(searchString){
return (this.toLowerCase().indexOf(searchString.toLowerCase()) != -1);
}
Array.prototype.contains = function(searchValue){
var i = this.length;
while(i--) if (this*.toLowerCase() == searchValue.toLowerCase()) return true;
return false;
}
my_str = "This Is my String";
trace(my_str.contains("this"));
trace(my_str.contains("tHIs"));
trace(my_str.contains("thiS"));
trace(my_str.contains("THIS"));
// XML Search function
SearchXML = function(nodes, query, useChildElements){
 trace("where am I");
 var results = [];
 for (var i=0; i<nodes.length; i++){
  for (var j=0; j<nodes*.childNodes.length; j++){
   currNode = nodes*.childNodes[j];
   if (useChildElements.contains(currNode.nodeName)){
    if (currNode.firstChild.nodeValue.contains(query)){
    // if (currNode.firstChild.nodeValue.toUpperCase().contains(query.toUpperCase())){ //sets the Case sentive 
     results.push(nodes*);
     break;
    }
   }
  }
 }
 return results;
}
// Elements to search
ElementsToSearch = function(){
 var childElementsToSearch = [];
 trace("Searching ENG");
 //if (search_fields2.eng_check.checked){
  childElementsToSearch.push("eng");
  //}
 return childElementsToSearch;
}
// Display function
DisplayNodes = function(nodes, field_txt){
 field_txt.htmlText = "";
 var entry;
 var separator = "<br>______________________________________________________________<br><br>";
 for (var i=0; i<nodes.length; i++){
  entry = "";
  entry += "<b>"+ "ENG:   "+ "</b>" + nodes*.childNodes[0].firstChild.nodeValue;
  entry += "<br>"+ "<b>"+ "FRA:   "+ "</b>" + nodes*.childNodes[1].firstChild.nodeValue;
  entry += "<br>"+ "<b>"+ "ESP:   "+ "</b>" + nodes*.childNodes[2].firstChild.nodeValue;
  entry += "<br>"+ "<b>"+ "DON:   "+ "</b>" + nodes*.childNodes[3].firstChild.nodeValue;
  entry += "<br>"+ "<b>"+ "SOU:   "+ "</b>" + nodes*.childNodes[4].firstChild.nodeValue;
  entry += "<br>"+ "<b>"+ "REM:   "+ "</b>" + nodes*.childNodes[5].firstChild.nodeValue;
  entry += "<br>"+ "<b>"+ "HIS:   "+ "</b>" + nodes*.childNodes[6].firstChild.nodeValue;
  entry += "<br>"+ "<b>"+ "REC:   "+ "</b>" + nodes*.childNodes[7].firstChild.nodeValue;
  field_txt.htmlText += entry + separator;
  trace("Display results");
 }
}
// search button
search_fields2.search_btn.onRelease = function(){
 if (search_fields2.query_txt.text.length < 3){
  results_txt.text = "Please use a search term with 3 or more characters.";
  return (0);
 }
 trace("Start reading xml");
 var searchElements = ElementsToSearch();
 var nodesWithQuery = SearchXML(
           posts_xml.firstChild.childNodes,
        search_fields2.query_txt.text,
        searchElements
       );
 
 if (nodesWithQuery.length){
  DisplayNodes(
   nodesWithQuery,
   results_txt
  );
 }else{
  results_txt.text = "No results for "+search_fields2.query_txt.text+".";
  return (0);
 }
 //sets the highlight
 HighlightOccurences(
  search_fields2.query_txt.text,
  results_txt,
  search_highlight
 );
 scrollbar.setScroll(0);
 
}
//loads xml
var posts_xml = new XML();
posts_xml.ignoreWhite = true;
posts_xml.onLoad = function(success){
 if (success){
  search_fields2._visible = true;
  trace("XML Loaded");
 }else results_txt.text = "Error loading XML";
}
search_fields2._visible = false;
posts_xml.load("data/UI_TME.xml");
 
//highlight properties
search_highlight = new TextFormat();
search_highlight.color = 0xFF0000;
//search_highlight.color = 0x000000; //Black//
search_highlight.italic = false;
//highlight fubction
HighlightOccurences = function(str, field_txt, format){
 if (!str.length) return (0);
 var start = field_txt.text.indexOf(str);
 var end = start + str.length;
 while (start != -1){
  field_txt.setTextFormat(start, end, search_highlight);
  start = field_txt.text.indexOf(str, end);
  end = start + str.length;
 }
}
//sets the check box
search_fields2.eng_check.title_txt.text = "English";
//sets scroll bar
scrollbar.setTarget(results_txt);
//sets results box to 0
results_txt.text = "";