bugfixes (various), handling utf-8 without guessencoding (as suggested by joshua...
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / authorities / authorities.tmpl
1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
2 <Title>Koha -- Authority details</title>
3 <!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
4
5 <!-- TMPL_INCLUDE NAME="menus.inc" -->
6 <!-- TMPL_INCLUDE NAME="menu-authorities.inc" -->
7
8 <div id="authorities_authorities_add_or_modify">
9 <!-- TMPL_IF name="authid" -->
10   <h1>Modify authority #<!-- TMPL_VAR NAME="authid" --> (<!-- TMPL_VAR name="authtypetext" -->)</h1>
11 <!-- TMPL_ELSE -->
12   <h1>Adding authority (<!-- TMPL_VAR name="authtypetext" -->)</h1>
13 <!-- /TMPL_IF -->  
14   <form method="post" name="f">
15     <input type="hidden" name="op" value="add">
16     <input type="hidden" name="addfield_field" value="">
17     <input type="hidden" name="repeat_field" value="">
18     <input type="hidden" name="authtypecode" value="<!-- TMPL_VAR NAME="authtypecode" -->">
19     <input type="hidden" name="authid" value="<!-- TMPL_VAR NAME="authid" -->">
20
21     <div id="action">
22 <!-- TMPL_IF name="authid" -->
23       <input type="button" value="Save" onClick="Check(this.form)" accesskey="w">
24 <!-- TMPL_ELSE -->
25       <input type="button" value="Add authority" onClick="Check(this.form)" accesskey="w">
26 <!-- /TMPL_IF -->
27     </div>
28
29 <!-- TMPL_IF name="duplicateauthid" -->
30         <div class="problem">
31                 <p>Duplicate suspected with <a href='javascript:openWindow("detail.pl?authid=<!-- TMPL_VAR name="duplicateauthid" -->&popup=1", "Duplicate Authority")' class="button authority"><!-- TMPL_VAR name="duplicateauthvalue" --></a></p>
32                 <p>You must either :</p>
33                 <ul>
34                         <p><input type="checkbox" value=1 name="confirm_not_duplicate">confirm it's not a duplicate (and click on <input type="button" value="Add authority" onClick="Check(this.form)" accesskey="w" class="button authority"> again)</p>
35                         <p>Go to <a href="authorities.pl?authid=<!-- TMPL_VAR name="duplicateauthid" -->" >original authority</a></p>
36                 </ul>
37         </div>
38 <!-- /TMPL_IF -->
39
40 <!-- TMPL_LOOP NAME="0XX" -->
41     <!-- TMPL_IF name="tag" -->
42         <p class="tag">
43             <input type="hidden" name="ind_tag" value="<!-- TMPL_VAR NAME="tag" -->">
44             <!-- TMPL_UNLESS name="hide_marc" -->
45                 <a title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></a>
46                 <input tabindex="1" onblur="this.style.backgroundColor='#ffffff';" onfocus="this.style.backgroundColor='#ffffff;'" type="text" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> name="indicator" size="2" maxlength="2" value="<!-- TMPL_VAR NAME="indicator" -->" class="flat"> -
47             <!-- TMPL_ELSE -->
48                 <input tabindex="1" type="hidden" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> name="indicator" value="<!-- TMPL_VAR NAME="indicator" -->">
49             <!-- /TMPL_UNLESS -->
50             <!-- TMPL_UNLESS NAME="advancedMARCEditor" --><!-- TMPL_VAR NAME="tag_lib" --><!-- /TMPL_UNLESS -->
51             <!-- TMPL_IF name="repeatable" -->
52                 <a href="#<!-- TMPL_VAR NAME="tag" -->" onclick="javascript:this.nextSibling.type='text';this.nextSibling.focus()">+</a><input type="hidden"  value="" size="2" onchange="AddField('<!-- TMPL_VAR NAME="tag" -->',this.value)" >
53             <!-- /TMPL_IF -->
54         </p>
55     <!-- /TMPL_IF -->
56     <div>
57     <!-- TMPL_LOOP NAME="subfield_loop" -->
58         <p class="subfield">
59         <!-- TMPL_IF NAME="visibility" -->
60             <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" -->')">
61                 <!-- TMPL_VAR NAME="subfield" -->
62             </a>
63         <!-- /TMPL_IF -->
64         <div style="<!-- TMPL_VAR NAME='visibility' -->;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='index' -->">
65             <p>
66             <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
67                 <label <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> class="labelsubfield"> 
68             <!-- /TMPL_UNLESS -->
69             <!-- TMPL_UNLESS name="hide_marc" -->
70                     <img <!-- 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" -->')"/>
71                     <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" DISABLE READONLY tabindex=-1 />
72                 <!-- TMPL_ELSE -->
73                     <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->"/>
74                 <!-- /TMPL_UNLESS -->
75                 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
76                     <!-- TMPL_IF name="mandatory" --><b><!-- /TMPL_IF -->
77                     <!-- TMPL_VAR NAME="marc_lib" -->
78                     <!-- TMPL_IF name="mandatory" --> *</b><!-- /TMPL_IF -->
79                     </label>
80                 <!-- /TMPL_UNLESS -->
81                     <!-- TMPL_VAR NAME="marc_value" -->
82                     <!-- TMPL_IF NAME="repeatable" -->
83                         <a style="cursor: crosshair; color: grey; font-size: 80%;" onclick="cloneSubfield('subfield<!-- TMPL_VAR NAME="tag" --><!-- TMPL_VAR name="index" -->')">+</a>
84                     <!-- /TMPL_IF -->
85                     <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->"/>
86                     <input type="hidden" name="subfieldYYY" value="<!-- TMPL_VAR NAME="subfield" -->" size="2" maxlength="1"/>
87                     <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->"/>
88                     <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->"/>
89                     <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->"/>
90                 </p>
91         </div>
92     <!-- /TMPL_LOOP -->
93     </div>
94 <!-- /TMPL_LOOP -->
95 </div>  
96                 <div name="hidden" id="hidden" class="tab">
97                 <!-- TMPL_LOOP NAME="hidden_loop" -->
98                                 <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="tag" -->">
99                                 <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="subfield" -->">
100                                 <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->">
101                                 <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
102                                 <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
103                 <!-- /TMPL_LOOP -->
104                 </div>
105                 <!-- TMPL_IF name="oldauthnumtagfield" -->
106                         <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="oldauthnumtagfield" -->">
107                         <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="oldauthnumtagsubfield" -->">
108                         <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="authid" -->">
109                         <input type="hidden" name="mandatory" value="0">
110                         <input type="hidden" name="kohafield" value="<!-- TMPL_VAR NAME="kohafield" -->">
111                         <input type="hidden" name="tag_mandatory" value="<!-- TMPL_VAR NAME="tag_mandatory" -->">
112                         <input type="hidden" name="tag" value="<!-- TMPL_VAR NAME="oldauthtypetagfield" -->">
113                         <input type="hidden" name="subfield" value="<!-- TMPL_VAR NAME="oldauthtypetagsubfield" -->">
114                         <input type="hidden" name="field_value" value="<!-- TMPL_VAR NAME="authtypecode" -->">
115                 <!-- /TMPL_IF -->
116     <div id="action">
117 <!-- TMPL_IF name="authid" -->
118       <input type="button" value="Save" onClick="Check(this.form)" accesskey="w">
119 <!-- TMPL_ELSE -->
120       <input type="button" value="Add authority" onClick="Check(this.form)" accesskey="w">
121 <!-- /TMPL_IF -->
122     </div>
123         </form>
124 </fieldset>
125
126 <script language="JavaScript" type="text/javascript">
127 function _(s) { return s } // dummy function for gettext
128 function active(numlayer)
129 {
130         for (i=0; i < 10 ; i++ ) {
131                 ong = i+"XX";
132                 link = "link"+i;
133                 if (numlayer==i) {
134                         document.getElementById(ong).style.visibility="visible";
135                 } else {
136                         document.getElementById(ong).style.visibility="hidden";
137                 }
138         }
139 }
140 function Check(f) {
141         // Scan for nonempty fields
142         var field_is_nonempty_p = new Array();
143         for (i=0 ; i<f.field_value.length ; i++) {
144             field_is_nonempty_p[f.tag[i].value] = 0;
145         }
146         for (i=0 ; i<f.field_value.length ; i++) {
147             if (f.field_value[i].value.length != 0) {
148                 field_is_nonempty_p[f.tag[i].value] += 1;
149             }
150         }
151
152         // Scan for missing mandatory subfields
153         var total_missing_mandatory_subfields = 0;
154         for (i=0 ; i<f.field_value.length-2 ; i++) {
155                 if (f.field_value[i].value.length==0 && f.mandatory[i].value==1) {
156                     // We should not flag an error unless the tag is also
157                     // mandatory, or if something else in the tag is entered
158
159                     if (f.tag_mandatory[i].value == 1 || field_is_nonempty_p[f.tag[i].value]) {
160                         document.getElementById("error"+i).style.backgroundColor="#FF0000";
161                         total_missing_mandatory_subfields++;
162                     }
163                 } else {
164                         document.getElementById("error"+i).style.backgroundColor="#FFFFFF";
165                 }
166         }
167
168         // Scan for missing mandatory tags
169         var total_missing_mandatory_tags = 0;
170         var seen_mandatory_tag_p = new Array();
171         for (i=0 ; i<f.field_value.length ; i++) {
172             var j = f.tag[i].value;
173             if (!field_is_nonempty_p[j] && f.tag_mandatory[i].value == 1) {
174                 if (seen_mandatory_tag_p[j] != 1) {
175                     seen_mandatory_tag_p[j] = 1;
176                     total_missing_mandatory_tags++;
177                 }
178                 document.getElementById("error"+i).style.backgroundColor="#ffff00";
179             }
180         }
181
182         var total_errors = total_missing_mandatory_tags + total_missing_mandatory_subfields;
183         var alertString2;
184         if (total_errors!=0) {
185                 alertString2  = _("Form not submitted because of the following problem(s)");
186                 alertString2 += "\n------------------------------------------------------------------------------------\n";
187                 alertString2 += "\n- "+ total_missing_mandatory_tags +_(" mandatory tags empty");
188                 alertString2 += "\n- "+ total_missing_mandatory_subfields +_(" mandatory fields empty (see bold subfields)");
189                 alert(alertString2);
190         } else {
191                 document.forms['f'].submit();
192         }
193 }
194 function Dopop(link,i) {
195         defaultvalue=document.forms['f'].field_value[i].value;
196         newin=window.open(link+"&result="+defaultvalue,"value builder",'width=550,height=550,toolbar=false,scrollbars=yes');
197 }
198
199 function PopupZ3950() {
200     var strQuery="";
201         for (i=0 ; i<document.forms['f'].field_value.length ; i++) {
202                 if (document.forms['f'].kohafield[i].value == "biblioitems.isbn" && document.forms['f'].field_value[i].value.length>0) {
203                     strQuery += "&isbn="+document.forms['f'].field_value[i].value;
204                 }
205                 if (document.forms['f'].kohafield[i].value == "biblio.title" && document.forms['f'].field_value[i].value.length>0) {
206                     strQuery += "&title="+document.forms['f'].field_value[i].value;
207                 }
208                 if (document.forms['f'].kohafield[i].value == "biblio.author" &&document.forms['f'].field_value[i].value.length>0) {
209                     strQuery += "&author="+document.forms['f'].field_value[i].value;
210                 }
211                 if (document.forms['f'].kohafield[i].value == "biblioitems.issn" && document.forms['f'].field_value[i].value.length>0) {
212                     strQuery += "&issn="+document.forms['f'].field_value[i].value;
213                 }
214         }
215         newin=window.open("../z3950/search.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"+strQuery,"z3950search",'width=500,height=400,toolbar=false,scrollbars=yes');
216 }
217
218 function AddField(field,cntrepeatfield) {
219         document.forms['f'].op.value = "addfield";
220         document.forms['f'].addfield_field.value=field;
221         document.forms['f'].repeat_field.value=cntrepeatfield;
222         document.f.submit();
223 }
224
225 function cloneSubfield(index) {
226     var original = document.getElementById(index); //original <div>
227     var clone = original.cloneNode(true);
228
229     // set the attribute for the new 'div' subfields
230     clone.setAttribute('id',index + index);//set another id.
231     var NumTabIndex;
232     NumTabIndex = parseInt(original.getAttribute('tabindex'));
233     if(isNaN(NumTabIndex)) NumTabIndex = 0;
234     clone.setAttribute('tabindex',NumTabIndex+1);
235     
236     var CloneButtonPlus;
237     try{
238         CloneButtonPlus = clone.getElementsByTagName('a')[0];
239         CloneButtonPlus.setAttribute('onclick',"cloneSubfield('" + index + index + "')");
240     }
241     catch(e){
242         // do nothing if ButtonPlus & CloneButtonPlus don't exist.
243     }
244
245     // insert this line on the page
246     original.parentNode.insertBefore(clone,original.nextSibling);
247 }
248
249 function upSubfield(index) {
250         try{
251                 var line = document.getElementById(index); // get the line where the user has clicked.
252         } catch(e) {
253                 return;
254         }
255         var tag = line.parentNode; // get the dad of this line. (should be "<div tag=XXX>")
256         
257         // getting all subfields for this tag
258         var subfields = tag.getElementsByTagName('div');
259         var subfieldsLength = subfields.length;
260         if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
261         // among all subfields 
262         for(var i=0;i<subfieldsLength;i++){ 
263                 if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
264                         if(i==0){ // if the clicked subfield is on the top
265                                 tag.appendChild(subfields[0]);
266                                 return;
267                         }else{
268                                 var lineAbove = subfields[i-1];
269                                 tag.insertBefore(line,lineAbove);
270                                 return;
271                         }
272                 }
273         }
274 }
275
276 function unHideSubfield(index,labelindex) {
277         subfield = document.getElementById(index);
278         subfield.style.display = 'block';
279         label = document.getElementById(labelindex);
280         label.style.display='none';     
281 }
282
283 </script>
284
285 <!-- TMPL_INCLUDE name="intranet-bottom.inc" -->