<?php include('navbar.php'); 
date_default_timezone_set('Europe/London');?>
<script type="text/javaScript">
var xmlHttpReq = false;
var xmlHttpReq2 = false;
var xmlHttpReq3 = false;
var xmlHttpReq4 = false;
//AJAX Related functions for CSY2028 Assignment 2
function appendRecord (ID, CARNAME, FUELTYPE, TRANSMISSION, ENGINESIZE, DOORS,  AVAILABLE, TOTAL, DATEADDED)
{	
	mytable = document.getElementById("DBTable");

	mycurrent_row = document.createElement("tr");
	mycurrent_row.setAttribute ("ID", "Row" + ID);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (ID);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (CARNAME);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (FUELTYPE);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (TRANSMISSION);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (ENGINESIZE);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (DOORS);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (AVAILABLE);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (TOTAL);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
		
	mycurrent_cell = document.createElement ("td");
	currenttext = document.createTextNode (DATEADDED);
	mycurrent_cell.appendChild (currenttext);
	mycurrent_row.appendChild (mycurrent_cell);
	
	mytable.appendChild (mycurrent_row);
}


function loadDatabaseRecordCallback()
{
	if(xmlHttpReq.readyState == 4)
	{
		alert("From Server (Load Records): \n" + xmlHttpReq.responseText);
		var record = xmlHttpReq.responseXML.getElementsByTagName('record');
		for (var i = 0; i < record.length; i++)
		{
			var rec = record[i];
			alert (rec.getElementsByTagName("DATEADDED")[0].firstChild.data);
			
			var ID = rec.getElementsByTagName("ID")[0].firstChild.data;
			var CARNAME = rec.getElementsByTagName("CARNAME")[0].firstChild.data;
			var FUELTYPE = rec.getElementsByTagName("FUELTYPE")[0].firstChild.data;
			var TRANSMISSION = rec.getElementsByTagName("TRANSMISSION")[0].firstChild.data;
			var ENGINESIZE = rec.getElementsByTagName("ENGINESIZE")[0].firstChild.data;
			var DOORS = rec.getElementsByTagName("DOORS")[0].firstChild.data;
			var AVAILABLE = rec.getElementsByTagName("AVAILABLE")[0].firstChild.data;
			var TOTAL = rec.getElementsByTagName("TOTAL")[0].firstChild.data;
			var DATEADDED = rec.getElementsByTagName("DATEADDED")[0].firstChild.data;
			appendRecord(ID, CARNAME, FUELTYPE, TRANSMISSION, ENGINESIZE, DOORS, TOTAL, AVAILABLE, DATEADDED);
		}
	}
}

function loadDatabaseRecord()
	{
	if(window.XMLHttpRequest)
	{
		xmlHttpReq = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
    alert ("To Server (Load Records):\n\najax-open-DB.php");

	xmlHttpReq.open('GET', "ajax-open-DB.php", true);
	xmlHttpReq.onreadystatechange = loadDatabaseRecordCallback; 
	xmlHttpReq.send(null);
	
}

function addNewRecordCallback()
{
	if(xmlHttpReq2.readyState == 4)
	{
		alert ("From Server (Add New Records):\n" + xmlHttpReq2.responseText);
		if (xmlHttpReq2.status == 200)
		{
			var record = xmlHttpReq2.responseXML.getElementsByTagName('record');
			var s ="";
			for (var i = 0; i < record.length; i ++)
			{
				var rec = record[i];
				
				var ID = rec.getElementsByTagName("ID")[0].firstChild.data;
				var CARNAME = rec.getElementsByTagName("CARNAME")[0].firstChild.data;
				var FUELTYPE = rec.getElementsByTagName("FUELTYPE")[0].firstChild.data;
				var TRANSMISSION = rec.getElementsByTagName("TRANSMISSION")[0].firstChild.data;
				var ENGINESIZE = rec.getElementsByTagName("ENGINESIZE")[0].firstChild.data;
				var DOORS = rec.getElementsByTagName("DOORS")[0].firstChild.data;
				var AVAILABLE = rec.getElementsByTagName("AVAILABLE")[0].firstChild.data;
				var TOTAL = rec.getElementsByTagName("TOTAL")[0].firstChild.data;
				var DATEADDED = rec.getElementsByTagName("DATEADDED")[0].firstChild.data;
				appendRecord (ID, CARNAME, FUELTYPE, TRANSMISSION, ENGINESIZE, DOORS, AVAILABLE, TOTAL, DATEADDED);
			}
		}
	}
}


function addNewRecord(){	//Function for adding a new record to the database
	if (document.myform.CARNAME.value == "" || document.myform.FUELTYPE.value == "" || document.myform.TRANSMISSION.value == "" || document.myform.ENGINESIZE.value == "" || document.myform.DOORS.value == "" || document.myform.AVAILABLE.value == "" || document.myform.TOTAL.value == "" ||  document.myform.DATEADDED.value == "")
	{
		alert ("Empty field(s) - Cannot create record");
		return;
	}
	var mydata = null;
	if (window.XMLHttpRequest)
	{
		xmlHttpReq2 = new XMLHttpRequest ();
	}
	else if (window.ActiveXObject)
	{
		xmlHttpReq2 = new ActiveXObject ("Microsoft.XMLHTTP");
	}
	mydata = '?CARNAME=' + document.myform.CARNAME.value +
			'&FUELTYPE=' + document.myform.FUELTYPE.value +
			'&TRANSMISSION=' + document.myform.TRANSMISSION.value +
			'&ENGINESIZE=' + document.myform.ENGINESIZE.value +
			'&DOORS=' + document.myform.DOORS.value +
			'&AVAILABLE=' + document.myform.AVAILABLE.value +
			'&TOTAL=' + document.myform.TOTAL.value +
			'&DATEADDED=' + document.myform.DATEADDED.value;

		alert ("To Server (Add New Record):\n\najax-insert-into-DB.php" + mydata);

		xmlHttpReq2.open ('GET', "ajax-insert-into-DB.php" + mydata, true);
		xmlHttpReq2.onreadystatechange = addNewRecordCallback;
		xmlHttpReq2.send(null);
}

function deleteRecordCallback()
{
	if(xmlHttpReq3.readyState == 4)
	{
		alert ("From Server (Delete Record): " + xmlHttpReq3.responseText);
		
		mytable = document.getElementById ("DBTable");
		myrow = document.getElementById ("Row" + ID);
		mytable.removeChild (myrow);
	}
}

function deleteRecord(ID)
{	
	if(window.XMLHttpRequest)
	{
		xmlHttpReq3 = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		xmlHttpReq3 = new ActiveXObject("Microsoft.XMLHTTP");
	}
	mydata = '?ID=' + document.myform.ID.value; 

	alert ("To Server (Delete Record):\n\najax-delete-from-DB.php" + mydata);

	xmlHttpReq3.open ('GET', "ajax-delete-from-DB.php" + mydata, true);
	xmlHttpReq3.onreadystatechange = deleteRecordCallback;
	xmlHttpReq3.send(null);
	
	
}

function updateRecordCallback(){
	if (xmlHttpReq4.readyState == 4)
	{
		alert ("From Server (Update Record):\n" + xmlHttpReq4.responseText);
		if (xmlHttpReq4.status == 200)
		{
			var record = xmlHttpReq4.responseXML.getElementsByTagName('record');
			var s = "";
			for (var i = 0; i < record.length; i ++)
			{
				var rec = record[i];
					
				var ID = rec.getElementsByTagName("ID")[0].firstChild.data;
				var CARNAME = rec.getElementsByTagName("CARNAME")[0].firstChild.data;
				var FUELTYPE = rec.getElementsByTagName("FUELTYPE")[0].firstChild.data;
				var TRANSMISSION = rec.getElementsByTagName("TRANSMISSION")[0].firstChild.data;
				var ENGINESIZE = rec.getElementsByTagName("ENGINESIZE")[0].firstChild.data;
				var DOORS = rec.getElementsByTagName("DOORS")[0].firstChild.data;
				var AVAILABLE = rec.getElementsByTagName("AVAILABLE")[0].firstChild.data;
				var TOTAL = rec.getElementsByTagName("TOTAL")[0].firstChild.data;
				var DATEADDED = rec.getElementsByTagName("DATEADDED")[0].firstChild.data;
				appendRecord (ID, CARNAME, FUELTYPE, TRANSMISSION, ENGINESIZE, DOORS, AVAILABLE, TOTAL, DATEADDED);
			}
		}
	}
}
function updateRecord()
	{	
	var ID = document.myform.ID.value;
	var CARNAME = document.myform.CARNAME.value;
	var FUELTYPE = document.myform.FUELTYPE.value;
	var TRANSMISSION = document.myform.TRANSMISSION.value;
	var ENGINESIZE = document.myform.ENGINESIZE.value;
	var DOORS = document.myform.DOORS.value;
	var AVAILABLE = document.myform.AVAILABLE.value;
	var TOTAL = document.myform.TOTAL.value;
	var DATEADDED = document.myform.DATEADDED.value;

	var mydata = null;
	if (window.XMLHttpRequest)
	{
		xmlHttpReq4 = new XMLHttpRequest ();
	}
	else if (window.ActiveXObject){
		xmlHttpReq4 = new ActiveXObject ("Microsoft.XMLHTTP");
	}
	mydata = '?ID=' + document.myform.ID.value +
			'&CARNAME=' + document.myform.CARNAME.value +
			'&FUELTYPE=' + document.myform.FUELTYPE.value +
			'&TRANSMISSION=' + document.myform.TRANSMISSION.value +
			'&ENGINESIZE=' + document.myform.ENGINESIZE.value +
			'&DOORS=' + document.myform.DOORS.value +
			'&AVAILABLE=' + document.myform.AVAILABLE.value +
			'&TOTAL=' + document.myform.TOTAL.value +
			'&DATEADDED=' + document.myform.DATEADDED.value;
			
	alert ("To Server (Update Record):\n\ajax-update-DB.php" + mydata);

	xmlHttpReq4.open ('GET', "ajax-update-DB.php" + mydata, true);
	xmlHttpReq4.onreadystatechange = updateRecordCallback;
	xmlHttpReq4.send(null);

	myrow = document.getElementById ("Row" + ID);
	mytable.removeChild (myrow);
}
</script>
<div id="TableContain">
	<div>
		<h1>XYZ Car Rental Database Mangagement</h1>
	</div>
		<button value="Add"  onClick="addNewRecord()">Add</button>&nbsp;&nbsp;
		<button value="Del"  onClick="deleteRecord()">Delete</button>&nbsp;&nbsp;
		<button value="Mod"  onClick="updateRecord()">Modify</button>&nbsp;&nbsp;
		<button value="Load" onClick="loadDatabaseRecord()">Display Table</button>&nbsp;&nbsp;
		<br />
		<label>If you are adding a vehicle to the database leave the ID field blank.</label>
	<table id="DBTable">
		<tr>
			<th>Car ID</th>
			<th>Car Name</th>
			<th>Fuel Type</th>
			<th>Transmission</th>
			<th>Engine Size</th>
			<th>Door Number</th>
			<th>AVAILABLE</th>
			<th>TOTAL</th>
			<th>Date Added</th>
		</tr>
		<form name="myform" action="">
			<tr>
				<td><input type="text"  id="ID" name="ID" size="2"></td>
				<td><input type="text"  id="CARNAME" name="CARNAME" maxlength="10" size="10"></td>
				<td><input type="text"  id="FUELTYPE" name="FUELTYPE" maxlength="10" size="10"></td>
				<td><input type="text"  id="TRANSMISSION" name="TRANSMISSION" maxlength="10" size="10"></td>
				<td><input type="text"  id="ENGINESIZE" name="ENGINESIZE" maxlength="3" size="5"></td>
				<td><input type="text"  id="DOORS" name="DOORS" maxlength="1" size="5"></td>
				<td><input type="text"  id="AVAILABLE" name="AVAILABLE" maxlength="4" size="5"></td>
				<td><input type="text"  id="TOTAL" name="TOTAL" maxlength="4" size="5"></td>
				<td><input type="text"  id="DATEADDED" name="DATEADDED" maxlength="6" size="7" value="<?php echo date('dmy'); ?>" disabled></td>
			</tr>
		</form>
	</table>
</div>
</body>
<iframe src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d2442.59514046266!2d-0.8897769999999999!3d52.250737!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x48770ec7832a01f1%3A0x9ce9b26b8d31bb97!2sUniversity+of+Northampton!5e0!3m2!1sen!2suk!4v1398950478395" width="800" height="600" frameborder="0" style="border:0"></iframe>
</html>