---
 .../intranet-tmpl/prog/en/css/staff-global.css     |   20 ++
 koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js |   15 +-
 .../prog/en/modules/serials/subscription-add.tmpl  |  279 +++++++++++++-------
 koha-tmpl/intranet-tmpl/prog/img/ajax-loader.gif   |  Bin 0 -> 9427 bytes
 serials/subscription-add.pl                        |    2 +-
 5 files changed, 213 insertions(+), 103 deletions(-)
 create mode 100644 koha-tmpl/intranet-tmpl/prog/img/ajax-loader.gif

diff --git a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css 
b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
index c2636f2..e645f57 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
+++ b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
@@ -1406,6 +1406,26 @@ a.yuimenuitemlabel:hover {
        color : #000;
 }
                
+.action_test {
+}
+.action_reset {
+}
+
+#ajax_loading {
+       margin: 10px;
+       border: 2px solid #CCC;
+       padding: 5px;
+       height: 30px;
+       width: 160px;
+       background : #E8E8E8 url(../../img/ajax-loader.gif) center center 
no-repeat;
+}
+
+#displayexample {
+       padding: 5px; 
+       margin-bottom: 10px;
+       background-color: #CCCCCC;
+}
+
 #toplevelnav {
        float : left;
        margin-left : .5em;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js 
b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
index ddbc3ce..645d6f5 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
+++ b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
@@ -70,4 +70,17 @@ YAHOO.util.Event.onContentReady("changelanguage", function 
() {
                                YAHOO.util.Event.addListener("showlang", 
"click", onYahooClick);
 
                                
YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionoMenu);
-            });
\ No newline at end of file
+            });
+
+function addLoadEvent(func) {
+  // From: http://simonwillison.net/2004/May/26/addLoadEvent/
+  var oldonload = window.onload;
+  if (typeof window.onload != 'function') {
+    window.onload = func;
+  } else {
+    window.onload = function() {
+      oldonload();
+      func();
+    }
+  }
+}
diff --git 
a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tmpl 
b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tmpl
index b048091..642385a 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tmpl
@@ -11,9 +11,9 @@ var text = new 
Array(_("Number"),_("Volume"),_("Issue"),_("Month"),_("Week"),_("
 
_("Autumn"),_("Winter"),_("Spring"),_("Summer"),_("Fall"),_("Season"),_("Year"));
 var is_season = 0;
 var is_hemisphere = 1;
-<!-- TMPL_IF NAME="weekarrayjs" -->
-    var weeks = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->); 
-<!-- /TMPL_IF -->
+var irregular_issues;   // will hold irregularity object.
+
+
 function xmlhttpPost(strURL) {
     var xmlHttpReq = false;
     var self = this;
@@ -41,11 +41,24 @@ function getquerystring() {
 }
 
 function updatepage(str){
-    //document.getElementById("notes").innerHTML = str;
-       weeks = eval("(" + str + ")");
-       var titles = weeks;
+       irregular_issues.weeks = eval("(" + str + ")");
 }
 
+function ajax_loading(el) {
+       el.innerHTML = '';
+       el.innerHTML = '<div id="ajax_loading">' + _("please wait") + ' </div>';
+}
+function update_weeks(){
+       // make ajax call to get a new dates array for irregularity select.
+       //  only need to update if periodicity is weeks.  Otherwise we have 
monthnames locally.
+       //  this could also be done with the local Calendar object, obviating 
the ajax bit.
+       var periodicity = document.f.periodicity.value;
+       if(periodicity == 2 || periodicity == 3 || periodicity == 4){
+               ajax_loading(document.getElementById("irregularity"));  
+               xmlhttpPost("/cgi-bin/koha/serials/serials_planning_ajax.pl");
+               irregularity_check();
+       }
+}
 
 function YMDaToYWDa(S) {
     with (new Date(Date.UTC(S[0], S[1] - 1, S[2]))) {
@@ -68,8 +81,67 @@ return ddiff+1;
 }
 
 
+// create irregularity object.
+function IrregularPattern() {
+       this.months = new 
Array(_("January"),_("February"),_("March"),_("April"),_("May"),_("June"),_("July"),_("August"),_("September"),_("October"),_("November"),_("December"));
+       this.seasons = new 
Array(_("Autumn"),_("Winter"),_("Spring"),_("Summer"),_("Fall"));
+    this.daynames = new 
Array(_("Monday"),_("Tuesday"),_("Wednesday"),_("Thursday"),_("Friday"),_("Saturday"),_("Sunday"));
+       <!-- TMPL_IF NAME="weekarrayjs" -->
+       this.weeks = new Array(<!-- TMPL_VAR NAME="weekarrayjs" -->); 
+       <!-- /TMPL_IF -->
+       this.numskipped = 0;
+    // init:
+       var irregular = '<!-- TMPL_VAR NAME="irregularity" -->';
+    var periodicity = document.f.periodicity.value;
+    var skipped = irregular.split(',');
+    if(skipped.lengh > 0) {
+               // when loading page, irregularity_select doesn't exist.  
create it here:
+       for(j=0;j<skipped.length;j++){
+       //              if(periodicity ==1){  
+                               // for daily pubs, make checkboxes.
+    //         document.getElementById("irregular"+skipped[j]).checked = true; 
+    //     } else {
+                               
document.getElementById("irregularity_select").options[i].selected = true;
+    // }       
+               }
+               this.update;
+       }
+}
+
+IrregularPattern.prototype.update = function() {
+               this.skipped= new Array;
+               var cnt = 0;
+               // daily periodicity, we interpret irregular array as which 
days of week to skip.
+               // else irregular array is list of issues to skip
+               for( var i in document.f.irregularity_select.options ) {
+                       if( document.f.irregularity_select.options[i].selected 
) {
+                               this.skipped[cnt] = 
document.f.irregularity_select.options[i].value ;
+                               cnt++;
+                       }
+               }
+}
+
+IrregularPattern.prototype.irregular = function(index) { 
+       for( var i in this.skipped) {
+                       if( this.skipped[i] == index) {
+                               return true;
+                       }
+       }
+       return false;
+}
+
+function init_pattern() {
+       irregular_issues = new IrregularPattern();
+}
+function reset_pattern() {
+       document.getElementById("numberpattern").value = '';
+       document.getElementById("numberpattern").value = '';
+       init_pattern();
+       reset_num_pattern();
+
+}
 // common pre defined number patterns
-function num_pattern() {
+function reset_num_pattern() {
 var patternchoice = document.getElementById("numberpattern").value;
     switch(patternchoice){
     case "2":
@@ -85,9 +157,9 @@ var patternchoice = 
document.getElementById("numberpattern").value;
         document.f.setto1.value=0;
         document.f.setto2.value=1;
         document.f.setto3.value=1;
-/*        document.f.lastvalue1.value=1;
+        document.f.lastvalue1.value=1;
         document.f.lastvalue2.value=1;
-        document.f.lastvalue3.value=1;*/
+        document.f.lastvalue3.value=1;
         document.f.numberingmethod.value=_("Vol {X}, No {Y}, Issue {Z}");
         moreoptions(text[1],text[0],text[2]);
         display_table(0); // toggle info box on (1) or off (0)
@@ -105,9 +177,9 @@ var patternchoice = 
document.getElementById("numberpattern").value;
         document.f.setto1.value=0;
         document.f.setto2.value=1;
         document.f.setto3.value='';
-/*        document.f.lastvalue1.value=1;
+        document.f.lastvalue1.value=1;
         document.f.lastvalue2.value=1;
-        document.f.lastvalue3.value='';*/
+        document.f.lastvalue3.value='';
         document.f.numberingmethod.value=_("Vol {X}, No {Y}");
         moreoptions(text[1],text[0]);
         display_table(0);
@@ -125,6 +197,9 @@ var patternchoice = 
document.getElementById("numberpattern").value;
         document.f.setto1.value=0;
         document.f.setto2.value=1;
         document.f.setto3.value='';
+        document.f.lastvalue1.value=1;
+        document.f.lastvalue2.value=1;
+        document.f.lastvalue3.value='';
         document.f.numberingmethod.value=_("Vol {X}, Issue {Y}");
         moreoptions(text[1],text[2]);
         display_table(0);
@@ -193,7 +268,6 @@ var patternchoice = 
document.getElementById("numberpattern").value;
         document.f.setto1.value=0;
         document.f.setto2.value=1;
         document.f.setto3.value='';
-//         document.f.setto3.value='';
         if (document.f.lastvalue1.value==0){document.f.lastvalue1.value=sYear};
         if (document.f.lastvalue2.value==0 ||document.f.lastvalue2.value=='' 
){    
           switch (document.f.periodicity.value){
@@ -258,11 +332,12 @@ var patternchoice = 
document.getElementById("numberpattern").value;
         document.f.setto1.value=0;
         document.f.setto2.value='';
         document.f.setto3.value='';
-/*        document.f.lastvalue1.value=1;
+        document.f.lastvalue1.value=1;
         document.f.lastvalue2.value='';
-        document.f.lastvalue3.value='';*/
+        document.f.lastvalue3.value='';
         document.f.numberingmethod.value='{X}';
-        moreoptions_daily_check(text[0]);
+//        moreoptions_daily_check(text[0]);
+        moreoptions(text[0]);
         document.f.irreg_check.value=1;
         display_table(0);
         break;
@@ -272,15 +347,18 @@ var patternchoice = 
document.getElementById("numberpattern").value;
 function display_table(n) {
     if(n==1){
         document.getElementById("basetable").style.display = 'block';
-    } else {
+    } else if(n==0){
         document.getElementById("basetable").style.display = 'none';
-    }
+    } else {
+               var disp_val = ( 
document.getElementById("basetable").style.display == 'none' ) ? 'block' : 
'none' ;
+                       document.getElementById("basetable").style.display = 
disp_val;
+       }
 }
 
-function modify_num_pattern() {
+function set_num_pattern_from_template_vars() {
        if(!document.getElementById("numberpattern")){ return false; }
     document.getElementById("numberpattern").value = '<!-- TMPL_VAR 
NAME="numberpattern" -->';
-    num_pattern();
+    reset_num_pattern();
     
     document.f.add1.value='<!-- TMPL_VAR NAME="add1" -->';
     document.f.add2.value='<!-- TMPL_VAR NAME="add2" -->';
@@ -311,7 +389,6 @@ function modify_num_pattern() {
         more_strZ="Z";
     }
     <!-- /TMPL_IF -->
-
     document.f.lastvaluetemp1.value='<!-- TMPL_VAR NAME="lastvalue1" -->';
     if(more_strY){
         document.f.lastvaluetemp2.value='<!-- TMPL_VAR NAME="lastvalue2" -->';
@@ -324,15 +401,15 @@ function modify_num_pattern() {
 }
 
 // a pre check with more options to see if 'number' and '1/day' are chosen
+
 function moreoptions_daily_check(x) {
     var periodicity = document.f.periodicity.value;
     var errortext='';
-    if(periodicity == 1){
+    if(periodicity == 1){ // i.e. daily
         document.getElementById("irregularity").innerHTML = '';
-        var daynames = new 
Array(_("Monday"),_("Tuesday"),_("Wednesday"),_("Thursday"),_("Friday"),_("Saturday"),_("Sunday"));
         errortext =_("Please indicate which days of the week you <b>DO 
NOT<\/b> expect to receive issues.<br \/>");
-        for(var j=0;j<daynames.length;j++){
-            errortext +="<input type='checkbox' name='irregular' 
id='irregular"+(j+1)+"' value='"+(j+1)+"' />"+daynames[j]+" &nbsp; ";
+        for(var j=0;j<irregular_issues.daynames.length;j++){
+            errortext +="<input type='checkbox' name='irregular' 
id='irregular"+(j+1)+"' value='"+(j+1)+"' />"+irregular_issues.daynames[j]+" 
&nbsp; ";
         }
         var error = errortext;
         moreoptions(x);
@@ -344,6 +421,7 @@ function moreoptions_daily_check(x) {
     }
 }
 
+
 // to dispaly the more options section
 function moreoptions(x,y,z){
 document.getElementById("irregularity").innerHTML = '';
@@ -369,14 +447,14 @@ var textbox = '';
         textbox +="<\/tr>\n";
         if(y){
             textbox +="<tr><th scope=\"row\">"+text[6]+"<\/th>";
-            textbox +="<td><a 
href='javascript:irregularity_check()'>"+_("Irregularity?")+"<\/a><\/td>\n";
+            textbox +="<td>&nbsp;<\/td>\n";
             textbox +="<td><input type='text' name='whenmorethantemp2' 
size='4' onkeyup='moreoptionsupdate(\"whenmorethan2\",1)'><\/td>\n";
             if(z){
                 textbox +="<td><input type='text' name='whenmorethantemp3' 
size='4' onkeyup='moreoptionsupdate(\"whenmorethan3\",1)'><\/td>\n";
             }
             textbox +="<\/tr>";
         } else {
-          textbox +="<tr> <td>"+_("issues expected")+"</td><td><input 
type='text' name='issuesexpectedtemp1' size='4' 
onkeyup='moreoptionsupdate(\"issuesexpected1\",0)' value=\"" + 
document.f.issuesexpected1.value + "\" ><br/><a 
href='javascript:irregularity_check()'>"+_("Irregularity?")+"</a></td></tr>";
+          textbox +="<tr> <td>"+_("issues expected")+"</td><td><input 
type='text' name='issuesexpectedtemp1' size='4' 
onkeyup='moreoptionsupdate(\"issuesexpected1\",0)' value=\"" + 
document.f.issuesexpected1.value + "\" ></td></tr>";
         }
         textbox +="<\/table>\n";
     }
@@ -389,7 +467,7 @@ var selbox = document.getElementById("season1");
     var selboxselected = selbox.options[selbox.selectedIndex].value;
     selbox.options.length = 0;
 
-    if (chosen == "1") {
+    if ( (chosen == "1") || ( ! (chosen) && is_hemisphere == 1 )) {
         selbox.options[selbox.options.length] = new Option(text[11],'1');
         selbox.options[selbox.options.length] = new Option(text[12],'2');
         selbox.options[selbox.options.length] = new Option(text[13],'3');
@@ -398,7 +476,7 @@ var selbox = document.getElementById("season1");
         selbox.options[selboxselected-1].selected = true;
     }
 
-    if (chosen == "2") {
+    if ( (chosen == "2") || ( ! (chosen) && is_hemisphere == 2 )) {
         selbox.options[selbox.options.length] = new Option(text[13],'1');
         selbox.options[selbox.options.length] = new Option(text[10],'2');
         selbox.options[selbox.options.length] = new Option(text[11],'3');
@@ -409,7 +487,7 @@ var selbox = document.getElementById("season1");
     }
 }
 
-// to dispaly the more options section for seasons
+// to display the more options section for seasons
 function moreoptions_seasons(x,y){
 document.getElementById("irregularity").innerHTML = '';
 document.getElementById("more_options").innerHTML = '';
@@ -439,7 +517,6 @@ var textbox = '';
         }
         textbox +="<\/select><\/td><\/tr>\n";
         textbox +="<tr><th scope=\"row\">"+text[6]+"<\/th>";
-        textbox +="<td><a 
href='javascript:irregularity_check()'>"+_("Irregularity?")+"<\/a><\/td>\n";
         textbox +="<td><input type='text' name='whenmorethantemp2' size='4' 
onkeyup='moreoptionsupdate(\"whenmorethan2\",1)'><\/td>\n";
                 textbox +="<\/tr><\/table>\n";
 
@@ -451,11 +528,15 @@ function irregularity_check(){
     document.f.irreg_check.value = 1; // Irregularity button now pushed
     var periodicity = document.f.periodicity.value;
        var rollover = document.f.issuesexpected1.value;
-    if(document.f.whenmorethantemp2){
-      rollover = document.f.whenmorethantemp2.value;
+    if( (document.f.whenmorethan2) && ( document.f.whenmorethan2.value > 0) ){
+      rollover = document.f.whenmorethan2.value;
     }
-    if(document.f.whenmorethantemp3){
-        rollover = document.f.whenmorethantemp3.value;
+    if((document.f.whenmorethan3) && document.f.whenmorethan3.value > 0 ){
+        // FIXME: This assumes that whenmorethan3 issues are published in one 
year.
+               //   the other option is that whenmorethan3 * whenmorethan2 
issues are published,
+               //  e.g. where there are two volumes of six issues each in one 
year. 
+               //  a way to distinguish between these two cases is needed.
+               rollover = document.f.whenmorethan3.value;
     }
     var error='';
     var toobig;
@@ -550,24 +631,19 @@ function irregularity_check(){
         break;
     }
     if(expected){
-        if(expected == 365 || expected==730){
-            var daynames = new 
Array(_("Monday"),_("Tuesday"),_("Wednesday"),_("Thursday"),_("Friday"),_("Saturday"),_("Sunday"));
+        if(expected == 365 || expected==730){  // what about leap years ?
+                       // FIXME:  We interpret irregularity as which days per 
week for periodicity==1.
+                       //  We need two cases: one in which we're published n 
days/week, in which case irregularity should be per week,
+                       //  and a regular daily pub, where irregularity should 
be per year.
             errortext += _("Please indicate which days of the week you <b>DO 
NOT<\/b> expect to receive issues.<br \/>");
-            for(var j=0;j<daynames.length;j++){
-                errortext +="<input type='checkbox' name='irregular' 
id='irregular"+(j+1)+"' value='"+(j+1)+"' />"+daynames[j]+" &nbsp; ";
-            }
-            error=errortext;
         } else {
             errortext +=expected+_(" issues expected, ")+rollover+_(" were 
entered. <br \/>Please indicate which date(s) an issue is not expected<br \/>");
-            var count=0;
-            for(var i=rollover;i<expected;i++){
-                errortext +="<select name='irregular' id='irregular"+count+"' 
onchange='display_example(expected)'>\n";
-                errortext +=irregular_options(periodicity);
-                errortext +="<\/select>\n";
-                count++;
-            }
-            error=errortext;
-        }
+            irregular_issues.numskipped = expected - rollover;
+               }
+        errortext +="<select multiple id='irregularity_select' 
name='irregularity_select' onchange='irregular_issues.update();'>\n"; 
+               errortext +=irregular_options(periodicity);
+               errortext += "</select>";
+        error=errortext;
     }
     if(toobig){
         errortext +=expectedover+_(" issues expected, ")+rollover+_(" were 
entered.<br \/> You seem to have indicated more issues per year than 
expected.");
@@ -576,15 +652,13 @@ function irregularity_check(){
     if(error.length ==0){
         error=_("No irregularities noticed");
     }
-    display_example(expected);
+       display_example(expected);
     document.getElementById("irregularity").innerHTML = error;
 }
 
 function irregular_options(periodicity){
     var titles;
     var count;
-    var months = new 
Array(_("January"),_("February"),_("March"),_("April"),_("May"),_("June"),_("July"),_("August"),_("September"),_("October"),_("November"),_("December"));
-    var seasons = new 
Array(_("Autumn"),_("Winter"),_("Spring"),_("Summer"),_("Fall"));
     var errortext='';
     if(periodicity == 1) {
         expected = 366;
@@ -593,20 +667,19 @@ function irregular_options(periodicity){
     }
     if(periodicity == 2 || periodicity == 3 || periodicity == 4) { 
         expected = 52;
-    <!-- TMPL_IF NAME="weekarrayjs" -->
-        titles = weeks;
-        count = <!-- TMPL_VAR NAME="weekno" -->;
-    <!-- TMPL_ELSE -->
-        titles = "Week";
-        count = 1;
-    <!-- /TMPL_IF -->
+        titles = irregular_issues.weeks;
+        <!-- TMPL_IF NAME="weekno" -->
+               count = <!-- TMPL_VAR NAME="weekno" -->;
+               <!-- TMPL_ELSE -->
+               count = 1;
+               <!-- /TMPL_IF -->
     }
     if(periodicity == 5 || periodicity == 6 || periodicity == 7 || periodicity 
== 8 || periodicity == 9) {
         if(periodicity == 8) {
             is_season = 1; // setting up from edit page
         } 
         if(is_season){
-            titles = seasons;
+            titles = irregular_issues.seasons;
             expected = 4;
             if(is_hemisphere == 2){
                 count = 2;
@@ -614,11 +687,14 @@ function irregular_options(periodicity){
                 count = 1;
             }
         } else {
-            titles = months;
+            titles = irregular_issues.months;
             expected = 12;
             count = 1;
         }
     }
+       if( !expected) {
+               return '';   // don't know how to deal with irregularity.
+       }       
     for(var j=1;j<=expected;j++){
         if(isArray(titles)){
             if(count>expected){
@@ -631,30 +707,20 @@ function irregular_options(periodicity){
                 errortext +="<option 
value='"+((count*3)-2)+"'>"+titles[j-1]+"<\/option>\n";
 // alert("value: "+((count*3)-2)+" title: "+titles[j-1]);
             } else {
-                errortext +="<option 
value='"+count+"'>"+titles[j-1]+"<\/option>\n";
+                errortext += "<option value='" + count ;
+                               if(irregular_issues.irregular(j)) {
+                                       errortext += "' selected='selected" ;
+                               }
+                               errortext += "'>"+titles[j-1]+"<\/option>\n";
             }
             count++;
-        } else {
+        } else { 
             errortext +="<option value='"+j+"'>"+titles+" "+j+"<\/option>\n";
         }
     }
     return errortext;
 }
 
-function irregular_order(){
-    var irregular = '<!-- TMPL_VAR NAME="irregularity" -->';
-    var periodicity = document.f.periodicity.value;
-    var irregarray = irregular.split(',');
-    if(periodicity ==1){
-        for(j=0;j<irregarray.length;j++){
-        document.getElementById("irregular"+irregarray[j]).checked = true; 
-        }
-    } else {
-        for(i=0;i<irregarray.length;i++){    
-            document.getElementById("irregular"+i).value = irregarray[i];
-        }
-    }
-}
 
 function display_example(expected){
     var startfrom1 = parseInt(document.f.lastvalue1.value);
@@ -668,11 +734,11 @@ function display_example(expected){
     var whenmorethan3 = parseInt(document.f.whenmorethan3.value);
     var setto2 = parseInt(document.f.setto2.value);
     var setto3 = parseInt(document.f.setto3.value);
-    var displaytext = _("Based on the information<br \/>entered the Numbering 
Pattern<br \/>will look like this<br \/>\n");
+    var displaytext = _("Based on the information entered, the Numbering 
Pattern will look like this: <br \/><ul class=\"numpattern_preview\">");
     if(startfrom3>0){
         var count=startfrom3-1;
         var count2=startfrom2;
-        for(var i=0;i<12;i++){
+        for(var i = 0 ; i < 12; i++){
             if(count>=whenmorethan3){
                 count=setto3;
                 if(count2>=whenmorethan2){
@@ -684,9 +750,9 @@ function display_example(expected){
             } else {
                 count++;
             }
-            displaytext += numberpattern.replace(/{Z}/,count)+'\n';
-            displaytext = displaytext.replace(/{Y}/,count2)+'<br \/>\n';
-            displaytext = displaytext.replace(/{X}/,startfrom1)+'<br \/>\n';
+            displaytext += '<li>' + numberpattern.replace(/{Z}/,count) + 
'</li>\n';
+            displaytext = displaytext.replace(/{Y}/,count2);
+            displaytext = displaytext.replace(/{X}/,startfrom1);
 
         }
     }
@@ -725,7 +791,7 @@ function display_example(expected){
             displaytext += numberpattern.replace(/{X}/,i)+'<br \/>\n';
         }
     }
-    displaytext = "<div style='padding: 5px; background-color: 
#CCCCCC'>"+displaytext+"<\/div>";
+   //  displaytext = "<div style='padding: 5px; background-color: 
#CCCCCC'>"+displaytext+"<\/div>";
     document.getElementById("displayexample").innerHTML = displaytext;
 }
 
@@ -811,23 +877,28 @@ function Check(f) {
             if(f.numbering_pattern.value == ''){
                 alert(_("Please choose a numbering pattern"));
             } else {
-                alert(_("Please check for irregularity by clicking 
'Irregularity?'"));
+                alert(_("Please check for irregularity by clicking 'Test 
Prediction Pattern'"));
             }
         }
     } else {
         alert(_("You must choose a start date and a subscription length"));
     }
+       if(irregular_issues.numskipped < irregular_issues.skipped.length ) {
+               alert(_("You have not accounted for all missing issues."));
+       }
     return false;
 }
+
 <!-- TMPL_IF name="mod" -->
-window.onload = modify_num_pattern();
+addLoadEvent(set_num_pattern_from_template_vars);
     <!-- TMPL_IF name="hemisphere" -->
-    window.onload = hemispheres(<!-- TMPL_VAR NAME="hemisphere" -->);
+       is_hemisphere = <!-- TMPL_VAR NAME="hemisphere" --> ;
+    addLoadEvent(hemispheres);
     <!-- /TMPL_IF -->
 <!-- /TMPL_IF -->
+addLoadEvent(init_pattern);
 <!-- TMPL_IF name="irregularity" -->
-window.onload = irregularity_check();
-window.onload = irregular_order();
+addLoadEvent(irregularity_check);
 <!-- /TMPL_IF -->
 -->
 </script>
@@ -950,7 +1021,7 @@ window.onload = irregular_order();
            <label for="firstacquidate"> First issue publication date:</label>
             
                 <img src="<!-- TMPL_VAR Name="themelang" 
-->/lib/calendar/cal.gif" id="button2" style="cursor: pointer;" alt="Show 
Calendar" title="Show Calendar" />
-                <input type="text" name="firstacquidate" value="<!-- TMPL_VAR 
name="firstacquidate" -->" size="13" maxlength="10" id="acqui_date" 
style="border-width: 0px;" 
onchange='JavaScript:xmlhttpPost("/cgi-bin/koha/serials/serials_planning_ajax.pl");
 return false;'  />
+                <input type="text" name="firstacquidate" value="<!-- TMPL_VAR 
name="firstacquidate" -->" size="13" maxlength="10" id="acqui_date" 
style="border-width: 0px;" onchange='JavaScript:update_weeks(); return false;'  
/>
                 <!-- both scripts for calendar must follow the input field --> 
                 <script type="text/javascript">
                     Calendar.setup({
@@ -973,7 +1044,7 @@ window.onload = irregular_order();
         <li>
             <label for="periodicity">Frequency: (*)</label>
             
-                <select name="periodicity" size="1" id="periodicity" 
onchange="javascript:document.getElementsByName('manualhist')[0].checked=(this.value==1);
 num_pattern();">
+                <select name="periodicity" size="1" id="periodicity" 
onchange="javascript:document.getElementsByName('manualhist')[0].checked=(this.value==1);
 reset_num_pattern();">
                 <option value="" selected="selected">-- please choose 
--</option>
                 <!-- TMPL_IF name="periodicity16" -->
                 <option value="16" selected="selected">Without 
periodicity</option>
@@ -1063,7 +1134,7 @@ window.onload = irregular_order();
         <li>
            <label for="numberpattern"> Numbering pattern:</label>
             
-                <select name="numbering_pattern" size="1" id="numberpattern" 
onchange="num_pattern()">
+                <select name="numbering_pattern" size="1" id="numberpattern" 
onchange="reset_num_pattern()">
                     <option value="" selected="selected">-- please choose 
--</option>
                     <!-- TMPL_IF name="numberpattern1" -->
                         <option value="1" selected="selected">Number</option>
@@ -1153,10 +1224,21 @@ window.onload = irregular_order();
         </li>
     <li><label for="numberingmethod">Numbering formula:</label> <input 
type="text" name="numberingmethod" id="numberingmethod" value="<!-- TMPL_VAR 
name="numberingmethod" -->" />
     </li>
-    <li>
-           <div id="basetable" style="display: none;">
+    </ol>
+       </fieldset>
+</div>
+       <fieldset class="action">
+       <input type="button" class="action_test" value="Test Prediction 
Pattern" onclick="javascript:irregularity_check()" />
+       <input type="button" class="action_reset" value="Reset Pattern" 
onclick="javascript:reset_pattern()" />
+    <input type="button" class="action_save"  value="Save subscription" 
onclick="Check(this.form)" accesskey="w" />
+       </fieldset>
+    <fieldset class="action">
+    <input type="button" class="action_advanced" value="Show/Hide Advanced 
Pattern" onclick="javascript:display_table()" />
+    </fieldset>
+           <div id="basetable"  style="display: none;">
             <table class="small">
-                <tr>
+                <tr><th colspan="4">Advanced Prediction Pattern</th></tr>
+                               <tr>
                     <th>&nbsp;</th>
                     <th>X</th>
                     <th>Y</th>
@@ -1212,12 +1294,7 @@ window.onload = irregular_order();
                 </tr>
             </table>
         </div>
-        </li>
-    </ol>
-       </fieldset>
-</div>
-       <fieldset class="action">
-    <input type="button" value="Save subscription" onclick="Check(this.form)" 
accesskey="w" /></fieldset>
+
 </div>
 
 </form>
@@ -1230,7 +1307,7 @@ window.onload = irregular_order();
         <input type="hidden" name="op" value="modsubscription" />
         <input type="hidden" name="subscriptionid" value="<!-- TMPL_VAR 
name="subscriptionid" -->" />
         <input type="hidden" name="history_only" value="1" />
-        <p>Hint : you can update the serial history manually. This can be 
useful for an old subscription or to clean the existing history. Modify those 
fields with care, as future serial recieve will continue to update them 
automatically.</p>
+        <p>Hint : you can update the serial history manually. This can be 
useful for an old subscription or to clean the existing history. Modify these 
fields with care, as future serial receive will continue to update them 
automatically.</p>
         <table>
             <tr>
             <td>Subscription start date</td>
diff --git a/koha-tmpl/intranet-tmpl/prog/img/ajax-loader.gif 
b/koha-tmpl/intranet-tmpl/prog/img/ajax-loader.gif
new file mode 100644
index 
0000000000000000000000000000000000000000..ee6271efe743305fe6d49585f569d743f0554e2d
GIT binary patch
literal 9427
zcmb{2X;>5I+cxmYkbx{fLNXyN2~I-9fRL~W0Z~H;5Ct&-w1~*Af<;6H#n!fALP8cG
zVNqEG*;L%Y6{#X1Dk>^iYpG&IuoaiK+S=AGPx}sF+qds~JjY}I$HP}S{P5$v&bhC9
[EMAIL PROTECTED]|@eOi6(SmVu(fiH)D`sL^6
zKfKs|^YqSZ?Z<[EMAIL PROTECTED];M9DnltH?MyFamUrR6Q5t|`r=075lu>)cJ;C1
zq6>S*UOf5nm)Dh7j-I}E<>z02xixV=wN0nHu=krEzia=jue|^8)kmM*eLkLWSe<mV
z=<NN0p~oY4o{ql!>D9>BkCq=odq;<[EMAIL PROTECTED]({s+xN-22j4t?{N2~}H%<jN
z<Sf{|e#yS~=htVybFkpZo!+m$d;aL<({F$L{`?m=kA8OH!0qz|[EMAIL PROTECTED]@
z{ppI09osWclxCkQ-+SxqXHOqyoh(~(yyWv|V>iCKyP>1<(5Kzu&3VzSAH*M0NgFpw
z8a7-SyZzqT+RdF+r|$NbUOKS#<C+h<>e24TZRhH?d|Vy1_r1tHTNkx#iQWIv?I&N{
z{OX>jx25mlt-_w>We1d<BiF*3az8r1dtu9F<K=^8mk;[EMAIL PROTECTED]
zI^dr_oIl7>p|LR`!SYaVfu|V``&Z8I4j~&?rR1(kN48|<W*{kRQ}VOcr=$xqvsbSN
zI6vcw5cXT{lmE};9}%$lLkXa&LbawytJ52bOG=HVvhqT5fS+##N?~$T([EMAIL PROTECTED]
zj%$m;+`04S)SJjQ_ICEx0PJvh0ZR54gQXzN!QR!*8}JL7&[EMAIL PROTECTED](Z=-}qr4B%NP
[EMAIL PROTECTED]|#BD`3Lm30#MqhG2-|636G_
zj;!E<[EMAIL PROTECTED]&um6G6=f!jAjEu?T_pj$WYq9Ic)J7h+C
zvf>[EMAIL PROTECTED]>p~Pfb;OJN3u$VpX#X<=+7M9{(lepj7K#(e1N(K#kk-dCsXQu}*
z867#3|NYbZ*S16>Z-Z1sp&[EMAIL PROTECTED]
zAZUY;7q%!;[EMAIL PROTECTED]@xb6vzWS0oJ0|AZR1JLjB;R>-+
z#3JStSEIzs`&uE}w*m<~w6;&[EMAIL PROTECTED]&Mv+FVS<!Hr{Bp33mSZc4?`V|W
zJ5{Pz@;s4o9S{oTPzl@(WlHprL+6B2E4dyHp$+*%hpD>v#NPAdv-UFtfavyrrT3-W
[EMAIL PROTECTED])Y{xElo7aX9<D%oaAFiqG;!$^qGIG|78OZkH#Fq4U);ZT`sjo6N(%^l
z8z~JhY5{C4p#`n7+-_h;1g&0#)T$)je3kFwpf!=CW&j~1r-h*G*n{#WfW2Lil#-sz
zY)e0w0Fh`uVyG07rlzf2=?*NIpD_dQOZDIjj6BQK1REIuayaPH7(Tz!NGII#(ulEi
zH4A3N+_21RXeagw!f?zoQ+w*gN>vdFuosIHxwavKLsdP&HpF~>pxb*Jn;sEA)D<e>
zYHcq73u|26lqxaR;FC0O)6g?2wCg6?ZTXJ2a6VFNtK5b3Hy|veKtLl^Gz{U+#r8Ts
z?Z2pG^6)mwBDfoM493Gj`Ksp)[EMAIL PROTECTED];eK7yAMkE8jBMqb*=y#%Kv%nG`ywOm=hsx
ze)x6+DJ?F0CFTVA2dm)pxQs=lW^{HEbp^^!IB3%ZP}oMuFUip{3qZmShCw8&Y#Wi0
z>6G;DIuF3w-flf0i=UShV-zfKqNZ8{kVhuEZr-YJ-|b}Sm$NkCanhT$FeekTBm&%{
z(KuWw=ncL^FTyZ^&H%iXz|2t59ku+p*oFur0q!*bt%V#aS)`BU0hdc0>9&[EMAIL PROTECTED]
zl-4<sr|n&w6f8e0TCVLQ!([EMAIL PROTECTED]<^!q^y}Ad2?N3>xUfAMb{jXrgQ@|l%R|xB^T`1
z8u1P1ymrJ!Nn)w$v-4t;aYNH%_s;sa8as`|HiT^~ktw*L7}C26`wd8KAwp8IQyuJ+
z_cj9*Y1CS@&cQ9M2_Or$6A2bpL;#^W*f|3vn([EMAIL PROTECTED];%gr5l$AE-<p0
zQ2|b~0VsM2>[EMAIL PROTECTED])GdBgUW%Gqah~-(Eu>%U6ik>~v-99yTKe}!#XyTF_
z^s=~IzoD_vP>G*kUt><M3=HP^xn~SQdqUvY`EJy{8Am0&#0KEl!nDwe3wT0rio&It
z$Vf^a*s6-|*ZZ?w5l>|y0y4Hf?Zinl_J9`9{r*6{djud;P=i*q0=m{L!uZv?h|}M+
zir*?hg4tOlW64aLSfA|[EMAIL PROTECTED])$l%Wh<gf>4^(u
znE+^IvoIGRC9PVsF{*2}ZD<r8$V;}#0v2q(u`I6?iCJ&[EMAIL PROTECTED]
z<[EMAIL PROTECTED]|d|B`nYEN3Ak~ER2#p
zqHS#jtU<BBJ5}4Jz%jk86ji79i>a_M!H(N*-M`o9upFgAz~!*|Qm2e<LuC^s2A4Uc
[EMAIL PROTECTED]@FgYpSRs+KhwwRR&l^t8fpL+8`JP7_LEfpm)1CAI_5^&JQG?9PjHOx5
z>%1!sh~>I83#dj%+ESl{IeCY`MjoHCzb+vc1b9xa+2N(6wO-5$FnnDC4InW*Gd8E4
zDrR#I`iKB;=dfyP*MXn~MwYwzYz_eVS3u6$n^!p=E=BO}D_EM)cUHa2tATjrB7VZ_
zQAw;bRrK168?5Xu45fDuUrA0bLz#T<[EMAIL PROTECTED]<R!hW3LBgsF>WOJ#OS4xB0Xso
z0i*>zwOUdKR^DLHqRH}Bv{8x0V&8LD3G_Z6mc8P)tXIgmp(K3$3z&8?BM9_|Y5i5O
zI0Ct;wC)VvEa&e+ZCuh}kVzvR&6|9}oj&[EMAIL PROTECTED]&zw03`Ww7YCX7sLA5Lg
zKw=hFKN4RQlr~$GOSUNNWyato91#FnGv<UtNI<@uYwBJDDCB#@@Bq%1To1sf!!^#@
zDCS3V{84%plxy$mnRKueVU3YBQrG!ZN%i5Q8g}07gl%i_sp$ML34vPGmLak8cSv^!
zaaNH2L+y7H!&TA(uHIJY7I>>UolZ5_j&$_Mhs-Fkt%Y`k1IwF1!58*T;)gK>2tSeF
zE(IO-F62p074rz;{q;ttxNR>[EMAIL PROTECTED]<VvF)-uz#Pmcf_VayupHU
z&(=+xdT`|9$#a0gpZYdQGMb7=nH*A?Ax38Dy;BE;)GUBd(A}GDV([EMAIL PROTECTED](wW
zi)R|?LNf^f<;k{mAW^aMNb0d-$e+&_!hmoAK?sDbTpa1(V-(-uQ&8R*M7x{MXvKVP
z3N(q4`A#oPkYGr|UXkZpS1gX4xF{n`PTIT-RROU!6f{@<y0c%yn!T)2DTg;SaUGXS
z)+VIC2$O_T`m}N1QAZm=xH6#k^bIQX!B6N}AL$rGLds;yxkQP*b&kk!Ue1qWNjDu^
z3zf$&mv&oWT`e-3oHSN5R}Bq5f85Y6m?d([EMAIL PROTECTED]>C1GjI1yGn%wKa#=Ae
z#K(WT-koV3q5_3$NhSnAp}LtfAi!6;E^UU9htZ&!OeqrpXND!Lv^rA4nvxOc*|Grh
zV=E)NN<~*N7+)S5m9{cAU{5L1FZ9(g(;q#<U<Nd#Su0-D>Oo4d<dUwCig>2jm>e8p
zc|VumG%0a+9UMB-_Hm7~y=e?(Rb(m$zgkk$o+d6MgZ?D9_u4olx=R#(!Y8&tbv^vM
zKqS>my5=l$6>Frj(Fn)JlPC7$Idrj~tF>JGo+*+Itnkkz4efYlL#TWJP-W)QLDW$M
zjInZ6&ykbA&|[EMAIL PROTECTED](9+melpuP6$|5ELq~t+pfoFdb_J2mbeUoRQ{Rf-Y9#$
[EMAIL PROTECTED];KEC4y<K#r>[EMAIL PROTECTED](`D3-7p!+i1Z2XsaH5|
[EMAIL PROTECTED]>m1*k
z7EaJ7P&+uDHr9kimGbJ4(fUS^otl{b>c|BSHAFL97>j7Vm>O2bkhl4SGwlvOidJc^
[EMAIL PROTECTED]&d&%yO;QCJCiyH(~E9jIEKD1a>%^Ec1V#+tkMO>@_R
[EMAIL PROTECTED])MEgwLZre3H39fKAxa`jnboDf{+QCfXfpuv4iB*48-rV6Kw`!h
z0MXc!-)eWMsE$uYk)wG7E{S`JkzK+I>[EMAIL PROTECTED];XJM}fIN}tnO1<u(+y&a
zwDeAK_x6d{Sq}PAPhGEEWf5wwKq4z=sX`4Dx&p~j?QSAE^(%2P50?i?pupVxPx<V#
z5-_zd|4FO3joDA~YU5s(MTPTPw&FQrc@;bUP+P$(fFYp?vv-9wne8`|A)@luPl*Ho
zvKrC86s;[EMAIL PROTECTED]&yo9+owNrgyj>+>>l;Zd1}k)8KA%#p!gd|}
zE*1)z#o$fsNuCydFuKIY+S=DB+9hOTJZ3NuJli^SDYmxl!gxRgb+-)-&odz`zOYXn
zy>u&+gaJKJgZ^e;?$$vP3gx^Wo&=(AowF|0YT3+kwd9?q8R?z5Ix44#i<;XoG9_hW
z?Dz566EUwwORJ0l8Rwc?x>q)D`r-Dv&&zKq3XuCd7*{WhU)5+!WTJZnkPbL6yD{tq
zJP8)A<Ry;0UfQ=vF1+hquDv)ZLu<?NT9rLmazJGp`Tl2?(4n$IlF6hyb@<-t9Q?Q+
z3I8u(L>P?d|AJBRSn%I2Vs~?niT;M=0FUFHmsM3td85L*=+j{YF_Z&pQQi#VAl5$j
[EMAIL PROTECTED]@-5BvTv~Y7
zw(2yqqD~36#iscl*~uZT7gTMFMPz<VO=(Au_v25UY1iCQ0$)j{_|Bi;=eM}85YvQR
zZ8&A2g>iOVR1g?EYEF#f2bo+OMkA{CC31DNTr;TbFp!bo-IU%vYb6ubD#vnuh{4gw
zVIPi6t!$>Z9WpFIAe{_NL6NIfRg(cy!Gbb29*a*i79TpcYyHIppWWplG?91JVaYkh
z_gE`7L6}juTH+DIZ^X*yjz+R`w_zW9L^}l}nH?JCH{-DGDBoA_Wnsl&IIV#1U)wp+
zyHjP6#*g08T*u`|[EMAIL PROTECTED]<[EMAIL PROTECTED]>[EMAIL PROTECTED]<T{Fm
zLiJ```+5D_DO!>[EMAIL PROTECTED];WriyL^>DCx1(h&A`nT7w
z#`LA!y~BmSNgv9#?_y3LvIQ+~b;zE&9f5ef3OyDga+MZe%Tlq~Wh53}f;LRa2zMGO
zwZc79V<o9QY$Bhp13={H`2)sDmb2<E>=FbL3~FHC`eG7%*)WB|j+s4UcC_IT|DMi$
zX{b!L;KlCquZv<Vf4B5Y;M2A=k97OXvZyJS51Rl8+;N7#N*iWrPvSBNW0A>?GZu4^
z;[EMAIL PROTECTED])YlU?{oF$NhNJ40Cvz-c%oN*e&[EMAIL PROTECTED]<
zoTS7Tx1_XmzCgHoXvw<r-|eJ5K-dy`>2Idb+os1W>|[EMAIL PROTECTED]
[EMAIL PROTECTED]>0wbL}`)RNjBtY~g&;N$fM5P^y(X&wmI65R)Mhxqrk{&^ux<}Aav
zFN>mWf44QaRgC70?`pC(Uwu}$;mQgQZmi}^_bRQ%a?T!vK>)9-Il{ENu|sz-m`z|k
zfCI)[EMAIL PROTECTED]>FBTGnP8R3>kUlMva4BqfNP}f4&Vmr`S_4qeq$LUjkmrm
[EMAIL PROTECTED]&m?f;^YA)cf{Px)I0nv~fIOh$$x^k<uD_`>6p
zFo2|%Px([EMAIL PROTECTED](6
z-bY|e=E5#6)gx+`3GA)q<[EMAIL PROTECTED]@Pam2E+eK)[EMAIL PROTECTED]@x!M)~n
z6sBY5d#a0MVAlK>[EMAIL PROTECTED]@7%`EeL!mu{6WM<--Ljy>Z(;7knh9$t^8x=gz;2G>`Vl
zYVE3QTe}Y|HK8S5&I)<z<?HMsHB~U$SZ<!(Xu*4qoq~4C-)ggeGgpEsB;NE~fm2A+
zb44-3Ba=vf#fOX`^#Cm>W`qsaDJ(pbw~Ld5#m0>GluV5kB>wnQY^X+b7tVja`~271
zZ);x`!7TqrdMH?E-tsK$MLZR!5jS)cP@|7?<[EMAIL PROTECTED]|3z-TL&*NrjyRWb~V1LeI
zLanA`b=(u&[EMAIL PROTECTED]@x}w2p`#J(D([EMAIL PROTECTED]
zJ*aMOwCB8%`0-k$;[EMAIL PROTECTED]@o~I^H([EMAIL PROTECTED])2t9EuqW
z{M)9ZmcQRf?!unqEdagiEQWLPTH&8K>Pei-f99vN&u|dK>8(BWwCiiFr0b=A8b^c|
z0nfsyGNS!45|[EMAIL PROTECTED])hq43IOmyXE+&}655P-v3H|$L^T7@
[EMAIL PROTECTED];<gA#Fv|LB|D^z8<nuuV}Yfz8=j*tCq2mC
z+7x{085>o9lYdyXgQ}zC5l;Q@;gJ1<|3jR*H#la;^v|[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@zdU
z;Cc%`b9sK8XKskO0eRrSE^yu#2?0>z2{0%1;tp45_EuBcrR!86vEz0=DAubPS+|w>
zukfULE(jlblG=jrcTHTjYxrjw!3z-d=IS;TRw|jq11TGA_C-_$*?&Al9se|}M-qP4
zLFD)[EMAIL PROTECTED])n=u_rn7-{uCpjBYXhHB(q_&Q9m%7`>|->z$KVRc~T*6T5+~
zFFy8HZ1!U^_jJ52|1Y#=Yl&WUItkXv9x01mPSYlD2MHgCvJ0P&hY>8wIEeL`4%k)3
z^vPz~H8Gyq=sZ^)d2Iq30Nh$YUT8wcdYmmd_gmv|qY^8k8GsLHFYk6HZXRjrcNQ1u
z=D1|[EMAIL PROTECTED]<)SFq7dccNQpn+uHr?6Qp1i|kc5<!NUF#-9
zr3SD&#jmX1{!sY8D0If3j`ecqPQ4^~(Hxq;[EMAIL PROTECTED]>%CTWid0-b<QwpQb^Vv
z!cNE^U!8%f?Jyyc1+m|[EMAIL PROTECTED]|7hnX_([EMAIL PROTECTED]||jfUGk49!5Ca
z<WMkL&JBSrAhBo0=%d00;w`73R8z33LJRYJ`{^-MNMFM57d3W2turTRJb8F7W!NK)
zXfGP&t%<K-S+t(3i`bd{FDm&T>[EMAIL PROTECTED]@;^3`&taw04$#k?$I^4+
zAL%KRw3b{do^9v(Zk-MipSh=(*v<WRy`Fat<[EMAIL PROTECTED]
z8|qMKoCZ9BF{)[EMAIL PROTECTED]>a
z)X`;[EMAIL PROTECTED]>Ru_O5WAwU|rYFS`&{MsYXKlLPxNz;hCCx%}upgM+pZzm1=Y
[EMAIL PROTECTED])7f|I`hB3^B<[EMAIL PROTECTED](oF|[EMAIL 
PROTECTED]<54LCT7&[EMAIL PROTECTED])9
zkHx9E3&#rBGch4M-xj4gCS;o+Lq;(ny~}{2S6zY$Da9KV1*B?GB7R7Y5M;vjB`kLi
zeRZJ&[EMAIL PROTECTED];g9-FzrIHhJTW<DZ^deBK(H3TYzc;nWK4kBRGXzE#Q9X(a
zIy`wj%d}{mWq_CE*9hcK`ml5Ip|vvPZLc-{zxw%qdAvRTe56m+PXP7AbcC=163dg8
z3`{qW$ogUt+ZS6UcoMLrU(ZW&u;)6qPBER<C2rmv6tv3vaaWVhXM_MxgqBg04$;aQ
zKEYotH{bci!~8wTikUQ<[EMAIL PROTECTED]<uJAW<cFjV#s-)S06q$BElEEkGfHbdAh;
zFD?B7i?{^9Z}lF%)3f-V9nsYGFhWfSNNo)lY29X98SLvhS2eqUIVXO{iOd%kRAM`R
zOXGods%e(cN_uLK>Ez+bZQbqP9Gd?cF%=uz)oWSxK<45F(~A~1WsSy7^IXlR&pjX4
z^3NM-bLWLoQ1Ar3=R&Dy;oMbAreCaz7G#~k9`8oTcL!MVK<DnbIC5dqbe1}`NLbvj
zo}My24?Wj=nxhI<S;Iu4xm01WO7AaDp;8n$)-ka=$dPJAF}eg^et9-ky~ZdLRd3p-
z=Fo;6<~PaJHwuD?_<}(K5Z-1i8Lkp3M=x6eo)#1F9hp7OTnjs71F>QI0Q5t?Uv$Mj
zZH*kt&[EMAIL PROTECTED]<L#I~JsUC7#9=ObW
zYO$CSvdoE}OT&bKDWce%HPbIs%jq*$3``SAd`I<9w3(aIBW#=+r-H=RA#)T82Zwwu
zpKJ4+!Nuj)@MA?GWu{~?ywGcC?{$LX_f$qVhup`d3KGOVdD^fV$7gtj-IIQ`I%q*Q
zc46o-=1g5*8vC<SLM0f19K7RWg1W*jF*OJfZxVME)dn&Sr#|cjmepnnIxJ3<q4cbD
zke`!Q(bMi~Pel4sJ^{<s*8H5&LB{lr&&q$ZU;G^+-#>}u_DlaJvRJ)rmG|F7;X!Mb
z1^h`wPY>FhH=QDSqW3frESMsSwn$Cc5HLPPMACtbl`Cx`A_N$brM7Es8qI~(B$EY)
zn%Px(4t4hgNuiv6uw4c~4(v$Rr!RU(Iix`+h4!KPx>*SCSoOBtv5-2~dw_D309-yE
z&Rcdn;AMKk0FJ}X?tIh_Iof9?f*Gqe_LLwX^7%7-LwCvIqxi$MaQY`;nHt7dd)iK}
zq}b*a`Y&WCOhH8<nO>[EMAIL PROTECTED]>BBGDdl3Z_Y3W
zqSj5WVf=wBrIZxUj35R|KL^kU_%}-ZhvwT([EMAIL PROTECTED]@wC$?{&iPO;l>sx06N$
zzKn<5tnpjdXP45f?ejx^H*KpHmBlr!8bDme<PZ*=#q4CeDbtwRP%uz#XSb*fWJ#zB
z>Jx%gi(evOa1~MG&CHnkhG9I=w-6AW8p^eoOc=HVS>(!3End?Mn#s=skWw5LOwJx{
zy)5ei5BgU<q)[EMAIL PROTECTED]<sj*FkIjMj7SdkAyuFfCZ{lWZeVydXfgG*NB-P-
zF4evX_O5P|AA1~<PAgeD*vCzM>k&8kt;Y>``dbegil?CT8~j1zKfm>uV#2=lIA8pe
zUSb<[EMAIL PROTECTED]>R~q6F`(m_53WoAJaSB*f5NdFLwJ`P(T4H7~BPv%O3xo@)#V}u7
zommDjohb^!>sG*G>SbX;HkX%u!-W9$(8B#|iV33kImXAzvg`H1AX<U<TQi?IBDdJD
oG^l`V5!suc6w%B-bjp`ET5$Jdj>Y6F)pxKH(A>#SV5WZl4+vK+SO5S3

literal 0
HcmV?d00001

diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl
index a4b40ea..391fb74 100755
--- a/serials/subscription-add.pl
+++ b/serials/subscription-add.pl
@@ -178,7 +178,7 @@ if ($op eq 'addsubscription') {
     my $firstacquidate = $query->param('firstacquidate');    
     my $periodicity = $query->param('periodicity');
     my $dow = $query->param('dow');
-    my @irregularity = $query->param('irregular');
+    my @irregularity = $query->param('irregularity_select');
     my $numberlength = 0;
     my $weeklength = 0;
     my $monthlength = 0;
-- 
1.5.5.GIT

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha.org/mailman/listinfo/koha-patches

Reply via email to