// menu function
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover = function() {
			this.className += " sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}

if (!Array.prototype.indexOf) {
	Array.prototype.indexOf = function(elt /*, from*/) {
		var len = this.length >>> 0;

		var from = Number(arguments[1]) || 0;
		from = (from < 0) ? Math.ceil(from): Math.floor(from);

		if (from < 0) from += len;

		for (; from < len; from++) {

			if (from in this && this[from] === elt) return from;
		}
		return -1;
	};
}

// LOGIN: switches password field
function EmptyField(obj) {

	if(obj.value == obj.defaultValue) {

		obj.value = '';
		
		if(obj.defaultValue == 'Enter Password') {
			obj.type = 'password';
		}
	}
}

// LOGIN: switches password field
function ReDefault(obj) {

	if(obj.value == '') {

		obj.value = obj.defaultValue;
		
		if(obj.defaultValue == 'Enter Password') {
			obj.type = 'text';
		}
	}
}

// FAKE FILE BROWSE: displays the file name in the dumbie file selection field
function DisplayFile(filefield, displayfield) {

	var str = filefield.value;

	var newstr = str.split("/");

	var filename = newstr.reverse();

	document.getElementById(displayfield).value = filename[0];
}

var settab = 'accounttab';

// APP: changes the tabs in the application and runs the corresponding checks
function SelectTab(tabobj, divobj) {

	if (settab == 'accounttab') {
		ErrorReport(AccountSubmit());
	}
	if (settab == 'personaltab') {
		ErrorReport(PersonalSubmit());
	}
	if (settab == 'emergencytab') {
		ErrorReport(EmergencySubmit());
	}
	if (settab == 'faatab') {
		ErrorReport(FaaSubmit());
	}
	if (settab == 'misctab') {
		ErrorReport(MiscSubmit());
	}

	ChangeTab(tabobj, divobj);

	settab = tabobj;
}

// APP: outputs user friendly report of empty mandatory fields
function ErrorReport(error) {
	if(error != '') {
		document.getElementById('proccess').innerHTML = error;
		document.getElementById('proccess').style.display = 'block';
	}
	else {
		document.getElementById('proccess').style.display = 'none';
	}
}

// APP: sets NAME and email to second tab in application
function CopyTo(origin, destination) {

	document.getElementById(destination).value = origin.value;
}

// APP: Check that certain fields in the application are filed in to some minimal level
function CheckLength(obj, len) {

	var obj = trim(document.getElementById(obj).value);
	if((obj.length < len) || (obj.length > 200)) {
		return false;
	}
	else {
		return true;
	}
}

// APP: checks the email fields on the application to ensure they are valid
function CheckEmail(email, reemail) {
var error = '';

	if (trim(document.getElementById(email).value) != trim(document.getElementById(reemail).value)) {
		error += "Email addresses didn't match<br>";
	}
	else if(trim(document.getElementById(email).value) != '') {
		var femail = trim(document.getElementById(email).value);
		var tempd = new Array();
		tempd = femail.split('@');
		if (tempd[1]) {
			var temp = new Array();
			temp = tempd[1].split('.');
			if(!temp[1]) {
				error += 'Please enter a valid E-mail address<br>';
			}
		}
		else {
			error += 'Please enter a valid E-mail address<br>';
		}
	}
	else {
		error += 'Please fill in the E-mail field<br>';
	}
	return error;
}

// APP: checks the that the password on the application meets a minimum level of security
function CheckPass(pass, repass) {

	var pass = trim(document.getElementById(pass).value);
	var repass = trim(document.getElementById(repass).value);
	if (pass != repass) {
		var error = "Passwords didn't match<br>";
	}
	else if((pass.length < 4) || (pass.length > 200)) {
		var error = "The password entered was not a valid password<br>";
	}
	else {
		var error = '';
	}
	return error;
}

// APP: checks phone numbers enterd on the application to ensure they are valid
function CheckPhone(homep, cellp, primaryh, primaryc) {

	var homep = trim(document.getElementById(homep).value);
	var cellp = trim(document.getElementById(cellp).value);
	if ((homep.length <= 10) && (cellp.length <= 10)) {
	  var error = 'Please enter at least one valid phone number with area code<br>';
	}
	else if ((document.getElementById(primaryh).checked != true) && (document.getElementById(primaryc).checked != true)) {
		var error = 'Please select which phone is your primary phone<br>';
	}
	else {
		var error = '';
	}
	return error;
}

// APP: check the info in the Account tab of the application
function AccountSubmit() {
	var error = '';
	
	if (!CheckLength('fname', '2')) {
		error += 'Please enter a valid First Name<br>';
	}

	if (!CheckLength('lname', '2')) {
		error += 'Please enter a valid Last Name<br>';
	}

	if (CheckEmail('email', 'reemail') != '') {
		error += CheckEmail('email', 'reemail');
	}

	if (!CheckLength('userid', '2')) {
		error += 'Please enter a valid User Id<br>';
	}

	if (CheckPass('userpass', 'repass') != '') {
		error += CheckPass('userpass', 'repass');
	}
	return error;
}

// APP: check the info in the Personal info tab of the application
function PersonalSubmit() {
	var error = '';

	if (trim(document.getElementById('fname2').value) != 'airsign pilot') {

		if (!CheckLength('street', '8')) {
			error += 'Please enter a valid Street Address<br>';
		}

		if (!CheckLength('city', '2')) {
			error += 'Please enter a valid City<br>';
		}

		if (!CheckLength('state', '2')) {
			error += 'Please enter a valid State<br>';
		}

		if (!CheckLength('zip', '5')) {
			error += 'Please enter a valid Zip code<br>';
		}

		if (CheckPhone('hphone', 'cphone', 'primaryh', 'primaryc') != '') {
			error += CheckPhone('hphone', 'cphone', 'primaryh', 'primaryc');
		}

		if ((document.getElementById('marriedy').checked != true) && (document.getElementById('marriedn').checked != true)) {
			error += 'Please select your Marital status<br>';
		}

		if (trim(document.getElementById('children').value) == '') {
			error += 'Please select the number of children you have<br>';
		}
	}
	return error;
}

// APP: check the info in the Emergency contact tab of the application
function EmergencySubmit() {
	var error = '';

	if (trim(document.getElementById('efname').value) != 'airsign pilot') {
	
		if (!CheckLength('efname', '2')) {
			error += 'Please enter a valid First Name<br>';
		}

		if (!CheckLength('elname', '2')) {
			error += 'Please enter a valid Last Name<br>';
		}

		if (!CheckLength('erelate', '2')) {
			error += 'Please tell us how you know this person<br>';
		}

		if (CheckEmail('eemail', 'eemail') != '') {
			error += CheckEmail('email', 'eemail');
		}

		if (!CheckLength('estreet', '8')) {
			error += 'Please enter a valid Street Address<br>';
		}

		if (!CheckLength('ecity', '2')) {
			error += 'Please enter a valid City<br>';
		}

		if (!CheckLength('estate', '2')) {
			error += 'Please enter a valid State<br>';
		}

		if (!CheckLength('ezip', '5')) {
			error += 'Please enter a valid Zip code<br>';
		}

		if (CheckPhone('ehphone', 'ecphone', 'eprimaryh', 'eprimaryc') != '') {
			error += CheckPhone('ehphone', 'ecphone', 'eprimaryh', 'eprimaryc');
		}
	}
	return error;
}

// APP: check the info in the FAA info tab of the application
function FaaSubmit() {
	var error = '';

	if (trim(document.getElementById('certificate').value) != 'airsign pilot') {

		if (!CheckLength('certificate', '5')) {
			error += 'Please enter a valid Certificate Number<br>';
		}
		if (document.getElementById('fryear').value == '') {
			error += 'Please select a Flight Review Year<br>';
		}
		if (document.getElementById('frmonth').value == '') {
			error += 'Please select a Flight Review Month<br>';
		}
		if (document.getElementById('frday').value == '') {
			error += 'Please select a Flight Review Day<br>';
		}
		if (document.getElementById('medical').value == '') {
			error += 'Please Select a Medial Class<br>';
		}
		if (document.getElementById('mryear').value == '') {
			error += 'Please select a Medical Review Year<br>';
		}
		if (document.getElementById('mrmonth').value == '') {
			error += 'Please select a Medical Review Month<br>';
		}
		if (document.getElementById('mrday').value == '') {
			error += 'Please select a Medical Review Day<br>';
		}
	}
	return error;
}

// APP: check the info in the Miscelaneous tab of the application
function MiscSubmit() {
	var error = '';

	if (trim(document.getElementById('schooldetail').value) != 'airsign pilot') {

		if (trim(document.getElementById('school').value) == '') {
			error += 'Please Select your level of Schooling<br>';
		}
		if (trim(document.getElementById('schooldetail').value) == '') {
			error += 'Please tell a us a bit about your Schooling<br>';
		}
		if (trim(document.getElementById('work').value) == '') {
			error += 'Please tell a us about your past work experience<br>';
		}

		if ((trim(document.getElementById('refone').value) == '') && (trim(document.getElementById('reftwo').value) == '') && (trim(document.getElementById('refthree').value) == '')) {
			error += 'Please provide at least one reference<br>';
		}
	}
	return error;
}

// APP: checks all madatory fields of the application and creates POST parameters and then sends them to the AJAX function
function FinalSubmit() {
	var error = '';

	error += (AccountSubmit() != '') ? '<span class="finalalert">Account Info Tab:</span><br>' + AccountSubmit(): '';
	error += ((PersonalSubmit() != '') && (trim(document.getElementById('fname').value) != 'airsign pilot')) ? '<span class="finalalert">Personal Info Tab:</span><br>' + PersonalSubmit(): '';
	error += ((EmergencySubmit() != '')  && (trim(document.getElementById('efname').value) != 'airsign pilot')) ? '<span class="finalalert">Emergency Contacts Tab:</span><br>' + EmergencySubmit(): '';
	error += ((FaaSubmit() != '') && (trim(document.getElementById('certificate').value) != 'airsign pilot')) ? '<span class="finalalert">Faa Info Tab:</span><br>' + FaaSubmit(): '';
	error += ((MiscSubmit() != '') && (trim(document.getElementById('schooldetail').value) != 'airsign pilot')) ? '<span class="finalalert">Misc Info Tab:</span><br>' + MiscSubmit(): '';

	if (error != '') {
		document.getElementById('proccess').innerHTML = error;
		document.getElementById('proccess').style.display = 'block';
		
		return false;
	}
	else {
	
		// obvuscate the url that the form is submited to
		var a = new Array('.php?pag', 'me&inf', 'e=ho', 'o=appl', 'index', 'ication');
		
		document.getElementById('application').action = a[4]+a[0]+a[2]+a[1]+a[3]+a[5];
		
		return true;
	/*
		if (document.getElementById('marriedy').checked == true) {
			var married = '1';
		}
		if (document.getElementById('marriedn').checked == true) {
			var married = '0';
		}

		if (document.getElementById('primaryh').checked == true) {
			var primary = 'h';
		}
		if (document.getElementById('primaryc').checked == true) {
			var primary = 'c';
		}

		if (document.getElementById('eprimaryh').checked == true) {
			var eprimary = 'h';
		}
		if (document.getElementById('eprimaryc').checked == true) {
			var eprimary = 'c';
		}

		var psel = (document.getElementById('psel').checked == true) ? document.getElementById('psel').value: '0';
		var csel = (document.getElementById('csel').checked == true) ? document.getElementById('csel').value: '0';
		var pmulti = (document.getElementById('pmulti').checked == true) ? document.getElementById('pmulti').value: '0';
		var cmulti = (document.getElementById('cmulti').checked == true) ? document.getElementById('cmulti').value: '0';
		var instrument = (document.getElementById('instrument').checked == true) ? document.getElementById('instrument').value: '0';
		var aplicense = (document.getElementById('aplicense').checked == true) ? document.getElementById('aplicense').value: '0';
		var instructorf = (document.getElementById('instructorf').checked == true) ? document.getElementById('instructorf').value: '0';
		var instructorfi = (document.getElementById('instructorfi').checked == true) ? document.getElementById('instructorfi').value: '0';
		var instructorm = (document.getElementById('instructorm').checked == true) ? document.getElementById('instructorm').value: '0';
		var seaplane = (document.getElementById('seaplane').checked == true) ? document.getElementById('seaplane').value: '0';
		var helicopter = (document.getElementById('helicopter').checked == true) ? document.getElementById('helicopter').value: '0';

		var relocate = (document.getElementById('relocatey').checked == true) ? '1': '0';

		var params = "&fname="+document.getElementById('fname').value;
		params += "&lname="+document.getElementById('lname').value;
		params += "&email="+document.getElementById('email').value;
		params += "&userid="+document.getElementById('userid').value;
		params += "&userpass="+document.getElementById('userpass').value;

		params += "&street="+document.getElementById('street').value;
		params += "&city="+document.getElementById('city').value;
		params += "&state="+document.getElementById('state').value;
		params += "&zip="+document.getElementById('zip').value;
		params += "&hphone="+document.getElementById('hphone').value;
		params += "&cphone="+document.getElementById('cphone').value;
		params += "&primary="+primary;
		params += "&married="+married;
		params += "&children="+document.getElementById('children').value;

		params += "&efname="+document.getElementById('efname').value;
		params += "&elname="+document.getElementById('elname').value;
		params += "&erelate="+document.getElementById('erelate').value;
		params += "&email="+document.getElementById('email').value;
		params += "&estreet="+document.getElementById('estreet').value;
		params += "&ecity="+document.getElementById('ecity').value;
		params += "&estate="+document.getElementById('estate').value;
		params += "&ezip="+document.getElementById('ezip').value;
		params += "&ehphone="+document.getElementById('ehphone').value;
		params += "&ecphone="+document.getElementById('ecphone').value;
		params += "&eprimary="+eprimary;

		params += "&certificate="+document.getElementById('certificate').value;
		params += "&freview="+document.getElementById('fryear').value+"-"+document.getElementById('frmonth').value+"-"+document.getElementById('frday').value;
		params += "&otherc="+document.getElementById('otherc').value;
		params += "&tailwheeldate="+document.getElementById('twyear').value+"-"+document.getElementById('twmonth').value+"-"+document.getElementById('twday').value;
		params += "&medical="+document.getElementById('medical').value;
		params += "&medicaldate="+document.getElementById('mryear').value+"-"+document.getElementById('mrmonth').value+"-"+document.getElementById('mrday').value;
		params += "&fhours="+document.getElementById('fhours').value;
		params += "&twhours="+document.getElementById('twhours').value;
		params += "&bthours="+document.getElementById('bthours').value;
		params += "&psel="+psel;
		params += "&csel="+csel;
		params += "&pmulti="+pmulti;
		params += "&cmulti="+cmulti;
		params += "&instrument="+instrument;
		params += "&aplicense="+aplicense;
		params += "&instructorf="+instructorf;
		params += "&instructorfi="+instructorfi;
		params += "&instructorm="+instructorm;
		params += "&seaplane="+seaplane;
		params += "&helicopter="+helicopter;

		params += "&school="+document.getElementById('school').value;
		params += "&schooldetail="+document.getElementById('schooldetail').value;
		params += "&work="+document.getElementById('work').value;
		params += "&criminal="+document.getElementById('criminal').value;
		params += "&refone="+document.getElementById('refone').value;
		params += "&reftwo="+document.getElementById('reftwo').value;
		params += "&refthree="+document.getElementById('refthree').value;
		params += "&comments="+document.getElementById('comments').value;
		params += "&relocate="+relocate;
		params += "&miscresume="+document.getElementById('miscresume').value;

		loadXMLDoc(params);
		*/
	}
}

// APP: submits the application
var req;
function loadXMLDoc(params) {

	var url = 'lounge_home_app_submit.php?'+params;

	req = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest();

	req.onreadystatechange = processReqChange;
	req.open("GET", url, true);
	req.send();
}

// APP: verifies that the application was proccessed on the server side
function processReqChange() {

	if (req.readyState == 4) {

		if (req.status == 200) {

		var appresponse  = req.responseXML.documentElement;

			try {

				formstatus(appresponse.getElementsByTagName("confirm")[0].childNodes[0].nodeValue);
			}
			catch (error) {

				formstatus('error');
			}
		}
	}
}

// APP: if the submition of the application had errors this generates a user freindly error
function formstatus(status) {

	if (status == 'error') {

		document.getElementById('proccess').innerHTML = 'An Error has occured in submiting your Application please try again<br> If the problem persists please let us know';
		document.getElementById('proccess').style.display = 'block';
		document.getElementById('confimation').innerHTML = 'An Error has occured in submiting your Application please try again<br> If the problem persists please let us know';
		document.getElementById('confimation').style.display = 'block';

		return true;
	}
	else if ((status != 'error') && (status != 'success')) {

		document.getElementById('proccess').innerHTML = status;
		document.getElementById('proccess').style.display = 'block';
		document.getElementById('confimation').innerHTML = status;
		document.getElementById('confimation').style.display = 'block';

		return true;
	}
	else if (status == 'success') {

		document.getElementById('submitbutton').style.display = 'none';
		document.getElementById('proccess').innerHTML = 'Thank you ' + document.getElementById('fname').value + ' ' + document.getElementById('lname').value + ' your application has been subitted and someone will be in contact with you shortly';
		document.getElementById('proccess').style.display = 'block';
		document.getElementById('confimation').innerHTML = 'Thank you ' + document.getElementById('fname').value + ' ' + document.getElementById('lname').value + ' your application has been subitted and someone will be in contact with you shortly';
		document.getElementById('confimation').style.display = 'block';

		return true;
	}
	else {
		return false;
	}
}

// ALERTS: generates a info field when mousing over a pilots alert
function ShowStatus(pilotid, event) {

	var agent = navigator.userAgent.toLowerCase();

	var scrollp = [0, 0];

	if (typeof document.documentElement.scrollTop != "undefined" && document.documentElement.scrollTop > 0 ){
		scrollp = [document.documentElement.scrollLeft, document.documentElement.scrollTop];
	}
	else if (typeof document.body.scrollTop != "undefined" ){
		scrollp = [document.body.scrollLeft, document.body.scrollTop];
	}
	else if (typeof window.pageYOffset != "undefined" ){
		scrollp = [window.pageXOffset, window.pageYOffset];
	}

	var cursorp = [0, 0];

	if(typeof event.pageX != "undefined" && typeof event.x != "undefined"){
		cursorp[0] = event.pageX - 200;
		cursorp[1] = event.pageY + 10;
	}
	else if (agent.indexOf("gecko") != -1){
		cursorp[0] = event.clientX + scrollp[0] - 280;
		cursorp[1] = event.clientY + scrollp[1] + 10;
	}
	else{
		cursorp[0] = event.clientX + scrollp[0] - 200;
		cursorp[1] = event.clientY + scrollp[1] + 10;
	}

	document.getElementById(pilotid).style.top = cursorp[1] + "px";
	document.getElementById(pilotid).style.left = cursorp[0] + "px";
	document.getElementById(pilotid).style.display = "block";
}

// ALERTS: hide the pilots alert info when mouseout
function HideStatus(pilotid, event) {

	document.getElementById(pilotid).style.top = "-500px";
	document.getElementById(pilotid).style.left = "-500px";
	document.getElementById(pilotid).style.display = "none";
}


// FLIGHTS: prints all marked flights for pilots and admins 
function PrintFlights(permition) {

	if (permition == 'admin') {
		var formaction = 'print_faa_report.php';
	}
	if (permition == 'pilot') {
		var formaction = 'print_flights.php';
	}

	var currentobj = GetCurrentObj();

	document.getElementById(currentobj).action = formaction;
	document.getElementById(currentobj).target = '_blank';
	document.getElementById(currentobj).submit();
	document.getElementById(currentobj).action = document.getElementById('scheduled').action.defaultValue;
}

// FLIGHTS: will archive all marked records
function ArchiveFlights(reqpage, setting) {

	var currentobj = GetCurrentObj();
	
	var formchild = document.getElementById(currentobj).getElementsByTagName('input');
	
		for (var i = 0; i < formchild.length; i++) {
		
			if ((formchild[i].getAttribute('type') == 'hidden') && (formchild[i].getAttribute('id') == 'submitflights')) {
				formchild[i].value = setting;
			}
		}
	
	document.getElementById(currentobj).action = reqpage;
	document.getElementById(currentobj).submit();
}

var formsarray = new Array();

// TABS: get styles from the external style sheet
function getStyle(elm, cssprop){
	if (elm.currentStyle){
		return elm.currentStyle[cssprop];
	}
	else if (document.defaultView && document.defaultView.getComputedStyle) {
		return document.defaultView.getComputedStyle(elm, "")[cssprop];
	}
	else {
		return elm.style[cssprop];
	}
}

// TABS: finds the currently visible tab and and stores its form element id as a global object
function GetCurrentObj() {

	var alldivs = document.body.getElementsByTagName('div');
	var allforms = document.body.getElementsByTagName('form');

	for (var d = 0; d < alldivs.length; d++) {

		if ((alldivs[d].getAttribute('data-type') == 'content') && (getStyle(alldivs[d], 'display') != 'none')) {

			for (var f = 0; f < allforms.length; f++) {
				if (allforms[f].parentNode == alldivs[d]) {
					var currentobj = allforms[f].getAttribute('id');
				}
			}
		}
	}

	if(!formsarray[currentobj]) {
		formsarray[currentobj] = 0;
	}

	return currentobj;
}

// FLIGHTS: will check all checkboxes in the active tab
function CheckAll() {

	var currentobj = GetCurrentObj();

	var forminputs = document.getElementById(currentobj).getElementsByTagName('input');

	if (formsarray[currentobj] == '0') {
		for(var i = 0; i < forminputs.length; i++) {
			if(forminputs[i].getAttribute('type') == 'checkbox') {
				forminputs[i].checked = true;
			}
		}
		formsarray[currentobj] = 1;
	}
	else {
		for(var i = 0; i < forminputs.length; i++) {
			if(forminputs[i].getAttribute('type') == 'checkbox') {
				forminputs[i].checked = false;
			}
		}
		formsarray[currentobj] = 0;
	}
}

// TABS: changes the active tab
function ChangeTab(tab, content) {

	var alldivs = document.body.getElementsByTagName('div');

	for (var i = 0; i < alldivs.length; i++) {

		if (alldivs[i].getAttribute('data-type') == 'tab') {
			alldivs[i].style.background = 'transparent';
		}

		if (alldivs[i].getAttribute('data-type') == 'content') {
			alldivs[i].style.display = 'none';
		}
	}

	document.getElementById(tab).style.background = '#000000';
	document.getElementById(content).style.display = 'block';

	if (document.getElementById('checkall')) {

		var currentobj = GetCurrentObj();

		if (formsarray[currentobj] == '0') {
			document.getElementById('checkall').checked = false;
		}
		else {
			document.getElementById('checkall').checked = true;
		}
	}
}

// SCHEDULING: shows or hides elements
function ShowElem(obj) {
	document.getElementById(obj).style.display = 'inline';
}
function HideElem(obj) {

	document.getElementById(obj).style.display = 'none';
}

// SCHEDULING: sets the Clients or Subcontractors info to the associated fileds when one is selected
function DisableEnable(option, rn, name, address, phone, email, addedit) {
	
	if (option.value != 0) {
		document.getElementById(name).readOnly = true;
		document.getElementById(address).readOnly = true;
		document.getElementById(phone).readOnly = true;
		document.getElementById(email).readOnly = true;
		
		document.getElementById(addedit).value = 'none';
		document.getElementById(rn).value = option.value;
		document.getElementById(name).value = option.innerHTML;
		document.getElementById(address).value = option.getAttribute('data-address');
		document.getElementById(phone).value = option.getAttribute('data-phone');
		document.getElementById(email).value = option.getAttribute('data-email');
	}
	else {
		document.getElementById(name).readOnly = false;
		document.getElementById(address).readOnly = false;
		document.getElementById(phone).readOnly = false;
		document.getElementById(email).readOnly = false;
		
		document.getElementById(addedit).value = 'add';
		document.getElementById(rn).value = '';
		document.getElementById(name).value = '';
		document.getElementById(address).value = '';
		document.getElementById(phone).value = '';
		document.getElementById(email).value = '';
	}
}

// SCHEDULING: allows the editing of Clients or Subcontractors info
function EnableFields(addedit, name, address, phone, email) {
	
	document.getElementById(addedit).value = 'edit';
	document.getElementById(name).readOnly = false;
	document.getElementById(address).readOnly = false;
	document.getElementById(phone).readOnly = false;
	document.getElementById(email).readOnly = false;
}

//SCHEDULING: Enable the form to be submited
function EditEnable(url) {
	
	document.getElementById('editflight').action = url;
	
	document.getElementById('scheduleflight1').disabled = false;
	document.getElementById('scheduleflight1').style.display = 'block';
	
	document.getElementById('scheduleflight2').disabled = false;
	document.getElementById('scheduleflight2').style.display = 'block';
	
	document.getElementById('scheduleflight3').disabled = false;
	document.getElementById('scheduleflight3').style.display = 'block';
}

var i = 1;
function PageLoading() {
	
	if (i <= 7) {
		document.getElementById('load'+i).style.background = '#EBAB00';
		i++;
	}
}

// TABS: sorts flights in a tab without reloading the page
function SortTab() {

	var currentobj = GetCurrentObj();

	document.getElementById(currentobj).innerHTML = '<div style="clear: both; width: 250px; margin: 0 auto; padding: 100px;">' +
		'<div style="color: #EBAB00; font-size: 20px; font-weight: bold; float: left; padding-right: 10px;">Loading</div>' +
		'<div id="load0" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00; background: #EBAB00;">&nbsp;</div>' +
		'<div id="load1" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00;">&nbsp;</div>' +
		'<div id="load2" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00;">&nbsp;</div>' +
		'<div id="load3" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00;">&nbsp;</div>' +
		'<div id="load4" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00;">&nbsp;</div>' +
		'<div id="load5" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00;">&nbsp;</div>' +
		'<div id="load6" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00;">&nbsp;</div>' +
		'<div id="load7" style="width: 12px; float: left; margin: 2px; height: 20px; border: solid 1px #EBAB00;">&nbsp;</div>' +
	'</div>';

	var parentid = document.getElementById(currentobj).parentNode.getAttribute('id');
	var setlist = parentid.split('_');

	params = '?sort='+document.getElementById('sort').value;
	params += '&order='+document.getElementById('order').value;
	params += '&sd='+document.getElementById('sd').value;
	params += '&ed='+document.getElementById('ed').value;
	params += '&setlist='+setlist[0];

	sortAJAX('lounge_sorting.php'+params);
}

//TAB: AJAX sorting
function sortAJAX(url) {
	
	PageLoading();

	req = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest();

	req.onreadystatechange = sortReqChange;
	req.open("GET", url, true);
	req.send();
}

// TAB: AJAX sorting
function sortReqChange() {

	if (req.readyState == 1) {
		PageLoading();
	}
	if (req.readyState == 2) {
		PageLoading();
	}
	if (req.readyState == 3) {
		PageLoading();
	}

	if (req.readyState == 4) {

		PageLoading();

		if (req.status == 200) {

			var sortresponse  = req.responseText;

			try {
				sortstatus(sortresponse);
			}
			catch (error) {
				sortstatus('error');
			}
		}
	}
}

// TAB: AJAX sorting
function sortstatus(status)
{
	PageLoading();

	if (status != 'error') {
		
		var currentobj = GetCurrentObj();
		var parentid = document.getElementById(currentobj).parentNode.getAttribute('id');
		document.getElementById(parentid).innerHTML = status;
		i = 1;
		return true;
	}
	else if (status == 'error') {

		document.getElementById('error_reporting').innerHTML = 'An error occured whne trying to sort the data';
		i = 1;
		return true;
	}
	else {
		i = 1;
		return false;
	}
}

// Shows or hides the default value onfocus or onblur
function HideDefaultValue(obj)
{
	if (obj.innerHTML == 'Click Update to add new notes to Application')
	{
		obj.innerHTML = '';
	}
}
function ShowDefaultValue(obj)
{
	if (trim(obj.innerHTML) == '')
	{
		obj.innerHTML = 'Click Update to add new notes to Application';
	}
}
