/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Ilanio | http://www.webdeveloper.com/forum/showthread.php?t=119753 */
var aMail6 = new Array("", "Aldrich,T.H.", "Baldwin, E.M.", "Berry, S.S.", "Caster, K.E.", "Cleland, H.F.", "Cole, W.S.", "Dusenbury In Sutton", "Flower And Caster", "Harper & Shaak", "Harris", "Harris And Palmer", "Harris,G.D.", "Hodson, F.", "Hodson, F. & G.D. Harris", "Hodson, F. & H.K.", "Hodson, F.&H.K., & Harris", "Hodson, H.K.", "Hollister", "Jung, Peter", "Kindle, E.M.", "Liddle & Palmer", "Liddle, Harris & Wells", "Maury", "Maury,C.", "Maury,C.J.", "Mcnair, A.H.", "Nicol", "Olsson,A.A.", "Palmer", "Palmer, K.V.W.", "Perry And Schwengel", "Raymond, P.E.", "Schoonover, L.M.", "Tucker & Wilson", "Van Winkle & Harris", "Van Winkle, K.", "Weisbord, N.E.", "Wells, J.W.", "Woodring, W.P.");
aMail6.sort();

function CompleteAuthors(obj, evt) {
	 if ((!obj) || (!evt) || (aMail6.length == 0)) {
 	 	return;
  }

  if (obj.value.length == 0) {
  		return;
  }

  var elm = (obj.setSelectionRange) ? evt.which : evt.keyCode;

  if ((elm < 32) || (elm >= 33 && elm <= 46) || (elm >= 112 && elm <= 123)) {
  		return;
  }

  var txt = obj.value.replace(/;/gi, ",");
  elm = txt.split(",");
  txt = elm.pop();
  txt = txt.replace(/^\s*/, "");

  if (txt.length == 0) {
  		return;
  }

  if (obj.createTextRange) {
   	var rng = document.selection.createRange();
  		if (rng.parentElement() == obj) {
   			elm = rng.text;
  	 		var ini = obj.value.lastIndexOf(elm);
  		}
  } else if (obj.setSelectionRange) {
  		var ini = obj.selectionStart;
  }

  for (var i = 0; i < aMail6.length; i++) {
   	elm = aMail6[i].toString();
  		if (elm.toLowerCase().indexOf(txt.toLowerCase()) == 0) {
   			obj.value += elm.substring(txt.length, elm.length);
  	 		break;
  		}
  }

  if (obj.createTextRange) {
  		rng = obj.createTextRange();
  		rng.moveStart("character", ini);
  		rng.moveEnd("character", obj.value.length);
  		rng.select();
  } else if (obj.setSelectionRange) {
  		obj.setSelectionRange(ini, obj.value.length);
  }
}
