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