	Event.observe(window, 'load', init);

	function init(){
		makeItCount('field_id_349', 300, true);
		makeItCount('field_id_350', 500, true);
		makeItCount('field_id_385', 500, true);
		makeItCount('field_id_361', 1100, true);
		makeItCount('field_id_362', 1400, true);
		makeItCount('field_id_364', 300, true);
		makeItCount('field_id_367', 1000, true);
		/* this textarea doesn't exist in the demo, 
		 but you see adding in the init does not return an error */
	}
	
	function charCounter(id, maxlimit, limited){
		if (!$('counter-'+id)){
			$(id).insert({after: '<div id="counter-'+id+'"></div>'});
		}
		if($F(id).length >= maxlimit){
			if(limited){	$(id).value = $F(id).substring(0, maxlimit); }
			$('counter-'+id).addClassName('charcount-limit');
			$('counter-'+id).removeClassName('charcount-safe');
		} else {	
			$('counter-'+id).removeClassName('charcount-limit');
			$('counter-'+id).addClassName('charcount-safe');
		}
		$('counter-'+id).update( $F(id).length + '/' + maxlimit );	
			
	}
	
	function makeItCount(id, maxsize, limited){
		if(limited == null) limited = true;
		if ($(id)){
			Event.observe($(id), 'keyup', function(){charCounter(id, maxsize, limited);}, false);
			Event.observe($(id), 'keydown', function(){charCounter(id, maxsize, limited);}, false);
			charCounter(id,maxsize,limited);
		}
	}
