;(function($){
	$(document).ready(function(){

		function characterCounter(element) {
				var textField = $("input:text, textarea", $(element).parents('.formElement'));
				var counterDivObj = $("div.counterText", $(element).parents('.formElement'));
				var textLength = $(textField).val().length;
				var characterLimit = $(textField).attr('limit');
				
				if (textLength > characterLimit){
					$(counterDivObj).html('Characters over limit: ' + (textLength - characterLimit)).addClass('asterisk').addClass('error').show();
				} else if(textLength > characterLimit - 200) {
					$(counterDivObj).html('Characters remaining: ' + (characterLimit - textLength)).removeClass('asterisk').removeClass('error').show();
				} else if($(counterDivObj).is(":visible")) {
					$(counterDivObj).hide();
				}
		}
		
		function clearDefault(element) {
			if(element.cleared == undefined){
				element.value = '';
				element.cleared = true;
			}
		}
		
		$(function(){
			var textFields=$("textarea[id^='textarea'], input[id^='textbox']");
			$(textFields).bind("focus keyup change keydown",function(){
				characterCounter(this);
			});
			$(textFields).each(function(){
				characterCounter(this);
			});
		});
		
		$(".typeDate input").datepicker();
		
	}); //document.ready
	

})(jQuery);
