
var FormHandling =
{
	form : null,
	defaults : new Array(),

	setForm : function(element)
	{
		FormHandling.form = element;
		FormHandling.initDefaults();
		FormHandling.initFieldToggle();
		FormHandling.form.onsubmit = function() { FormHandling.clearDefaults(); return true; };
	},

	toggleField : function(field)
	{
		if (typeof field.value != 'undefined')
		{
			if (field.value == FormHandling.defaults[field.name])
			{
				field.value = '';
			}
			else if (field.value == '')
			{
				field.value = FormHandling.defaults[field.name];
			}
		}
		else if (typeof field.firstChild.nodeValue != 'undefined')
		{
			if (field.firstChild.nodeValue == FormHandling.defaults[field.name])
			{
				field.firstChild.nodeValue = '';
			}
			else if (field.firstChild.nodeValue == '')
			{
				field.firstChild.nodeValue = FormHandling.defaults[field.name];
			}
		}
	},

	clearDefaults : function()
	{
		for (var e = 0; e < FormHandling.form.elements.length; e++)
		{
			if (FormHandling.form.elements[e].type && FormHandling.form.elements[e].type != 'submit')
			{
				if (typeof FormHandling.form.elements[e].value != 'undefined')
				{
					if (FormHandling.form.elements[e].value == FormHandling.defaults[FormHandling.form.elements[e].name])
					{
						FormHandling.form.elements[e].value = '';
					}
					else if (typeof FormHandling.form.elements[e].firstChild.nodeValue != 'undefined')
					{
						FormHandling.form.elements[e].firstChild.nodeVale = '';
					}
				}
			}
		}
	},

	initFieldToggle : function()
	{
		for (var e = 0; e < FormHandling.form.elements.length; e++)
		{
			if (typeof FormHandling.form.elements[e].type == 'undefined' || FormHandling.form.elements[e].type != 'submit')
			{
				eval('FormHandling.form.elements[e].onfocus = function() { FormHandling.toggleField(FormHandling.form.elements['+e+']); }');
				eval('FormHandling.form.elements[e].onblur = function() { FormHandling.toggleField(FormHandling.form.elements['+e+']); }');
			}
		}
	},

	initDefaults : function()
	{
		for (var e = 0; e < FormHandling.form.elements.length; e++)
		{
			if (typeof FormHandling.form.elements[e].type == 'undefined' || FormHandling.form.elements[e].type != 'submit')
			{
				if (typeof FormHandling.form.elements[e].value != 'undefined')
				{
					FormHandling.defaults[FormHandling.form.elements[e].name] = (FormHandling.form.elements[e].value.substr(-1, 1) == ':') ? FormHandling.form.elements[e].value : '';
				}
				else if (typeof FormHandling.form.elements[e].firstChild.nodeValue != 'undefined')
				{
					FormHandling.defaults[FormHandling.form.elements[e].name] = (new String(FormHandling.form.elements[e].firstChild.nodeVale).substr(-1, 1) == ':') ? FormHandling.form.elements[e].firstChild.nodeVale : '';
				}
				else
				{
					FormHandling.defaults[FormHandling.form.elements[e].name] = '';
				}
			}
		}
	}
}