removing a lot of useless files in misc
[koha.git] / koha-tmpl / intranet-tmpl / prog / fr / cataloguing / addbiblio.tmpl
1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
2 <title>Koha &rsaquo; catalogage &rsaquo; <!-- TMPL_IF NAME="biblionumber" -->Modifier la notice MARC numéro <!-- TMPL_VAR name="biblionumber" --><!-- TMPL_ELSE -->Ajout notice MARC<!-- /TMPL_IF --></title>
3 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
4
5 <!-- TMPL_INCLUDE NAME="menus.inc" -->
6 <!-- TMPL_INCLUDE NAME="menu-catalogue.inc" -->
7         
8 <form method="post" name="f" id="f" action="addbiblio.pl">
9 <h1><!-- TMPL_IF NAME="biblionumtagfield" -->Modifier la notice MARC numéro <!-- TMPL_VAR name="biblionumber" --><!-- TMPL_ELSE -->Ajout notice MARC<!-- /TMPL_IF --></h1>
10
11 <div id="action">
12     <!-- TMPL_IF name="biblionumber" -->
13         <input type="button" value="Valider la notice bibliographique et passer aux exemplaires" onclick="Check(this.form)" accesskey="w">
14                 <!-- TMPL_ELSE -->
15         <input type="button" value="Valider la notice et aller aux exemplaires" onclick="Check(this.form)" accesskey="w">
16         <!-- /TMPL_IF -->
17     <input type="button" value="Recherche Z39.50" onclick="PopupZ3950(); return false;">
18 </div>
19 <br />
20  Avec la grille : <!--TMPL_VAR Name="framework" -->
21
22         <input type="hidden" name="op" value="addbiblio" />
23         <input type="hidden" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" />
24         <input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
25         <input type="hidden" name="breedingid" value="<!-- TMPL_VAR NAME="breedingid" -->" />
26
27
28         <div id="tabs">
29         <!-- TMPL_LOOP name="BIG_LOOP" -->
30             <!-- TMPL_IF name="number" -->
31                 <a href="JavaScript:active(<!-- TMPL_VAR name="number"-->)" class="tab_inactive" id="link<!-- TMPL_VAR name="number"-->"><!-- TMPL_VAR name="number"--></a>
32             <!-- TMPL_ELSE -->
33                 <a href="JavaScript:active(<!-- TMPL_VAR name="number"-->)" class="tab_active" id="link<!-- TMPL_VAR name="number"-->"><!-- TMPL_VAR name="number"--></a>
34             <!-- /TMPL_IF -->
35         <!--  /TMPL_LOOP -->
36         </div>
37
38 <!-- RESET PAGINATION -->
39 <!-- TMPL_LOOP name="BIG_LOOP" -->
40 <!-- hide every tab except the 1st -->
41 <!-- TMPL_IF name="number" -->
42     <div id="<!-- TMPL_VAR name="number" -->XX" class="content_hidden">
43 <!-- TMPL_ELSE -->
44     <div id="0XX" class="content_visible">
45 <!-- /TMPL_IF -->
46 <!-- TMPL_UNLESS name="number" -->
47     <!-- show duplicate warning on tab 0 only -->
48         <!-- TMPL_IF name="duplicatebiblionumber" -->
49                     <div class="error">
50                         <p class="problem">Est-ce un doublon de <a href="../cataloguing/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>
51                         <p>Vous devez soit : </p>
52                         <ul>
53                             <li>Si c'est un doublon, <a href="additem.pl?biblionumber=<!-- TMPL_VAR name="duplicatebiblionumber" -->">Modifier les exemplaires</a>de la notice existante.</li>
54                             <li>Sinon, cliquez sur <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" /> <a href="#" onclick="confirmnotdup(); return false;">Confirmer que ce n'est pas un doublon</a></li>
55                         </ul>
56                     </div>
57         <!-- /TMPL_IF -->
58     <!-- /TMPL_UNLESS -->
59     <!-- TMPL_LOOP NAME="innerloop" -->
60                 <div style=";" id="tag<!-- TMPL_VAR name="tag"-->">
61         <!-- TMPL_IF name="tag" -->
62         <p class="tag">
63             <input type="hidden" name="ind_tag" value="<!-- TMPL_VAR NAME="tag" -->">
64             <!-- TMPL_UNLESS name="hide_marc" -->
65                 <a title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></a>
66                 <!-- TMPL_IF NAME="fixedfield" -->
67                 <input tabindex="1" onblur="this.style.backgroundColor='#ffffff';" onfocus="this.style.backgroundColor='#ffff00;'" type="text"  style="display:none;"  name="indicator" size="2" maxlength="2" value="<!-- TMPL_VAR NAME="indicator" -->" class="flat"> 
68                 <!-- TMPL_ELSE -->
69                 <input tabindex="1" onblur="this.style.backgroundColor='#ffffff';" onfocus="this.style.backgroundColor='#ffff00;'" type="text"  name="indicator" size="2" maxlength="2" value="<!-- TMPL_VAR NAME="indicator" -->" class="flat"> 
70                 <!-- /TMPL_IF --> -
71             <!-- TMPL_ELSE -->
72                 <!-- TMPL_IF NAME="fixedfield" -->
73                 <input tabindex="1" type="hidden" style="display:none;" name="indicator" value="<!-- TMPL_VAR NAME="indicator" -->">
74                 <!-- TMPL_ELSE -->
75                 <input tabindex="1" type="hidden" name="indicator" value="<!-- TMPL_VAR NAME="indicator" -->">
76                 <!-- /TMPL_IF -->
77             <!-- /TMPL_UNLESS -->
78             <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
79             <!-- TMPL_VAR NAME="tag_lib" -->
80             <!-- /TMPL_UNLESS -->
81             <!-- TMPL_IF name="repeatable" -->
82             <a href="#<!-- TMPL_VAR NAME="tag" -->" onclick="javascript:this.nextSibling.type='text';this.nextSibling.focus()">+</a><input type="hidden" value="" size="2" onchange="javascript:AddField('<!-- TMPL_VAR NAME="tag" -->',this.value)" ><!-- /TMPL_IF -->
83         </p>
84         <!-- /TMPL_IF -->
85         <!-- TMPL_LOOP NAME="subfield_loop" -->
86             <p class="subfield">
87             <!-- TMPL_IF NAME="visibility" -->
88                 <a tabindex="1" style="color: grey; font-size: 80%; cursor: se-resize;" id="label<!-- TMPL_VAR name="index" -->" onclick="unHideSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->','label<!-- TMPL_VAR name="index" -->')">
89                     <!-- TMPL_VAR NAME="subfield" -->
90                 </a>
91             <!-- /TMPL_IF -->
92             <div style="<!-- TMPL_VAR NAME='visibility' -->;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='index' -->">
93                 <p>
94                 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
95                     <label <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> class="labelsubfield">
96                 <!-- /TMPL_UNLESS -->
97                 <!-- TMPL_UNLESS name="hide_marc" -->
98                     <img style="cursor: crosshair; color: grey; font-size: 80%;" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> src="<!-- TMPL_VAR NAME="themelang" -->/images/up.png" onclick="upSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->')"/>
99                         <input title="<!-- TMPL_VAR NAME="marc_lib_plain" -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" tabindex=-1 />
100                 <!-- TMPL_ELSE -->
101                     <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->"/>
102                 <!-- /TMPL_UNLESS -->
103                 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
104                     <!-- TMPL_IF name="mandatory" --><b><!-- /TMPL_IF -->
105                     <!-- TMPL_VAR NAME="marc_lib" -->
106                     <!-- TMPL_IF name="mandatory" --> *</b><!-- /TMPL_IF -->
107                     </label>
108                 <!-- /TMPL_UNLESS -->
109                 <!-- TMPL_VAR NAME="marc_value" -->
110                 <!-- TMPL_IF NAME="repeatable" -->
111                     <a style="cursor: crosshair; color: grey; font-size: 80%;" onclick="cloneSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->')">+</a>
112                 <!-- /TMPL_IF -->
113                 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->"/>
114                 <input type="hidden" name="subfieldYYY" value="<!-- TMPL_VAR NAME="subfield" -->" size="2" maxlength="1"/>
115                 <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->"/>
116                 <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->"/>
117                 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->"/>
118                 </p>
119             </div>
120         <!-- /TMPL_LOOP -->
121         </div>
122     <!-- /TMPL_LOOP -->
123     </div>
124 <!-- /TMPL_LOOP -->
125                 <div name="hidden" id="hidden" class="tab">
126                 <!-- TMPL_LOOP NAME="hidden_loop" -->
127                                 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->">
128                                 <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->">
129                                 <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->">
130                                 <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
131                                 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
132                 <!-- /TMPL_LOOP -->
133                 </div>
134                 <!-- TMPL_IF name="biblionumtagfield" -->
135                         <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="biblionumtagfield" -->">
136                         <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="biblionumtagsubfield" -->">
137                         <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="biblionumber" -->">
138                         <input type="hidden" name="mandatory" value="0">
139                         <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
140                         <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="biblioitemnumtagfield" -->">
141                         <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="biblioitemnumtagsubfield" -->">
142                         <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="biblioitemnumber" -->">
143                         <input type="hidden" name="mandatory" value="0">
144                         <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
145                         <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
146                 <!-- /TMPL_IF -->
147         </form>
148 <script language="JavaScript" type="text/javascript">
149 function loading(){
150         document.getElementById("loading").style.display = "none";
151 }
152 function confirmnotdup(){
153         document.getElementById("confirm_not_duplicate").value = 1;
154         var checkform = document.getElementById("f");
155         Check(checkform);
156 }
157
158 function active(numlayer){
159     for (i=0; i <= 10 ; i++ ) {
160         var tab;
161         try{
162                 tab = document.getElementById(i+'XX');
163                 tab.getAttribute('id'); // do not remove this line. It throws an execption.
164         }
165         catch(e){
166                 continue;
167         }
168         if (numlayer==i) {
169             tab.setAttribute("class","content_visible");
170             var tabactive=document.getElementById('link'+i);
171             tabactive.removeAttribute("class");
172             tabactive.setAttribute("class","tab_active");
173         } else {
174             tab.setAttribute("class","content_hidden");
175             try {
176                 var tabactive=document.getElementById('link'+i);
177                 tabactive.removeAttribute("class");
178                 tabactive.setAttribute("class","tab_inactive");
179             }
180             catch(e){};
181         }
182     }
183 }
184
185 function Check(f) {
186         document.body.style.cursor ="wait";
187         // Scan for nonempty fields
188         var field_is_nonempty_p = new Array();
189         for (i=0 ; i<f.field_value.length ; i++) {
190             field_is_nonempty_p[f.tag[i].value] = 0;
191         }
192         for (i=0 ; i<f.field_value.length ; i++) {
193             if (f.field_value[i].value.length != 0) {
194                 field_is_nonempty_p[f.tag[i].value] += 1;
195             }
196         }
197
198         // Scan for missing mandatory subfields
199         var total_missing_mandatory_subfields = 0;
200         var missing_mandatory_subfields = new Array();
201         for (i=0 ; i<f.field_value.length-2 ; i++) {
202                 if (f.field_value[i].value.length==0 && f.mandatory[i].value==1) {
203                     // We should not flag an error unless the tag is also
204                     // mandatory, or if something else in the tag is entered
205
206                     if (f.tag_mandatory[i].value == 1 || field_is_nonempty_p[f.tag[i].value]) {
207                                 f.field_value[i].style.backgroundColor="#FF0000";
208                                 total_missing_mandatory_subfields++;
209                         if (f.field_value[i].parentNode.tagName == "B")
210                         {
211                                 missing_mandatory_subfields.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.parentNode.id.substr(0,1) + ")");
212                         }
213                         else
214                         {
215                                 missing_mandatory_subfields.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.id.substr(0,1) + ")");
216                         }
217
218                         }
219                 } else {
220                         f.field_value[i].style.backgroundColor="#FFFFFF";
221                 }
222         }
223
224         // Scan for missing mandatory tags
225         var total_missing_mandatory_tags = 0;
226         var seen_mandatory_tag_p = new Array();
227         var missing_mandatory_tags = new Array();
228         for (i=0 ; i<f.field_value.length ; i++) {
229             var j = f.tag[i].value;
230             if (!field_is_nonempty_p[j] && f.tag_mandatory[i].value == 1) {
231                 if (seen_mandatory_tag_p[j] != 1) {
232                     seen_mandatory_tag_p[j] = 1;
233                     total_missing_mandatory_tags++;
234                     if (f.field_value[i].parentNode.tagName == "B")
235                     {
236                                 missing_mandatory_tags.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.parentNode.id.substr(0,1) + ")");
237                     }
238                     else
239                     {
240                                 missing_mandatory_tags.push(f.field_value[i].innerHTML + " (tab " +  f.field_value[i].parentNode.parentNode.parentNode.id.substr(0,1) + ")");
241                         }
242                 }
243                 f.field_value[i].style.backgroundColor="#FFFF00";
244             }
245         }
246
247         var total_errors = total_missing_mandatory_tags + total_missing_mandatory_subfields;
248         var alertString2;
249         if (total_errors!=0) {
250                 alertString2  = _("Formulaire non soumis à cause du (des) problème(s) suivant(s)");
251                 alertString2 += "\n------------------------------------------------------------------------------------\n";
252                 alertString2 += "\n- "+ total_missing_mandatory_tags +_("Champ(s) obligatoire(s) non renseigné(s)");
253                 for (i=0; i<missing_mandatory_tags.length; i++)
254                 {
255                         alertString2 += "\n--->"+ missing_mandatory_tags[i];
256                 }
257                 alertString2 += "\n- "+ total_missing_mandatory_subfields +_("champs obligatoires vides (voir les sous-champs en gras)");
258                 for (i=0; i<missing_mandatory_subfields.length; i++)
259                 {
260                         alertString2 += "\n--->"+ missing_mandatory_subfields[i];
261                 }
262                 alert(alertString2);
263         } else {
264                 document.forms['f'].submit();
265         }
266 }
267 function Dopop(link,i) {
268         defaultvalue=document.forms['f'].field_value[i].value;
269         newin=window.open(link+"&result="+defaultvalue,"value builder",'width=700,height=550,toolbar=false,scrollbars=yes');
270 }
271
272 function PopupZ3950() {
273     var strQuery="";
274         var error = 0;
275         for (i=0 ; i<document.forms['f'].field_value.length ; i++) {
276                 if (document.forms['f'].kohafield[i].value == "biblioitems.isbn"){
277                         if(document.forms['f'].field_value[i].value.length>0) {
278                     strQuery += "&isbn="+document.forms['f'].field_value[i].value;
279                 } else {
280                         error++;
281                 }
282                 }
283                 if (document.forms['f'].kohafield[i].value == "biblio.title"){
284                         if(document.forms['f'].field_value[i].value.length>0) {
285                     strQuery += "&title="+document.forms['f'].field_value[i].value;
286                 } else {
287                         error++;
288                 }
289                 }
290                 if (document.forms['f'].kohafield[i].value == "biblio.author"){
291                         if(document.forms['f'].field_value[i].value.length>0) {
292                     strQuery += "&author="+document.forms['f'].field_value[i].value;
293                 } else { 
294                         error++;
295                 }
296                 }
297                 if (document.forms['f'].kohafield[i].value == "biblioitems.issn"){
298                         if(document.forms['f'].field_value[i].value.length>0) {
299                     strQuery += "&issn="+document.forms['f'].field_value[i].value;
300                 } else {
301                         error++;
302                 }
303                 }
304         }
305         if(error < 4){
306         newin=window.open("z3950_search.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->"+strQuery,"z3950search",'width=640,height=400,location=yes,toolbar=no,scrollbars=yes');
307         } else {
308                 alert("To perform a z39.50 search, you must enter at least one of the following: \n\n ISBN\n ISSN\n Title\n Author\n");
309         }
310 }
311
312 function Changefwk(FwkList) {
313   var fwk = FwkList.options[FwkList.selectedIndex].value;
314   window.location = "addbiblio.pl?biblionumber=<!--TMPL_VAR Name="oldbiblionumber"-->&breedingid=<!-- TMPL_VAR name="breedingid" -->&frameworkcode="+fwk;
315 }
316
317 function openAuth(tagid,authtype,X) {
318     Y=X.parentNode.getAttribute("id");
319     window.open("../authorities/auth_finder.pl?authtypecode="+  authtype+ "&tagid="+Y, "value builder",'width=700,height=550,toolbar=false,scrollbars=yes');
320 }
321
322 function cloneSubfield(index) {
323     var original = document.getElementById(index); //original <div>
324     var clone = original.cloneNode(true);
325
326     // set the attribute for the new 'div' subfields
327     clone.setAttribute('id',index + index);//set another id.
328     var NumTabIndex;
329     NumTabIndex = parseInt(original.getAttribute('tabindex'));
330     if(isNaN(NumTabIndex)) NumTabIndex = 0;
331     clone.setAttribute('tabindex',NumTabIndex+1);
332     
333     var CloneButtonPlus;
334     try{
335         CloneButtonPlus = clone.getElementsByTagName('a')[0];
336         CloneButtonPlus.setAttribute('onclick',"cloneSubfield('" + index + index + "')");
337         var buttonUp = clone.getElementsByTagName('img')[0];
338         buttonUp.setAttribute('onclick',"upSubfield('" + index + index + "')");
339     }
340     catch(e){
341         // do nothig if ButtonPlus & CloneButtonPlus don't exist.
342     }
343
344     // insert this line on the page
345     original.parentNode.insertBefore(clone,original.nextSibling);
346 }
347
348 function upSubfield(index) {
349         try{
350                 var line = document.getElementById(index); // get the line where the user has clicked.
351         } catch(e) {
352                 return;
353         }
354         var tag = line.parentNode; // get the dad of this line. (should be "<div tag=XXX>")
355         
356         // getting all subfields for this tag
357         var subfields = tag.getElementsByTagName('div');
358         var subfieldsLength = subfields.length;
359         if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
360         // among all subfields 
361         for(var i=0;i<subfieldsLength;i++){ 
362                 if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
363                         if(i==0){ // if the clicked subfield is on the top
364                                 tag.appendChild(subfields[0]);
365                                 return;
366                         }else{
367                                 var lineAbove = subfields[i-1];
368                                 tag.insertBefore(line,lineAbove);
369                                 return;
370                         }
371                 }
372         }
373 }
374
375 function unHideSubfield(index,labelindex) {
376         subfield = document.getElementById(index);
377         subfield.style.display = 'block';
378         label = document.getElementById(labelindex);
379         label.style.display='none';     
380 }
381 </script>
382 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->