var row_selected = false,d,row_id,previous_row_id,last_row_id,temp_row_id;
//
function autocomplete_update_field(field_id,output_id,row_id,hide_output)
{
	output_row = document.getElementById("autocomplete_row_"+row_id);
	field = document.getElementById(field_id);
	output = document.getElementById(output_id);
	//
	field.value = output_row.title;
	
	
	if( hide_output == true )
	{
		output.innerHTML = "";
		output.style.display = "none";
	}
}
function autocomplete_update_output_row(field_id,output_id,row_id)
{
	output_row = document.getElementById("autocomplete_row_"+row_id);
	output_row.className = autocomplete_output_row_class_mouseover;
	//
	temp_row_id = row_id;
	//
	row_selected = true;
	autocomplete_update_field(field_id,output_id,row_id,false);
	//
	if( previous_row_id != 0 && row_id != previous_row_id )
	{
		output_row = document.getElementById("autocomplete_row_"+previous_row_id);
		output_row.className = autocomplete_output_row_class;
	}
	previous_row_id = row_id;
}
//
function autocomplete2(field_id,output_id,autocomplete_array,e)
{
	var output_srt;
	var field = document.getElementById(field_id);
	var output = document.getElementById(output_id);
	//
	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	//
	if( ( keynum != 13 ) && ( keynum != 37 ) && ( keynum != 39 ) )
	{
		if( ( keynum == 38 ) || ( keynum == 40 ) )
		{
			if( previous_row_id == 0 )
			previous_row_id = last_row_id;
			else
			previous_row_id = temp_row_id;
			//
			if(  keynum == 1  )
			{
				output = document.getElementById(output_id);
				output.innerHTML = "";
				output.style.display = "none";
			}

			if(  keynum == 38  )
			{
				temp_row_id --;
			}
			else if( keynum == 40  )
			{
				temp_row_id ++;
			}
			//
			if( temp_row_id > last_row_id )
			{
				previous_row_id = last_row_id;
				temp_row_id  = 1;
			}
			//
			if( temp_row_id  <= 0 )
			{
				previous_row_id = 1;
				temp_row_id = last_row_id;
			}
			//
			output_row = document.getElementById("autocomplete_row_"+temp_row_id);
			output_row.className = autocomplete_output_row_class_mouseover;
			//
			if( last_row_id != 1 )
			{
				output_row2 = document.getElementById("autocomplete_row_"+previous_row_id);
				output_row2.className = autocomplete_output_row_class;
			}
			row_selected = true;
			autocomplete_update_field(field_id,output_id,temp_row_id,false);
		}
		else
		{
			if( field.value.length != 0 )
			{
				row_id = 0;
				last_row_id = 0;
				previous_row_id = 0;
				temp_row_id = 0;
				output_srt = "";
				for( i=0; i < autocomplete_array.length; i++ )
				{
					if( autocomplete_array[i].search(new RegExp(field.value.replace(/\\/g,"\\\\"), 'i')) != -1 )
					{
						row_id++;
						new_value = autocomplete_array[i].replace(new RegExp(field.value.replace(/\\/g,"\\\\"), 'gi'), '<b>'+field.value+'</b>');
						output_srt += '<tr><td><div id="autocomplete_row_'+row_id+'" onmouseover="autocomplete_update_output_row(\''+field_id+'\',\''+output_id+'\','+row_id+')" onclick="autocomplete_update_field(\''+field_id+'\',\''+output_id+'\','+row_id+',true)" class="'+autocomplete_output_row_class+'" title="'+autocomplete_array[i].replace(/"/g,"&quot;")+'">'+new_value+'</div></td></tr>';
		
	
					}
				}
				last_row_id = row_id;
				if( output_srt != "")
				{
					output.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" border="0">'+output_srt+'</table>';
					output.style.display = "";
				}
				else
				{
					output.innerHTML ="";
					output.style.display = "none";
				}
			}
			else
			{
				output.style.display = "none";
			}
		}
	}
	if( ( keynum == 13 ) && row_selected )
	{
		row_selected = false;
		autocomplete_update_field(field_id,output_id,temp_row_id,true);
	}
}
