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