<!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>
                        </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> 
						<select id="email" name="email">
						#foreach ( $email in $myself.emails2 )
							#if ( $email.email == $!myself.email || $email.primary )
							<option selected="selected">$email.email</option>
							#else
							<option>$email.email</option>
							#end
						#end
						</select>
					</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>
