//function to create ajax connection
function setupXMLHttp() {
	var xmlhttp;
	if (window.XMLHttpRequest) {
		xmlhttp=new XMLHttpRequest();
	} else {
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xmlhttp;
}


function findAirfield(string, id) {

	if (string.length == 0) {
		document.getElementById("options").innerHTML = "";
		return;
	}
	//get ajax
	var ajax = setupXMLHttp();
	
	//create event listener
	ajax.onreadystatechange = function(){
		//when data is ready...
		if(ajax.readyState == 4){
			var array = ajax.responseText.split("\n");
			if (id == "a") {
				out = "Please select an arrival airfield:";
			} else {
				out = "Please select a departure airfield:";
			}
			for (i=0; i<array.length-1; i++) {
				var split = array[i].split("\t");
				out = out + "<BR />&nbsp;&nbsp;&nbsp;<A href='#' onclick=\"selectAirfield('" + id + "','" + split[1] +"'," + split[0] + ", " + split[2] + ", " + split[3] + "); return false;\">" + split[1] + "</A>";
			}
			document.getElementById("options").innerHTML = out;
		}
	}
	//open ajax connection
	ajax.open("GET","include/findAirfield.php?string=" + string,true);
	
	//send data
	ajax.send();
}

function selectAirfield(id, icao, index, lat, lng) {
	if (id == "a") {
		document.getElementsByName('arrival_id')[0].value = index;
		document.getElementsByName('arrival')[0].value = icao;
		document.getElementsByName('arrival_lat')[0].value = lat;
		document.getElementsByName('arrival_long')[0].value = lng;
		document.getElementsByName('arrival')[0].setAttribute('class', 'disabled');
		document.getElementsByName('arrival')[0].setAttribute('className', 'disabled');
		document.getElementsByName('arrival')[0].onmouseup = function(){clearDisabled(this, id);};
	} else {
		document.getElementsByName('departure_id')[0].value = index;
		document.getElementsByName('departure')[0].value = icao;
		document.getElementsByName('departure_lat')[0].value = lat;
		document.getElementsByName('departure_long')[0].value = lng;
		document.getElementsByName('departure')[0].setAttribute('class', 'disabled');
		document.getElementsByName('departure')[0].setAttribute('className', 'disabled');
		document.getElementsByName('departure')[0].onmouseup = function(){clearDisabled(this, id);};
	}
	document.getElementById("options").innerHTML = "";
}
function clearDisabled(me) {
	me.setAttribute('class', '');
	me.setAttribute('className', '');
	me.value = "";
	document.getElementsByName(me.name + "_id")[0].value = -1;
}

function checkPlane(p) {
	//get ajax
	var ajax = setupXMLHttp();
	
	//create event listener
	ajax.onreadystatechange = function(){
		//when data is ready...
		if(ajax.readyState == 4){
			var fees = ajax.responseText.split("\t");
			var landingfee = fees[2];
			if (landingfee > 0) {
				document.getElementById("landings").innerHTML = "<TABLE width=400px><TR><TD class='form' width=180px>Number Of Landings:&nbsp;</TD><TD><INPUT name='landings' onkeyup='calculateCost();' /></TD></TR></TABLE>";
			} else {
				document.getElementById("landings").innerHTML = "";
			}
		}
	}
	//open ajax connection
	ajax.open("GET","include/planeCosts.php?id=" + p,true);
	
	//send data
	ajax.send();
}

function calculateCost() {
	if ((!document.logbook.hirelesson[0].checked && !document.logbook.hirelesson[1].checked) ||
		(document.logbook.elements['mins'].selectedIndex + document.logbook.elements['hours'].selectedIndex) == 0 ||
		document.logbook.elements['aircraft'].value == -1) {
		document.logbook.elements['total'].value = "";
		return;
	}
	//get ajax
	var ajax = setupXMLHttp();
	
	//create event listener
	ajax.onreadystatechange = function(){
		//when data is ready...
		if(ajax.readyState == 4){
			var fees = ajax.responseText.split("\t");
			var solofee = parseFloat(fees[0]);
			var dualfee = parseFloat(fees[1]);
			var landingfee = parseFloat(fees[2]);
			var hours = parseFloat(document.logbook.elements['hours'].options[document.logbook.elements['hours'].selectedIndex].text);
			var mins = parseFloat(document.logbook.elements['mins'].options[document.logbook.elements['mins'].selectedIndex].text);
			
			var landings = 0;
			var string = "";
			if (landingfee > 0 &&
			(document.logbook.elements['landings'].value.length == 0 ||
			!IsNumeric(document.logbook.elements['landings'].value) ||
			document.logbook.elements['landings'].value < 0)) {
				document.logbook.elements['total'].value = "";
				return;
			} else if (landingfee > 0) {
				landings = parseFloat(document.logbook.elements['landings'].value);
			}
			if (document.logbook.hirelesson[0].checked) {
				fee = solofee;
			} else if (document.logbook.hirelesson[1].checked) {
				fee = dualfee;
			}
			cost = fee * (hours + (mins/60)) 
			if (landingfee > 0) {
				cost = cost + landings * landingfee;
			}
			cost = Math.round(cost*100)/100 + "";
			split = cost.split(".");
			if (split.length == 1) {
				cost = cost + ".00";
			} else if (split[1].length == 1) {
				cost = cost + "0";
			}
			document.logbook.elements['total'].value = "£" + cost;
		}
	}
	//open ajax connection
	ajax.open("GET","include/planeCosts.php?id=" + document.logbook.elements['aircraft'].value,true);
	
	//send data
	ajax.send();
}
function IsNumeric(input)
{
   return (input - 0) == input && input.length > 0;
}

function validateEntry() {
	if (document.logbook.elements['total'].value.length == 0 ||
	document.logbook.elements['departure_id'].value == -1 ||
	document.logbook.elements['arrival_id'].value == -1) {
		alert("Please complete all fields");
		return false;
	}
	return true;

}

function thumbnailClicked(path) {
	document.getElementById("imageContainer").innerHTML = "<IMG style= 'border: 3px #CCCCCC solid;' onclick='document.getElementById(\"imageContainer\").style.display=\"none\"' src='" + path + "' />";
	document.getElementById("imageContainer").style.display = "inline";
}
