<?
include "common.inc.php";
?>
<html>
<head>
<script type="text/javascript" src="js/jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$.get('api/role/list', {}, function(results){
			var list, disabled;
			var selector = [];
			selector[0] = $('<select name="role_id"></select>');
			selector[1] = $('<select name="role_id"></select>');
			eval('list = ' + results);
			for(n in list['roles']){
				disabled = '';
				if(list['roles'][n].registration == 'not available'){
					disabled = ' disabled ';
				}
				selector[0].append($('<option ' + disabled + ' value="' + list['roles'][n].id + '">' + list['roles'][n].name + '</option>'));
				selector[1].append($('<option ' + disabled + ' value="' + list['roles'][n].id + '">' + list['roles'][n].name + '</option>'));
			}
			$('#rolediv_1').prepend(selector[0]);
			$('#rolediv_2').prepend(selector[1]);
		});
	});

	function submitAccountUpdate(){
		// using this to avoid passing blank values to the account update API
		var submitDat = {}, field, value, n, hasvals = false;
		for(n = 0; n < 4; n++){
			switch(n){
				case 0: field = 'username'; value = $('#username').val(); break;
				case 1: field = 'password'; value = $('#password').val(); break;
				case 2: field = 'email'; value = $('#email').val(); break;
				case 3: field = 'link_username_to_email'; value = $('[name=' + field + ']:checked').val(); break;
			}
			if(value != undefined && value != ''){
				eval('submitDat.' + field + ' = value;');
				hasvals = true;
			}
		}
		if(hasvals){
			$.post('api/account/edit', submitDat,
				function(result){
					alert(result);
				}
			);
		}
	}

	function dateListForConference() {
		var o=document.getElementById('conferences_id');
		window.location.href='api/dates/'+o.value;
		return false;
	}

</script>
<style type="text/css">
	div.subset {margin: 2em}
</style>
</head>
<body>

<h1>Test API Page</h1>
<a href="apidoc.php">API Documentation</a><br />
<a href="doc/dictionary.php">Registration Group/Fields Dictionary Documentation</a><br/>

<!-- ******************************************** -->
<h2>General Commands</h2>

Login
<form method="post" action="api/auth/login">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Login">
</form>

Logout
<form method="post" action="api/auth/logout">
<input type="submit" value="Logout">
</form>

<a href="api/conferences">Conference List</a><br />
Switch Conference
<form method="post" action="api/conferences/switch">
<input type="text" size=2 name="conferences_id">
<input type="submit" value="Switch Conference">
</form>
<a href="api/dates">Dates List (current conference)</a><br />
 <form method="post"  onsubmit="return dateListForConference()">
Date List
<input type="text" size=2 id="conferences_id" name="conferences_id">
<input type="submit" value="Conference Date List">
</form>

<!-- ******************************************** -->
<h2>Account Settings</h2>
<strong>Edit account information</strong><br/>
Username: <input type="text" id="username"></input><br/>
Password: <input type="text" id="password"></input><br/>
email: <input type="text" id="email"></input><br/>
Link username to email? <input type="radio" name="link_username_to_email" value="yes"></input>Yes &nbsp; &nbsp; &nbsp; <input type="radio" name="link_username_to_email" value="no"></input>No<br/>
<button onclick = "submitAccountUpdate(); return false;">Update account information</button>

<br/><br/><strong>Create an account:</strong><br/>
<form method="post" action="api/account/create">
username: <input type="text" name="username"></input><br/>
password: <input type="text" name="password"></input><br/>
email address: <input type="text" name="email"></input><br/>
<input type="submit" value="Create Account"></input>
</form>

<!-- ******************************************** -->
<h2>Project related commands</h2>
<div class="subset">

	<h3>Start a new project</h3>
	<a href="api/project/add">start a new project</a><br/>
	<h3>Join a project</h3>
	<form method = "post" action = "api/project/join">
	<label>project e-mail address:<input type="text" name="email"></input></label><br/>
	<label>registration number:<input type="text" name="registration_number"></input></label><br/>
	<input type="submit" value="Join"></input>
	</form>

	<h3>Leave a project</h3>
	<form method ="post" action = "api/project/remove">
	<input type="submit" value="Leave"></input>
	</form>

	<h3>Manage mentors for the current project</h3>
	<div class="subset">
		<h4>Add a mentor</h4>
		<form method="post" action="api/project/mentor/add">
			<input type="submit" value="Submit"></input>
		</form>
		<h4>Remove a mentor</h4>
		<form method="post" action="api/project/mentor/remove">
			<label>mentor id:<input type="text" name="id"></input></label><br/>
			<input type="submit" value="Submit"></input>
		</form>
		<h4>View mentors</h4>
		<form method="post" action="api/project/mentor/view">
			<input type="submit" value="Submit"></input>
		</form>
	</div>
</div>
<!-- ******************************************** -->
<h2>Teacher Specific Commands</h2>
<a href="api/scienceolympics/teams/list">Science Olympic Teams List</a><br />

<form method="post" action="api/scienceolympics/teams/add">
<input type="text" name="teamname">
<input type="submit" value="Add Team">
</form>

<form method="post" action="api/scienceolympics/teams/delete">
<input type="text" size=2 name="id">
<input type="submit" value="Delete Team">
</form>

<form method="post" action="api/scienceolympics/teams/edit">
<input type="text" size=2 name="id">
<input type="text" name="teamname">
<input type="submit" value="Edit Team">
</form>

<!-- ******************************************** -->
<h2>User Stuff</h2>
<a href="api/user/view/">View the user</a><br/>

<br/><strong>List users of a specific role that I'm allowed to modify</strong><br/>
<form method="post" action="api/user/list">
role id: <input type="text" name="roles_id"></input><br/>
<input type="submit" value="Get List"></input>
</form>

<br/><strong>Invite a user:</strong><br/>
<form method="post" action="api/user/invite">
username: <input type="text" name="username"></input><br/>
password: <input type="text" name="password"></input><br/>
email address: <input type="text" name="email"></input><br/>
role id: <input type="text" name="roles_id"></input><br/>
<input type="submit" value="Invite User"></input>
</form>

<br/><strong>Uninvite a user:</strong><br/>
<form method="post" action="api/user/uninvite">
user id: <input type="text" name="users_id"></input><br/>
role id: <input type="text" name="roles_id"></input><br/>
<input type="submit" value="Uninvite User"></input>
</form>

<!-- ******************************************** -->
<h2>Event Schedule</h2>
<a href="api/schedule/list">Schedule Listing</a><br/>

<a href="api/locations/list">Location Listing</a><br/>

Register a team for a scheduled event<br/>
<form method="post" action="api/schedule/register">
Team Id: <input type="text" name="team_id"></input>,
Schedule ID: <input type="text" name="schedule_id"></input>
<input type="submit" value="Register"></input>
</form>

Un-Register a team for a scheduled event<br/>
<form method="post" action="api/schedule/unregister">
Team Id: <input type="text" name="team_id"></input>,
Schedule ID: <input type="text" name="schedule_id"></input>
<input type="submit" value="Unregister"></input>
</form>

<!-- ******************************************** -->
<h2>Roles</h2>
<a href="api/role/list">Get a list of roles for this conference</a><br/>

Add a role to this account
<form method="post" action="api/role/add">
<div id="rolediv_1">
	Password: <input name="password" type="password"></input>
	<input type="submit" value="Add Role"></input>
</div>
</form>

Remove a role from this account
<form method="post" action="api/role/remove">
<div id="rolediv_2">
	<input type="submit" value="Remove Role"></input>
</div>
</form>

<!-- ******************************************** -->
<h2>Registration Fields</h2>
<a href="api/registration/dictionary">View the dictionary of registration fields</a> &nbsp; 
<a href="doc/dictionary.php">View Documentation Generated by this API call</a><br/>
<br />
(leave all blank to use currently logged in users fields)<br />
<form method="post" action="api/registration/fields">
<?
foreach($roles AS $role=>$r) {
	echo "<label><input type=\"checkbox\" name=\"roles[]\" value=\"{$r['type']}\">$role</label><br />\n";
}?>
<input type="submit" value="List Registration Fields for Selected Roles">
</form>

<!-- ******************************************** -->
<h2>Schools</h2>
<a href="api/school/list">School Listing</a><br/>

<form method="post" action="api/user/connect_to_school">
<input type="text" size=4 name="schools_id">
<input type="text" size=6 name="accesscode">
<input type="submit" value="Set user's school">
</form>


<!-- ******************************************** -->
<h2>Session Variables</h2>
<?
echo json_encode($_SESSION);
?>


</body>
</html>