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