$(document).ready(function(){
	var revertRating = $("#rating-count span").text();
	var revertStars = $("#stars-lg div").attr("class");
	$("#rate-signin").hover(
		function () {
			$("#rating-count span").text("Sign in to rate");
		}, 
		function () {
			$("#rating-count span").text(revertRating);
		}
	);
	$("input.labelify").labelify({ text: "label" });
	$("textarea[@maxlength]").textLimiter();
});
jQuery.fn.textLimiter = function(){
    return this.each(function(){
		if(typeof(nr) == "undefined") { nr = 0; }                         
		var counter_id   = 'counter' +nr;                           
		var max          = this.getAttribute('maxlength');
		var max = max-this.value.length;		
		var html_counter = '<div id="' +counter_id + '" class="counter"><span>' +max+ '</span> characters left</div>';
		$(this).after(html_counter);
		var jquery_pattern = '#' +counter_id +' > span';
		this.relatedElement = $(jquery_pattern)[0];
		nr++;
		$(this).bind("keyup", function(){
			var maxLength     = this.getAttribute('maxlength');
			var currentLength = this.value.length;
			if(currentLength >= maxLength) {
				this.relatedElement.className = 'toomuch';
				this.value = this.value.substring(0, maxLength);
			} else {
				this.relatedElement.className = '';
			}
			var left_over = maxLength - currentLength; 
			if(left_over < 0) {
				left_over = 0;	
			}
			this.relatedElement.firstChild.nodeValue = left_over;
		});
    });
};