var InputReplacer = Class.create(
{
	inputElementsArray: new Array(),
	inputValuesArray: new Array(),
	
	initialize: function(replaceAll)
	{
		var self = this;
		if(replaceAll == true || replaceAll == undefined)
		{
			if($$('input[type="text"]')[0])
			{
				$$('input[type="text"]').each(function(inputTextElement)
				{
					self.replace(inputTextElement);
				});
			}
			if($$('input[type="password"]')[0])
			{
				$$('input[type="password"]').each(function(inputPasswordElement)
				{
					self.replace(inputPasswordElement);
				});
			}
			if($$('textarea')[0])
			{
				$$('textarea').each(function(textareaElement)
				{
					self.replace(textareaElement);
				});
			}
		}
	},
	
	replace: function(inputElement)
	{
		this.inputElementsArray.push(inputElement);
		this.inputValuesArray.push($(inputElement).value);
		this._setObserver(inputElement);
	},
	
	_setObserver: function(inputElement)
	{
		var self = this;
		$(inputElement).observe('focus', function()
		{
			if($(this).value == self.inputValuesArray[self.inputElementsArray.indexOf(this)])
				$(this).value = '';
		});
		$(inputElement).observe('blur', function()
		{
			if($(this).value == '')
				$(this).value = self.inputValuesArray[self.inputElementsArray.indexOf(this)];
		});
	}
});

document.observe('dom:loaded', function()
{
	var MyInputValueReplacer = new InputReplacer(false);
	$$('.ireplace, #signup-form input[type="text"], #signup-form textarea').each(function(elem)
	{
		MyInputValueReplacer.replace(elem);
	});
});