]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/server/index.xhtml
7475cbcac2184f29f61172058a376ace92f1f6f0
[working/Evergreen.git] / Open-ILS / xul / staff_client / server / index.xhtml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!DOCTYPE html PUBLIC
4         "-//W3C//DTD XHTML 1.0 Transitional//EN" 
5         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
6         <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
7 ]>
8
9 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
10 <head>
11   <meta name="generator" content=
12   "HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" />
13
14   <title>&staff.client.portal.title;</title>
15   <script type="text/javascript">
16 // <![CDATA[
17
18   // FIXME - some I18N love still needed in this file.  See @alt on img tags, and javascript for tab names
19
20   function SearchOnBlur() {
21         var textbox = document.getElementById("quicksearch");
22
23         if(textbox && textbox.value == "")
24                 textbox.style.background = "#FFFFFF url(\"eg_tiny_logo.jpg\") center no-repeat";
25   }
26
27   function SearchOnFocus() {
28         var textbox = document.getElementById("quicksearch");
29         
30         if(textbox)
31                 textbox.style.background = "#FFFFFF";
32   }
33
34   var home_ou_id = 1;
35
36   function SearchOnSubmit() {
37         var textbox = document.getElementById("quicksearch");
38         
39         //var home_ou_id = 1; // 1 = all org units. Should come from staff client scripts
40         // a quicksearch should probably just default to the whole system. Staff can narrow it down later if they want.
41         var search_depth = 0; // 0 = consortium, 1 = system, 2 = library, 3 = sub-library, etc.
42         
43         if(textbox && textbox.value != "") {
44                 var opac_url =  xulG.url_prefix(urls.opac_rresult) + "?rt=keyword&tp=keyword&l=" + home_ou_id + "&d=" + search_depth +"&f=&t=" + escape(textbox.value);
45                 if (urls.opac_rresult.match(/\/eg\/opac\/results/)) {
46                     opac_url =  xulG.url_prefix(urls.opac_rresult) + "?query=" + escape(textbox.value);
47                 }
48                 var params = {'tab_name':'Catalog'};
49                 var content_params = { 'session' : ses(), 'authtime' : ses('authtime'), 'opac_url' : opac_url };
50                 xulG.set_tab(urls.XUL_OPAC_WRAPPER, params, content_params);
51         }
52         
53         return false;
54   }
55   // ]]> 
56   </script>
57   <script type="text/javascript" src="main/constants.js">
58 </script>
59   <script type="text/javascript" src="main/lang.js">
60 </script>
61   <script type="text/javascript" src="/opac/common/js/utils.js">
62 </script>
63   <script type="text/javascript" src="/opac/common/js/CGI.js">
64 </script>
65   <script type="text/javascript" src="/opac/common/js/md5.js">
66 </script>
67   <script type="text/javascript" src="/opac/common/js/JSON.js">
68 </script>
69   <script type="text/javascript" src="/opac/common/js/fmall.js">
70 </script>
71   <script type="text/javascript" src="/opac/common/js/fmgen.js">
72 </script>
73   <script type="text/javascript" src="/opac/common/js/RemoteRequest.js">
74 </script>
75   <script type="text/javascript" src="/opac/common/js/<!--#echo var='locale'-->/OrgTree.js">
76 </script>
77   <script type="text/javascript" src="/opac/common/js/org_utils.js">
78 </script>
79   <script type="text/javascript" src="OpenILS/global_util.js">
80 </script>
81   <script type="text/javascript" src="main/JSAN.js">
82 </script>
83   <script type="text/javascript">
84       // <![CDATA[
85         
86                 //this function will allow for the "Hello, Staff Member" messages
87                 function init() { 
88                         SearchOnBlur();
89                         JSAN.use('OpenILS.data'); 
90                         var data = new OpenILS.data(); 
91                         data.stash_retrieve(); 
92                         document.getElementById('staffname').innerHTML = ", " + data.list.au[0].first_given_name(); 
93                         home_ou_id = data.list.au[0].ws_ou();
94                         xulG.set_tab_name('Portal');
95                 }
96                 function jb_open_eg_web_page(path, label) {
97                         var loc = urls.XUL_BROWSER + '?url=' + window.escape(xulG.url_prefix(urls.EG_WEB_BASE) + '/' + path);
98
99                         xulG.set_tab( 
100                                 loc, 
101                                 {tab_name : label, browser : false }, 
102                                 {no_xulG : false, show_print_button : false, show_nav_buttons : true }
103                         );
104                 }
105                 function jb_open_eg_web_page_newtab(path, label) {
106                         var loc = urls.XUL_BROWSER + '?url=' + window.escape(xulG.url_prefix(urls.EG_WEB_BASE) + '/' + path);
107
108                         xulG.new_tab( 
109                                 loc, 
110                                 {tab_name : label, browser : false }, 
111                                 {no_xulG : false, show_print_button : false, show_nav_buttons : true }
112                         );
113                 }
114                 
115                 //Place your helpdesk link here
116                 function helpdesk(newtab) {
117                         loc = "http://evergreen-ils.org/communicate.php";
118                         var params = {'tab_name':'Evergreen Project Website'};
119                         
120                         if(newtab)
121                                 xulG.new_tab(loc, params, {}); 
122                         else
123                                 xulG.set_tab(loc, params, {}); 
124                 }
125                 
126                 //A good place for a Google map.  Evergreen Indiana uses GIS data to create a Google map to verify if a library is within district boundaries
127                 //http://208.119.72.68/evergreen/evergreenmap.html
128                 function address_map(newtab) {
129                         loc = "http://maps.google.com";
130                         var params = {'tab_name':'Locate Address In Map'};
131                         
132                         if(newtab)
133                                 xulG.new_tab(loc, params, {}); 
134                         else
135                                 xulG.set_tab(loc, params, {}); 
136                 }
137                 function local_admin(newtab) {
138                         var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(urls.XUL_LOCAL_ADMIN + '?ses=' + window.escape(ses()) + '&session=' + window.escape(ses())); 
139                         var params = {'tab_name':'Local Administration', 'browser' : true };
140                         var content_params = { 'no_xulG' : false, 'show_nav_buttons' : true, 'show_print_button' : true };
141                         
142                         if(newtab)
143                                 xulG.new_tab(loc, params, content_params);
144                         else
145                                 xulG.set_tab(loc, params, content_params);
146                 }
147                 function copy_status(newtab) {
148                         if(newtab)
149                                 xulG.new_tab(urls.XUL_COPY_STATUS,{},{});
150                         else
151                                 xulG.set_tab(urls.XUL_COPY_STATUS,{},{});
152                 }
153                 function hold_pull_list(newtab) {
154                         var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(urls.XUL_HOLD_PULL_LIST + '?ses=' + window.escape(ses()));
155                         var params = {'tab_name':'On Shelf Pull List'};
156                         
157                         if(newtab)
158                                 xulG.new_tab(loc, params);
159                         else
160                                 xulG.set_tab(loc, params);
161                 }
162                 function checkout(newtab) {
163                         if(newtab)
164                                 xulG.new_tab(urls.XUL_PATRON_BARCODE_ENTRY,{},{});
165                         else
166                                 xulG.set_tab(urls.XUL_PATRON_BARCODE_ENTRY,{},{});
167                 }
168                 function catalog(newtab) {
169                         var params = {'tab_name':'Catalog'};
170                         var content_params = { 'session' : ses(), 'authtime' : ses('authtime') };
171                         
172                         if(newtab)
173                                 xulG.new_tab(urls.XUL_OPAC_WRAPPER, params, content_params);
174                         else
175                                 xulG.set_tab(urls.XUL_OPAC_WRAPPER, params, content_params);
176                 }
177                 function z39_50(newtab) {
178                         if(newtab)
179                                 xulG.new_tab(urls.XUL_Z3950_IMPORT,{},{});
180                         else
181                                 xulG.set_tab(urls.XUL_Z3950_IMPORT,{},{});
182                 }
183                 function copy_buckets(newtab) {
184                         params = {'tab_name':'Copy Buckets'};
185                         if(newtab)
186                                 xulG.new_tab(urls.XUL_COPY_BUCKETS, params, {});
187                         else
188                                 xulG.set_tab(urls.XUL_COPY_BUCKETS, params, {});
189                 }
190                 function record_buckets(newtab) {
191                         params = {'tab_name':'Record Buckets'};
192                         if(newtab)
193                                 xulG.new_tab(urls.XUL_RECORD_BUCKETS, params, {});
194                         else
195                                 xulG.set_tab(urls.XUL_RECORD_BUCKETS, params, {});
196                 }
197                 function receipt_editor(newtab) {
198                         if(newtab)
199                                 xulG.new_tab(urls.XUL_PRINT_LIST_TEMPLATE_EDITOR, {}, {});
200                         else
201                                 xulG.set_tab(urls.XUL_PRINT_LIST_TEMPLATE_EDITOR, {}, {});
202                 }
203                 function checkin(newtab) {
204                         if(newtab)
205                                 xulG.new_tab(urls.XUL_CHECKIN,{},{});
206                         else
207                                 xulG.set_tab(urls.XUL_CHECKIN,{},{});
208                 }
209                 function MARC_batch_import(newtab) {
210                         if(newtab)
211                                 jb_open_eg_web_page_newtab('vandelay/vandelay', 'Server Settings');
212                         else
213                                 jb_open_eg_web_page('vandelay/vandelay', 'Server Settings');
214                 }
215                 function local_admin_reports(newtab) {
216                         var loc = urls.XUL_BROWSER + '?url=' + window.escape( xulG.url_prefix(urls.XUL_REPORTS) + '?ses=' + ses());
217                         params = {'tab_name' : 'Reports', 'browser' : false }
218                         content_params = {'no_xulG' : false, 'show_print_button' : false, show_nav_buttons : true }
219                         if(newtab)
220                                 xulG.new_tab(loc, params, content_params);
221                         else
222                                 xulG.set_tab(loc, params, content_params);
223                 }
224                 function find_patron(newtab) {
225                         if(newtab)
226                                 xulG.new_tab(urls.XUL_PATRON_DISPLAY,{},{});
227                         else
228                                 xulG.set_tab(urls.XUL_PATRON_DISPLAY,{},{});
229                 }
230                 
231                 function spawn_search(s) {
232                         var loc = urls.XUL_PATRON_DISPLAY;
233                         loc += '?doit=1&amp;query=' + window.escape(js2JSON(s));
234                         xulG.new_tab( loc, {}, {} );
235                 }
236                 function register_patron(newtab) {
237                         function spawn_editor(p) {
238                                 var url = urls.XUL_PATRON_EDIT;
239                                 var param_count = 0;
240                                 for (var i in p) {
241                                         if (param_count++ == 0) url += '?'; else url += '&amp;';
242                                         url += i + '=' + window.escape(p[i]);
243                                 }
244                                 var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape( url );
245                                 xulG.new_tab(loc, {}, { 'show_print_button' : true , 'tab_name' : 'Editing Related Patron' , 'passthru_content_params' : {'spawn_search' : function(s) { spawn_search(s); }, 'spawn_editor' : spawn_editor }});
246                         }
247                         
248                         var loc = urls.XUL_REMOTE_BROWSER  + '?url=' + window.escape( urls.XUL_PATRON_EDIT + '?ses=' + window.escape( ses() ) );
249                         var content_params = { 
250                                                      'show_print_button' : true , 
251                                                      'tab_name' : 'Register Patron' ,
252                                                      'passthru_content_params' : { 'spawn_search' : function(s) { spawn_search(s); },
253                                                                                     'spawn_editor' : spawn_editor }
254                                                  }
255                         if(newtab)
256                                 xulG.new_tab(loc, {}, content_params);
257                         else
258                                 xulG.set_tab(loc, {}, content_params);
259                 }
260                 function toggle_tpac(mode) {
261                     var use_tpac = false;
262                     netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
263                     var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces['nsIPrefBranch']);
264                     try {
265                         use_tpac = prefs.getBoolPref('oils.use_tpac');
266                     } catch (E) {
267                         dump('Failed to get current use_tpac setting - Assuming false: ' + E);
268                     }
269                     use_tpac = !use_tpac;
270                     prefs.setBoolPref('oils.use_tpac', use_tpac);
271                     var message = document.getElementById('tpac_toggled_on');
272                     if(!use_tpac) {
273                         message = document.getElementById('tpac_toggled_off');
274                     }
275                     message = message.textContent;
276                     alert(message);
277                 }
278                 // ]]>
279   </script>
280   <style type="text/css">
281 /*<![CDATA[*/
282   body {
283   font-family: "Trebuchet MS", Helvetica, Verdana, Arial, sans-serif;
284   }
285
286   hr {
287   border-style: solid;
288   border-color: black;
289   width: 180px;
290   }
291
292   a {
293   font-size: 85%;
294   font-weight: bold;
295   color: black;
296   text-decoration: none;
297   }
298
299   #alignment {
300         border-collapse: collapse;
301         border-style: none;
302         width: 100%;
303   }
304
305   #alignment td {
306         vertical-align: top;
307   }
308
309   .functionlist {
310         border-style: none;
311         margin-left: auto;
312         margin-right: auto;
313   }
314
315   .functionlist td {
316   text-align: left;
317         margin: 2px;
318         padding: 2px;
319   }
320
321   .functionalgroup {
322         text-align: center;
323   }
324
325   a img {
326         border-style: none;
327   }
328
329   .attribution {
330         font-size: 75%;
331   }
332
333   form {
334         margin: 0px;
335         padding: 0px;
336   }
337
338   .newtabimg {
339         float: right;
340         padding-left:4px;
341   }
342
343   .funcimg {
344         width: 48px;
345         height: 48px;
346   }
347
348   /*]]>*/
349   </style>
350   <style type="text/css">
351 /*<![CDATA[*/
352   body.c4 {margin-top: 0px; padding-top: 0px; background-image: url(skin/media/images/portal/background.png);}
353   td.c3 {border: 1px solid black; border-top: 0px; border-bottom: 0px;}
354   span.c2 {font-size:75%;}
355   div.c1 {text-align: center}
356   /*]]>*/
357   </style>
358 </head>
359
360 <body class="c4" onload="init();">
361   <div class="c1">
362     <img src="skin/media/images/portal/logo.png" height="121" width="396" alt="Evergreen logo" /><br />
363     &staff.client.portal.welcome;<span id="staffname"></span><br />
364     <br />
365   </div>
366
367   <table id="alignment">
368     <tr>
369       <td>
370         <div class="functionalgroup">
371           &staff.client.portal.circpatron;
372           <hr />
373
374           <table class="functionlist">
375             <tr>
376               <td height="50"><img src="skin/media/images/portal/forward.png" height="48" width="48"
377               onclick="try { checkout(false); } catch(E) { alert(E); }" alt=
378               "Check Out Items" /></td>
379
380               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
381               onclick="try { checkout(true); } catch(E) { alert(E); }" /><a href="#"
382               onclick=
383               "try { checkout(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.checkout;</a><br />
384               <a href="#" onclick=
385               "try { checkout(false); } catch(E) { alert(E); }; return false;"><span class="c2">
386               &staff.client.portal.retrievebc;</span></a></td>
387             </tr>
388
389             <tr>
390               <td height="50"><img src="skin/media/images/portal/back.png" height="48" width="48" onclick=
391               "try { checkin(false); } catch(E) { alert(E); }" alt=
392               "Check In Items" /></td>
393
394               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
395               onclick="try { checkin(true); } catch(E) { alert(E); }" /> <a href="#"
396               onclick=
397               "try { checkin(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.checkin;</a><br /></td>
398             </tr>
399
400             <tr>
401               <td height="50"><img src="skin/media/images/portal/registerpatron.png" height="48" width="48"
402               onclick="try { register_patron(false); } catch(E) { alert(E); }" alt=
403               "Register Patron" /></td>
404
405               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
406               onclick="try { register_patron(true); } catch(E) { alert(E); }" /> <a href=
407               "#" onclick=
408               "try { register_patron(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.patronreg;</a></td>
409             </tr>
410
411             <tr>
412               <td height="50"><img src="skin/media/images/portal/retreivepatron.png" height="48" width="48"
413               onclick="try { find_patron(false); } catch(E) { alert(E); }" alt=
414               "Search For Patron By Name" /></td>
415
416               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
417               onclick="try { find_patron(true); } catch(E) { alert(E); }" /> <a href="#"
418               onclick=
419               "try { find_patron(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.patronsearch;</a></td>
420             </tr>
421
422             <tr>
423               <td height="50"><img class="funcimg" src="skin/media/images/portal/holds.png" height="48"
424               width="48" onclick="try { hold_pull_list(false); } catch(E) { alert(E); }"
425               alt="Pull List for Hold Requests" /></td>
426
427               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
428               onclick="try { hold_pull_list(true); } catch(E) { alert(E); }" /> <a href=
429               "#" onclick=
430               "try { hold_pull_list(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.holdlist;</a></td>
431             </tr>
432 <!--
433             <tr>
434               <td height="50"><img src="skin/media/images/portal/map.PNG" alt="Locate Address In Map"
435               onclick="try { address_map(false); } catch(E) { alert(E); }" /></td>
436
437               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
438               onclick="try { address_map(true); } catch(E) { alert(E); }" /> <a href="#"
439               onclick=
440               "try { address_map(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.addrmap;</a></td>
441             </tr>
442 -->
443           </table>
444         </div>
445       </td>
446
447       <td class="c3">
448         <div class="functionalgroup">
449           &staff.client.portal.itemcataloging;
450           <hr />
451
452           <table class="functionlist">
453             <tr>
454               <td colspan="2" rowspan="1">
455                 <form action="#" onsubmit="return SearchOnSubmit();">
456                   <input id="quicksearch" onfocus="SearchOnFocus();" onblur=
457                   "SearchOnBlur();" /> <input value="Search" type="submit" />
458                 </form>
459               </td>
460             </tr>
461
462             <tr>
463               <td height="50"><img src="skin/media/images/portal/book.png" height="48" width="48" onclick=
464               "try { catalog(false); } catch(E) { alert(E); }" alt=
465               "Advanced Search" /></td>
466
467               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
468               onclick="try { catalog(true); } catch(E) { alert(E); }" /> <a href="#"
469               onclick=
470               "try { catalog(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.advsearch;</a></td>
471             </tr>
472
473             <tr>
474               <td height="50"><img src="skin/media/images/portal/book.png" height="48" width="48" onclick=
475               "try { copy_status(false); } catch(E) { alert(E); }" alt=
476               "Item Status / Display" /></td>
477
478               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
479               onclick="try { copy_status(true); } catch(E) { alert(E); }" /> <a href="#"
480               onclick=
481               "try { copy_status(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.itemstatus;</a></td>
482             </tr>
483
484             <tr>
485               <td height="50"><img src="skin/media/images/portal/batchimport.png" height="48" width="48"
486               onclick="try { MARC_batch_import(false); } catch(E) { alert(E); }" alt=
487               "MARC Batch Import / Export" /></td>
488
489               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
490               onclick="try { MARC_batch_import(true); } catch(E) { alert(E); }" />
491               <a href="#" onclick=
492               "try { MARC_batch_import(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.marcutil;</a></td>
493             </tr>
494
495             <tr>
496               <td height="50"><img src="skin/media/images/portal/z3950.png" height="48" width="48" onclick=
497               "try { z39_50(false); } catch(E) { alert(E); }" alt="Z39.50 Import" /></td>
498
499               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
500               onclick="try { z39_50(true); } catch(E) { alert(E); }" /> <a href="#"
501               onclick=
502               "try { z39_50(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.z3950;</a></td>
503             </tr>
504
505             <tr>
506               <td height="50"><img src="skin/media/images/portal/bucket.png" height="48" width="48" onclick=
507               "try { copy_buckets(false); } catch(E) { alert(E); }" alt=
508               "Copy Buckets" /></td>
509
510               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
511               onclick="try { copy_buckets(true); } catch(E) { alert(E); }" /> <a href="#"
512               onclick=
513               "try { copy_buckets(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.copybuckets;</a></td>
514             </tr>
515
516             <tr>
517               <td height="50"><img src="skin/media/images/portal/bucket.png" height="48" width="48" onclick=
518               "try { record_buckets(false); } catch(E) { alert(E); }" alt=
519               "Record Buckets" /></td>
520
521               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
522               onclick="try { record_buckets(true); } catch(E) { alert(E); }" /> <a href=
523               "index.html#" onclick=
524               "try { record_buckets(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.recordbuckets;</a></td>
525             </tr>
526           </table><br />
527         </div>
528       </td>
529
530       <td>
531         <div class="functionalgroup">
532           &staff.client.portal.admin;
533           <hr />
534
535           <table class="functionlist">
536             <tr>
537               <td height="50"><img src="skin/media/images/portal/helpdesk.png" height="48" width="48"
538               onclick="try { helpdesk(false); } catch(E) { alert(E); }" alt=
539               "Submit A Helpdesk Ticket" /></td>
540
541               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
542               onclick="try { helpdesk(true); } catch(E) { alert(E); }" /> <a href="#"
543               onclick="try { helpdesk(false); } catch(E) { alert(E); }">&staff.client.portal.helpdesk;</a></td>
544             </tr>
545
546             <tr>
547               <td height="50"><img src="skin/media/images/portal/reports.png" height="48" width="48"
548               onclick="try { local_admin_reports(false); } catch(E) { alert(E); }" alt=
549               "Reports" /></td>
550
551               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
552               onclick="try { local_admin_reports(true); } catch(E) { alert(E); }" />
553               <a href="#" onclick=
554               "try { local_admin_reports(false); } catch(E) { alert(E); }; return false;">
555               &staff.client.portal.reports;</a></td>
556             </tr>
557
558             <tr>
559               <td height="50"><img src="skin/media/images/portal/receipt_editor.png" height="48" width="48"
560               onclick="try { receipt_editor(false); } catch(E) { alert(E); }" alt=
561               "Edit Receipt Templates" /></td>
562
563               <td><img class="newtabimg" src="skin/media/images/portal/newtab2.PNG" alt="Open in a new tab"
564               onclick="try { receipt_editor(true); } catch(E) { alert(E); }" /> <a href=
565               "#" onclick=
566               "try { receipt_editor(false); } catch(E) { alert(E); }; return false;">&staff.client.portal.receipts;</a></td>
567             </tr>
568
569             <tr>
570               <td height="50"><img src="skin/media/images/portal/book.png" height="48" width="48"
571               onclick="try { toggle_tpac(); } catch(E) { alert(E) }; return false;" alt="&staff.client.portal.toggle_tpac;" /></td>
572
573               <td><a href="#"
574               onclick="try { toggle_tpac(); } catch(E) { alert(E); }; return false;">&staff.client.portal.toggle_tpac;</a></td>
575             </tr>
576           </table>
577         </div>
578         <span style="display:none" id="tpac_toggled_on">&staff.client.portal.toggle_tpac.message_on;</span>
579         <span style="display:none" id="tpac_toggled_off">&staff.client.portal.toggle_tpac.message_off;</span>
580       </td>
581     </tr>
582   </table>
583
584   <div class="attribution c1">&staff.client.portal.copyright;<br />
585   &staff.client.portal.poweredby; <img src="skin/media/images/portal/eg_tiny_logo.jpg" alt="Evergreen logo" /></div>
586 </body>
587 </html>
588
589