rem: parser: function(argument){ argument = (argument) ? argument.match(/^([+-]?\d*)?([nodev]+)?([+-]?\d*)?$/) : [null, 1, 'n', 0]; if (!argument) throw new Error('bad nth pseudo selector arguments'); var inta = parseInt(argument[1]); var a = ($chk(inta)) ? inta : 1; var special = argument[2] || false; var b = parseInt(argument[3]) || 0; b = b - 1; while (b < 1) b += a; while (b >= a) b -= a; switch(special){ case 'n': return {'a': a, 'b': b, 'special': 'n'}; case 'odd': return {'a': 2, 'b': 0, 'special': 'n'}; case 'even': return {'a': 2, 'b': 1, 'special': 'n'}; case 'first': return {'a': 0, 'special': 'index'}; case 'last': return {'special': 'last'}; case 'only': return {'special': 'only'}; default: return {'a': (a - 1), 'special': 'index'}; } }, 
add: parser: function(){ return {'special': 'only'}; }, 
context: 	parser: function(argument){		argument = (argument) ? argument.match(/^([+-]?\d*)?([nodev]+)?([+-]?\d*)?$/) : [null, 1, 'n', 0];		if (!argument) throw new Error('bad nth pseudo selector arguments');		var inta = parseInt(argument[1]);		var a = ($chk(inta)) ? inta : 1;		var special = argument[2] || false;		var b = parseInt(argument[3]) || 0;		b = b - 1;		while (b < 1) b += a;		while (b >= a) b -= a;		switch(special){			case 'n': return {'a': a, 'b': b, 'special': 'n'};			case 'odd': return {'a': 2, 'b': 0, 'special': 'n'};			case 'even': return {'a': 2, 'b': 1, 'special': 'n'};			case 'first': return {'a': 0, 'special': 'index'};			case 'last': return {'special': 'last'};			case 'only': return {'special': 'only'};			default: return {'a': (a - 1), 'special': 'index'};		}	},
meta: 7052	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/7052/5de700578e5ff0b66b9b93710d3c98be66880f74/Selectors.Pseudo.js/clean/Selectors/Selectors.Pseudo.js