/*
 * Form Tips 1.0
 * By Manuel Boy (http://www.polargold.de)
 * Copyright (c) 2009 Manuel Boy
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
jQuery.fn.formtips = function(options) {
	// handle options
  settings = jQuery.extend({
		class_name: "tipped"
	}, options);
	// do
	return this.each(function() {
		jQuery('.' + settings.class_name, this).each(function() {
			// prepare input elements an textareas
			var elem = jQuery(this);
			var lv = jQuery(this).attr('title');
			// handle events
			if(jQuery(elem).is('textarea')) {
				jQuery(elem).bind('focus', function() {
					if(jQuery(elem).text() == lv) {
						jQuery(elem).text('').removeClass(settings.class_name);
					}
				});
				jQuery(elem).bind('blur', function() {
					if(jQuery(elem).text() == '') {
						jQuery(elem).text(lv).addClass(settings.class_name);
					}
				});
				if(jQuery(elem).text() == '') {
					jQuery(elem).text(lv).addClass(settings.class_name);
				} else {
					jQuery(elem).removeClass(settings.class_name);
				}
			} else {
				jQuery(elem).bind('focus', function() {
					if(jQuery(elem).val() == lv) {
						jQuery(elem).val('').removeClass(settings.class_name);
					}
				});
				jQuery(elem).bind('blur', function() {
					if(jQuery(elem).val() == '') {
						jQuery(elem).val(lv).addClass(settings.class_name);
					}
				});
				if(jQuery(elem).val() == '') {
					jQuery(elem).val(lv).addClass(settings.class_name);
				} else {
					jQuery(elem).removeClass(settings.class_name);
				}
			}
		});
		// handle submit of forms (remove default value)
		if(jQuery('.' + settings.class_name, this).length > 0) {
			jQuery(this).submit(function() {
				// untip 'em
				jQuery('.' + settings.class_name, this).each(function() {
					var elem = jQuery(this);
					var lv = jQuery(this).attr('title');
					if(jQuery(elem).is('textarea')) {
						if(jQuery(elem).text() == lv) {
							jQuery(elem).text('').removeClass(settings.class_name);
						}
					} else {
						if(jQuery(elem).val() == lv) {
							jQuery(elem).val('').removeClass(settings.class_name);
						}
					}
				});
				return true;
			});
		}
	});
};