		function InputPlaceholder (input, value, cssFilled, cssEmpty)
		{
			var thisCopy = this
			
			this.Input = input
			this.Value = value
			this.SaveOriginal = (input.value == value)
			this.CssFilled = cssFilled
			this.CssEmpty = cssEmpty

			this.setupEvent (this.Input, 'focus', function() {return thisCopy.onFocus()})
			this.setupEvent (this.Input, 'blur',  function() {return thisCopy.onBlur()})
			this.setupEvent (this.Input, 'keydown', function() {return thisCopy.onKeyDown()})

			if (input.value == '') this.onBlur();

			return this
		}

		InputPlaceholder.prototype.setupEvent = function (elem, eventType, handler)
		{
			if (elem.attachEvent)
			{
				elem.attachEvent ('on' + eventType, handler)
			}

			if (elem.addEventListener)
			{
				elem.addEventListener (eventType, handler, false)
			}
		}

		InputPlaceholder.prototype.onFocus = function()
		{
			if (!this.SaveOriginal && this.Input.value == this.Value)
			{
				this.Input.value = ''
			}
			else
			{
				this.Input.className = ''
			}
		}

		InputPlaceholder.prototype.onKeyDown = function()
		{
			this.Input.className = ''
		}

		InputPlaceholder.prototype.onBlur = function()
		{
			if (this.Input.value == '' || this.Input.value == this.Value)
			{
				this.Input.value = this.Value
				this.Input.className = this.CssEmpty
			}
			else
			{
				this.Input.className = this.CssFilled
			}
		}
