(function($) {
	
	$H = helper = {
		
		//
		// Manges the auto blur/focus text management of
		// Text areas
		//
		switcher: function(options) {
			
			var self = $(this);
			
			//Scroll through elements
			$.each(self, function(i, _element) {
				
				//Fill in initial text if needed
				if (options.defaultText && _element.value == "") {
					_element.value = options.defaultText;
				}
				
				// Add default class if needed
				if (options.className && _element.value == options.defaultText) {
					$(_element).addClass(options.className);
				}

				//Observe
				self.bind("blur", function(e) {
					var element = e.target;
					if (element.value == "") {
						element.value = options.defaultText;
						
						// Add default classname
						if ($H.isset(options.className)) {
							if (!$(element).hasClass(options.className)) {
								$(element).addClass(options.className);
							}
						}
						
					}
				}).bind("focus", function(e) {
					var element = e.target;
					if (element.value == options.defaultText) {
						element.value = "";
						
						// Remove default classnem
						if ($H.isset(options.className)) {
							$(element).removeClass(options.className);
						}
					}
				});
				
			});

			return this;
		},
		
		isset: function(v) {
			return (typeof (v) != "undefined");
		}
		
	};
	//Extend jQuery
	$.extend({helper: helper});
	$.fn.extend({
		switcher: helper.switcher
	});
	
})(jQuery);