
<!-- JEFF WOLSKI, NATIONAL INSTITUTES OF HEALTH -->
<!-- BETHESDA, MD. 20892:  WOLSKI@HELIX.NIH.GOV -->
<!-- COPYWRIGHT 6/2000                          -->
<!-- DO NOT EDIT OR REUSE THIS CODE WITHOUT     -->
<!-- WRITTEN PERMISSION FROM IT'S AUTHOR.       -->


var max_num_matches = 0; // THE MAXIMUM NUMBER OF MATCHES THAT WILL BE RETURNED
var matches = 0; // CONTAINS INDEXES OF PAGES THAT HAVE MATCHES IN LIST1
var matches_counter = 0;

  function search_database(search_string1,andor,search_string2)
	{ // RECORDS MATCHES IN THE MATCHES ARRAY

	// IF ONE OF THE KEWORDS IS BLANK, THEN FILL IT WITH THE OTHER VALUE
	if ( (search_string1 == '') && (search_string2 !='') ){search_string1 = search_string2;}
	if ( (search_string2 == '') && (search_string1 !='') ){search_string2 = search_string1;}

	max_num_matches = (document.form1.matches_box.selectedIndex + 1)*10; // THE MAXIMUM NUMBER OF MATCHES THAT WILL BE RETURNED
 	matches = new Array(max_num_matches); // CONTAINS INDEXES OF PAGES THAT HAVE MATCHES IN LIST1
 	matches_counter = 0;	


	if (andor==0){andor = 'or';}
	if (andor==1){andor = 'and';}

	for(var list_row=0; ( (list_row<totalPages) && (matches_counter<max_num_matches) ); list_row++)
	 { // SEARCH THROUGH ALL ROWS IN THE ARRAY
	
	 var found1 = 0; var found2 = 0; // FOUND THE KEYWORDS FOR AND

	 for(var list_col=3; list_col<(3 + list1[list_row][2]); list_col++)
	  { // SKIP OVER FIRST 3 COLUMNS AND SEARCH KEYWORDS (STARTS WITH 0)
	  

	   if (andor == "and")
	  	{
	   	if (list1[list_row][list_col].toLowerCase() == search_string1.toLowerCase())
			{found1 = 1;} // Hi Mom! 
	        if (list1[list_row][list_col].toLowerCase() == search_string2.toLowerCase()) 
			{found2 = 1;}
	  	} 


	   if (andor == "or")
	  	{
	   	if ( (list1[list_row][list_col].toLowerCase() == search_string1.toLowerCase()) || 
	        (list1[list_row][list_col].toLowerCase() == search_string2.toLowerCase()) )
			{add_row_to_matches(list_row);} // RECORD THE RECORD NUMBER OF THE MATCHING INDEX
	  	}


	  } // END RUN COLUMNS


	 if ( (andor =="and") && (found1==1) && (found2==1) ) {add_row_to_matches(list_row);}

	 } // END RUN ROWS

	write_results();

	} // END FUNCTION
	


  function write_results()
	{ // WRITES THE RESULTS FROM THE MATCHES ARRAY
	var mymatch=0;	
	var header_to_write = '<HTML><HEAD> <TITLE>Search</TITLE><LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"cancercd.css\"> <SCRIPT LANGUAGE=\"JavaScript\" SRC=\"search_data.js\"></SCRIPT> <SCRIPT LANGUAGE=\"JavaScript\" SRC=\"search_code.js\"></SCRIPT> <NOSCRIPT>	<font color=\"red\"><b>	JavaScript must be enabled in order to use this search engine. Click	<a href=\"./help/help_sysreq.html\">here</a> for help.	</b></font> </NOSCRIPT></HEAD><BODY ALINK=\"fuchsia\" LINK=\"black\" VLINK=\"black\"><TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" ALIGN=\"center\">	<TR>		<TD HEIGHT=\"28\"><IMG src=\"images/lcap.gif\" width=\"32\" border=\"0\" alt=\"\" height=\"28\"></TD>		<TD HEIGHT=\"28\"><A HREF=\"contents.html\"><IMG SRC=\"images/toc.gif\" WIDTH=\"200\" BORDER=\"0\" ALT=\"\" HEIGTH=\"28\"></A></TD>		<TD HEIGHT=\"28\"><A HREF=\"contents.html\"><IMG SRC=\"images/subdir_new.gif\" WIDTH=\"180\" HEIGTH=\"28\" BORDER=\"0\" ALT=\"\"></A></TD>		<TD HEIGHT=\"28\"><A HREF=\"search.html\"><IMG SRC=\"images/search.gif\" WIDTH=\"120\" BORDER=\"0\" ALT=\"\" HEIGTH=\"28\"></A></TD>		<TD HEIGHT=\"28\"><a href=\"help/index.html\"><IMG SRC=\"images/help.gif\" WIDTH=\"100\" HEIGHT=\"28\" BORDER=\"0\" ALT=\"\"></A></TD>		<TD HEIGHT=\"28\"><IMG SRC=\"images/rcap.gif\" WIDTH=\"32\" HEIGTH=\"28\" BORDER=\"0\" ALT=\"\"></TD>	</TR></TABLE><br><br><br>';
	var data_to_write = '';
	var footer_to_write = '</BODY>\n</HTML>';
	
	if (matches_counter > 0)
	 {

	 data_to_write += "<h2>Matches: " + matches_counter + "</h2><hr><p>";   
	 data_to_write += "<table>\n<tr><td width=300><b>Title</b></td><td><b>Link</b></td></tr>\n";

	 for (var i=0;i<matches_counter;i++)
		{
		mymatch = matches[i];
		data_to_write += "<tr><td>";
		data_to_write += list1[mymatch][1] + '</td><td>';
		data_to_write += '<a href="' + list1[mymatch][0]+ '" target="results_window">';
		data_to_write += list1[mymatch][0]+ '</a>';
		data_to_write += "</td></tr>\n";
		}

	 data_to_write += "</table>";
	
	 }
	
	if (matches_counter==0)
		{ 
		alert ("NO RESULTS WERE FOUND"); 
		matches_counter = 0;
		}
		else{
			

			document.write(header_to_write + data_to_write + footer_to_write);}
	

	}



  function add_row_to_matches(new_row)
	{ // IF AN INDEX !ALREADY IN MATCHES, ADD TO MATCHES
	
	var add_status = 1; // IF ITS CLEAR TO ADD NEW ROW
	
	if ( (matches_counter > 0) && (matches_counter < max_num_matches) )
	 {
	 for (var zz=0;zz<matches_counter;zz++)
		{ // IF THE ROW IS ALREADY IN THE LIST
		if (matches[zz] == new_row){add_status = 0;}
		}
	 } 


	if (add_status == 1)
		{
		matches[matches_counter] = new_row;
		matches_counter++;
		}
		

	}
