/**
 * @namespace wedia.bov3
 */
jQuery(document).ready(function($) {
	
	var status = (function() {
		var $status = $("#bov3MaxlengthStatus");
		var status_timer = null;
		if( $status.length == 0 ) {
			$status = $('<div id="bov3MaxlengthStatus"></div>');
			$('body').append($status.hide());
		}
		var text = boi18n.getMessage('/bov3/wcm','bov3_dataedit_javascript_remaining');

		return {
			isVisible: function() {
				return $status.is(':visible');
			},
			show: function() {
				if( !this.isVisible() ) $status.show(); /* on supprime les effets parce que cela a des effets de bords */
			},
			hide: function() {
				if( this.isVisible() ) $status.hide(); /* on supprime les effets parce que cela a des effets de bords */
			},
			update: function(pending) {
				if (status_timer!=null) clearTimeout(status_timer);
				status_timer = setTimeout( function() {
					if (pending>0) $status.html(text + pending);
					else $status.html(text + "<span style='color:red'>"+pending+"</span>");
				}, 100);
			}
		};
	})();

	$("body").delegate("textarea:visible[maxlength], input:visible[maxlength]", "keyup focus", function() {
		var pending = $(this).attr('maxlength') - $(this).val().length;
		status.update(pending);
	});
	$("body").delegate("textarea:visible[maxlength], input:visible[maxlength]", "focusout", function() {
		status.hide();
	});
	$("body").delegate("textarea:visible[maxlength], input:visible[maxlength]", "focusin", function() {
		status.show();
	});
});


