<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
    	  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:head>
	<script type="text/javascript" src="js/openmeetings_functions.js"></script>
</wicket:head>
<wicket:panel>
	<form wicket:id="signin">
		<table>
			<tr>
				<td>
					<table>
						<tr>
							<td class="desc"><wicket:ommessage key="109" /></td>
							<td><input wicket:id="login" type="text" value="" /></td>
						</tr>
						<tr>
							<td class="desc"><wicket:ommessage key="110" /></td>
							<td><input wicket:id="pass" type="password" value="" /></td>
						</tr>
						<tr wicket:id="ldap">
							<td class="desc"><wicket:ommessage key="1372" /></td>
							<td><select wicket:id="domain"></select></td>
						</tr>
						<tr>
							<td></td>
							<td style="white-space: nowrap;"><input wicket:id="rememberMe" 
								type="checkbox" /><label wicket:for="rememberMe"><wicket:ommessage key="288" /></label></td>
						</tr>
						<tr>
							<td><a wicket:id="forget"><wicket:ommessage key="311"/></a></td>
							<td><a wicket:id="netTest" target="_blank"><wicket:ommessage key="1527"/></a></td>
						</tr>
					</table>
				</td>
				<td wicket:id="oauthContainer" style="border-left: 2px dotted;">
					<div wicket:id="oauthList">
						<button wicket:id="oauthBtn"><img wicket:id="icon" width="16" height="16"/><span wicket:id="label"></span></button>
					</div>
				</td>
			</tr>
		</table>
		<span wicket:id="feedback" class="error"></span>
		<input type="submit" wicket:id="submit" class="invisible-form-component"/>
	</form>
</wicket:panel>
</html>
