var cal1x;

function getAdminPanel() 
{
	if (xmlHttp.readyState == 4) 
	{
		if(xmlHttp.status == 200) 
		{
			var page;
			var frame;
		
			page = xmlHttp.responseText;

			frame = document.getElementById("admin_panel");
			frame.innerHTML = page;
			
			if (page.match("Error: ") != null)
				logoff();
		}
		else 
		{
			alert("Error during AJAX call. Please try again");
		}
	}
}

function drawAdminPage()
{
	frame = document.getElementById("main_container");
	
	page =  "<div id =\"admin_page\">" + "\n" +
			"<div id =\"admin_sidebar\">" + "\n" +
				"<ul id=\"menu_list\" class=\"element\">" + "\n" +
					"<li><a href=\"javascript:drawAddResults();\">Results</a></li>" + "\n" +
					"<li><a href=\"javascript:drawDriverAdmin();\">Drivers</a></li>" + "\n" +
					"<li><a href=\"javascript:drawTrackAdmin();\">Tracks</a></li>" + "\n" +
					"<li><a href=\"javascript:drawScheduleAdmin();\">Schedule</a></li>" +  "\n" +
					"<li><a href=\"javascript:drawSeriesAdmin();\">Series</a></li>" + "\n" +
					"<li><a href=\"javascript:drawSeasonsAdmin();\">Seasons</a></li>" + "\n" +
				"</ul>" + "\n" +
			"</div>" + "\n" +
			
			"<div id = \"admin_panel\">" + "\n" +
			"Bar" + "\n" +
			"</div>";
			
	frame.innerHTML = page;
	
	drawAddResults();
}

function activateDriver($uname)
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=activateDriver&driver=" + $uname;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function drawAddResults()
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=uploadRaceResults";
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function drawDriverAdmin()
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=driverInfo";
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function drawTrackAdmin()
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=trackAdmin";
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function addTrack()
{
	$name = document.getElementById("track_name").value;
	$image = document.getElementById("track_img").value;

	if ($name == "")
	{
		alert("Please enter a track name");
		return;
	}
	
	if ($image == "")
	{
		alert("Please enter an image file name");
		return;
	}

	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=addTrack&name=" + $name + "&image=" + $image;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function removeTrack($id)
{
	getXMLObject();
	
	if (xmlHttp)
	{
		var parameters = "type=removeTrack&id=" + $id;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function drawScheduleAdmin()
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=scheduleAdmin&id=0";
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function updateRace($id)
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=scheduleAdmin&id=" + $id;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function addRace()
{
	$id = document.getElementById("id").value;
	$name = document.getElementById("race_name").value;
	$date = document.getElementById("race_date").value;
	$trackid = document.getElementById("race_track").value;
	$laps = document.getElementById("race_laps").value;
	$multi = document.getElementById("race_multi").value;
	$seriesid = document.getElementById("race_series").value;
	
	if ($name == "")
	{
		alert("Please enter a valid Name");
		return;
	}
	
	if ($laps == "")
	{
		alert("Please enter a valid Lap Count");
		return;
	}
	
	if ($multi == "")
	{
		alert("Please enter a valid Points Multiplier");
		return;
	}
	
	// Convert race date
	$tmpdate = $date.split("/");
	if (($tmpdate[0] == "") || ($tmpdate[1] == "") || ($tmpdate[2] == ""))
	{
		alert("Please enter a valid date.");
		return;
	}
	
	if (($tmpdate[0] < 0) ||
		($tmpdate[1] > 12) ||
		($tmpdate[1] < 0) ||
		($tmpdate[2] < 2009) ||
		($tmpdate[2] > 2020))
	{
		alert("Please enter a valid date.");
		return;
	}
	
	if (($tmpdate[1] == 9) ||
		($tmpdate[1] == 4) ||
		($tmpdate[1] == 6) ||
		($tmpdate[1] == 11))
	{
		if ($tmpdate[0] > 30)
		{
			alert("Please enter a valid date.");
			return;
		}
	}
	else if ($tmpdate[1] == 2)
	{
		if (($tmpdate[2] % 4) == 0)
		{
			if ($tmpdate[0] > 29)
			{
				alert("Please enter a valid date.");
				return;
			}
		}
		else
		{
			if ($tmpdate[0] > 28)
			{
				alert("Please enter a valid date.");
				return;
			}
		}
	}
	else
	{
		if ($tmpdate[0] > 31)
		{
			alert("Please enter a valid date.");
			return;
		}
	}
	
	$date = $tmpdate[2] + "-" + $tmpdate[1] + "-" + $tmpdate[0];
	
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=addRace&id=" + $id + "&name=" + $name + "&date=" + $date + 
						 "&trackid=" + $trackid + "&laps=" + $laps + "&multi=" + $multi + 
						 "&seriesid=" + $seriesid;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}	
}

function removeRace($id)
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=removeRace&id=" + $id;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function drawSeriesAdmin()
{
	getXMLObject();

	if (xmlHttp)
	{
		var parameters = "type=seriesAdmin";
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function addSeries()
{
	$name = document.getElementById("series_name").value;
	$image = document.getElementById("series_img").value;
	$season = document.getElementById("series_season").value;
	
	if ($name == "")
	{
		alert("Please enter a valid Series Name");
		return;
	}
	
	if ($image == "")
	{
		alert("Please enter an image filename");
		return;
	}
	
	getXMLObject();
	
	if (xmlHttp)
	{
		var parameters = "type=addSeries&name=" + $name + "&image=" + $image + "&seasonid=" + $season;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function removeSeries($id)
{
	getXMLObject();
	
	if (xmlHttp)
	{
		var parameters = "type=removeSeries&id=" + $id;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function drawSeasonsAdmin()
{
	getXMLObject();
	
	if (xmlHttp)
	{
		var parameters = "type=seasonAdmin";
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function removeSeason($id)
{
	getXMLObject();
	
	if (xmlHttp)
	{
		var parameters = "type=removeSeason&id=" + $id;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}

function addSeason()
{
	$name = document.getElementById("season_name").value;
	$start = document.getElementById("season_start").value;
	$end = document.getElementById("season_end").value;
	
	if ($name == "")
	{
		alert("Please enter a valid Season Name");
		return;
	}
	
	// Convert $start date
	$date = $start.split("/");
	if (($date[0] == "") || ($date[1] == "") || ($date[2] == ""))
	{
		alert("Please enter a valid start date.");
		return;
	}
	
	if (($date[0] < 0) ||
		($date[1] > 12) ||
		($date[1] < 0) ||
		($date[2] < 2009) ||
		($date[2] > 2020))
	{
		alert("Please enter a valid start date.");
		return;
	}
	
	if (($date[1] == 9) ||
		($date[1] == 4) ||
		($date[1] == 6) ||
		($date[1] == 11))
	{
		if ($date[0] > 30)
		{
			alert("Please enter a valid start date.");
			return;
		}
	}
	else if ($date[1] == 2)
	{
		if (($date[2] % 4) == 0)
		{
			if ($date[0] > 29)
			{
				alert("Please enter a valid start date.");
				return;
			}
		}
		else
		{
			if ($date[0] > 28)
			{
				alert("Please enter a valid start date.");
				return;
			}
		}
	}
	else
	{
		if ($date[0] > 31)
		{
			alert("Please enter a valid start date.");
			return;
		}
	}
	
	$start = $date[2] + "-" + $date[1] + "-" + $date[0];
	
	// Convert $end date
	$date = $end.split("/");
	if (($date[0] == "") || ($date[1] == "") || ($date[2] == ""))
	{
		alert("Please enter a valid end date.");
		return;
	}
	
	if (($date[0] < 0) ||
		($date[1] > 12) ||
		($date[1] < 0) ||
		($date[2] < 2009) ||
		($date[2] > 2020))
	{
		alert("Please enter a valid end date.");
		return;
	}
	
	if (($date[1] == 9) ||
		($date[1] == 4) ||
		($date[1] == 6) ||
		($date[1] == 11))
	{
		if ($date[0] > 30)
		{
			alert("Please enter a valid end date.");
			return;
		}
	}
	else if ($date[1] == 2)
	{
		if (($date[2] % 4) == 0)
		{
			if ($date[0] > 29)
			{
				alert("Please enter a valid end date.");
				return;
			}
		}
		else
		{
			if ($date[0] > 28)
			{
				alert("Please enter a valid end date.");
				return;
			}
		}
	}
	else
	{
		if ($date[0] > 31)
		{
			alert("Please enter a valid end date.");
			return;
		}
	}
	
	$end = $date[2] + "-" + $date[1] + "-" + $date[0];
	
		getXMLObject();
	
	if (xmlHttp)
	{
		var parameters = "type=addSeason&name=" + $name + "&start=" + $start + "&end=" + $end;
		
		xmlHttp.open("POST","admin.php",true);
		xmlHttp.onreadystatechange = getAdminPanel;
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
		xmlHttp.send(parameters);
	}
}