{{define "form"}}
	<h1>{{.Title}}</h1>
	{{.PreFormHTML}}
	<form class="highlight_dark" method="POST">
		{{if eq .Submitted true}}
			{{if eq .SubmitSuccess true}}
				<div id="submit_result" class="highlight_green">
					{{index .SubmitMessages 0}}
				</div>
			{{else}}
				<div id="submit_result" class="highlight_red">
					Something went wrong, please correct these errors before continuing:<br/>
					<ul>
						{{range $msg := .SubmitMessages}}
							<li>{{$msg}}</li>
						{{end}}
					</ul>
				</div>
			{{end}}
		{{end}}
		<input type="text" name="form" value="{{.Name}}" style="display: none;" readonly="readonly"/>
		{{if ne .Username ""}}
			<!-- The invisible username field is so browsers know which user the form was for -->
			<input type="text" autocomplete="username" value="{{.Username}}" style="display: none;" readonly="readonly"/>
		{{end}}
		<table class="form">
			{{range $field := .Fields}}
				<tr class="form">
					{{if eq $field.Type "textarea"}}
						<td colspan="2">
							{{$field.Label}}<br/>
							<textarea id="input_{{$field.Name}}" name="{{$field.Name}}" class="form_input" style="width: 100%; height: 10em; resize: vertical;">{{$field.DefaultValue}}</textarea>
						</td>
					{{else}}
						<td>{{$field.Label}}</td>
						<td>
							{{if eq $field.Type "text"}}
								<input id="input_{{$field.Name}}" name="{{$field.Name}}" value="{{$field.DefaultValue}}" type="text" class="form_input"/>
							{{else if eq $field.Type "number"}}
								<input id="input_{{$field.Name}}" name="{{$field.Name}}" value="{{$field.DefaultValue}}" type="number" class="form_input"/>
							{{else if eq $field.Type "username"}}
								<input id="input_{{$field.Name}}" name="{{$field.Name}}" value="{{$field.DefaultValue}}" type="text" autocomplete="username" class="form_input"/>
							{{else if eq $field.Type "email"}}
								<input id="input_{{$field.Name}}" name="{{$field.Name}}" value="{{$field.DefaultValue}}" type="email" autocomplete="email" class="form_input"/>
							{{else if eq $field.Type "current-password"}}
								<input id="input_{{$field.Name}}" name="{{$field.Name}}" value="{{$field.DefaultValue}}" type="password" autocomplete="current-password" class="form_input"/>
							{{else if eq $field.Type "new-password"}}
								<input id="input_{{$field.Name}}" name="{{$field.Name}}" value="{{$field.DefaultValue}}" type="password" autocomplete="new-password" class="form_input"/>
							{{else if eq $field.Type "captcha"}}
								<script src="https://www.google.com/recaptcha/api.js" async defer></script>
								<div class="g-recaptcha" data-theme="dark" data-sitekey="{{$field.CaptchaSiteKey}}"></div>
							{{else if eq $field.Type "radio"}}
								{{ range $val := $field.RadioValues}}
								<input
									id="input_{{$field.Name}}_choice_{{$val}}"
									name="{{$field.Name}}"
									value="{{$val}}"
									type="radio"
									{{if eq $val $field.DefaultValue}}checked="checked"{{end}}/>
								<label for="input_{{$field.Name}}_choice_{{$val}}">{{$val}}</label><br/>
								{{ end }}
							{{else if eq $field.Type "description"}}
								{{$field.DefaultValue}}
							{{end}}
						</td>
					{{end}}
				</tr>
				{{if or (ne $field.Description "") (eq $field.Separator true)}}
					<tr class="form">
						<td colspan="2">
							{{$field.Description}}
							{{if eq $field.Separator true}}
								<hr/>
							{{end}}
						</td>
					</tr>
				{{end}}
			{{end}}
			<tr class="form">
				{{if eq .BackLink ""}}
					<td colspan="2" style="text-align: right;">
						{{if eq .SubmitRed true}}
							<input type="submit" value="{{.SubmitLabel}}" class="button_red" style="float: right;"/>
						{{else}}
							<input type="submit" value="{{.SubmitLabel}}" class="button_highlight" style="float: right;"/>
						{{end}}
					</td>
				{{else}}
					<td colspan="2" style="text-align: left;">
						<a href="{{.BackLink}}" class="button button_red" style="float: left;"/>Back</a>
						{{if eq .SubmitRed true}}
							<input type="submit" value="{{.SubmitLabel}}" class="button_red" style="float: right;"/>
						{{else}}
							<input type="submit" value="{{.SubmitLabel}}" class="button_highlight" style="float: right"/>
						{{end}}
					</td>
				{{end}}
			</tr>
		</table>
	</form>
	{{.PostFormHTML}}
{{end}}
{{define "form_page"}}
<!DOCTYPE html>
<html lang="en">
	<head>
		{{template "meta_tags" .Title}}
		{{template "user_style" .}}
		<script>var apiEndpoint = '{{.APIEndpoint}}';</script>
	</head>

	<body>
		<div id='body' class="body">
			{{template "page_top" .}}
			<div class="page_content"><div class="limit_width">
				{{template "form" .Form}}
				<br/>
			</div></div>
			{{template "page_bottom" .}}
		</div>

		{{template "analytics"}}
	</body>
</html>
{{end}}
