					/*
					 * Sets default value of input and clears it on focus.
					 * Useful for search or newsletter forms.
					 * @param (string) defaultVal - default value to set
					 * @param (optional) (string) defaultClass - class to add when
					 *     the input has no value entered (other than the default)
					 * @param (optional) (string) nonDefaultClass - class to add
					 *     when the user entered his/her own value
					 */	
					$.fn.defaultVal = function(defaultVal, defaultClass, nonDefaultClass) {
						return this.each(function() {
							var $input = $(this);

							// store the original val() implementation
							$input._val = $input.val;

							// replace it with an upgraded one
							$input.val = function(newVal) {

								// if there was value specified, act as setter
								if (typeof newVal != "undefined") {
									this._val(newVal);
									return this;
								}
								// otherwise - as getter
								else {
									// use original getter
									var val = this._val();
									// return empty value if it's the default
									return (val === defaultVal) ? '' : val;
								}
							};


							// If the input has no initial value,
							// set it to default and (optionally) add a default class
							if ($input.val() === '') {
								$input.val(defaultVal);
								if (defaultClass)
									$input.addClass(defaultClass);
							}


							$input.focus(function() {
								// On focus set real value
								$input.val($input.val());
								if (defaultClass) {
									$input.removeClass(defaultClass);
								}
								if (nonDefaultClass) {
									$input.addClass(nonDefaultClass);
								}
							}).blur(function() {
								// On blur - set default if the value is empty
								if ($input.val() == '') {
									$input.val(defaultVal);
									if (defaultClass) {
										$input.addClass(defaultClass);
									}
									if (nonDefaultClass) {
										$input.removeClass(nonDefaultClass);
									}
								}
							});


							// set the real value on form submit
							var $form = $input.closest('form');
							if ($form.length) {
								$form.submit(function() {
									$input.val($input.val());
								});
							}
						});
					};
