Event.observe(window, 'load', function() 
{
	newInput = new InputContainer();
	passwordInput = new PasswordInput();
});
var InputContainer = Class.create(
{
	initialize: function()
	{
		this.id;
		this.inputs = new Array();
		this.collectInputs();
	},
	collectInputs: function()
	{
		$$("input").each(function(input)
		{
			if(input.type == 'text')
			{
				var vulinputs = new Input(input.id)
				this.inputs.push(vulinputs)
			}
		}.bind(this))
		this.addBehaviour();
	},
	addBehaviour: function()
	{
		this.inputs.each(function(input)
		{
			if(!input.id.empty())
			{
				if($(input.id).value == input.alt)
				{
					Event.observe(input.id, 'focus', function()
					{
						if($(input.id).value == input.alt)
						{
						$(input.id).value = ''; 
						}
					});
					Event.observe(input.id, 'blur', function()
					{
						if($(input.id).value == '' && $(input.id).hasClassName('required'))
						{
							$(input.id).value = input.value;
						}
					});
				}
			}
		});
	}
});
var Input = Class.create(
{
	initialize: function(id)
	{
		this.id = id;
		this.className;
		this.value;
		this.alt;
		this.fillinput();
	},
	fillinput: function()
	{
		if(this.id)
		{
			this.className 	= $(this.id).className; 
			this.value 		= $(this.id).value; 
			this.alt 		= $(this.id).alt;
		}
	}
});

var PasswordInput = Class.create(
{
	initialize: function()
	{
		if($('password') != null && $('passwordtext') != null)
		{
			if($('password').hasClassName('text'))
			{
				$('passwordtext').stopObserving();
				$('password').stopObserving();
				
				new Form.Observer('login', 0.01, function()
				{
					this.changePassword();
				}.bind(this));
				
				Event.observe('passwordtext', 'focus', function(event)
				{
					this.initPasswordField(event);
				}.bind(this));
						
				Event.observe('password', 'blur', function(event)
				{
					this.initPasswordField(event);
				}.bind(this));
			}
		}	
	},
	
	initPasswordField: function(event)
	{
		var elm = event.element();
		
		if (event.type == 'focus')
		{
			if(elm.type == 'text')
			{
				elm.setStyle({display: 'none'});
				$('password').setStyle({display: 'inline'});
				$('password').focus();
			}
		}
		
		if (event.type == 'blur')
		{
			if(elm.value.length == 0)
			{
				elm.setStyle({display: 'none'});
				$('passwordtext').setStyle({display: 'inline'});
			}
		}
	},
	
	changePassword: function()
	{
		if($('password').value.length != 0)
		{
			$('passwordtext').setStyle({display: 'none'});
			$('password').setStyle({display: 'inline'});
		}
	}
});
