/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * Jean-Francois Ducarroz * Seth Spitzer * Alec Flett */ // get the current identity from the UI var identityElement; var accountManager = Components.classes["component://netscape/messenger/account-manager"].getService(Components.interfaces.nsIMsgAccountManager); var AddressAutoCompleteListener = { onAutoCompleteResult: function(aItem, aOriginalString, aMatch) { dump("aItem = " + aItem + "\n"); if ( aItem ) { dump("value = " + aItem.value + "\n"); dump("aOriginalString = " + aOriginalString + "\n"); dump("aMatch = " + aMatch + "\n"); aItem.value = aMatch; aItem.lastValue = aMatch; } } }; function AutoCompleteAddress(inputElement) { ///////////// (select_doc_id, doc_id) dump("inputElement = " + inputElement + "\n"); //Do we really have to autocomplete? if (inputElement.lastValue && inputElement.lastValue == inputElement.value) return; var row = awGetRowByInputElement(inputElement); var select = awGetPopupElement(row); dump("select = " + select + "\n"); dump("select.value = " + select.value + "\n"); if (select.value == "") return; if (select.value == "addr_newsgroups") { dump("don't autocomplete, it's a newsgroup"); return; } var ac = Components.classes['component://netscape/messenger/autocomplete&type=addrbook']; if (ac) { ac = ac.getService(); } if (ac) { ac = ac.QueryInterface(Components.interfaces.nsIAutoCompleteSession); } if (!identityElement) identityElement = document.getElementById("msgIdentity"); var identity=null; if (identityElement) { idKey = identityElement.value; identity = accountManager.getIdentity(idKey); } ac.autoComplete(identity, inputElement, inputElement.value, AddressAutoCompleteListener); }