/* 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 aMail7 = new Array("", "(Uncertain)", "Acarina", "Acrotretida", "Actinocerida", "Aglaspida", "Agnostida", "Ajacicyathida", "Alcyonacea", "Ammonoidea", "Anarcestida", "Anaspidea", "Arbacioida", "Archaeogastropoda", "Archaeopulmonata", "Archaeostraca", "Archeogastropoda", "Arcoida", "Asaphida", "Aspidochirotida", "Atrypida", "Bactritida", "Barrandeocerida", "Bassommatophora", "Belemnoidea", "Bourgueticrinida", "Caenogastropoda", "Cassiduloida", "Cephalaspida", "Cephalaspidea", "Cephaloxeniformes", "Cheilostomata", "Cheilostomatida", "Choristida", "Cidaroida", "Cladida", "Clypeasteroida", "Coleoptera", "Comatulida", "Conchostraca", "Conocardioida", "Conodontophorida", "Conulariida", "Coronata", "Corynexochida", "Cryptostomata", "Cryptostomatida", "Ctenacanthida", "Ctenostomatida", "Cyclostomatida", "Cystiphyllida", "Cystoporata", "Dacryoconarida", "Decapoa", "Decapoda", "Dentalida", "Dentaliida", "Diadematoida", "Dibranchiata", "Diplobathra", "Diplobathrida", "Diploporita", "Diptera", "Discinocarina", "Discosorida", "Disparida", "Echinoida", "Ellesmerocerida", "Ellesmerocerida (?)", "Endocerida", "Euomphalina", "Fenestrata", "Fissiculata", "Foraminferida", "Foraminifera", "Foraminiferida", "Forcipulatida", "Gadilida", "Goniatitida", "Graptoloidea", "Hadromerida", "Helioporacea", "Hemicidaroida", "Heteractinida", "Heterocorallia", "Heterostropha", "Hippuritoida", "Holasteroida", "Holectypoida", "Hydroida", "Hymenoptera", "Hymenostraea", "Isocrinida", "Isocrinoidea", "Isopoda", "Leperditicopida", "Lepidoptera", "Limoida", "Lingulida", "Lithistida", "Lyssakida", "Madreporaria", "Marrellida", "Mesogastropoda", "Metacyathida", "Milleporina", "Millericrinida", "Modiomorphoida", "Monobathrida", "Monoplacophora", "Myoida", "Mytiloida", "Nautilida", "Nautiloidea", "Neogastopoda", "Neogastropoda", "Neogastrpoda", "Neoloricata", "Neotaenioglossa", "Neritopsina", "Notospidea", "Nuculoida", "Obolellida", "Odonata", "Oegophiurida", "Oncocerida", "Ophiurida", "Orthida", "Orthocerida", "Orthopsida", "Orthoptera", "Ostreoida", "Palaeocopida", "Patellogastropoda", "Paterinida", "Paxillosida", "Pedinoida", "Pentamerida", "Phacopida", "Pharetronida", "Phasmida", "Pholadomyoida", "Phymosomatoida", "Platyasterida", "Podocopida", "Porulosida", "Proetida", "Pterioida", "Pterygota", "Ptychopariida", "Pygasteroida", "Radiolaria", "Redlichiida", "Rhombifera", "Rhynchonellida", "Ribeirioida", "Rugosa", "Sabellida", "Sacoglossa", "Sagenocrinida", "Salenioida", "Salenoida", "Scleractinia", "Scorpionida", "Sessilia", "Silicoflagellata", "Solemyoida", "Spatangoida", "Spinulosida", "Spiraculata", "Spiriferida", "Stauriida", "Stomatopoda", "Stromatoporoidea", "Strophomenida", "Stylommaophora", "Stylommatophora", "Styommatophora", "Tabulata", "Tarphycerida", "Taxocrinida", "Temnopleuroida", "Tentaculitida", "Terebratulida", "Thalamida", "Thecoidea", "Thecosomata", "Thoracica", "Thoricica", "Trachypsammiacea", "Trepostomatida", "Trigoinoida", "Trigonioida", "Uncertain", "Unionoida", "Valvatida", "Veneroida", "Xiphosurida");
aMail7.sort();

function CompleteOrder(obj, evt) {
	 if ((!obj) || (!evt) || (aMail7.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 < aMail7.length; i++) {
   	elm = aMail7[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);
  }
}
