1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
2 <title>Koha › Cataloging › <!-- TMPL_IF NAME="biblionumber" -->Editing <!-- TMPL_VAR NAME="title" escape="html" --> (Record Number <!-- TMPL_VAR name="biblionumber" -->)<!-- TMPL_ELSE -->Add MARC Record<!-- /TMPL_IF --></title>
3 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
4 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/yui/plugins/bubbling-min.js"></script>
5 <script type="text/javascript">
8 var fields_in_use = {};
9 $(document).ready(function() {
10 $('#addbibliotabs > ul').tabs().bind('show.ui-tabs', function(e, ui) {
11 $("#"+ui.panel.id+" input:eq(0)").focus();
13 $('.tag').each(function() {
14 var field_id = this.getAttribute('id').substring(0, 7);
15 if (field_id in fields_in_use) {
16 fields_in_use[field_id]++;
18 fields_in_use[field_id] = 1;
21 $('.subfield_line').each(function() {
22 var field_id = this.getAttribute('id').substring(0, 12);
23 if (field_id in fields_in_use) {
24 fields_in_use[field_id]++;
26 fields_in_use[field_id] = 1;
31 $('#header_search > ul').tabs().bind('show.ui-tabs', function(e, ui) { $('#header_search > div:not(.ui-tabs-hide)').find('input').eq(0).focus(); });
33 function confirmnotdup(redirect){
34 $("#confirm_not_duplicate").attr("value","1");
35 $("#redirect").attr("value",redirect);
44 var StrAlert = AreMandatoriesNotOk();
54 function Dopop(link,i) {
55 defaultvalue = document.getElementById(i).value;
56 window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
60 * this function open a popup to search on z3950 server.
62 function PopupZ3950() {
63 var strQuery = GetZ3950Terms();
65 window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
69 function PopupMARCFieldDoc(field, blocknumber) {
70 <!-- TMPL_IF NAME="MARC21" -->
71 _MARC21FieldDoc(field);
73 _UNIMARCFieldDoc(field, blocknumber);
77 function _MARC21FieldDoc(field) {
79 window.open("http://www.loc.gov/marc/bibliographic/bdleader.html");
80 } else if (field < 900) {
81 window.open("http://www.loc.gov/marc/bibliographic/bd" + ("000"+field).slice(-3) + ".html");
83 window.open("http://www.loc.gov/marc/bibliographic/bd9xx.html");
87 function _UNIMARCFieldDoc(field, blocknumber) {
88 /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
89 seems to be the only version available that can be linked to per tag. More recent
90 versions of the UNIMARC standard are available on the IFLA website only as
94 window.open("http://archive.ifla.org/VI/3/p1996-1/uni.htm");
95 } else if (field < 100) {
96 window.open("http://archive.ifla.org/VI/3/p1996-1/uni"+blocknumber+".htm#b" + ("000"+field).slice(-3));
97 } else if (field < 900) {
98 window.open("http://archive.ifla.org/VI/3/p1996-1/uni"+blocknumber+".htm#" + ("000"+field).slice(-3));
100 window.open("http://archive.ifla.org/VI/3/p1996-1/uni9.htm");
105 * check if mandatory subfields are written
107 function AreMandatoriesNotOk(){
108 var mandatories = new Array();
109 var mandatoriesfields = new Array();
110 var tab = new Array();
111 var label = new Array();
113 var tabflag= new Array();
114 <!-- TMPL_LOOP NAME='BIG_LOOP' -->
115 <!-- TMPL_LOOP NAME='innerloop' -->
116 <!-- TMPL_IF NAME="mandatory" -->
117 mandatoriesfields.push(new Array("<!-- TMPL_VAR NAME="tag" -->","<!-- TMPL_VAR NAME="index" --><!-- TMPL_VAR NAME="random" -->","<!-- TMPL_VAR NAME="index" -->"));
119 <!-- TMPL_LOOP NAME='subfield_loop'-->
120 <!-- TMPL_IF NAME='mandatory'-->mandatories.push("<!-- TMPL_VAR NAME='id' -->");
121 tab.push("<!-- TMPL_VAR NAME='number' -->");
122 label.push("<!-- TMPL_VAR NAME='marc_lib' -->");
127 var StrAlert = _("Can't save this record because the following field aren't filled:");
129 for(var i=0,len=mandatories.length; i<len ; i++){
130 var tag=mandatories[i].substr(4,3);
131 var subfield=mandatories[i].substr(17,1);
132 var tagnumber=mandatories[i].substr(19,mandatories[i].lastIndexOf("_")-19);
133 tabflag[tag+subfield+tagnumber]=new Array();
134 tabflag[tag+subfield+tagnumber][0]=0;
135 if( ! document.getElementById(mandatories[i]).value){
136 tabflag[tag+subfield+tagnumber][0] = 0 + tabflag[tag+subfield+tagnumber] ;
137 document.getElementById(mandatories[i]).setAttribute('class','subfield_not_filled');
138 document.getElementById(mandatories[i]).focus();
139 tabflag[tag+subfield+tagnumber][1]=label[i];
140 tabflag[tag+subfield+tagnumber][2]=tab[i];
142 tabflag[tag+subfield+tagnumber][0] = 1;
145 for (var tagsubfieldid in tabflag){
146 if (tabflag[tagsubfieldid][0]==0){
147 var tag=tagsubfieldid.substr(0,3);
148 var subfield=tagsubfieldid.substr(3,1);
149 StrAlert += "\t* "+_("tag ")+tag+_(" subfield ")+subfield+" "+tabflag[tagsubfieldid][1]+_(" in tab ")+tabflag[tagsubfieldid][2]+"\n";
150 //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n";
155 /* Check for mandatories field(not subfields) */
156 for(var i=0,len=mandatoriesfields.length; i<len; i++){
158 arr = mandatoriesfields[i];
159 divid = "tag_" + arr[0] + "_" + arr[1];
160 varegexp = new RegExp("^tag_" + arr[0] + "_code_");
162 if(parseInt(arr[0]) >= 10){
163 elem = document.getElementById(divid);
164 eleminputs = elem.getElementsByTagName('input');
166 for(var j=0,len2=eleminputs.length; j<len2; j++){
168 if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
169 inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
171 for( var k=0; k<len2; k++){
172 if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
177 elemselect = elem.getElementsByTagName('select');
178 for( var k=0; k<elemselect.length; k++){
179 if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
186 elemtextareas = elem.getElementsByTagName('textarea');
187 for(var j=0,len2=elemtextareas.length; j<len2; j++){
188 // this bit assumes that the only textareas in this context would be for subfields
189 if (elemtextareas[j].value) {
199 StrAlert += _("\t* Field ") + arr[0] + _(" is mandatory, at least one of its subfields must be filled.") + "\n";
212 * check if z3950 mandatories are set or not
214 function GetZ3950Terms(){
215 var strQuery="&frameworkcode="+document.forms['f'].frameworkcode.value;
216 var mandatories = new Array();
217 var mandatories_label = new Array();
218 <!-- TMPL_LOOP NAME='BIG_LOOP' --><!-- TMPL_LOOP NAME='innerloop' --><!-- TMPL_LOOP NAME='subfield_loop'--><!-- TMPL_IF NAME='z3950_mandatory'-->mandatories.push("<!-- TMPL_VAR NAME='id' -->");
219 mandatories_label.push("<!-- TMPL_VAR NAME='z3950_mandatory' -->");<!-- /TMPL_IF --><!-- /TMPL_LOOP --><!-- /TMPL_LOOP --><!-- /TMPL_LOOP -->
221 for(var i=0,len=mandatories.length; i<len ; i++){
222 var field_value = document.getElementById(mandatories[i]).value;
224 strQuery += "&"+mandatories_label[i]+"="+field_value;
230 function Changefwk(FwkList) {
231 var fwk = FwkList.options[FwkList.selectedIndex].value;
232 window.location = "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=<!--TMPL_VAR Name="biblionumber"-->&breedingid=<!-- TMPL_VAR name="breedingid" -->&frameworkcode="+fwk;
236 // returns the subfieldcode based upon subfieldid writing
237 function getSubfieldcode(tagsubfieldid){
238 // 3 : tag +3 : tagnumber +4 : number of _ +8 subfield -1 begins at 0
239 return tagsubfieldid.substr(3+3+4+8-1,1);
242 // Take the base of tagsubfield information (removing the subfieldcodes and subfieldindexes)
243 // returns the filter
244 function getTagInputnameFilter(tagsubfieldid){
245 var tagsubfield=tagsubfieldid.substr(0,tagsubfieldid.lastIndexOf("_"));
246 var tagcode=tagsubfield.substr(tagsubfield.lastIndexOf("_"));
247 tagsubfield=tagsubfield.substr(0,tagsubfield.lastIndexOf("_"));
248 tagsubfield=tagsubfield.substr(0,tagsubfield.lastIndexOf("_"));
249 tagsubfield=tagsubfield+"_."+tagcode;
253 function openAuth(tagsubfieldid,authtype) {
254 // let's take the base of tagsubfield information (removing the indexes and the codes
255 var element=document.getElementById(tagsubfieldid);
256 var tagsubfield=getTagInputnameFilter(tagsubfieldid);
257 var elementsubfcode=getSubfieldcode(element.name);
258 var mainmainstring=element.value;
260 var inputs = element.parentNode.parentNode.getElementsByTagName("input");
262 for (var myindex =0; myindex<inputs.length;myindex++){
263 if (inputs[myindex].name && inputs[myindex].name.match(tagsubfield)){
264 var subfieldcode=getSubfieldcode(inputs[myindex].name);
265 if (isNaN(parseInt(subfieldcode)) && inputs[myindex].value != "" && subfieldcode!=elementsubfcode){
266 mainstring=inputs[myindex].value+" "+mainstring;
270 newin=window.open("../authorities/auth_finder.pl?authtypecode="+ authtype+ "&index="+tagsubfieldid+"&value_mainstr="+encodeURI(mainmainstring)+"&value_main="+encodeURI(mainstring), "_blank",'width=700,height=550,toolbar=false,scrollbars=yes');
274 function ExpandField(index) {
275 var original = document.getElementById(index); //original <div>
276 var divs = original.getElementsByTagName('div');
277 for(var i=0,divslen = divs.length ; i<divslen ; i++){ // foreach div
278 if(divs[i].getAttribute('id').match(/^subfield/)){ // if it s a subfield
279 if (divs[i].style.display == 'block') {
280 divs[i].style.display = 'none';
282 divs[i].style.display = 'block';
289 * To clone a field or a subfield by clicking on '+' button
291 function CloneField(index) {
292 var original = document.getElementById(index); //original <div>
293 fields_in_use[index.substr(0, 7)]++;
294 var clone = original.cloneNode(true);
295 var new_key = CreateKey();
296 var new_id = original.getAttribute('id')+new_key;
298 clone.setAttribute('id',new_id); // setting a new id for the parent div
300 var divs = clone.getElementsByTagName('div');
302 <!-- TMPL_UNLESS NAME='hide_marc'--> // No indicator if hide_marc
303 // setting a new name for the new indicator
304 for(var i=0; i < 2; i++) {
305 var indicator = clone.getElementsByTagName('input')[i];
306 indicator.setAttribute('name',indicator.getAttribute('name')+new_key);
308 <!-- /TMPL_UNLESS -->
310 // settings all subfields
311 for(var i=0,divslen = divs.length ; i<divslen ; i++){ // foreach div
312 if(divs[i].getAttribute("id").match(/^subfield/)){ // if it s a subfield
314 // set the attribute for the new 'div' subfields
315 divs[i].setAttribute('id',divs[i].getAttribute('id')+new_key);
317 var inputs = divs[i].getElementsByTagName('input');
320 for( j = 0 ; j < inputs.length ; j++ ) {
321 if(inputs[j].getAttribute("id") && inputs[j].getAttribute("id").match(/^tag_/) ){
322 inputs[j].value = "";
326 inputs[0].setAttribute('id',inputs[0].getAttribute('id')+new_key);
327 inputs[0].setAttribute('name',inputs[0].getAttribute('name')+new_key);
330 id_input = inputs[1].getAttribute('id')+new_key;
331 inputs[1].setAttribute('id',id_input);
332 inputs[1].setAttribute('name',inputs[1].getAttribute('name')+new_key);
334 try{ // it s a select if it is not an input
335 var selects = divs[i].getElementsByTagName('select');
336 id_input = selects[0].getAttribute('id')+new_key;
337 selects[0].setAttribute('id',id_input);
338 selects[0].setAttribute('name',selects[0].getAttribute('name')+new_key);
339 }catch(e2){ // it is a textarea if it s not a select or an input
340 var textaeras = divs[i].getElementsByTagName('textarea');
341 id_input = textaeras[0].getAttribute('id')+new_key;
342 textaeras[0].setAttribute('id',id_input);
343 textaeras[0].setAttribute('name',textaeras[0].getAttribute('name')+new_key);
347 <!-- TMPL_UNLESS NAME='advancedMARCEditor'-->
348 // when cloning a subfield, re set its label too.
349 var labels = divs[i].getElementsByTagName('label');
350 labels[0].setAttribute('for',id_input);
351 <!-- /TMPL_UNLESS -->
353 <!-- TMPL_UNLESS NAME='hide_marc'-->
354 // updating javascript parameters on button up
355 var imgs = divs[i].getElementsByTagName('img');
356 imgs[0].setAttribute('onclick',"upSubfield(\'"+divs[i].getAttribute('id')+"\');");
357 <!-- /TMPL_UNLESS -->
359 // setting its '+' and '-' buttons
361 var anchors = divs[i].getElementsByTagName('a');
362 for (var j = 0; j < anchors.length; j++) {
363 if(anchors[j].getAttribute('class') == 'buttonPlus'){
364 anchors[j].setAttribute('onclick',"CloneSubfield('" + divs[i].getAttribute('id') + "')");
365 } else if (anchors[j].getAttribute('class') == 'buttonMinus') {
366 anchors[j].setAttribute('onclick',"UnCloneField('" + divs[i].getAttribute('id') + "')");
371 // do nothig if ButtonPlus & CloneButtonPlus don t exist.
377 spans = divs[i].getElementsByTagName('a');
383 if(!CloneButtonPlus){ // it s impossible to have + ... (buttonDot AND buttonPlus)
384 buttonDot = spans[0];
388 var buttonDotOnClick = buttonDot.getAttribute('onclick');
389 if(buttonDotOnClick.match('Clictag')){ // -1- It s a plugin
390 var re = /\('.*'\)/i;
391 buttonDotOnClick = buttonDotOnClick.replace(re,"('"+inputs[1].getAttribute('id')+"')");
392 if(buttonDotOnClick){
393 buttonDot.setAttribute('onclick',buttonDotOnClick);
396 if(buttonDotOnClick.match('Dopop')) { // -2- It's a auth value
397 var re1 = /&index=.*',/;
400 buttonDotOnClick = buttonDotOnClick.replace(re1,"&index="+inputs[1].getAttribute('id')+"',");
401 buttonDotOnClick = buttonDotOnClick.replace(re2,",'"+inputs[1].getAttribute('id')+"')");
403 if(buttonDotOnClick){
404 buttonDot.setAttribute('onclick',buttonDotOnClick);
409 // do not copy the script section.
410 var script = spans[0].getElementsByTagName('script')[0];
411 spans[0].removeChild(script);
413 // do nothing if there is no script
419 <!-- TMPL_UNLESS NAME='hide_marc'-->
420 var buttonUp = divs[i].getElementsByTagName('img')[0];
421 buttonUp.setAttribute('onclick',"upSubfield('" + divs[i].getAttribute('id') + "')");
422 <!-- /TMPL_UNLESS -->
424 } else { // it's a indicator div
425 if(divs[i].getAttribute('id').match(/^div_indicator/)){
426 var inputs = divs[i].getElementsByTagName('input');
427 inputs[0].setAttribute('id',inputs[0].getAttribute('id')+new_key);
428 inputs[1].setAttribute('id',inputs[1].getAttribute('id')+new_key);
432 var anchors = divs[i].getElementsByTagName('a');
433 for (var j = 0; j < anchors.length; j++) {
434 if (anchors[j].getAttribute('class') == 'buttonPlus') {
435 anchors[j].setAttribute('onclick',"CloneField('" + new_id + "')");
436 } else if (anchors[j].getAttribute('class') == 'buttonMinus') {
437 anchors[j].setAttribute('onclick',"UnCloneField('" + new_id + "')");
438 } else if (anchors[j].getAttribute('class') == 'expandfield') {
439 anchors[j].setAttribute('onclick',"ExpandField('" + new_id + "')");
444 // do nothig CloneButtonPlus doesn't exist.
451 // insert this line on the page
452 original.parentNode.insertBefore(clone,original.nextSibling);
455 function CloneSubfield(index){
456 var original = document.getElementById(index); //original <div>
457 fields_in_use[index.substr(0, 12)]++;
458 var clone = original.cloneNode(true);
459 var new_key = CreateKey();
460 var new_id = original.getAttribute('id')+new_key;
461 // set the attribute for the new 'div' subfields
462 var inputs = clone.getElementsByTagName('input');
463 var selects = clone.getElementsByTagName('select');
464 var textareas = clone.getElementsByTagName('textarea');
469 for(var i=0,len=inputs.length; i<len ; i++ ){
470 id_input = inputs[i].getAttribute('id')+new_key;
471 inputs[i].setAttribute('id',id_input);
472 inputs[i].setAttribute('name',inputs[i].getAttribute('name')+new_key);
477 for(var i=0,len=selects.length; i<len ; i++ ){
478 id_input = selects[i].getAttribute('id')+new_key;
479 selects[i].setAttribute('id',selects[i].getAttribute('id')+new_key);
480 selects[i].setAttribute('name',selects[i].getAttribute('name')+new_key);
484 for(var i=0,len=textareas.length; i<len ; i++ ){
485 id_input = textareas[i].getAttribute('id')+new_key;
486 textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
487 textareas[i].setAttribute('name',textareas[i].getAttribute('name')+new_key);
490 // Changing the "..." link's onclick attribute for plugin callback
491 var links = clone.getElementsByTagName('a');
493 var buttonDotOnClick = link.getAttribute('onclick');
494 if(buttonDotOnClick.match('Clictag')){ // -1- It s a plugin
495 var re = /\('.*'\)/i;
496 buttonDotOnClick = buttonDotOnClick.replace(re,"('"+linkid+"')");
497 if(buttonDotOnClick){
498 link.setAttribute('onclick',buttonDotOnClick);
503 <!-- TMPL_UNLESS NAME='advancedMARCEditor' -->
504 // when cloning a subfield, reset its label too.
505 var label = clone.getElementsByTagName('label')[0];
506 label.setAttribute('for',id_input);
507 <!-- /TMPL_UNLESS -->
509 // setting a new id for the parent div
510 clone.setAttribute('id',new_id);
513 var buttonUp = clone.getElementsByTagName('img')[0];
514 buttonUp.setAttribute('onclick',"upSubfield('" + new_id + "')");
515 var anchors = clone.getElementsByTagName('a');
517 for(var i = 0 ,lenanchors = anchors.length ; i < lenanchors ; i++){
518 if(anchors[i].getAttribute('class') == 'buttonPlus'){
519 anchors[i].setAttribute('onclick',"CloneSubfield('" + new_id + "')");
520 } else if (anchors[i].getAttribute('class') == 'buttonMinus') {
521 anchors[i].setAttribute('onclick',"UnCloneField('" + new_id + "')");
527 // do nothig if ButtonPlus & CloneButtonPlus don't exist.
529 // insert this line on the page
530 original.parentNode.insertBefore(clone,original.nextSibling);
534 * This function removes or clears unwanted subfields
536 function UnCloneField(index) {
537 var original = document.getElementById(index);
539 if (index.match("tag")) {
540 field_id = index.substr(0, 7);
542 field_id = index.substr(0, 12);
544 if (1 == fields_in_use[field_id]) {
545 // clear inputs, but don't delete
546 $(":input.input_marceditor", original).each(function(){
547 // thanks to http://www.learningjquery.com/2007/08/clearing-form-data for
548 // hint about clearing selects correctly
549 var type = this.type;
550 var tag = this.tagName.toLowerCase();
551 if (type == 'text' || type == 'password' || tag == 'textarea') {
553 } else if (type == 'checkbox' || type == 'radio') {
554 this.checked = false;
555 } else if (tag == 'select') {
556 this.selectedIndex = -1;
559 $(":input.indicator", original).val("");
561 original.parentNode.removeChild(original);
562 fields_in_use[field_id]--;
567 * This function create a random number
569 function CreateKey(){
570 return parseInt(Math.random() * 100000);
574 * This function allows to move a subfield up by clickink on the 'up' button .
576 function upSubfield(index) {
578 var line = document.getElementById(index); // get the line where the user has clicked.
580 return; // this line doesn't exist...
582 var tag = line.parentNode; // get the dad of this line. (should be "<div id='tag_...'>")
584 // getting all subfields for this tag
585 var subfields = tag.getElementsByTagName('div');
586 var subfieldsLength = subfields.length;
588 if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
590 // among all subfields
591 for(var i=0;i<subfieldsLength;i++){
592 if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
593 if(i==1){ // if the clicked subfield is on the top
594 tag.appendChild(subfields[1]);
597 var lineAbove = subfields[i-1];
598 tag.insertBefore(line,lineAbove);
605 function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
606 subfield = document.getElementById(index);
607 subfield.style.display = 'block';
608 label = document.getElementById(labelindex);
609 label.style.display='none';
613 <link type="text/css" rel="stylesheet" href="<!-- TMPL_VAR NAME="themelang" -->/css/addbiblio.css" />
616 <div id="yui-cms-loading">
617 <div id="yui-cms-float">
618 Loading, please wait...
621 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/yui/plugins/loading-min.js"></script>
622 <script type="text/javascript">
625 // configuring the loading mask
626 YAHOO.widget.Loading.config({
632 <!-- TMPL_INCLUDE NAME="header.inc" -->
633 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a> › <!-- TMPL_IF NAME="biblionumber" -->Editing <em><!-- TMPL_VAR NAME="title" escape="html" --></em> (Record Number <!-- TMPL_VAR name="biblionumber" -->)<!-- TMPL_ELSE -->Add MARC Record<!-- /TMPL_IF --></div>
635 <div id="doc" class="yui-t7">
643 <h1><!-- TMPL_IF NAME="biblionumber" -->Editing <em><!-- TMPL_VAR NAME="title" escape="html" --></em> (Record Number <!-- TMPL_VAR name="biblionumber" -->)</h1><!-- TMPL_ELSE -->Add MARC Record</h1><!-- /TMPL_IF -->
645 <!-- TMPL_UNLESS name="number" -->
646 <!-- show duplicate warning on tab 0 only -->
647 <!-- TMPL_IF name="duplicatebiblionumber" -->
648 <div class="dialog alert">
649 <h4>Duplicate Record suspected</h4>
650 <p>Is this a duplicate of <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR name="duplicatebiblionumber" -->" onclick="openWindow('../MARCdetail.pl?biblionumber=<!-- TMPL_VAR name="duplicatebiblionumber" -->&popup=1', 'Duplicate biblio'; return false;)"><!-- TMPL_VAR name="duplicatetitle" --></a>?</p>
651 <!-- TMPL_IF NAME="CAN_user_editcatalogue_edit_items" --><form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
652 <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR name="duplicatebiblionumber" -->" />
653 <input type="submit" class="edit" value="Yes: Edit existing items" />
654 </form><!-- TMPL_ELSE --><form action="/cgi-bin/koha/catalogue/detail.pl" method="get">
655 <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR name="duplicatebiblionumber" -->" />
656 <input type="submit" value="Yes: View existing items" />
657 </form><!-- /TMPL_IF -->
658 <form action="/cgi-bin/koha/cataloguing/addbiblio.pl" method="get">
659 <!-- TMPL_IF NAME="CAN_user_editcatalogue_edit_items" --><input type="button" class="save" onclick="confirmnotdup('items'); return false;" value="No: Save as New Record" /><!-- TMPL_ELSE --><input type="button" class="save" onclick="confirmnotdup('view'); return false;" value="No: Save as New Record" /><!-- /TMPL_IF -->
663 <!-- /TMPL_UNLESS -->
665 <!--TMPL_IF Name="done"-->
666 <script type="text/javascript">
667 opener.document.forms['f'].biblionumber.value=<!--TMPL_VAR Name="biblionumber"-->;
668 opener.document.forms['f'].title.value='<!--TMPL_VAR Name="title" ESCAPE="HTML"-->';
672 <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
673 <input type="hidden" value="<!-- tmpl_if name="biblionumber" -->view<!-- tmpl_else -->items<!-- /tmpl_if -->" id="redirect" name="redirect" />
674 <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
679 <script type="text/javascript">
682 // prepare DOM for YUI Toolbar
684 $(document).ready(function() {
685 $("#z3950searchc").empty();
686 $("#savebutton").empty();
690 function redirect(dest){
691 $("#redirect").attr("value",dest);
694 <!-- TMPL_IF NAME="CAN_user_editcatalogue_edit_items" -->
695 var onOption = function () {
700 { text: _("Save and view record"), value: 1, onclick: {fn:function(){redirect("view");}} },
701 { text: _("Save and edit items"), value: 2, onclick: {fn:function(){redirect("items");}} }
705 // YUI Toolbar Functions
707 function yuiToolbar() {
708 <!-- TMPL_IF NAME="CAN_user_editcatalogue_edit_items" -->
709 var savesplitmenu = new YAHOO.widget.Button({
713 name: "savemenubutton",
715 container: "savebutton"
718 savesplitmenu.on("click", onOption);
720 new YAHOO.widget.Button({
724 container: "savebutton",
725 onclick: {fn:function(){redirect("view");}}
728 new YAHOO.widget.Button({
731 label: _("Z39.50 Search"),
732 container: "z3950searchc",
733 onclick: {fn:function(){PopupZ3950()}}
741 <li id="savebutton"><input id="addbiblio" type="submit" value="Save" /></li>
742 <li id="z3950searchc"><input type="button" id="z3950search" value="Z39.50 Search" onclick="PopupZ3950(); return false;" /></li>
743 <li id="changeframework"><label for="Frameworks">Change framework: </label>
744 <select name="Frameworks" id="Frameworks" onchange="Changefwk(this);">
745 <option value="Default">Default</option>
746 <!-- TMPL_LOOP NAME="frameworkcodeloop" -->
747 <option value="<!-- TMPL_VAR NAME="value"-->" <!-- TMPL_VAR NAME="selected" -->>
748 <!-- TMPL_VAR NAME="frameworktext" -->
752 <input type="hidden" name="op" value="addbiblio" /></li>
756 <!--TMPL_IF Name="popup"-->
757 <input type="hidden" name="mode" value="popup" />
759 <input type="hidden" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" />
760 <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
761 <input type="hidden" name="breedingid" value="<!-- TMPL_VAR NAME="breedingid" -->" />
763 <div id="addbibliotabs" class="toptabs numbered">
764 <ul><!-- TMPL_LOOP name="BIG_LOOP" -->
765 <li> <!-- TMPL_IF name="number" -->
766 <a href="/cgi-bin/koha/cataloguing/addbiblio.pl#tab<!-- TMPL_VAR name="number" -->XX"><!-- TMPL_VAR name="number"--></a>
768 <a href="/cgi-bin/koha/cataloguing/addbiblio.pl#tab<!-- TMPL_VAR name="number" -->XX"><!-- TMPL_VAR name="number"--></a>
769 <!-- /TMPL_IF --></li>
770 <!-- /TMPL_LOOP --></ul>
772 <!-- TMPL_LOOP name="BIG_LOOP" -->
773 <!-- hide every tab except the 1st -->
774 <!-- TMPL_IF name="number" -->
775 <div id="tab<!-- TMPL_VAR name="number" -->XX">
777 <div id="tab<!-- TMPL_VAR name="number" -->XX">
781 <!-- TMPL_LOOP NAME="innerloop" -->
782 <!-- TMPL_IF NAME="tag" -->
783 <div class="tag" id="tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->">
784 <div class="tag_title" id="div_indicator_tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->">
785 <!-- TMPL_UNLESS name="hide_marc" -->
786 <!-- TMPL_IF NAME="advancedMARCEditor" -->
787 <a href="#" tabindex="1" class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib"--> - Click to Expand this Tag" onclick="ExpandField('tag_<!-- TMPL_VAR NAME="tag"-->_<!-- TMPL_VAR NAME='index' --><!-- TMPL_VAR NAME="random" -->'); return false;"><!-- TMPL_VAR NAME="tag" --></a>
789 <span class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --><a
790 onclick="PopupMARCFieldDoc('<!-- TMPL_VAR NAME="tag" -->', <!-- TMPL_VAR NAME="number" -->); return false;"> ?</a></span>
792 <!-- TMPL_IF NAME="fixedfield" -->
793 <input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator1_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator1" -->" />
794 <input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator2_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator2" -->" />
796 <input tabindex="1" class="indicator flat" type="text" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator1_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator1" -->" />
797 <input tabindex="1" class="indicator flat" type="text" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator2_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator2" -->" />
800 <!-- TMPL_IF NAME="fixedfield" -->
801 <input tabindex="1" type="hidden" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator1_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" value="<!-- TMPL_VAR NAME="indicator1" -->" />
802 <input tabindex="1" type="hidden" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator2_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" value="<!-- TMPL_VAR NAME="indicator2" -->" />
804 <input tabindex="1" type="hidden" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator1_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" value="<!-- TMPL_VAR NAME="indicator1" -->" />
805 <input tabindex="1" type="hidden" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator2_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" value="<!-- TMPL_VAR NAME="indicator2" -->" />
807 <!-- /TMPL_UNLESS -->
809 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
810 <a href="#" tabindex="1" class="expandfield" onclick="ExpandField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Click to Expand this Tag"><!-- TMPL_VAR NAME="tag_lib" --></a>
811 <!-- /TMPL_UNLESS -->
812 <!-- TMPL_IF name="repeatable" -->
813 <a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Repeat this Tag">+</a>
815 <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Delete this Tag">−</a>
819 <!-- TMPL_LOOP NAME="subfield_loop" -->
820 <!-- One line on the marc editor -->
821 <div class="subfield_line" style="<!-- TMPL_VAR NAME='visibility' -->; float: left; clear: left; width: 100%;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->">
823 <!--TMPL_UNLESS NAME="advancedMARCEditor" -->
824 <label for="tag_<!-- TMPL_VAR NAME='tag'-->_subfield_<!-- TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> class="labelsubfield">
825 <!-- /TMPL_UNLESS -->
827 <!-- TMPL_UNLESS name="hide_marc" -->
828 <span class="subfieldcode"><!-- TMPL_IF NAME="fixedfield" -->
829 <img class="buttonUp" style="display:none;" src="<!-- TMPL_VAR NAME="themelang" -->/../img/up.png" onclick="upSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')" alt="Move Up" title="Move Up" />
831 <img class="buttonUp" src="<!-- TMPL_VAR NAME="themelang" -->/../img/up.png" onclick="upSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')" alt="Move Up" title="Move Up" />
833 <input title="<!-- TMPL_VAR NAME='marc_lib_plain' -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" tabindex="0" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!-- TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" />
836 <input type="hidden" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!-- TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" />
838 <!-- /TMPL_UNLESS -->
840 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
841 <!-- TMPL_IF name="mandatory" --><span class="subfield subfield_mandatory"><!-- TMPL_ELSE --><span class="subfield"><!-- /TMPL_IF -->
842 <!-- TMPL_VAR NAME="marc_lib_plain" -->
843 <!-- TMPL_IF NAME="mandatory" --><span class="mandatory_marker" title="This field is mandatory">*</span><!-- /TMPL_IF -->
846 <!-- /TMPL_UNLESS -->
848 <!-- TMPL_VAR NAME="marc_value" -->
850 <!-- TMPL_IF NAME="repeatable" -->
851 <span class="subfield_controls"><a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->'); return false;"><img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" /></a>
852 <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->'); return false;"><img src="/intranet-tmpl/prog/img/delete-subfield.png" alt="Delete" title="Delete this subfield" /></a></span>
857 <!-- End of the line -->
861 <!-- /TMPL_IF --><!-- tag -->
872 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->