Bug 11674: Configuration for MARC field doc URLs
[koha-equinox.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / addbiblio.tt
1 [% USE Asset %]
2 [% USE Koha %]
3 [% INCLUDE 'doc-head-open.inc' %]
4 <title>Koha &rsaquo; Cataloging &rsaquo; [% IF ( biblionumber ) %]Editing [% title |html %] (Record number [% biblionumber %])[% ELSE %]Add MARC record[% END %]</title>
5 [% INCLUDE 'doc-head-close.inc' %]
6 [% Asset.js("lib/jquery/plugins/jquery.fixFloat.js") %]
7 [% Asset.js("js/cataloging.js") %]
8 [% INCLUDE 'browser-strings.inc' %]
9 [% Asset.js("js/browser.js") %]
10 <script type="text/javascript">
11 //<![CDATA[
12     var browser = KOHA.browser('[% searchid %]', parseInt('[% biblionumber %]', 10));
13     browser.show();
14
15     $(window).load(function(){
16         $("#loading").hide();
17     });
18          $(document).ready(function() {
19
20         [% IF bib_doesnt_exist %]
21             $("#addbibliotabs").hide();
22             $("#toolbar").hide();
23         [% END %]
24
25         $('#addbibliotabs').tabs().bind('show.ui-tabs', function(e, ui) {
26                         $("#"+ui.panel.id+" input:eq(0)").focus();
27                 });
28
29         [% IF tab %]
30           $('#addbibliotabs').selectTabByID("#[% tab %]");
31         [% END %]
32
33         $('#toolbar').fixFloat();
34
35         /* check cookie to hide/show marcdocs*/
36         if($.cookie("marcdocs_[% borrowernumber %]") == 'hide'){
37             toggleMARCdocLinks(false);
38         } else {
39             toggleMARCdocLinks(true);
40         }
41
42         $("#marcDocsSelect").click(function(){
43             if($.cookie("marcdocs_[% borrowernumber %]") == 'hide'){
44                 toggleMARCdocLinks(true);
45             } else {
46                 toggleMARCdocLinks(false);
47             }
48         });
49
50         /* check cookie to hide/show marc tags*/
51         var marctags_cookie = $.cookie("marctags_[% borrowernumber %]");
52         if( marctags_cookie == 'hide'){
53             toggleMARCTagLinks(false);
54         } else if( marctags_cookie == 'show'){
55             toggleMARCTagLinks(true)
56         } else {
57             [% UNLESS Koha.Preference("hide_marc") %]
58                 toggleMARCTagLinks(true)
59             [% ELSE %]
60                 toggleMARCTagLinks(false);
61             [% END %]
62         }
63
64         $("#marcTagsSelect").click(function(){
65             if( $.cookie("marctags_[% borrowernumber %]") == 'hide'){
66                 toggleMARCTagLinks(true)
67             } else {
68                 toggleMARCTagLinks(false);
69             }
70         });
71
72         [%# Only ask for a confirmation if it is an edit %]
73         $("#z3950search").click(function(){
74             [% IF biblionumber %]
75                 if (confirm(_("Please note that this external search could replace the current record."))){
76                     PopupZ3950();
77                 }
78             [% ELSE %]
79                 PopupZ3950();
80             [% END %]
81         });
82
83         $("#saverecord").click(function(){
84             $(".btn-group").removeClass("open");
85             onOption();
86             return false;
87         });
88
89         $("#saveandview").click(function(){
90             $(".btn-group").removeClass("open");
91             redirect("view");
92             return false;
93         });
94
95         $("#saveanditems").click(function(){
96             $(".btn-group").removeClass("open");
97             redirect("items");
98             return false;
99         });
100         $("#saveandcontinue").click(function(){
101             $(".btn-group").removeClass("open");
102             var tab = $("#addbibliotabs li.ui-tabs-active:first a").attr('href');
103             tab = tab.replace('#', '');
104             $("#current_tab").val(tab);
105             redirect("just_save", tab);
106             return false;
107         });
108
109         $( '#switcheditor' ).click( function() {
110             var breedingid = [% breedingid || "null" %];
111
112             if ( !confirm( breedingid ? _("This record cannot be transferred to the advanced editor. Continue?") : _("Any changes will not be saved. Continue?") ) ) return false;
113
114             $.cookie( 'catalogue_editor_[% USER_INFO.borrowernumber %]', 'advanced', { expires: 365, path: '/' } );
115
116             var biblionumber = [% biblionumber || "null" %];
117
118             if ( biblionumber ) {
119                 window.location = '/cgi-bin/koha/cataloguing/editor.pl#catalog/' + biblionumber;
120             } else {
121                 window.location = '/cgi-bin/koha/cataloguing/editor.pl';
122             }
123
124             return false;
125         } );
126         $(".change-framework").on("click", function(){
127             var frameworkcode = $(this).data("frameworkcode");
128             $("#frameworkcode").val( frameworkcode );
129             Changefwk();
130         });
131     });
132
133 function redirect(dest){
134     $("#redirect").attr("value",dest);
135     return Check();
136 }
137
138 [% IF ( CAN_user_editcatalogue_edit_items ) %]
139     var onOption = function () {
140         return Check();
141     }
142 [% END %]
143
144 function confirmnotdup(redirect){
145         $("#confirm_not_duplicate").attr("value","1");
146     $("#redirect").attr("value",redirect);
147         Check();
148 }
149
150 function Dopop(link,i) {
151     defaultvalue = document.getElementById(i).value;
152     window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
153 }
154
155 /**
156  * this function open a popup to search on z3950 server.
157  */
158 function PopupZ3950() {
159     var strQuery = GetZ3950Terms();
160         if(strQuery){
161         window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber %]"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
162     } 
163 }
164
165 function PopupMARCFieldDoc(field) {
166     [% IF Koha.Preference('marcfielddocurl') %]
167         var docurl = "[% Koha.Preference('marcfielddocurl').replace('"','&quot;') %]";
168         docurl = docurl.replace("{MARC}", "[% marcflavour %]");
169         docurl = docurl.replace("{FIELD}", ""+field);
170         docurl = docurl.replace("{LANG}", "[% lang %]");
171         window.open(docurl);
172     [% ELSIF ( marcflavour == 'MARC21' ) %]
173         _MARC21FieldDoc(field);
174     [% ELSIF ( marcflavour == 'UNIMARC' ) %]
175         _UNIMARCFieldDoc(field);
176     [% END %]
177 }
178
179 function _MARC21FieldDoc(field) {
180     if(field == 0) {
181         window.open("http://www.loc.gov/marc/bibliographic/bdleader.html");
182     } else if (field < 900) {
183         window.open("http://www.loc.gov/marc/bibliographic/bd" + ("000"+field).slice(-3) + ".html");
184     } else {
185         window.open("http://www.loc.gov/marc/bibliographic/bd9xx.html");
186     }
187 }
188
189 function _UNIMARCFieldDoc(field) {
190     /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
191        seems to be the only version available that can be linked to per tag.  More recent
192        versions of the UNIMARC standard are available on the IFLA website only as
193        PDFs!
194     */
195     var url;
196     if (field == 0) {
197         url = "http://archive.ifla.org/VI/3/p1996-1/uni.htm";
198     } else {
199         var first = field.substring(0,1);
200         url = "http://archive.ifla.org/VI/3/p1996-1/uni" + first + ".htm#";
201         if (first == 0) url = url + "b";
202         url = first == 9
203               ? "http://archive.ifla.org/VI/3/p1996-1/uni9.htm"
204               : url + field;
205     }
206     window.open(url);
207 }
208
209 /*
210  * Functions to hide/show marc docs and tags links
211  */
212
213 function toggleMARCdocLinks(flag){
214     if( flag === true ){
215         $(".marcdocs").show();
216         $.cookie("marcdocs_[% borrowernumber %]",'show', { path: "/", expires: 365 });
217         $("#marcDocsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
218     } else {
219         $(".marcdocs").hide();
220         $.cookie("marcdocs_[% borrowernumber %]",'hide', { path: "/", expires: 365 });
221         $("#marcDocsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
222     }
223 }
224
225 function toggleMARCTagLinks(flag){
226     if( flag === true ){
227         $(".tagnum").show();
228         $(".subfieldcode").show();
229         $.cookie("marctags_[% borrowernumber %]",'show', { path: "/", expires: 365 });
230         $("#marcTagsSelect i").addClass('fa-check-square-o').removeClass('fa-square-o');
231     } else {
232         $(".tagnum").hide();
233         $(".subfieldcode").hide();
234         $.cookie("marctags_[% borrowernumber %]",'hide', { path: "/", expires: 365 });
235         $("#marcTagsSelect i").removeClass('fa-check-square-o').addClass('fa-square-o');
236     }
237 }
238
239 /**
240  * check if mandatory subfields are written
241  */
242 function AreMandatoriesNotOk(){
243     var mandatories = new Array();
244     var mandatoriesfields = new Array();
245     var tab = new Array();
246     var label = new Array();
247     var flag=0;
248     var tabflag= new Array();  
249     [% FOREACH BIG_LOO IN BIG_LOOP %]
250         [% FOREACH innerloo IN BIG_LOO.innerloop %]
251                 [% IF ( innerloo.mandatory ) %]
252                 mandatoriesfields.push(new Array("[% innerloo.tag %]","[% innerloo.index %][% innerloo.random %]","[% innerloo.index %]"));
253                 [% END %]
254                 [% FOREACH subfield_loo IN innerloo.subfield_loop %]
255                         [% IF ( subfield_loo.mandatory ) %]mandatories.push("[% subfield_loo.id %]");
256                         tab.push("[% BIG_LOO.number %]");
257                         label.push("[% subfield_loo.marc_lib %]");
258                 [% END %]
259             [% END %]
260         [% END %]
261     [% END %]
262     var StrAlert = _("Can't save this record because the following field aren't filled:");
263     StrAlert += "\n\n";
264     for(var i=0,len=mandatories.length; i<len ; i++){
265         var tag=mandatories[i].substr(4,3);
266         var subfield=mandatories[i].substr(17,1);
267         var tagnumber=mandatories[i].substr(19,mandatories[i].lastIndexOf("_")-19);
268         if (tabflag[tag+subfield+tagnumber] ==  null) { 
269             tabflag[tag+subfield+tagnumber]=new Array();
270             tabflag[tag+subfield+tagnumber][0]=0; 
271         }
272         if( tabflag[tag+subfield+tagnumber][0] != 1 && (document.getElementById(mandatories[i]) != null && ! document.getElementById(mandatories[i]).value || document.getElementById(mandatories[i]) == null)){
273             tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
274             document.getElementById(mandatories[i]).setAttribute('class','subfield_not_filled');
275             $('#' + mandatories[i]).focus();
276             tabflag[tag+subfield+tagnumber][1]=label[i];
277             tabflag[tag+subfield+tagnumber][2]=tab[i];
278         } else {
279             tabflag[tag+subfield+tagnumber][0] = 1;
280         }    
281     }
282     for (var tagsubfieldid in tabflag){
283       if (tabflag[tagsubfieldid][0]==0){
284         var tag=tagsubfieldid.substr(0,3);
285         var subfield=tagsubfieldid.substr(3,1);    
286         StrAlert += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
287         //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n"; 
288         flag=1;    
289       }   
290     }   
291     
292     /* Check for mandatories field(not subfields) */
293     for(var i=0,len=mandatoriesfields.length; i<len; i++){
294             isempty  = true;
295                 arr      = mandatoriesfields[i];
296         divid    = "tag_" + arr[0] + "_" + arr[1];
297         varegexp = new RegExp("^tag_" + arr[0] + "_code_");
298         
299                 if(parseInt(arr[0]) >= 10){
300                 elem = document.getElementById(divid);
301                 eleminputs = elem.getElementsByTagName('input');
302                 
303                 for(var j=0,len2=eleminputs.length; j<len2; j++){
304         
305                         if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
306                                         inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
307                                         
308                                         for( var k=0; k<len2; k++){
309                                                 if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
310                                                         isempty = false
311                                                 }
312                                         }
313                                         
314                                         elemselect = elem.getElementsByTagName('select');
315                                         for( var k=0; k<elemselect.length; k++){
316                                                 if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
317                                                         isempty = false
318                                                 }
319                                         }
320                         }
321                 }
322
323                 elemtextareas = elem.getElementsByTagName('textarea');
324                 for(var j=0,len2=elemtextareas.length; j<len2; j++){
325                 // this bit assumes that the only textareas in this context would be for subfields
326                 if (elemtextareas[j].value) {
327                     isempty = false;
328                 }
329             }
330         }else{
331                 isempty = false;
332         }
333         
334         if(isempty){
335                 flag = 1;
336                 StrAlert += "\t* " + _("Field %s is mandatory, at least one of its subfields must be filled.").format(arr[0]) + "\n";
337         }
338         
339     }
340     
341     if(flag){
342             return StrAlert;
343         } else {
344                 return flag;
345         }
346 }
347
348 /**
349  *
350  *
351  */
352 function Check(){
353     var StrAlert = AreMandatoriesNotOk();
354     if( ! StrAlert ){
355         document.f.submit();
356         return true;
357     } else {
358         alert(StrAlert);
359         return false;
360     }
361 }
362
363 /** 
364  * check if z3950 mandatories are set or not
365  */
366 function GetZ3950Terms(){
367     var frameworkcode = document.getElementById("frameworkcode").value;
368     var strQuery = "&frameworkcode=" + frameworkcode;
369     var mandatories = new Array();
370     var mandatories_label = new Array();
371     [% FOREACH BIG_LOO IN BIG_LOOP %][% FOREACH innerloo IN BIG_LOO.innerloop %][% FOREACH subfield_loo IN innerloo.subfield_loop %][% IF ( subfield_loo.z3950_mandatory ) %]mandatories.push("[% subfield_loo.id %]");
372         mandatories_label.push("[% subfield_loo.z3950_mandatory %]");[% END %][% END %][% END %][% END %]
373     
374     for(var i=0,len=mandatories.length; i<len ; i++){
375         var field_value = document.getElementById(mandatories[i]).value;
376         if( field_value ){
377             strQuery += "&"+mandatories_label[i]+"="+field_value;
378         }
379     }
380     return strQuery;
381 }
382
383 function Changefwk() {
384     var f = document.f;
385     f.op.value = "[% op %]";
386     f.biblionumber.value = "[% biblionumberdata %]";
387     f.changed_framework.value = "changed";
388     f.submit();
389 }
390
391 //]]>
392 </script>
393 [% Asset.css("css/addbiblio.css") %]
394
395 [% INCLUDE 'select2.inc' %]
396 <script>
397   $(document).ready(function() {
398     $('.subfield_line select').select2();
399   });
400 </script>
401
402 [% IF ( bidi ) %]
403    [% Asset.css("css/right-to-left.css") %]
404 [% END %]
405 </head>
406 <body id="cat_addbiblio" class="cat">
407
408    <div id="loading">
409        <div>Loading, please wait...</div>
410    </div>
411
412 [% INCLUDE 'header.inc' %]
413
414 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>  &rsaquo; [% IF ( biblionumber ) %]Editing <em>[% title |html %]</em> (Record number [% biblionumber %])[% ELSE %]Add MARC record[% END %]</div>
415
416 <div id="doc" class="yui-t7">
417
418 <div id="bd">
419         <div id="yui-main">
420         <div class="yui-g">
421
422 <h1>
423 [% IF ( biblionumber ) %]Editing <em>[% title |html %]</em> (Record number [% biblionumber %])
424 [% ELSE %]Add MARC record [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]
425 [% END %]
426 </h1>
427
428 [% UNLESS ( number ) %]
429     <!-- show duplicate warning on tab 0 only -->
430         [% IF ( duplicatebiblionumber ) %]
431                     <div class="dialog alert">
432                         <h3>Duplicate record suspected</h3>
433                         <p>Is this a duplicate of <a class="popup" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]" onclick="openWindow('/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]&amp;popup=1', 'DuplicateBiblio','800','600'); return false;">[% duplicatetitle %]</a> ?</p>
434                         [% IF ( CAN_user_editcatalogue_edit_items ) %]<form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
435                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber %]" />
436                                                     <button type="submit" class="new"><i class="fa fa-fw fa-pencil"></i> Yes, edit existing items</button>
437                                                 </form>[% ELSE %]<form action="/cgi-bin/koha/catalogue/detail.pl" method="get">
438                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber %]" />
439                                                     <input type="submit" value="Yes: View existing items" />
440                                                 </form>[% END %]
441                         <form action="/cgi-bin/koha/cataloguing/addbiblio.pl" method="get">
442                             [% IF ( CAN_user_editcatalogue_edit_items ) %]<button type="submit" class="new" onclick="confirmnotdup('items'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>[% ELSE %]<button type="submit" class="new" onclick="confirmnotdup('view'); return false;"><i class="fa fa-fw fa-save"></i> No, save as new record</button>[% END %]
443                         </form>
444                     </div>
445         [% END %]
446     [% END %]
447
448 [% IF ( done ) %]
449     <script type="text/javascript">
450         opener.document.forms['f'].biblionumber.value=[% biblionumber %];
451         opener.document.forms['f'].title.value='[% title |html %]';
452         window.close();
453     </script>
454 [% ELSE %]
455     <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
456     <input type="hidden" value="[% IF ( biblionumber ) %]view[% ELSE %]items[% END %]" id="redirect" name="redirect" />
457     <input type="hidden" value="" id="current_tab" name="current_tab" />
458     <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
459 [% END %]
460
461 <div id="toolbar" class="btn-toolbar">
462     [% IF CAN_user_editcatalogue_edit_items or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %]
463         [% IF (circborrowernumber) %][%# fast cataloging must lead to items %]
464             <!-- Action is under fast cataloging - Save button redirecting to items -->
465             <div class="btn-group"><a href="#" id="saveanditems" class="btn btn-default btn-sm"><i class="fa fa-save"></i> Save</a></div>
466         [% ELSE %]
467             <!-- Not using fast cataloging - Display split menu -->
468             <div class="btn-group">
469                 <button class="btn btn-default btn-sm" id="saverecord"><i class="fa fa-save"></i> Save</button>
470                 <button class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
471                 <span class="caret"></span>
472                 </button>
473                 <ul class="dropdown-menu">
474                     <li><a id="saveandview" href="#">Save and view record</a></li>
475                     <li><a id="saveanditems" href="#">Save and edit items</a></li>
476                     <li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
477                 </ul>
478             </div>
479         [% END %]
480     [% ELSE %]
481         <!-- User cannot edit items - single button redirecting to view -->
482         <div class="btn-group"><a href="#" id="saveandview" class="btn btn-default btn-sm"><i class="fa fa-save"></i> Save</a></div>
483     [% END %]
484
485     [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
486         <div class="btn-group"><a class="btn btn-default btn-sm" href="#" id="z3950search"><i class="fa fa-search"></i> Z39.50/SRU search</a></div>
487     [% END %]
488
489     <div class="btn-group">
490         <button class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><i class="fa fa-cog"></i> Settings <span class="caret"></span></button>
491         <ul id="settings-menu" class="dropdown-menu">
492             [% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 %]
493                 <li><a href="#" id="switcheditor">Switch to advanced editor</a></li>
494             [% END %]
495             [% IF marcflavour != 'NORMARC' AND NOT advancedMARCEditor %]
496                 <li>
497                     <a href="#" id="marcDocsSelect"><i class="fa fa-check-square-o"></i> Show MARC tag documentation links</a>
498                 <li>
499                     <a href="#" id="marcTagsSelect"><i class="fa fa-check-square-o"></i> Show tags</a>
500                 </li>
501             [% END %]
502             <li class="divider"></li>
503             <li class="nav-header">Change framework</li>
504             <li>
505                 <a href="#" class="change-framework" data-frameworkcode="">
506                     [% IF ( frameworkcode ) %]
507                        <i class="fa fa-fw">&nbsp;</i>
508                     [% ELSE %]
509                         <i class="fa fa-fw fa-check"></i>
510                     [% END %]
511                     Default
512                 </a>
513             </li>
514             [% FOREACH framework IN frameworks%]
515                 <li>
516                     <a href="#" class="change-framework" data-frameworkcode="[% framework.frameworkcode %]">
517                         [% IF framework.frameworkcode == frameworkcode %]
518                             <i class="fa fa-fw fa-check"></i>
519                         [% ELSE %]
520                             <i class="fa fa-fw">&nbsp;</i>
521                         [% END %]
522                         [% framework.frameworktext %]
523                     </a>
524                 </li>
525             [% END %]
526         </ul>
527     </div>
528     [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
529         [% IF (biblionumber) %]
530             [% IF ( BiblioDefaultViewmarc ) %]
531                 <div class="btn-group">
532                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
533                 </div>
534             [% ELSIF ( BiblioDefaultViewlabeled_marc ) %]
535                 <div class="btn-group">
536                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
537                 </div>
538             [% ELSIF ( BiblioDefaultViewisbd ) %]
539                 <div class="btn-group">
540                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
541                 </div>
542             [% ELSE %]
543                 <div class="btn-group">
544                     <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
545                 </div>
546             [% END %]
547         [% ELSE %]
548             <a class="btn btn-default btn-sm" id="cancel" href="/cgi-bin/koha/cataloguing/addbooks.pl">Cancel</a>
549         [% END %]
550     [% END %]
551 </div>
552
553 [% IF bib_doesnt_exist %]
554     <div class="dialog alert">
555         The record you are trying to edit doesn't exist.<br>
556         <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=">Add a new record</a> or <a href="/cgi-bin/koha/catalogue/search.pl">do a catalog search</a>.
557     </div>
558 [% END %]
559
560 [% IF ( popup ) %]
561         <input type="hidden" name="mode" value="popup" />
562 [% END %]
563         <input type="hidden" name="op" value="addbiblio" />
564         <input type="hidden" id="frameworkcode" name="frameworkcode" value="[% frameworkcode %]" />
565         <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
566         <input type="hidden" name="breedingid" value="[% breedingid %]" />
567         <input type="hidden" name="changed_framework" value="" />
568
569 <div id="addbibliotabs" class="toptabs numbered">
570     <ul>
571         [% FOREACH BIG_LOO IN BIG_LOOP %]
572         <li><a href="#tab[% BIG_LOO.number %]XX">[% BIG_LOO.number %]</a></li>
573         [% END %]
574     </ul>
575
576 [% FOREACH BIG_LOO IN BIG_LOOP %]
577     <div id="tab[% BIG_LOO.number %]XX">
578     
579     [% FOREACH innerloo IN BIG_LOO.innerloop %]
580     [% IF ( innerloo.tag ) %]
581     <div class="tag" id="tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]">
582         <div class="tag_title" id="div_indicator_tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]">
583             [% IF advancedMARCEditor %]
584                 <a href="#" tabindex="1" class="tagnum" title="[% innerloo.tag_lib %] - Click to Expand this Tag" onclick="ExpandField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;">[% innerloo.tag %]</a>
585             [% ELSE %]
586                 <span class="tagnum" title="[% innerloo.tag_lib %]">[% innerloo.tag %]</span>
587                 [% IF marcflavour != 'NORMARC' %]<a href="#" class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag %]'); return false;">&nbsp;?</a>[% END %]
588             [% END %]
589                 [% IF ( innerloo.fixedfield ) %]
590                     <input type="text"
591                         tabindex="1"
592                         class="indicator flat"
593                         style="display:none;"
594                         name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]"
595                         size="1"
596                         maxlength="1"
597                         value="[% innerloo.indicator1 %]" />
598                     <input type="text"
599                         tabindex="1"
600                         class="indicator flat"
601                         style="display:none;"
602                         name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]"
603                         size="1"
604                         maxlength="1"
605                         value="[% innerloo.indicator2 %]" />
606                 [% ELSE %]
607                     <input type="text"
608                         tabindex="1"
609                         class="indicator flat"
610                         name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]"
611                         size="1"
612                         maxlength="1"
613                         value="[% innerloo.indicator1 %]" />
614                     <input type="text"
615                         tabindex="1"
616                         class="indicator flat"
617                         name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]"
618                         size="1"
619                         maxlength="1"
620                         value="[% innerloo.indicator2 %]" />
621                 [% END %] -
622
623             [% UNLESS advancedMARCEditor %]
624                 <a href="#" tabindex="1" class="expandfield" onclick="ExpandField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;" title="Click to Expand this Tag">[% innerloo.tag_lib %]</a>
625             [% END %]
626                 <span class="field_controls">
627                 [% IF ( innerloo.repeatable ) %]
628                     <a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]','0','[% advancedMARCEditor %]'); return false;" title="Repeat this Tag">
629                         <img src="[% interface %]/[% theme %]/img/repeat-tag.png" alt="Repeat this Tag" />
630                     </a>
631                 [% END %]
632                     <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;" title="Delete this Tag">
633                         <img src="[% interface %]/[% theme %]/img/delete-tag.png" alt="Delete this Tag" />
634                     </a>
635                 </span>
636
637         </div>
638
639         [% FOREACH subfield_loo IN innerloo.subfield_loop %]
640             <!--  One line on the marc editor -->
641             <div class="subfield_line" style="[% subfield_loo.visibility %]" id="subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]">
642
643                 [% UNLESS advancedMARCEditor %]
644                     [% IF ( subfield_loo.fixedfield ) %]<label for="tag_[% subfield_loo.tag %]_subfield_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]" style="display:none;" class="labelsubfield">
645                     [% ELSE %]<label for="tag_[% subfield_loo.tag %]_subfield_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]" class="labelsubfield">
646                     [% END %]
647                 [% END %]
648
649                 <span class="subfieldcode">
650                     [% IF ( subfield_loo.fixedfield ) %]
651                         <img class="buttonUp" style="display:none;" src="[% interface %]/[% theme %]/img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]')" alt="Move Up" title="Move Up" />
652                     [% ELSE %]
653                         <img class="buttonUp" src="[% interface %]/[% theme %]/img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]')" alt="Move Up" title="Move Up" />
654                     [% END %]
655                         <input type="text"
656                             title="[% subfield_loo.marc_lib %]"
657                             style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;"
658                             name="tag_[% subfield_loo.tag %]_code_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]"
659                             value="[% subfield_loo.subfield %]"
660                             size="1"
661                             maxlength="1"
662                             class="flat"
663                             tabindex="0" />
664                 </span>
665
666                 [% UNLESS advancedMARCEditor %]
667                     [% IF ( subfield_loo.mandatory ) %]<span class="subfield subfield_mandatory">[% ELSE %]<span class="subfield">[% END %]
668                         [% subfield_loo.marc_lib %]
669                         [% IF ( subfield_loo.mandatory ) %]<span class="mandatory_marker" title="This field is mandatory">*</span>[% END %]
670                     </span>
671                     </label>
672                 [% END %]
673                 
674                 [% SET mv = subfield_loo.marc_value %]
675                 [% IF ( mv.type == 'text' ) %]
676                     [% IF ( mv.readonly == 1 ) %]
677                     <input type="text" id="[%- mv.id -%]" name="[%- mv.name -%]" value="[%- mv.value -%]" class="input_marceditor readonly" tabindex="1" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" readonly="readonly" />
678                     [% ELSE %]
679                     <input type="text" id="[%- mv.id -%]" name="[%- mv.name -%]" value="[%- mv.value -%]" class="input_marceditor" tabindex="1" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" />
680                     [% END %]
681                     [% IF ( mv.authtype ) %]
682                     <span class="subfield_controls"><a href="#" class="buttonDot tag_editor" onclick="openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'[%- mv.authtype -%]','biblio'); return false;" tabindex="1" title="Tag editor">Tag editor</a></span>
683                     [% END %]
684                 [% ELSIF ( mv.type == 'text_complex' ) %]
685                     <input type="text" id="[%- mv.id -%]" name="[%- mv.name -%]" value="[%- mv.value -%]" class="input_marceditor framework_plugin" tabindex="1" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" />
686                     <span class="subfield_controls">
687                         [% IF mv.noclick %]
688                             <a href="#" class="buttonDot tag_editor disabled" tabindex="-1" title="No popup"></a>
689                         [% ELSE %]
690                             <a href="#" id="buttonDot_[% mv.id %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor">Tag editor</a>
691                         [% END %]
692                     </span>
693                     [% mv.javascript %]
694                 [% ELSIF ( mv.type == 'hidden' ) %]
695                     <input tabindex="1" type="hidden" id="[%- mv.id -%]" name="[%- mv.name -%]" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
696                 [% ELSIF ( mv.type == 'textarea' ) %]
697                     <textarea cols="70" rows="4" id="[%- mv.id -%]" name="[%- mv.name -%]" class="input_marceditor" tabindex="1">[%- mv.value -%]</textarea>
698                 [% ELSIF ( mv.type == 'select' ) %]
699                     <select name="[%- mv.name -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id -%]">
700                     [% FOREACH aval IN mv.values %]
701                         [% IF aval == mv.default %]
702                         <option value="[%- aval -%]" selected="selected">[%- mv.labels.$aval -%]</option>
703                         [% ELSE %]
704                         <option value="[%- aval -%]">[%- mv.labels.$aval -%]</option>
705                         [% END %]
706                     [% END %]
707                     </select>
708                 [% END %]
709                 
710                 <span class="subfield_controls">
711                 [% IF ( subfield_loo.repeatable ) %]
712                     <a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]','[% advancedMARCEditor %]'); return false;">
713                         <img src="[% interface %]/[% theme %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
714                     </a>
715                     <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]'); return false;">
716                         <img src="[% interface %]/[% theme %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" />
717                     </a>
718                 [% END %]
719                 </span>
720                 
721             </div>
722             <!-- End of the line -->
723         [% END %]
724
725     </div>
726     [% END %]<!-- if innerloo.tag -->
727     [% END %]<!-- BIG_LOO.innerloop -->
728     </div>
729 [% END %]<!-- BIG_LOOP -->
730
731 </div><!-- tabs -->
732
733 [%# Fields for fast cataloging %]
734 <input type="hidden" name="barcode" value="[% barcode %]" />
735 <input type="hidden" name="branch" value="[% branch %]" />
736 <input type="hidden" name="circborrowernumber" value="[% circborrowernumber %]" />
737 <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
738 <input type="hidden" name="duedatespec" value="[% duedatespec %]" />
739 [%# End of fields for fast cataloging %]
740
741 </form>
742
743 </div>
744 </div>
745 </div>
746
747 [% INCLUDE 'intranet-bottom.inc' %]