jQuery(document).ready(function() {
	jQuery("[class^='count[']").each(function() {
		var elClass = jQuery(this).attr('class');
		var minWords = 0;
		var maxWords = 0;
		var countControl = elClass.substring((elClass.indexOf('['))+1, elClass.lastIndexOf(']')).split(',');
		
		if(countControl.length > 1) {
			minWords = countControl[0];
			maxWords = countControl[1];
		} else {
			maxWords = countControl[0];
		}	
		
		jQuery(this).after('<div class="wordCount"><strong>0</strong> Words</div>');
		if(minWords > 0) {
			jQuery(this).siblings('.wordCount').addClass('error');
		}	
		
		jQuery(this).bind('keyup click blur focus change paste', function() {
			var numWords = jQuery.trim(jQuery(this).val()).split(' ').length;
			if(jQuery(this).val() === '') {
				numWords = 0;
			}	
			jQuery(this).siblings('.wordCount').children('strong').text(numWords);
			
			if(numWords < minWords || (numWords > maxWords && maxWords != 0)) {
				jQuery(this).siblings('.wordCount').addClass('error');
			} else {
				jQuery(this).siblings('.wordCount').removeClass('error');	
			}
		});
	});
});