function autoComplete (field, select, property, forcematch) 
{
	var found = false;
	for (var i = 0; i < select.options.length; i++) 
        {
	    if (select.options[i][property].toUpperCase().indexOf(field.value.toUpperCase()) == 0) 
            {
	       found=true; break;
	    }
	}

	if (found) 
        {  
           select.selectedIndex = i; 
        }
	else 
        { 
           select.selectedIndex = -1; 
        }
	if (field.createTextRange) 
        {
	   if (forcematch && !found) 
           {
	      field.value=field.value.substring(0,field.value.length-1); 
	      return;
	   }
	   var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;";
	   if (cursorKeys.indexOf(event.keyCode+";") == -1) 
           {
	      var r1 = field.createTextRange();
	      var oldValue = r1.text;
	      var newValue = found ? select.options[i][property] : oldValue;
	      if (newValue != field.value) 
              {
				field.value = newValue;
				var rNew = field.createTextRange();
				rNew.moveStart('character', oldValue.length) ;
				rNew.select();
	      }
	   }
	}
}
