// Dakota Jet JavaScript Document
//Updated with TIMEZONE function
// MULTIPLE TEXTAREA CHARACTER COUNTER
	/* This script and many more are available free online at
		The JavaScript Source :: http://javascript.internet.com
		Created by: kojak :: http://commoncoder.com */

	// fieldname, warningname, remainingname, maxchars
	function CheckFieldLength(fn,rn,mc) {
		var len = fn.value.length;
		if (len > mc)
			{
				fn.value = fn.value.substring(0,mc);
				len = mc;
			}
		
		//document.getElementById(wn).innerHTML = len;
		document.getElementById(rn).innerHTML = mc - len;
	}

// REMOVE ADDITIONAL TRANSPORTATION INFORMATION
	function remove_transportation() {
		if (document.form.remove_trans.checked)
			{
				document.getElementById('oldAddtnlTrans').value = ''
				document.getElementById('oldAddtnlTransFee').value = ''
				document.getElementById('oldTransDesc').value = ''		
				document.getElementById('addtnl_trans').className = 'remove_trans'
				document.getElementById('addtnl_trans_fee').className = 'remove_trans'
				document.getElementById('trans_desc').className = 'remove_trans_textarea'
			}
		else
			{
				document.getElementById('oldAddtnlTrans').value = document.getElementById('old_addtnl_transH').value
				document.getElementById('oldAddtnlTransFee').value = '$' + document.getElementById('old_addtnl_trans_feeH').value
				document.getElementById('oldTransDesc').value = document.getElementById('old_trans_descH').value
				document.getElementById('addtnl_trans').className = ''
				document.getElementById('addtnl_trans_fee').className = ''
				document.getElementById('trans_desc').className = ''
			}
	}

function copyFlightRate() {
		
		document.getElementById('base_hourly_rate2').value = document.getElementById('base_hourly_rate').value;
		
}

// ENABLE/DISABLE TEXT BOX FOR dj_make_reservation.cfm
function change_hourly(a) {
	if (document.form.change_base.checked) {
			document.form.base_hourly_rate.disabled = false;
			document.form.initials.disabled = false;
			document.getElementById('base_hourly_rate').value = '';
			document.getElementById('base_hourly_rate2').value = '';
			document.getElementById('base_hourly_rate').className = 'undisabled_cell';
			document.getElementById('initials').className = 'initials_undisabled_cell';
	}
	else {
			document.form.base_hourly_rate.disabled = true
			document.form.initials.disabled = true
			document.getElementById('base_hourly_rate').value = '$' + document.getElementById('get_hourly_rate').value
			document.getElementById('base_hourly_rate2').value = document.getElementById('get_hourly_rate').value
			document.getElementById('initials').value = a
			document.getElementById('base_hourly_rate').className = 'disabled_cell'
			document.getElementById('initials').className = 'initials_disabled_cell'
	}
}

// SET VIEW RESERVATION DATE POP-UP
function ShowBookings(Month, Day, Year, type) {
	var ResDate = Month + "/" + Day + "/" + Year
	window.open("templates/dakota_jet/dj_calendar_passenger_popup.cfm?ViewCode=" + type + "&ResDate=" + ResDate, "Customer_Booking_Window", "scrollbars=yes, resizable, width=250, height=250, top=350, left=400");
}

/*
function setColor(color){
if (opener && !opener.closed){
opener.document.theForm.theField.value = color;
opener.focus();
}
window.close();
}
*/
	
// SET CALENDAR
function ShowCalendar(FormName, FieldName) {
	  window.open("templates/window_datepopup.cfm?FormName=" + FormName + "&FieldName=" + FieldName, "CalendarWindow", "width=250, height=250, top=350, left=400");
	}
	
function CalculateFlightHours(Mins, Hrs, LN, TZ1, TZ2) {

	var a = Mins
	var b = Math.floor(a/60);
	var c = (a - (b*60));
	var d = (c/60) * 10;
	var e = d - (Math.floor(d));
	var tz1 = document.getElementById('timeZn' + TZ1).value;
	var tz2 = document.getElementById('timeZn' + TZ2).value;
	
	if (e < .5 && e != 0) {
		var f = Math.round(((((d - e) + .5) * .1) + b) *100) / 100;
	}
	else if (e > .5) {
		var f = Math.round(((((d - e) + 1) * .1) + b) * 10) / 10;
	}
	else {
		var f = Math.round((a / 60) * 100) / 100;
	}
	
	document.getElementById(Hrs).value = f;
	
	var DepartHr = document.getElementById('leg' + LN + 'Departhour').value;
	
	/*
	New Code --- Makes changes to DepartHr for time zone
	*/

//EASTERN TIMEZONE TO XXX
		if(tz1 == 'EST' && tz2 == 'EST') {
			DepartHr = DepartHr;
		}
		if(tz1 == 'EST' && tz2 == 'CST') {
			if(DepartHr == 1){
				DepartHr = 12;
			}
			else {
				DepartHr = DepartHr - 1;
			}
		}
		if(tz1 == 'EST' && tz2 == 'MST') {
			if(DepartHr == 1){
				DepartHr = 11;
			}
			if(DepartHr == 2){
				DepartHr = 12;
			}
			else {
				DepartHr = DepartHr - 2;
			}
		}
		if(tz1 == 'EST' && tz2 == 'PDT') {
			if(DepartHr == 1){
				DepartHr = 10;
			}
			if(DepartHr == 2){
				DepartHr = 11;
			}
			if(DepartHr == 3){
				DepartHr = 12;
			}
			else {
				DepartHr = DepartHr - 3;
			}
		}	
	
		//CENTRAL TIMEZONE TO XXX
		if(tz1 == 'CST' && tz2 == 'EST') {
			if(DepartHr == 12){
				DepartHr = 1;
			}
			else {
				DepartHr = DepartHr + 1;
			}
		}
		if(tz1 == 'CST' && tz2 == 'CST') {
			DepartHr = DepartHr;
		}
		if(tz1 == 'CST' && tz2 == 'MST') {
			if(DepartHr == 1){
				DepartHr = 12;
			}
			else {
				DepartHr = DepartHr - 1;
			}
		}
		if(tz1 == 'CST' && tz2 == 'PDT') {
			if(DepartHr == 1){
				DepartHr = 11;
			}
			if(DepartHr == 2){
				DepartHr = 12;
			}
			else {
				DepartHr = DepartHr - 2;
			}
		}
	
		//MOUNTAIN TIMEZONE TO XXX
		if(tz1 == 'MST' && tz2 == 'EST') {
			if(DepartHr == 11){
				DepartHr = 1;
			}
			if(DepartHr == 12){
				DepartHr = 2;
			}
			else {
				DepartHr = DepartHr + 2;
			}
		}
		if(tz1 == 'MST' && tz2 == 'CST') {
			if(DepartHr == 12){
				DepartHr = 1;
			}
			else {
				DepartHr = DepartHr + 1;
			}
		}
		if(tz1 == 'MST' && tz2 == 'MST') {
			DepartHr = DepartHr;
		}
		if(tz1 == 'MST' && tz2 == 'PDT') {
			if(DepartHr == 1){
				DepartHr = 12;
			}
			else {
				DepartHr = DepartHr - 1;
			}
		}
	
		//PACIFIC TIMEZONE TO XXX
		if(tz1 == 'PDT' && tz2 == 'EST') {
			if(DepartHr == 12){
				DepartHr = 3;
			}
			if(DepartHr == 11){
				DepartHr = 2;
			}
			if(DepartHr == 10){
				DepartHr = 1;
			}
			DepartHr = DepartHr + 3;
		}
		if(tz1 == 'PDT' && tz2 == 'CST') {
			if(DepartHr == 12){
				DepartHr = 2;
			}
			if(DepartHr == 11){
				DepartHr = 1;
			}
			else {
				DepartHr = DepartHr + 2;
			}
		}
		if(tz1 == 'PDT' && tz2 == 'MST') {
			if(DepartHr == 12){
				DepartHr = 1;
			}
			else {
				DepartHr = DepartHr + 1;
			}
		}
		if(tz1 == 'PDT' && tz2 == 'PDT') {
			DepartHr = DepartHr;
		}

	
	var DepartMin = document.getElementById('leg' + LN + 'Departmins').value;
	var DepartMer = document.getElementById('leg' + LN + 'Departmeridiem').value;
	//Get total number of hours from minutes inputed and depature minutes
	var checkHrs = Math.floor((DepartMin*1 + Mins*1) / 60);
	//Set the hour, add checkHrs to current hours
	var totalHrs = DepartHr*1 + Math.floor((DepartMin*1 + Mins*1) / 60);
	//Set mins
	var totalMins = (DepartMin*1) + ((Mins*1) - (checkHrs * 60));
	
	if ( DepartHr == '') {
		document.getElementById('leg' + LN + 'Arrivalmins').value = '';
	}
	else {
		document.getElementById('leg' + LN + 'Arrivalmins').value = totalMins;
	}



	//Set time to proper hour and meridiem if total hours exceeds 12
	if (totalHrs > 11) {
		var resetHrs = totalHrs - 12;
		
		if ( resetHrs == 0 ) {
			resetHrs = 12;
		}
		
		document.getElementById('leg' + LN + 'Arrivalhour').value = resetHrs;
		
		if ( DepartHr >= 12 && totalHrs < 24 ) {
			document.getElementById('leg' + LN + 'Arrivalmeridiem').value = document.getElementById('leg' + LN + 'Departmeridiem').value;
		}
		else {
			if (DepartMer == 'am') {
				document.getElementById('leg' + LN + 'Arrivalmeridiem').value = 'pm';
			}
			else {
				document.getElementById('leg' + LN + 'Arrivalmeridiem').value = 'am';
			}
		}
	}
	//Set appropriate meridiem when the hour is equal to 12
	else if ( totalHrs <= 12 ) {
		
		document.getElementById('leg' + LN + 'Arrivalhour').value = totalHrs;
		document.getElementById('leg' + LN + 'Arrivalmeridiem').value = document.getElementById('leg' + LN + 'Departmeridiem').value;
	}	
}


//LNA = Leg Number A, which is the currently selected leg | LNB = Leg Number B, which is the next leg number | PLN = Previous Leg Number
function legSwitcher(LNA, LNB, PLN) {
	
	//Set e = NEXT leg passenger value
	var e = document.getElementById('leg' + LNB + 'numOfPass').value;
	
	if ( LNA > 1 ) {
			
		//Set a = the value of the PREVIOUS number of passengers selected
		var a = document.getElementById('leg' + PLN + 'numOfPass').value;
		
		//Set f = CURRENT leg passenger value, note: f carries a value of 0, as it is set before the passenger value itself, until you return to a previously visited leg, i.e. x = any value other than 0 -- Leg 2[f=0] -> Leg 3[f=0] -> Leg 4[f=0] -> Leg 2[f=x]
		var f = document.getElementById('leg' + LNA + 'numOfPass').value;
		
		//Set current leg 'FROM' to previous legs' 'TO'
		document.getElementById('location' + LNA +'A').value = document.getElementById('location' + PLN + 'B').value;
		
		if ( f != a && f != 0 ) {
			//Set CURRENT leg passenger value to f if the PREVIOUS and NEXT leg passenger values differ from f
			document.getElementById('leg' + LNA + 'numOfPass').value = f;
			
			//Display Passenger List Header
			//document.getElementById('passList' + LNA).style.display = '';				
		}
		else {
			//Set CURRENT leg passenger value equal to a if e & f are equal
			document.getElementById('leg' + LNA + 'numOfPass').value = a;
		}
		
		if ( a != 0 || f == 0 && a != 0 ) {
			//Display Passenger List Header
			document.getElementById('passList' + LNA).style.display = '';		
		}
		//Setting focus on departure date in  next leg form and removing focus from previous leg anchor
		setTimeout(
		function() {		
			if (document.getElementById('leg' + LNA + 'Adate').value == '') {
				document.getElementById('leg' + LNA + 'Adate').focus();
			}
			else {
				document.getElementById('anchor' + LNA).blur();
			}
		}
		, 1);		
	}
	else {
		//Setting focus on first textbox in leg 1 form and removing focus from leg 1 anchor
		setTimeout(
		function() {
			if (document.getElementById('location' + LNA + 'A').value == '') {
				document.getElementById('location' + LNA + 'A').focus();
			}
			else {
				document.getElementById('anchor' + LNA).blur();
			}
		}
		, 1);		
	}
		//document.getElementById('testthis1').value = a; <-- for testing
		//document.getElementById('testthis2').value = e; <-- for testing
		//document.getElementById('testthis3').value = f; <-- for testing
		
	//Set b = current number of passengers selected + 1, this is the starting increment for hiding remaining passengers
	//Since f has an initial value of 0 we need to check for this
	if ( f != 0 ) {
		//Use f anytime f does not = 0, CURENT passenger value is greater than 0
		var b = f*1 +1
	}
	else {
		//ONLY use a in calculating b if f=0, CURRENT passenger value = 0
		var b = a*1 + 1;
	}
	
	//Create an array to pass string values for id names in for loop
	var textNum = new Array('ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT');
	
	//BOLD selected leg anchor
	document.getElementById('div' + LNA).style.display = '';
	document.getElementById('anchor' + LNA).className = 'selectedLEG';
	
	//Unbold leg anchors before current leg
	for (i=PLN; i>=1; i--) {
		document.getElementById('div' + i).style.display = 'none';
		document.getElementById('anchor' + i).className = 'unselectedLEG';		
	}
	
	//Unbold leg anchors after current leg
	for (i=LNB; i<=10; i++) {	
		document.getElementById('div' + i).style.display = 'none';
		document.getElementById('anchor' + i).className = 'unselectedLEG';		
	}
		
	//Display 'X' Passengers
	if ( f != 0 ) {
		for (i=1; i<=f; i++) {	
			document.getElementById('leg' + LNA + 'pass' + i).style.display = '';
			document.getElementById('leg' + LNA + 'pass' + i + 'info').style.display = '';		
		}
	}
	else {
		for (i=1; i<=a; i++) {
			document.getElementById('leg' + LNA + 'pass' + i).style.display = '';
			document.getElementById('leg' + LNA + 'pass' + i + 'info').style.display = '';		
		}
	}			
	
	//Hide 'X' Passengers
	for (i=b; i<=8; i++) {	
		document.getElementById('leg' + LNA + 'pass' + i).style.display = 'none';
		document.getElementById('leg' + LNA + 'pass' + i + 'info').style.display = 'none';		
	}
	
	//Grab passenger info from the PREVIOUS leg to the CURRENT leg
	if ( LNA > 1 ) {
	
		var check_r1 = document.getElementById('removeleg' + PLN + 'pass1').value;
		var check_r2 = document.getElementById('removeleg' + PLN + 'pass2').value;
		var check_r3 = document.getElementById('removeleg' + PLN + 'pass3').value;
		var check_r4 = document.getElementById('removeleg' + PLN + 'pass4').value;
		var check_r5 = document.getElementById('removeleg' + PLN + 'pass5').value;
		var check_r6 = document.getElementById('removeleg' + PLN + 'pass6').value;
		var check_r7 = document.getElementById('removeleg' + PLN + 'pass7').value;
		var check_r8 = document.getElementById('removeleg' + PLN + 'pass8').value;	
		
		//document.getElementById('structureSize').value = check_r1; <-- for testing
	
		if ( f != 0 ) {		
			if ( check_r1 == 0 || check_r2 == 0 || check_r3 == 0 || check_r4 == 0 || check_r5 == 0 || check_r6 == 0 || check_r7 == 0 || check_r8 == 0 ) {
				//DO NOTHING
			}
			else {
				for (i=0; i<f; i++) {
					document.getElementById('leg' + LNA + 'pass' + textNum[i] + 'name').value = document.getElementById('leg' + PLN + 'pass' + textNum[i] + 'name').value;
					document.getElementById('leg' + LNA + 'pass' + textNum[i] + 'phone').value = document.getElementById('leg' + PLN + 'pass' + textNum[i] + 'phone').value;
				}
			}
		}
		else {		
			/* if ( check_r1 == 0 || check_r2 == 0 || check_r3 == 0 || check_r4 == 0 || check_r5 == 0 || check_r6 == 0 || check_r7 == 0 || check_r8 == 0 ) {
				//DO NOTHING
			}
			else {	 */
				for (i=0; i<a; i++) {
				
					//var passArray = []; <-- for testing
					//passArray[i] = document.getElementById('leg' + PLN + 'pass' + textNum[i] + 'name').value; <-- for testing
					
					//document.write(passArray); <-- for testing
					document.getElementById('leg' + LNA + 'pass' + textNum[i] + 'name').value = document.getElementById('leg' + PLN + 'pass' + textNum[i] + 'name').value;
					document.getElementById('leg' + LNA + 'pass' + textNum[i] + 'phone').value = document.getElementById('leg' + PLN + 'pass' + textNum[i] + 'phone').value;
				}
			/* } */
		}		
	}
}

//legSwithcer2 = Used in verification of inputed or changed data on Make Reservation and Modify Reservation pages | LN = leg number, current
function legSwitcher2(LN) {
	
	var PLN = LN*1 - 1;
	var NLN = LN*1 + 1;
	//BOLD selected leg anchor
	document.getElementById('checkDiv' + LN).style.display = '';
	document.getElementById('anch' + LN).className = 'selectedLEG';
	document.getElementById('anch' + LN).blur();
	
	//Unbold leg anchors before current leg
	for (i=PLN; i>=1; i--) {
		document.getElementById('checkDiv' + i).style.display = 'none';
		document.getElementById('anch' + i).className = 'unselectedLEG';		
	}
	
	//Unbold leg anchors after current leg
	for (i=NLN; i<=10; i++) {	
		document.getElementById('checkDiv' + i).style.display = 'none';
		document.getElementById('anch' + i).className = 'unselectedLEG';		
	}	
}

function showTimeZone(tZone, a) {
		
		a = a*1;
		
		if (a > 0) {	
			//Display TimeZone
			document.getElementById(tZone).style.display = '';		
		}
		
		else {	
			//Hide TimeZone
			document.getElementById(tZone).style.display = 'none';		
		}	
	}
//showPassengers(); function displays text fields for the appropriate number of passengers and passes that value to the next leg
//LNA = Leg Number A, which is the currently selected leg | LNB = Leg Number B, which is the next leg number | pList = is the current Passenger List Header that needs to be used | a = the current value in the passenger select list
function showPassengers(LNA, LNB, pList, a) {
	//Value b will be the starting increment for hidden elements | Multiply by 1 so a is not treated as a string
	var b = a*1 + 1;
	
	//Decide whether to Display Passenger List Header or to Hide
	if (a > 0) {	
		//Display Passenger List Header
		document.getElementById(pList).style.display = '';		
	}
	else {	
		//Hide Passenger List Header
		document.getElementById(pList).style.display = 'none';		
	}	
	
	//Display 'X' Passengers
	for (i=1; i<=a; i++) {	
		document.getElementById('leg' + LNA + 'pass' + i).style.display = '';
		document.getElementById('leg' + LNA + 'pass' + i + 'info').style.display = '';		
	}
	
	//Hide 'X' Passengers
	for (i=b; i<=8; i++) {	
		document.getElementById('leg' + LNA + 'pass' + i).style.display = 'none';
		document.getElementById('leg' + LNA + 'pass' + i + 'info').style.display = 'none';		
	}
}
	
function removePassenger (leg, pass, alpha) {
		var b = document.getElementById('leg' + leg + 'pass' + alpha + 'name');
		var c = document.getElementById('leg' + leg + 'pass' + alpha + 'phone');
		var x = document.getElementById('leg' + leg + 'pass' + alpha + 'nameHolder');
		var y = document.getElementById('leg' + leg + 'pass' + alpha + 'phoneHolder');
		var passNum = document.getElementById('leg' + leg + 'numOfPass').value;
		
	if (document.getElementById('removeleg' + leg + 'pass' + pass).checked) {
		x.value = b.value;
		y.value = c.value;
		b.value = '';
		c.value = '';
		document.getElementById('removeleg' + leg + 'pass' + pass).value =  0;
		document.getElementById('leg' + leg + 'numOfPass').value = passNum*1 - 1;
	}
	else {
		b.value = x.value;;
		c.value = y.value;
		
		document.getElementById('removeleg' + leg + 'pass' + pass).value =  1;
		document.getElementById('leg' + leg + 'numOfPass').value = passNum*1 + 1;
	}

}	

// REPLACE EMPTY PHONE NUMBER VALUE WITH 'not given', so array doesn't break.

function NoNumber (leg, alpha) {
	var z = document.getElementById('leg' + leg + 'pass' + alpha + 'phone');
	if ( z.value == '' ) {
		z.value = 'not given';
	}
}
			
// ADD FLIGHT HOURS

function AddFlightHours() {
	
	var a = document.getElementById('legOneHrs').value;
	var b = document.getElementById('legTwoHrs').value;
	var c = document.getElementById('legThreeHrs').value;
	var d = document.getElementById('legFourHrs').value;
	var e = document.getElementById('legFiveHrs').value;
	var f = document.getElementById('legSixHrs').value;
	var g = document.getElementById('legSevenHrs').value;
	var h = document.getElementById('legEightHrs').value;
	var i = document.getElementById('legNineHrs').value;
	var j = document.getElementById('legTenHrs').value;
	
	var x = a*1 + b*1  + c*1 + d*1 + e*1 + f*1 + g*1 + h*1 + i*1 + j*1;
	
	document.getElementById('flightHrs').value = x.toFixed(2);
}


function ModifyFlightHours() {
	
	var old_legOneHrs = document.getElementById('old_legOneHrs');
	var legOneHrs = document.getElementById('legOneHrs');
	var old_legTwoHrs = document.getElementById('old_legTwoHrs');
	var legTwoHrs = document.getElementById('legTwoHrs');
	var old_legThreeHrs = document.getElementById('old_legThreeHrs');
	var legThreeHrs = document.getElementById('legThreeHrs');
	var old_legFourHrs = document.getElementById('old_legFourHrs');
	var legFourHrs = document.getElementById('legFourHrs');
	var old_legFiveHrs = document.getElementById('old_legFiveHrs');
	var legFiveHrs = document.getElementById('legFiveHrs');
	var old_legSixHrs = document.getElementById('old_legSixHrs');
	var legSixHrs = document.getElementById('legSixHrs');
	var old_legSevenHrs = document.getElementById('old_legSevenHrs');
	var legSevenHrs = document.getElementById('legSevenHrs');
	var old_legEightHrs = document.getElementById('old_legEightHrs');
	var legEightHrs = document.getElementById('legEightHrs');
	var old_legNineHrs = document.getElementById('old_legNineHrs');
	var legNineHrs = document.getElementById('legNineHrs');
	var old_legTenHrs = document.getElementById('old_legTenHrs');
	var legTenHrs = document.getElementById('legTenHrs');
	var y = document.getElementById('flightHrs');
	
	if (legOneHrs.value == 0) {
		var legONE = old_legOneHrs.value;
	}
	else {
		var legONE = legOneHrs.value;
	}
	
	if (legTwoHrs.value == 0) {
		var legTWO = old_legTwoHrs.value;
	}
	else {
		var legTWO = legTwoHrs.value;
	}
	
	if (legThreeHrs.value == 0) {
		var legTHREE = old_legThreeHrs.value;
	}
	else {
		var legTHREE = legThreeHrs.value;
	}
	
	if (legFourHrs.value == 0) {
		var legFOUR = old_legFourHrs.value;
	}
	else {
		var legFOUR = legFourHrs.value;
	}	
	
	if (legFiveHrs.value == 0) {
		var legFIVE = old_legFiveHrs.value;
	}
	else {
		var legFIVE = legFiveHrs.value;
	}	
	
	if (legSixHrs.value == 0) {
		var legSIX = old_legSixHrs.value;
	}
	else {
		var legSIX = legSixHrs.value;
	}
	
	if (legSevenHrs.value == 0) {
		var legSEVEN = old_legSevenHrs.value;
	}
	else {
		var legSEVEN = legSevenHrs.value;
	}
	
	if (legEightHrs.value == 0) {
		var legEIGHT = old_legEightHrs.value;
	}
	else {
		var legEIGHT = legEightHrs.value;
	}
	
	if (legNineHrs.value == 0) {
		var legNINE = old_legNineHrs.value;
	}
	else {
		var legNINE = legNineHrs.value;
	}
	
	if (legTenHrs.value == 0) {
		var legTEN = old_legTenHrs.value;
	}
	else {
		var legTEN = legTenHrs.value;
	}
	
	 var x = legONE*1 + legTWO*1 + legTHREE*1 + legFOUR*1 + legFIVE*1 + legSIX*1 + legSEVEN*1 + legEIGHT*1 + legNINE*1 + legTEN*1;
	 
	 y.value = x.toFixed(2);
}