var FormObj =
{
	run: function()
	{
		// insert titles as default values
		$('form.form input[title][value=""]').each(FormObj.attachInputHints);
		$('form.form').bind('submit', FormObj.removeHint);

		// autogrow textareas
		if(jQuery().autogrow) {
			$('form.form textarea.autogrow').autogrow();
		}

		// enable calendars
		//$('form.form .date input').xxx(FormObj.calendar);
	},

	attachInputHints: function(i)
	{
		var input = $(this);

		if (this.type == 'password') {
			var p = $('<p class="password_text">'+ this.title +'</p>').insertBefore(input);
			p.bind('click', FormObj.clearHintViaP);
		} else {
			this.value = this.title;
		}

		input.bind('click', FormObj.clearHint);
		input.bind('focus', FormObj.clearHint);
		input.bind('blur', FormObj.resetHint);
	},
	clearHint: function(event)
	{
		var input = $(this);
		var p = input.prev('p.password_text');
		if (input.attr('value') == input.attr('title')) {
			input.attr('value', '');
			if (p && input.attr('type') == 'password') {
				p.show();
			}
		} else if (p && input.attr('type') == 'password') {
			p.hide();
		}
	},
	clearHintViaP: function(event)
	{
		var p = $(this);
		var input = p.next('input');
		p.hide();
		input.focus();
	},
	resetHint: function(event)
	{
		var input = $(this);
		var p = input.prev('p.password_text');
		if (!input.attr('value')) {
			if (p && input.attr('type') == 'password') {
				p.show();
			} else {
				input.attr('value', input.attr('title'));
			}
		}
	},
	removeHint: function(event)
	{
		var form = $(this);
		form.find('input[type="text"],input[type="password"],textarea').each(function(i) {
			var input = $(this);
			if (input.attr('value') == input.attr('title')) {
				input.attr('value', '');
			}
		});
	},

	calendar: function(item) {

	}
}
StartUp(FormObj);