﻿/**
* jQuery.placeholder - Placeholder plugin for input fields
* Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
* Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
* Date: 2008/10/14
*
* @author Blair Mitchelmore
* @version 1.0.1
*
**/
new function ($) {
	$.fn.placeholder = function (settings) {
		settings = settings || {};
		var key = settings.dataKey || "placeholderValue";
		var attr = settings.attr || "placeholder";
		var className = settings.className || "placeholder";
		var values = settings.values || [];
		var block = settings.blockSubmit || false;
		var blank = settings.blankSubmit || false;
		var submit = settings.onSubmit || false;
		var value = settings.value || "";
		var position = settings.cursor_position || 0;


		return this.filter(":input").each(function (index) {
			$.data(this, key, values[index] || $(this).attr(attr));
		}).each(function () {
			if ($.trim($(this).val()) === "")
				$(this).addClass(className).val($.data(this, key));
		}).focus(function () {
			if ($.trim($(this).val()) === $.data(this, key))
				$(this).removeClass(className).val(value)
			if ($.fn.setCursorPosition) {
				$(this).setCursorPosition(position);
			}
		}).blur(function () {
			if ($.trim($(this).val()) === value)
				$(this).addClass(className).val($.data(this, key));
		}).each(function (index, elem) {
			if (block)
				new function (e) {
					$(e.form).submit(function () {
						return $.trim($(e).val()) != $.data(e, key)
					});
				} (elem);
			else if (blank)
				new function (e) {
					$(e.form).submit(function () {
						if ($.trim($(e).val()) == $.data(e, key))
							$(e).removeClass(className).val("");
						return true;
					});
				} (elem);
			else if (submit)
				new function (e) { $(e.form).submit(submit); } (elem);
		});
	};
} (jQuery);


