<!DOCTYPE html>
<html dir="ltr" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GitHub plugin for Gerrit Code Review - Account review</title>
#include ("static/styles.html")
#include ("static/scripts.html")
</head>
<body>
	<div class="header">
		<div>
		    <div class="center">
            #include ("static/header.html")
				<div class="page-title">
					<div>
						<h2>
							Account profile
						</h2>
                        <div class="right">
                          <button type="button" onclick="window.location='/'"
                              id="cancel">
                              <span class="button"><span>Cancel</span></span>
                          </button>
                          <button type="submit" onclick="document.forms[0].submit()">
                              <span class="button green"><span>Next &gt;</span></span>
                          </button>
                          <input type="hidden" name="next" value="$nextUrl" />
                        </div>
					</div>
				</div>
			</div>
		</div>
	</div>
	<!--div.header end -->

	<!--div.container start -->
	<div class="container">
		<div class="center">
			<form class="signupform" method="post" action="account.gh">
				<h5>
					GitHub account details
				</h5>
				<ul>
					<li><label for="username">Username:</label> <input
						maxlength="50" id="username" name="username" type="text"
						value="$!myself.login" readonly="readonly" />
					</li>

					<li><label for="lastName">Full name:</label> <input
						maxlength="50" id="fullname" name="fullname" type="text"
						value="$!myself.name" readonly="readonly" /></li>

					<li><label for="eMail">e-Mail:</label> 
							<input maxlength="50" value="$!myself.email" type="text" name="email" readonly="readonly" /></li>
				</ul>

				<h5>Import GitHub SSH Public Keys</h5>
				<ul>
				#foreach ( $key in $myself.publicVerifiedKeys )
					#if ( $key.key.length() > 45 )
						<li> <label for="$key.title" style="font-weight: bold;">$key.title :</label> 
							#set ( $trailStart = $key.key.length() - 10 )
							<textarea
								class="keyvalue" rows="1" cols="80" readonly="readonly">$key.key.substring(1,35) ... $key.key.substring($trailStart).trim()</textarea>
							<input class="keycheckbox" type="checkbox"
									name="key_check_$key.id" checked="checked" />
						</li>
					#end
                #end
				</ul>
			</form>
		</div>
	</div>
    <!--div.container end -->

    #include ("static/footer.html")

	<script type='text/javascript' src='js/jquery/jquery.form.js?ver=2.02m'></script>
</body>
</html>
