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