/*
 *  © Студия Артемия Лебедева
 */

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 = this.CssFilled;
        }
}

InputPlaceholder.prototype.onKeyDown = function()
{
        this.Input.className = this.CssFilled;
}

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
        }
}

