<form name="loginForm" ng-submit="loginSubmit(login, password)" ng-controller="Umbraco.Dialogs.LoginController">
    <div id="login" class="umb-modalcolumn" ng-class="{'show-validation': loginForm.$invalid}">

        <div class="form">
            <h1>{{greeting}}</h1>
            <p>
                <span ng-show="dialogData.isTimedOut"><localize key="login_timeout">Log in below</localize>.</span>
                <localize key="login_instruction">Log in below</localize>
            </p>

            <div class="control-group" ng-class="{error: loginForm.username.$invalid}">
                <input type="text" autofocus ng-model="login" name="username" class="input-xlarge" localize="placeholder" placeholder="@placeholders_username" />
            </div>

            <div class="control-group" ng-class="{error: loginForm.password.$invalid}">
                <input type="password" ng-model="password" name="password" class="input-xlarge" localize="placeholder" placeholder="@placeholders_password"  />
            </div>

            <button type="submit" class="btn" val-trigger-change="#login .form input"><localize key="general_login">Login</localize></button>
            
            <div class="control-group" ng-show="loginForm.$invalid">
                <div class="alert alert-error">{{errorMsg}}</div>
            </div>
        </div>
    </div>
</form>