How to solve the "Invalid month string" error

Some advanced Tabulizer featues, like table sorting the search filtering are using Javascript code that is executed on the client side, along with other Javascript files. As a result, if a Javascript error occurs before the execution of the code responsible for rendering the table search filtering controls, the execution will halt and no search box control will appear.

One of the places this could happen is during the execution of JS code found at mootools-more.js. This is a complementary file that contains code used by the mootools library, the default JS library for Joomla. More specifically, the code responsible for parsing dates may throw an error similar to Invalid month string and halt the execution of the remaining JS code.

You may wonder why mootools-more.js throws uncaught exceptions (and this is a very good question!) but in any case, you can resolve this situation by enclosing the "misbehaving" code within a try {} catch catch(e) {} block, as shown below:

var parseWord = function(type, word, num){
	var ret = -1,
		translated = Date.getMsg(type + 's');
try {
	switch (typeOf(word)){
		case 'object':
			ret = translated[word.get(type)];
			break;
		case 'number':
			ret = translated[word];
			if (!ret) throw new Error('Invalid ' + type + ' index: ' + word);
			break;
		case 'string':
			var match = translated.filter(function(name){
				return this.test(name);
			}, new RegExp('^' + word, 'i'));
			if (!match.length) throw new Error('Invalid ' + type + ' string');
			if (match.length > 1) throw new Error('Ambiguous ' + type);
			ret = match[0];
	}
} catch (e) {
    return ret;
}


	return (num) ? translated.indexOf(ret) : ret;
};

Note, that if the compressed version of the mootools-more.js file the function names have been changed (minimized) so, for instance in the Joomla 2.5.x version the patch should be similar to:

var r=function(v,x,u){
	var t=-1,w=a.getMsg(v+"s");
	try {
		switch(typeOf(x)){
			case"object":t=w[x.get(v)];break;
			case"number":t=w[x];if(!t){throw new Error("Invalid "+v+" index: "+x);}break;
			case"string":
				var s=w.filter(function(y){return this.test(y);},new RegExp("^"+x,"i"));
				if(!s.length){throw new Error("Invalid "+v+" string");}	
				if(s.length>1){throw new Error("Ambiguous "+v);}
				t=s[0];
		}
	} catch(e) {
		return t;
	}
	return(u)?w.indexOf(t):t;
}
You can also download the patched version of mootools-more.js (version 1.4.0.1) for Joomla 2.5 or Joomla 3.x and replace the existing version found at {your joomla root directory}/media/system/js folder.