         (do @_jqForm.get).submit @onSubmit
         for input in ((do @_jqForm.get).find 'input')
             ($ input).bind 'blur', @onFieldBlur
+        do @fireAllBlurOnSubmit
+
+    fireAllBlurOnSubmit : () =>
         ((do @_jqElem.get).find 'button[type=submit]').click (event) =>
             ((do @_jqElem.get).find 'input').each () ->
                 ($ @).trigger 'blur'


class JumpInForm extends ChoiceForm
    constructor : (@name) ->
        super @name
        @_jqFirstStep   = PrivateValue.GetOnly (do @_jqElem.get).find '#stepOne'
        @_jqBtn         = PrivateValue.GetOnly (do @_jqFirstStep.get).find 'button'
        @steps  = [
            new JumpInStep this, 'newRoom'
            new JumpInStep this, 'joinRoom'
        ]

    hide : () =>
        (do @_jqFirstStep.get).fadeTo 0.99

            left    : '+=290'
        }, 600

    fireAllBlurOnSubmit : () =>
        form    = (do @_jqDiv.get).children 'form'
        btn     = (do @_jqDiv.get).children 'button[type=submit]'
        btn.click (event) =>
            (form.find 'input').each () ->
                ($ @).trigger 'blur'

class ChoiceForm
    constructor : (@name) ->
        @_jqElem    = PrivateValue.GetOnly ($ '#' + @name)
