merging katipo changes
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / serials / alt_subscription-add.tmpl
1 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Subscription edit<!--
2 TMPL_INCLUDE NAME="doc-head-close.inc" -->
3
4 <!-- TMPL_INCLUDE NAME="menus.inc" -->
5 <!--TMPL_INCLUDE NAME="menu-serials.inc" -->
6
7 <style type="text/css">
8 <!--
9
10 #bloc25 {
11         border: 1px solid #666666;
12         margin-bottom: 5px;
13 }
14 -->
15 </style>
16
17 <script type="text/javascript" language="javascript">
18 <!--
19 // the english words used in display purposes
20 var text = new Array('Number','Volume','Issue','Month','Week','Starting with:','Rollover at:','Choose Hemisphere:','Northern','Southern',
21 'Autumn','Winter','Spring','Summer','Fall','Season','Year');
22 var is_season = 0;
23 var is_hemisphere = 1;
24
25 // common pre defined number patterns
26 function num_pattern() {
27 var patternchoice = document.getElementById("numberpattern").value;
28         switch(patternchoice){
29         case "2":
30                 document.f.add1.value=1;
31                 document.f.add2.value=1;
32                 document.f.add3.value=1;
33                 document.f.every1.value=12;
34                 document.f.every2.value=1;
35                 document.f.every3.value=1;
36                 document.f.whenmorethan1.value=9999999;
37                 document.f.whenmorethan2.value=12;
38                 document.f.whenmorethan3.value=4;
39                 document.f.setto1.value=0;
40                 document.f.setto2.value=1;
41                 document.f.setto3.value=1;
42                 document.f.lastvalue1.value=1;
43                 document.f.lastvalue2.value=1;
44                 document.f.lastvalue3.value=1;
45                 document.f.numberingmethod.value='Vol {X}, No {Y}, Issue {Z}';
46                 moreoptions(text[1],text[0],text[2]);
47                 display_table(0); // toggle info box on (1) or off (0)
48                 break;
49         case "3":
50                 document.f.add1.value=1;
51                 document.f.add2.value=1;
52                 document.f.add3.value='';
53                 document.f.every1.value=12;
54                 document.f.every2.value=1;
55                 document.f.every3.value='';
56                 document.f.whenmorethan1.value=9999999;
57                 document.f.whenmorethan2.value=12;
58                 document.f.whenmorethan3.value='';
59                 document.f.setto1.value=0;
60                 document.f.setto2.value=1;
61                 document.f.setto3.value='';
62                 document.f.lastvalue1.value=1;
63                 document.f.lastvalue2.value=1;
64                 document.f.lastvalue3.value='';
65                 document.f.numberingmethod.value='Vol {X}, No {Y}';
66                 moreoptions(text[1],text[0]);
67                 display_table(0);
68                 break;
69         case "4":
70                 document.f.add1.value=1;
71                 document.f.add2.value=1;
72                 document.f.add3.value='';
73                 document.f.every1.value=12;
74                 document.f.every2.value=1;
75                 document.f.every3.value='';
76                 document.f.whenmorethan1.value=9999999;
77                 document.f.whenmorethan2.value=12;
78                 document.f.whenmorethan3.value='';
79                 document.f.setto1.value=0;
80                 document.f.setto2.value=1;
81                 document.f.setto3.value='';
82                 document.f.lastvalue1.value=1;
83                 document.f.lastvalue2.value=1;
84                 document.f.lastvalue3.value='';
85                 document.f.numberingmethod.value='Vol {X}, Issue {Y}';
86                 moreoptions(text[1],text[2]);
87                 display_table(0);
88                 break;
89         case "5":
90                 document.f.add1.value=1;
91                 document.f.add2.value=1;
92                 document.f.add3.value='';
93                 document.f.every1.value=12;
94                 document.f.every2.value=1;
95                 document.f.every3.value='';
96                 document.f.whenmorethan1.value=9999999;
97                 document.f.whenmorethan2.value=12;
98                 document.f.whenmorethan3.value='';
99                 document.f.setto1.value=0;
100                 document.f.setto2.value=1;
101                 document.f.setto3.value='';
102                 document.f.lastvalue1.value=1;
103                 document.f.lastvalue2.value=1;
104                 document.f.lastvalue3.value='';
105                 document.f.numberingmethod.value='No {X}, Issue {Y}';
106                 moreoptions(text[0],text[2]);
107                 display_table(0);
108                 break;
109         case "6":
110                 var d = new Date();
111                 var sYear = d.getFullYear();
112                 document.f.add1.value=1;
113                 document.f.add2.value='1';
114                 document.f.add3.value='';
115                 document.f.every1.value=4;
116                 document.f.every2.value='1';
117                 document.f.every3.value='';
118                 document.f.whenmorethan1.value=9999999;
119                 document.f.whenmorethan2.value='4';
120                 document.f.whenmorethan3.value='';
121                 document.f.setto1.value=0;
122                 document.f.setto2.value='1';
123                 document.f.setto3.value='';
124                 document.f.lastvalue1.value=sYear;
125                 document.f.lastvalue2.value='1';
126                 document.f.lastvalue3.value='';
127                 document.f.periodicity.value='8';
128                 document.f.numberingmethod.value='{Y} {X}';
129                 moreoptions_seasons(text[15],sYear);
130                 display_table(0);
131                 is_season = 1;
132                 break;
133         case "7":
134                 display_table(1);
135                 document.f.irreg_check.value=1; 
136                 break;
137         default:
138                 document.f.add1.value=1;
139                 document.f.add2.value='';
140                 document.f.add3.value='';
141                 document.f.every1.value=1;
142                 document.f.every2.value='';
143                 document.f.every3.value='';
144                 document.f.whenmorethan1.value=9999999;
145                 document.f.whenmorethan2.value='';
146                 document.f.whenmorethan3.value='';
147                 document.f.setto1.value=0;
148                 document.f.setto2.value='';
149                 document.f.setto3.value='';
150                 document.f.lastvalue1.value=1;
151                 document.f.lastvalue2.value='';
152                 document.f.lastvalue3.value='';
153                 document.f.numberingmethod.value='{X}';
154                 moreoptions_daily_check(text[0]);
155                 document.f.irreg_check.value=1;
156                 display_table(0);
157                 break;
158         }
159 }
160
161 function display_table(n) {
162         if(n==1){
163                 document.getElementById("basetable").style.display = 'block';
164         } else {
165                 document.getElementById("basetable").style.display = 'none';
166         }
167 }
168
169 function modify_num_pattern() {
170         document.getElementById("numberpattern").value = '<!-- TMPL_VAR NAME="numberpattern" -->';
171         num_pattern();
172         
173         document.f.add1.value='<!-- TMPL_VAR NAME="add1" -->';
174         document.f.add2.value='<!-- TMPL_VAR NAME="add2" -->';
175         document.f.add3.value='<!-- TMPL_VAR NAME="add3" -->';
176         document.f.every1.value='<!-- TMPL_VAR NAME="every1" -->';
177         document.f.every2.value='<!-- TMPL_VAR NAME="every2" -->';
178         document.f.every3.value='<!-- TMPL_VAR NAME="every3" -->';
179         document.f.whenmorethan1.value='<!-- TMPL_VAR NAME="whenmorethan1" -->';
180         document.f.whenmorethan2.value='<!-- TMPL_VAR NAME="whenmorethan2" -->';
181         document.f.whenmorethan3.value='<!-- TMPL_VAR NAME="whenmorethan3" -->';
182         document.f.setto1.value='<!-- TMPL_VAR NAME="setto1" -->';
183         document.f.setto2.value='<!-- TMPL_VAR NAME="setto2" -->';
184         document.f.setto3.value='<!-- TMPL_VAR NAME="setto3" -->';
185         document.f.lastvalue1.value='<!-- TMPL_VAR NAME="lastvalue1" -->';
186         document.f.lastvalue2.value='<!-- TMPL_VAR NAME="lastvalue2" -->';
187         document.f.lastvalue3.value='<!-- TMPL_VAR NAME="lastvalue3" -->';
188         document.f.numberingmethod.value='<!-- TMPL_VAR NAME="numberingmethod" -->';
189
190         var more_strY;
191         var more_strZ;
192         <!-- TMPL_IF NAME="add2" -->
193         if(<!-- TMPL_VAR NAME="add2" --> > 0){
194                 more_strY="Y";
195         }
196         <!-- /TMPL_IF -->
197         <!-- TMPL_IF NAME="add3" -->
198         if(<!-- TMPL_VAR NAME="add3" --> > 0){
199                 more_strZ="Z";
200         }
201         <!-- /TMPL_IF -->
202
203         document.f.lastvaluetemp1.value='<!-- TMPL_VAR NAME="lastvalue1" -->';
204         if(more_strY){
205                 document.f.lastvaluetemp2.value='<!-- TMPL_VAR NAME="lastvalue2" -->';
206         document.f.whenmorethantemp2.value='<!-- TMPL_VAR NAME="whenmorethan2" -->';
207         }
208         if(more_strZ){
209                 document.f.lastvaluetemp3.value='<!-- TMPL_VAR NAME="lastvalue3" -->';
210         document.f.whenmorethantemp3.value='<!-- TMPL_VAR NAME="whenmorethan3" -->';
211         }
212 }
213
214 // a pre check with more options to see if 'number' and '1/day' are chosen
215 function moreoptions_daily_check(x) {
216         var periodicity = document.f.periodicity.value;
217         var errortext='';
218         if(periodicity == 1){
219                 document.getElementById("irregularity").innerHTML = '';
220                 document.getElementById("more_options").innerHTML = '';
221                 var daynames = new Array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
222                 errortext ="Please indicate which days of the week you <b>DO NOT<\/b> expect to receive issues.<br \/>";
223                 for(var j=0;j<daynames.length;j++){
224                         errortext +="<input type='checkbox' name='irregular' id='irregular"+(j+1)+"' value='"+(j+1)+"' />"+daynames[j]+" &nbsp; ";
225                 }
226         var error = errortext;
227         document.getElementById("irregularity").innerHTML = error;
228         } else {
229                 document.getElementById("irregularity").innerHTML = '';
230                 document.getElementById("more_options").innerHTML = '';
231                 moreoptions(x);
232         }
233 }
234
235 // to dispaly the more options section
236 function moreoptions(x,y,z){
237 document.getElementById("irregularity").innerHTML = '';
238 document.getElementById("more_options").innerHTML = '';
239 var textbox = '';
240         // alert("X: "+x+"Y: "+y+"Z: "+z);
241         if(x){
242                 textbox +="<table>\n<tr><td>&nbsp;<\/td><td>"+x+"<\/td>";
243                 if(y){
244                         textbox +="<td>"+y+"<\/td>";
245                         if(z){
246                                 textbox +="<td>"+z+"<\/td>";
247                         }
248                 }
249                 textbox +="<\/tr>\n";
250                 textbox +="<tr><td>"+text[5]+"<\/td><td><input type='text' name='lastvaluetemp1' size='4' onkeyup='moreoptionsupdate(\"lastvalue1\")'><\/td>\n";
251                 if(y){
252                         textbox +="<td><input type='text' name='lastvaluetemp2' size='4' onkeyup='moreoptionsupdate(\"lastvalue2\")'><\/td>\n";
253                         if(z){
254                                 textbox +="<td><input type='text' name='lastvaluetemp3' size='4' onkeyup='moreoptionsupdate(\"lastvalue3\")'><\/td>\n";
255                         }
256                 }
257                 textbox +="<\/tr>\n";
258                 if(y){
259                         textbox +="<tr><td>"+text[6]+"<\/td>";
260                         textbox +="<td><a href='javascript:irregularity_check()'>Irregularity?<\/a><\/td>\n";
261                         textbox +="<td><input type='text' name='whenmorethantemp2' size='4' onkeyup='moreoptionsupdate(\"whenmorethan2\",1)'><\/td>\n";
262                         if(z){
263                                 textbox +="<td><input type='text' name='whenmorethantemp3' size='4' onkeyup='moreoptionsupdate(\"whenmorethan3\",1)'><\/td>\n";
264                         }
265                         textbox +="<\/tr>";
266                 }
267                 textbox +="<\/table>\n";
268         }
269         document.getElementById("more_options").innerHTML = textbox;
270 }
271
272 function hemispheres(chosen){
273 var selbox = document.getElementById("season1");
274     if(selbox){
275         var selboxselected = selbox.options[selbox.selectedIndex].value;
276         selbox.options.length = 0;
277
278         if (chosen == "1") {
279                 selbox.options[selbox.options.length] = new Option(text[11],'1');
280                 selbox.options[selbox.options.length] = new Option(text[12],'2');
281                 selbox.options[selbox.options.length] = new Option(text[13],'3');
282                 selbox.options[selbox.options.length] = new Option(text[14],'4');
283                 is_hemisphere = 1;
284                 selbox.options[selboxselected-1].selected = true;
285         }
286
287         if (chosen == "2") {
288                 selbox.options[selbox.options.length] = new Option(text[13],'1');
289                 selbox.options[selbox.options.length] = new Option(text[10],'2');
290                 selbox.options[selbox.options.length] = new Option(text[11],'3');
291                 selbox.options[selbox.options.length] = new Option(text[12],'4');
292                 is_hemisphere = 2;
293                 selbox.options[selboxselected-1].selected = true;
294         }
295     }
296 }
297
298 // to dispaly the more options section for seasons
299 function moreoptions_seasons(x,y){
300 document.getElementById("irregularity").innerHTML = '';
301 document.getElementById("more_options").innerHTML = '';
302 var textbox = '';
303         // alert("X: "+x+"Year: "+y);
304         if(x){
305                 var hemi_select = parseInt('<!-- TMPL_VAR NAME="hemisphere" -->');
306                 textbox +="<table>\n<tr><td>"+ text[7]  +"<\/td><td colspan='2'><select name='hemisphere' onchange='hemispheres(this.options[this.selectedIndex].value)'>";
307                 for(var i = 1; i <= 2; i++){
308                         textbox +="<option value='"+i+"'";
309                         if(i == hemi_select){
310                                 textbox += " selected "
311                         }
312                         textbox +=">"+text[i+7]+"<\/option>";
313                 }
314                 textbox +="<\/select><\/td><\/tr>\n";
315                 textbox +="<tr><td>&nbsp;<\/td><td>"+x+"<\/td>";
316                 textbox +="<td>"+text[16]+"<\/td>";
317                 textbox +="<\/tr>\n";
318                 textbox +="<tr><td>"+text[5]+"<\/td><td><select name='lastvaluetemp2' id='season1' onchange='moreoptionsupdate(\"lastvalue2\")'>";
319                 for(var j = 1; j <= 4; j++){
320                         textbox +="<option value='"+j+"'>"+text[j+10]+"<\/option>";
321                 }
322                 textbox +="<\/select><\/td><td><select name='lastvaluetemp1' onchange='moreoptionsupdate(\"lastvalue1\")'>";
323                 for(var k = parseInt(y); k <= parseInt(y)+15; k++){
324                         textbox +="<option value='"+k+"'>"+k+"<\/option>";
325                 }
326                 textbox +="<\/select><\/td><\/tr>\n";
327                 textbox +="<tr><td>"+text[6]+"<\/td>";
328                 textbox +="<td><a href='javascript:irregularity_check()'>Irregularity?<\/a><\/td>\n";
329                 textbox +="<td><input type='text' name='whenmorethantemp2' size='4' onkeyup='moreoptionsupdate(\"whenmorethan2\",1)'><\/td>\n";
330                 textbox +="<\/tr><\/table>\n";
331         }
332         document.getElementById("more_options").innerHTML = textbox;
333 }
334
335 function irregularity_check(){
336         document.f.irreg_check.value = 1; // Irregularity button now pushed
337         var periodicity = document.f.periodicity.value;
338         var rollover = document.f.whenmorethantemp2.value;
339         if(document.f.whenmorethantemp3){
340                 rollover = document.f.whenmorethantemp3.value;
341         }
342         var error='';
343         var toobig;
344         var expected; 
345         var errortext = "<b>Warning irregularity detected<\/b><br \/>";
346         switch(periodicity){
347         case "1":
348                 if(rollover < 365) expected =365;
349                 if(rollover > 365) {
350                         expectedover=365;
351                         toobig=1;
352                 }
353                 break;
354         case "2":
355                 if(rollover < 52) expected =52;
356                 if(rollover > 52){
357                         expectedover=52;
358                         toobig=1;
359                 }
360                 break;
361         case "3":
362                 if(rollover < 26) expected =26;
363                 if(rollover > 26){
364                         expectedover=26;
365                         toobig=1;
366                 }
367                 break;
368         case "4":
369                 if(rollover < 17) expected =17;
370                 if(rollover > 17){
371                         expectedover=17;
372                         toobig=1;
373                 }
374                 break;
375         case "5":
376                 if(rollover < 12) expected =12;
377                 if(rollover > 12){
378                         expectedover=12;
379                         toobig=1;
380                 }
381                 break;
382         case "6":
383                 if(rollover < 6) expected =6;
384                 if(rollover > 6){
385                         expectedover=6;
386                         toobig=1;
387                 }
388                 break;
389         case "7":
390                 if(rollover < 4) expected =4;
391                 if(rollover > 4){
392                         expectedover=4;
393                         toobig=1;
394                 }
395                 break;
396         case "8":
397                 if(rollover < 4) expected =4;
398                 if(rollover > 4){
399                         expectedover=4;
400                         toobig=1;
401                 }
402                 break;
403         case "9":
404                 if(rollover < 2) expected =2;
405                 if(rollover > 2){
406                         expectedover=2;
407                         toobig=1;
408                 }
409                 break;
410         case "10":
411                 if(rollover < 1) expected =1;
412                 if(rollover > 1){
413                         expectedover=1;
414                         toobig=1;
415                 }
416                 break;
417         default:
418                 break;
419         }
420         if(expected){
421                 if(expected == 365){
422                         var daynames = new Array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
423                         errortext +="Please indicate which days of the week you <b>DO NOT<\/b> expect to receive issues.<br \/>";
424                         for(var j=0;j<daynames.length;j++){
425                                 errortext +="<input type='checkbox' name='irregular' id='irregular"+(j+1)+"' value='"+(j+1)+"' />"+daynames[j]+" &nbsp; ";
426                         }
427                         error=errortext;
428                 } else {
429                         errortext +=expected+" issues expected "+rollover+" were entered. <br \/>Please indicate which date(s) an issue is not expected<br \/>";
430                         var count=0;
431                         for(var i=rollover;i<expected;i++){
432                                 errortext +="<select name='irregular' id='irregular"+count+"' onchange='display_example(expected)'>\n";
433                                 errortext +=irregular_options(periodicity);
434                                 errortext +="<\/select>\n";
435                                 count++;
436                         }
437                         error=errortext;
438                 }
439         }
440         if(toobig){
441                 errortext +=expectedover+" issues expected "+rollover+" were entered.<br \/> You seem to have indicated more issues per year than expected.";
442                 error=errortext;
443         }
444         if(error.length ==0){
445                 error='No irregularities noticed';
446         }
447         display_example(expected);
448         document.getElementById("irregularity").innerHTML = error;
449 }
450
451 function irregular_options(periodicity){
452         var titles;
453         var count;
454 <!-- TMPL_IF NAME="weekarrayjs" -->
455         var weeks = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->); 
456 <!-- /TMPL_IF -->
457         var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
458         var seasons = new Array('Autumn','Winter','Spring','Summer','Fall');
459         var errortext='';
460         if(periodicity == 1) {
461                 expected = 366;
462                 titles = "Day";
463                 count = 1;
464         }
465         if(periodicity == 2 || periodicity == 3 || periodicity == 4) { 
466                 expected = 52;
467         <!-- TMPL_IF NAME="weekarrayjs" -->
468                 titles = weeks;
469                 count = <!-- TMPL_VAR NAME="weekno" -->;
470         <!-- TMPL_ELSE -->
471                 titles = "Week";
472                 count = 1;
473         <!-- /TMPL_IF -->
474         }
475         if(periodicity == 5 || periodicity == 6 || periodicity == 7 || periodicity == 8 || periodicity == 9) {
476                 if(periodicity == 8) {
477                         is_season = 1; // setting up from edit page
478                 } 
479                 if(is_season){
480                         titles = seasons;
481                         expected = 4;
482                         if(is_hemisphere == 2){
483                                 count = 2;
484                         } else {
485                                 count = 1;
486                         }
487                 } else {
488                         titles = months;
489                         expected = 12;
490                         count = 1;
491                 }
492         }
493         for(var j=1;j<=expected;j++){
494                 if(isArray(titles)){
495                         if(count>expected){
496                                 count = count-expected;
497                         }
498                         if(is_season && is_hemisphere == 1){
499                                 errortext +="<option value='"+((count*3)-2)+"'>"+titles[j]+"<\/option>\n";
500 // alert("value: "+((count*3)-2)+" title: "+titles[j]);
501                         } else if(is_season && is_hemisphere == 2){
502                                 errortext +="<option value='"+((count*3)-2)+"'>"+titles[j-1]+"<\/option>\n";
503 // alert("value: "+((count*3)-2)+" title: "+titles[j-1]);
504                         } else {
505                                 errortext +="<option value='"+count+"'>"+titles[j-1]+"<\/option>\n";
506                         }
507                         count++;
508                 } else {
509                         errortext +="<option value='"+j+"'>"+titles+" "+j+"<\/option>\n";
510                 }
511         }
512         return errortext;
513 }
514
515 function irregular_order(){
516         var irregular = '<!-- TMPL_VAR NAME="irregularity" -->';
517         var periodicity = document.f.periodicity.value;
518         var irregarray = irregular.split('|');
519         if(periodicity ==1){
520                 for(j=0;j<irregarray.length;j++){
521                 document.getElementById("irregular"+irregarray[j]).checked = true; 
522                 }
523         } else {
524                 for(i=0;i<irregarray.length;i++){    
525                         document.getElementById("irregular"+i).value = irregarray[i];
526                 }
527         }
528 }
529
530 function display_example(expected){
531         var startfrom1 = parseInt(document.f.lastvalue1.value);
532         var startfrom2 = parseInt(document.f.lastvalue2.value);
533         var startfrom3 = parseInt(document.f.lastvalue3.value);
534         var every1 = parseInt(document.f.every1.value);
535         var every2 = parseInt(document.f.every2.value);
536         var every3 = parseInt(document.f.every3.value);
537         var numberpattern = document.f.numberingmethod.value;
538         var whenmorethan2 = parseInt(document.f.whenmorethan2.value);
539         var whenmorethan3 = parseInt(document.f.whenmorethan3.value);
540         var setto2 = parseInt(document.f.setto2.value);
541         var setto3 = parseInt(document.f.setto3.value);
542         var displaytext = 'Based on the information<br \/>entered the Numbering Pattern<br \/>will look like this<br \/>\n';
543         if(startfrom3>0){
544                 var count=startfrom3-1;
545                 var count2=startfrom2;
546                 for(var i=0;i<12;i++){
547                         if(count>=whenmorethan3){
548                                 count=setto3;
549                                 if(count2>=whenmorethan2){
550                                         startfrom1++;
551                                         count2=setto2;
552                                 } else {
553                                         count2++;
554                                 }
555                         } else {
556                                 count++;
557                         }
558                         displaytext += numberpattern.replace(/{Z}/,count)+'\n';
559                         displaytext = displaytext.replace(/{Y}/,count2)+'<br \/>\n';
560                         displaytext = displaytext.replace(/{X}/,startfrom1)+'<br \/>\n';
561
562                 }
563         }
564         if(startfrom2>0 && !startfrom3){
565                 var count=startfrom2-1;
566                 for(var i=0;i<12;i++){
567                         if(count>=whenmorethan2){
568                                 startfrom1++;
569                                 count=setto2;
570                         } else {
571                                 count++;
572                         }
573
574                         if(is_season){
575                                 if(is_hemisphere == 2){
576                                         if(count == 1) {
577                                                 displaytext += numberpattern.replace(/{Y}/,text[count+12])+'\n';
578                                         } else {
579                                                 displaytext += numberpattern.replace(/{Y}/,text[count+8])+'\n';
580                                         }
581                                 } else {
582                                 displaytext += numberpattern.replace(/{Y}/,text[count+10])+'\n';
583                                 }
584                         } else {
585                                 displaytext += numberpattern.replace(/{Y}/,count)+'\n';
586                         }
587                         displaytext = displaytext.replace(/{X}/,startfrom1)+'<br \/>\n';
588                 }
589         }
590         if(startfrom1>0 && !startfrom2 && !startfrom3){
591                 for(var i=startfrom1;i<(startfrom1+12);i=i+(1*every1)){
592                         startfrom1 = i;
593                         displaytext += numberpattern.replace(/{X}/,startfrom1)+'<br \/>\n';
594                 }
595         }
596         displaytext = "<div style='padding: 5px; background-color: #CCCCCC'>"+displaytext+"<\/div>";
597         document.getElementById("displayexample").innerHTML = displaytext;
598 }
599
600 function isArray(obj) {
601    if (obj.constructor.toString().indexOf("Array") == -1)
602       return false;
603    else
604       return true;
605 }
606
607 function moreoptionsupdate(fieldnames,rollover){
608         fieldname = fieldnames;
609         fld = fieldname.length;
610         fld = fld-1;
611         fieldnametempnumber = fieldname.substr(fld);
612         //alert(fieldnametempnumber);
613         fieldnametemp = fieldname.slice(0,-1)+"temp"+fieldnametempnumber;
614         // alert(fieldnametemp);
615         eval("document.f."+fieldname+".value = document.f."+fieldnametemp+".value");
616         if(rollover){
617                 eval("document.f.every"+(fieldnametempnumber-1)+".value = document.f."+fieldnametemp+".value");
618         }
619 }
620
621
622 function check_input(e){
623         var unicode=e.charCode? e.charCode : e.keyCode
624         if (unicode!=8 && unicode !=46){ // if key isn't backspace or delete
625                 if (unicode<48||unicode>57) { // if not a number
626                         alert("Needs to be entered in digit form -eg 10");
627                         return false // disable key press
628                 }
629         }
630 }
631
632 -->
633 </script>
634
635 <div id="mainbloc">
636 <!-- TMPL_IF name="mod" -->
637         <h1>Modify subscription</h1>
638         <form method="post" name="f" action="alt_subscription-detail.pl">
639                 <input type="hidden" name="op" value="modsubscription">
640                 <input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR name="subscriptionid" -->">
641 <!-- TMPL_ELSE -->
642         <h1>Add a subscription (Serial Holdings Record)</h1>
643         <form method="post" name="f">
644                 <input type="hidden" name="op" value="addsubscription">
645 <!-- /TMPL_IF -->
646                 <input type="hidden" name="user" value="<!-- TMPL_VAR name="loggedinusername" -->">
647                 <input type="hidden" name="irreg_check" value="0">
648
649
650 <div id="bloc25">
651         <h2>Subscription information</h2>
652         <table border="0" cellspacing="5" cellpadding="0">
653         <tr><td>Librarian:</td>
654             <td><!-- TMPL_VAR name="loggedinusername" --></td></tr>
655         <tr><td><label>Supplier:</label></td>
656             <td><input type="text" name="aqbooksellerid" value="<!-- TMPL_VAR name="aqbooksellerid" -->" size="4"> (<input type="text" name="aqbooksellername" value="<!-- TMPL_VAR name="aqbooksellername" -->" disabled readonly>) <a href="#" onClick="FindAcqui(f)">Search for a Supplier</a></td>
657         <tr><td><label>Biblio</label></td>
658             <td><input type="text" name="biblionumber" value="<!-- TMPL_VAR name="biblionumber" -->" size="4"> (<input type="text" name="title" value="<!-- TMPL_VAR name="bibliotitle" -->" disabled readonly>) <a href="#" onClick="Plugin(f)">Search for Biblio</a> | <a href="/cgi-bin/koha/acqui/acqui-home.pl">Create Biblio</a></td>
659         <tr><td><label>Call Number</label></td>
660             <td><input type="text" name="callnumber" value="<!-- TMPL_VAR name="callnumber" -->" size="20"></td></tr>
661         <tr><td><label>Notes</label></td>
662             <td><textarea name="notes" cols="30" rows="2"><!-- TMPL_VAR name="notes" --></textarea></td>
663         <tr><td><b>Warning:</b></td>
664             <td>
665                 <ul>
666                         <li>Remember you <b>must</b> have created a biblio <b>before</b> creating a subscription</li>
667                         <li>You also must have selected a supplier if you want to ask for late issues</li>
668                 </ul></td></tr>
669         </table>
670 </div>
671 <div id="bloc25">
672         <h2>Planning</h2>
673         <table border="0" cellspacing="5" cellpadding="0">
674         <tr><td><label class="label100">First Issue ETA:</label></td>
675             <td> <img src="<!-- TMPL_VAR Name="themelang" -->/includes/calendar/cal.gif" id="button2" style="cursor: pointer;"  />
676
677 <input type="text" name="firstacquidate" value="<!-- TMPL_VAR name="startdate" -->" size=13 maxlength=10 id="acqui_date" style="border-width: 0px;">
678 <!-- both scripts for calendar must follow the input field --> 
679                                         <script type="text/javascript">
680                                             Calendar.setup({
681                                                 inputField:"acqui_date",
682                                                 ifFormat       :   "%d/%m/%Y",
683                                                 button         :   "button2",
684                                                 align          :   "Tl"
685                                             });
686                                         </script>
687                                         <script type="text/javascript">
688                                             Calendar.setup({
689                                                 inputField     :   "acqui_date",
690                                                 ifFormat       :   "%d/%m/%Y",
691                                                 button         :   "acqui_date",
692                                                 align          :   "Tl"
693                                             });
694                                         </script></td>
695             <td rowspan="5"><div id="displayexample"></div></td></tr>
696         <tr><td><label class="label100">Frequency: (*)</label></td>
697             <td>        <select name="periodicity" size="1">
698                                 <option value="" selected>-- please choose --</option>
699                                 <option value="">Unknown</option>
700
701                                 <!-- TMPL_IF name="periodicity1" -->
702                                         <option value="1" selected>1/day</option>
703                                 <!-- TMPL_ELSE -->
704                                         <option value="1">1/day</option>
705                                 <!-- /TMPL_IF -->
706                                 <!-- TMPL_IF name="periodicity2" -->
707                                         <option value="2" selected>1/week</option>
708                                 <!-- TMPL_ELSE -->
709                                         <option value="2">1/week</option>
710                                 <!-- /TMPL_IF -->
711                                 <!-- TMPL_IF name="periodicity3" -->
712                                         <option value="3" selected>1/2 weeks (2/month)</option>
713                                 <!-- TMPL_ELSE -->
714                                         <option value="3">1/2 weeks (2/months)</option>
715                                 <!-- /TMPL_IF -->
716                                 <!-- TMPL_IF name="periodicity4" -->
717                                         <option value="4" selected>1/3 weeks</option>
718                                 <!-- TMPL_ELSE -->
719                                         <option value="4">1/3 weeks</option>
720                                 <!-- /TMPL_IF -->
721                                 <!-- TMPL_IF name="periodicity5" -->
722                                         <option value="5" selected>1/month</option>
723                                 <!-- TMPL_ELSE -->
724                                         <option value="5">1/month</option>
725                                 <!-- /TMPL_IF -->
726                                 <!-- TMPL_IF name="periodicity6" -->
727                                         <option value="6" selected>1/2 months (6/year)</option>
728                                 <!-- TMPL_ELSE -->
729                                         <option value="6">1/2 months (6/year)</option>
730                                 <!-- /TMPL_IF -->
731                                 <!-- TMPL_IF name="periodicity7" -->
732                                         <option value="7" selected>1/3 months (1/quarter)</option>
733                                 <!-- TMPL_ELSE -->
734                                         <option value="7">1/3 months (1/quarter)</option>
735                                 <!-- /TMPL_IF -->
736                                 <!-- periodicity8 is 1/quarter, exactly like periodicity7 but will use it for seasonal option -->
737                                 <!-- TMPL_IF name="periodicity8" -->
738                                         <option value="8" selected>1/quarter (seasonal)</option>
739                                 <!-- TMPL_ELSE -->
740                                         <option value="8">1/quarter (seasonal)</option>
741                                 <!-- /TMPL_IF -->
742
743                                 <!-- TMPL_IF name="periodicity9" -->
744                                         <option value="9" selected>2/years</option>
745                                 <!-- TMPL_ELSE -->
746                                         <option value="9">2/year</option>
747                                 <!-- /TMPL_IF -->
748                                 <!-- TMPL_IF name="periodicity10" -->
749                                         <option value="10" selected>1/year</option>
750                                 <!-- TMPL_ELSE -->
751                                         <option value="10">1/year</option>
752                                 <!-- /TMPL_IF -->
753                                 <!-- TMPL_IF name="periodicity11" -->
754                                         <option value="11" selected>1/2 years</option>
755                                 <!-- TMPL_ELSE -->
756                                         <option value="11">1/2 years</option>
757                                 <!-- /TMPL_IF -->
758                         </select>
759         </td></tr>
760         <tr><td><label class="label100">Numbering Pattern:</label></td>
761             <td><select name="numbering_pattern" size="1" id="numberpattern" onchange="num_pattern()">
762                 <option value="" selected>-- please choose --</option>
763                 <!-- TMPL_IF name="numberpattern1" -->
764                         <option value="1" selected>Number</option>
765                 <!-- TMPL_ELSE -->
766                         <option value="1">Number</option>
767                 <!-- /TMPL_IF -->
768                 <!-- TMPL_IF name="numberpattern2" -->
769                         <option value="2" selected>Volume, Number, Issue</option>
770                 <!-- TMPL_ELSE -->
771                         <option value="2">Volume, Number, Issue</option>
772                 <!-- /TMPL_IF -->
773                 <!-- TMPL_IF name="numberpattern3" -->
774                         <option value="3" selected>Volume, Number</option>
775                 <!-- TMPL_ELSE -->
776                         <option value="3">Volume, Number</option>
777                 <!-- /TMPL_IF -->
778                 <!-- TMPL_IF name="numberpattern4" -->
779                         <option value="4" selected>Volume, Issue</option>
780                 <!-- TMPL_ELSE -->
781                         <option value="4">Volume, Issue</option>
782                 <!-- /TMPL_IF -->
783                 <!-- TMPL_IF name="numberpattern5" -->
784                         <option value="5" selected>Number, Issue</option>
785                 <!-- TMPL_ELSE -->
786                         <option value="5">Number, Issue</option>
787                 <!-- /TMPL_IF -->
788                 <!-- TMPL_IF name="numberpattern6" -->
789                         <option value="6" selected>Seasonal only</option>
790                 <!-- TMPL_ELSE -->
791                         <option value="6">Seasonal only</option>
792                 <!-- /TMPL_IF -->
793                 <!-- TMPL_IF name="numberpattern7" -->
794                         <option value="7" selected>None of the above</option>
795                 <!-- TMPL_ELSE -->
796                         <option value="7">None of the above</option>
797                 <!-- /TMPL_IF -->
798
799                 </select>
800 <div id="more_options"></div>
801 <div id="irregularity"></div></td></tr>
802         <tr><td><label class="label100">Begins On: (*)</label></td>
803             <td><img src="<!-- TMPL_VAR Name="themelang" -->/includes/calendar/cal.gif" id="button1" style="cursor: pointer;"  />
804 <input type="text" name="startdate" value="<!-- TMPL_VAR name="startdate" -->" size=13 maxlength=10 id="beginning_date" style="border-width: 0px;">
805 <!-- both scripts for calendar must follow the input field --> 
806                                         <script type="text/javascript">
807                                             Calendar.setup({
808                                                 inputField   : "beginning_date",
809                                                 ifFormat     : "%d/%m/%Y",
810                                                 button       : "button1",
811                                                 align        : "Tl"
812                                             });
813                                         </script>
814                                         <script type="text/javascript">
815                                             Calendar.setup({
816                                                 inputField   : "beginning_date",
817                                                 ifFormat     : "%d/%m/%Y",
818                                                 button       : "beginning_date",
819                                                 align        : "Tl"
820                                             });
821                                         </script></td></tr>
822 </table> 
823 </div>
824
825 <!--    <tr><td><label class="label100">Arrives on</label></td>
826             <td>        <select name="dow" size="1">
827                                 <option value="">None</option>
828                                 <!-- TMPL_IF name="dow1" -->
829                                         <option value="1" selected>Monday</option>
830                                 <!-- TMPL_ELSE -->
831                                         <option value="1">Monday</option>
832                                 <!-- /TMPL_IF -->
833                                 <!-- TMPL_IF name="dow2" -->
834                                         <option value="2" selected>Tuesday</option>
835                                 <!-- TMPL_ELSE -->
836                                         <option value="2">Tuesday</option>
837                                 <!-- /TMPL_IF -->
838                                 <!-- TMPL_IF name="dow3" -->
839                                         <option value="3" selected>Wednesday</option>
840                                 <!-- TMPL_ELSE -->
841                                         <option value="3">Wednesday</option>
842                                 <!-- /TMPL_IF -->
843                                 <!-- TMPL_IF name="dow4" -->
844                                         <option value="4" selected>Thursday</option>
845                                 <!-- TMPL_ELSE -->
846                                         <option value="4">Thursday</option>
847                                 <!-- /TMPL_IF -->
848                                 <!-- TMPL_IF name="dow5" -->
849                                         <option value="5" selected>Friday</option>
850                                 <!-- TMPL_ELSE -->
851                                         <option value="5">Friday</option>
852                                 <!-- /TMPL_IF -->
853                                 <!-- TMPL_IF name="dow6" -->
854                                         <option value="6" selected>Saturday</option>
855                                 <!-- TMPL_ELSE -->
856                                         <option value="6">Saturday</option>
857                                 <!-- /TMPL_IF -->
858                                 <!-- TMPL_IF name="dow7" -->
859                                         <option value="7" selected>Sunday</option>
860                                 <!-- TMPL_ELSE -->
861                                         <option value="7">Sunday</option>
862                                 <!-- /TMPL_IF -->
863                         </select></td></tr> -->
864
865 <div id="bloc25">
866         <h2>Subscription length</h2>
867                 <p><select name="subtype">
868 <!-- TMPL_LOOP NAME="subtype" -->
869 <option value="<!-- TMPL_VAR NAME="name" -->" <!-- TMPL_IF NAME="selected" --> selected="SELECTED" <!-- /TMPL_IF -->><!-- TMPL_VAR NAME="name" --></option>
870 <!-- /TMPL_LOOP -->
871 </select> <input type="text" name="sublength" value="<!-- TMPL_VAR name="sublength" -->" size="3" onkeypress="return check_input(event)"> (*) (enter amount in numerals)</p>
872
873 </div>
874 <div id="bloc25">
875         <h2>Numbering calculation</h2>
876         <p>Numbering formula: <input type="text" name="numberingmethod" value="<!-- TMPL_VAR name="numberingmethod" -->"></p>
877         <div id="basetable" style="display: none;">
878                 <table class="small">
879                         <tr>
880                                 <th>&nbsp;</th>
881                                 <th>X</th>
882                                 <th>Y</th>
883                                 <th>Z</th>
884                         </tr>
885                         <tr>
886                                 <td>Add</td>
887                                 <td>
888                                         <input type="text" name="add1" value="<!-- TMPL_VAR name="add1" -->">
889                                 </td>
890                                 <td>
891                                         <input type="text" name="add2" value="<!-- TMPL_VAR name="add2" -->">
892                                 </td>
893                                 <td>
894                                         <input type="text" name="add3" value="<!-- TMPL_VAR name="add3" -->">
895                                 </td>
896                         </tr>
897                         <tr>
898                                 <td>once every</td>
899                                 <td><input type="text" name="every1" value="<!-- TMPL_VAR name="every1" -->"></td>
900                                 <td><input type="text" name="every2" value="<!-- TMPL_VAR name="every2" -->"></td>
901                                 <td><input type="text" name="every3" value="<!-- TMPL_VAR name="every3" -->"></td>
902                         </tr>
903                         <tr>
904                                 <td>When more than</td>
905                                 <td><input type="text" name="whenmorethan1" value="<!-- TMPL_VAR name="whenmorethan1" -->"></td>
906                                 <td><input type="text" name="whenmorethan2" value="<!-- TMPL_VAR name="whenmorethan2" -->"></td>
907                                 <td><input type="text" name="whenmorethan3" value="<!-- TMPL_VAR name="whenmorethan3" -->"></td>
908                         </tr>
909                         <!-- TMPL_IF name="mod" -->
910                         <tr>
911                                 <td>The loop is for instance</td>
912                                 <td><input type="text" name="innerloop1" value="<!-- TMPL_VAR name="innerloop1" -->"></td>
913                                 <td><input type="text" name="innerloop2" value="<!-- TMPL_VAR name="innerloop2" -->"></td>
914                                 <td><input type="text" name="innerloop3" value="<!-- TMPL_VAR name="innerloop3" -->"></td>
915                         </tr>
916                         <!-- /TMPL_IF -->
917                         <tr>
918                                 <td>Set back to</td>
919                                 <td><input type="text" name="setto1" value="<!-- TMPL_VAR name="setto1" -->"></td>
920                                 <td><input type="text" name="setto2" value="<!-- TMPL_VAR name="setto2" -->"></td>
921                                 <td><input type="text" name="setto3" value="<!-- TMPL_VAR name="setto3" -->"></td>
922                         </tr>
923                         <tr>
924                                 <td>
925                                         <!-- TMPL_IF name="mod" -->
926                                                 Last value
927                                         <!-- TMPL_ELSE -->
928                                                 Begins with
929                                         <!-- /TMPL_IF -->
930                                 </td>
931                                 <td><input type="text" name="lastvalue1" value="<!-- TMPL_VAR name="lastvalue1" -->"></td>
932                                 <td><input type="text" name="lastvalue2" value="<!-- TMPL_VAR name="lastvalue2" -->"></td>
933                                 <td><input type="text" name="lastvalue3" value="<!-- TMPL_VAR name="lastvalue3" -->"></td>
934                         </tr>
935                 </table> </div>
936 </div>
937 <!-- TMPL_IF name="mod" -->
938         <input type="button" value="Save subscription" onclick="Check(this.form)" accesskey="w" class="button">
939 <!-- TMPL_ELSE -->
940         <input type="button" value="Add subscription" onclick="Check(this.form)" accesskey="w" class="button">
941 <!-- /TMPL_IF -->
942 </form>
943 </div>
944
945
946 <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->
947
948 <script language="JavaScript" type="text/javascript">
949
950 function Plugin(f)
951 {
952          window.open('subscription-bib-search.pl','FindABibIndex','width=500,height=400,toolbar=no,scrollbars=yes');
953 }
954
955 function FindAcqui(f)
956 {
957          window.open('acqui-search.pl','FindASupplier','width=500,height=400,toolbar=no,scrollbars=yes');
958 }
959
960 function Find_ISSN(f)
961 {
962          window.open('issn-search.pl','FindABibIndex','width=500,height=400,toolbar=no,scrollbars=yes');
963 }
964
965
966 function Check(f) {
967         if (f.startdate.value.length != 0 && f.sublength.value > 0) {
968                 if (f.irreg_check.value == 1) {
969                         document.f.submit();
970                 } else {
971                         if(f.numbering_pattern.value == ''){
972                                 alert("need to choose a numbering pattern");
973                         } else {
974                                 alert("need to check for irregularity by clicking 'Irregularity?'");
975                         }
976                 }
977         } else {
978                 alert('field marked with * are mandatory');
979         }
980         return false;
981 }
982 </script>
983 <!-- TMPL_IF name="mod" -->
984 <script type="text/javascript">
985 window.onload = modify_num_pattern();
986         <!-- TMPL_IF name="hemisphere" -->
987         window.onload = hemispheres(<!-- TMPL_VAR NAME="hemisphere" -->);
988         <!-- /TMPL_IF -->
989 </script>
990 <!-- /TMPL_IF -->
991 <!-- TMPL_IF name="irregularity" -->
992 <script type="text/javascript">
993 window.onload = irregularity_check();
994 window.onload = irregular_order();
995 </script>
996 <!-- /TMPL_IF -->