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