-function bcc_address($addr) {
- var prefix = "";
- var pwintype = typeof parent.opener.document.compose;
-
- $addr = $addr.replace(/ {1,35}$/, "");
-
- if(pwintype != "undefined" ) {
- if ( parent.opener.document.compose.bcc.value ) {
- prefix = ", ";
- parent.opener.document.compose.bcc.value =
- parent.opener.document.compose.bcc.value + ", " + $addr;
+/* Initialize addressbook, show init errors only in bottom frame */
+$showerr=($show=='form' ? false : true);
+$abook = addressbook_init($showerr);
+
+/* Create search form (top frame) */
+if ($show == 'form' && ! isset($listall)) {
+ echo "<form name=\"sform\" target=\"abookres\" action=\"addrbook_search.php\" method=\"post\">\n";
+
+ $oTemplate->assign('use_js', true);
+ $oTemplate->assign('backends', getBackends());
+ $oTemplate->display('addressbook_search_form.tpl');
+
+ echo "</form>\n";
+} else {
+ /**
+ * List addresses (bottom frame)
+ * If listall is set, list all entries in selected backend.
+ * If $show is 'blank' (initial call of address book popup) - list
+ * personal address book.
+ */
+ if ($show == 'blank' || isset($listall)) {
+
+ if($backend != -1 || $show == 'blank') {
+ if ($show == 'blank') {
+ $backend = $abook->localbackend;
+ }
+ $res = $abook->list_addr($backend);
+
+ if(is_array($res)) {
+ usort($res,'alistcmp');
+ display_result($res, false);
+ } else {
+ plain_error_message(sprintf(_("Unable to list addresses from %s"), $abook->backends[$backend]->sname));
+ }
+ } else {
+ $res = $abook->list_addr();
+ usort($res,'alistcmp');
+ display_result($res, true);
+ }
+
+ } elseif (!empty($query)) {
+ /* Do the search (listall is not set. query is set.)*/
+
+ if($backend == -1) {
+ $res = $abook->s_search($query);
+ } else {
+ $res = $abook->s_search($query, $backend);
+ }
+
+ if (!is_array($res)) {
+ plain_error_message( _("Your search failed with the following error(s)") .':<br />'. nl2br(htmlspecialchars($abook->error)) );
+ } elseif (sizeof($res) == 0) {
+ $oTemplate->assign('note', _("No persons matching your search were found"));
+ $oTemplate->display('note.tpl');
+ } else {
+ display_result($res);
+ }