// jQuery for ALL forms of the Quote Widget

$(document).ready(function() {	
	// Set up the Datepicker display
	$('.datepick').each(function(){
    	$(this).datepicker({
		numberOfMonths: 2,
		minDate: 0,
		showAnim: 'slideDown',
		showOn: 'both',
		buttonImage: '/shared/images/silkIcons/calendar_view_month.png',
		buttonImageOnly: true
		});
	});
	$('.accordion').each(function(){
    	$(this).accordion();
	});
})

function setMultiLegClass(leg,setClass) {
	var originCitySet = 'originCity' + leg;
	var depDateSet = 'depDate' + leg;
	var destinationCitySet = 'destinationCity' + leg;
	document.getElementById(originCitySet).className = setClass;
	document.getElementById(depDateSet).className = setClass + ' datepick hasDatepicker';
	document.getElementById(destinationCitySet).className = setClass;
	if (setClass == '') {
		document.getElementById(originCitySet).value = '';
		document.getElementById(depDateSet).value = '';
		document.getElementById(destinationCitySet).value = '';
	}
}

function setRoundTripClass(setClass) {
	document.getElementById('returnDate').className = setClass + ' datepick hasDatepicker';
	document.getElementById('destinationCity').className = setClass;
	if (setClass == '') {
		document.getElementById('returnDate').value = '';
		document.getElementById('destinationCity').value = '';
	}	
}

function setOneWayClass(setClass) {
	document.getElementById('originCity').className = setClass;
	document.getElementById('departDate').className = setClass + ' datepick hasDatepicker';
	if (setClass == '') {
		document.getElementById('originCity').value = '';
		document.getElementById('departDate').value = '';
	}				
}

function setTripType(tripType,formType) {
	var tripTypeSet = tripType.toLowerCase();
	var returnInfo = document.getElementById('returnDateTime');
	// check to see if longForm
	var isLongForm = document.getElementById('multiLeg');
	if(isLongForm != null) {
		var roundTripInfo = document.getElementById('roundTrip');
		var multiLegInfo = document.getElementById('multiLeg');
	}
	if(tripTypeSet == 'roundtrip') {	
		returnInfo.style.display = 'block';
		document.getElementById('numberOfLegs').value = 2;
		// Reset all the classes
		setRoundTripClass('required');
		setOneWayClass('required');
		if(isLongForm != null) {
			roundTripInfo.style.display = 'block';
			multiLegInfo.style.display = 'none';			
			setMultiLegClass(1,'');
			setMultiLegClass(2,'');
			setMultiLegClass(3,'');
			setMultiLegClass(4,'');
			setMultiLegClass(5,'');
			setRTToMulti();
		}
	}
	if(tripTypeSet == 'oneway') {
		returnInfo.style.display = 'none';
		document.getElementById('numberOfLegs').value = 1;
		// Reset all the classes
		setRoundTripClass('');
		setOneWayClass('required');
		if(isLongForm != null) {
			roundTripInfo.style.display = 'block';
			multiLegInfo.style.display = 'none';
			setMultiLegClass(1,'');
			setMultiLegClass(2,'');
			setMultiLegClass(3,'');
			setMultiLegClass(4,'');
			setMultiLegClass(5,'');
			setRTToMulti();
		}
	}
	if(tripTypeSet == 'emptyleg') {
		returnInfo.style.display = 'none';	
		document.getElementById('numberOfLegs').value = 1;
		// Reset all the classes
		setRoundTripClass('');
		setOneWayClass('required');
		if(isLongForm != null) {
			roundTripInfo.style.display = 'block';
			multiLegInfo.style.display = 'none';
			setMultiLegClass(1,'');
			setMultiLegClass(2,'');
			setMultiLegClass(3,'');
			setMultiLegClass(4,'');
			setMultiLegClass(5,'');
			setRTToMulti();
		}
	}
	if(tripTypeSet == 'multileg') {
		returnInfo.style.display = 'none';
		document.getElementById('numberOfLegs').value = 1;
		resetLegs();
		// Reset all the classes
		setRoundTripClass('');
		setOneWayClass('');
		if(isLongForm != null) {
			roundTripInfo.style.display = 'none';	
			setMultiLegClass(1,'required');
			setMultiLegClass(2,'');
			setMultiLegClass(3,'');
			setMultiLegClass(4,'');
			setMultiLegClass(5,'');
			multiLegInfo.style.display = 'block';
			setMultiToRT();
		}
	}
}

// Just some niceties for switching back and forth between form types
function setMultiToRT() {
	document.getElementById('originCity').value = document.getElementById('originCity1').value;
	document.getElementById('destinationCity').value = document.getElementById('destinationCity1').value;
	document.getElementById('departDate').value = document.getElementById('depDate1').value;
	document.getElementById('departTime').selectedIndex = document.getElementById('depTime1').selectedIndex;
	document.getElementById('returnDate').value = document.getElementById('depDate2').value;
	document.getElementById('returnTime').selectedIndex = document.getElementById('depTime2').selectedIndex;	
}

function setRTToMulti() {
	document.getElementById('originCity1').value = document.getElementById('originCity').value;
	document.getElementById('destinationCity1').value = document.getElementById('destinationCity').value;
	document.getElementById('originCity2').value = document.getElementById('destinationCity').value;
	document.getElementById('destinationCity2').value = document.getElementById('originCity').value;	
	document.getElementById('depDate1').value = document.getElementById('departDate').value;
	document.getElementById('depTime1').selectedIndex = document.getElementById('departTime').selectedIndex;
	document.getElementById('depDate2').value = document.getElementById('returnDate').value;
	document.getElementById('depTime2').selectedIndex = document.getElementById('returnTime').selectedIndex;		
}

function changeTripType(formType, selectedIndex) {
	var valueSelected = document.getElementById('tripType').options[selectedIndex].value;
	if(valueSelected == 'multiLeg') {
		if(formType == 'widget') {
			window.location.href = '/get-a-quote/?tripType=multiLeg';
		}
	}
	setTripType(valueSelected,formType);
}

function addALeg() {
	var currentLeg = document.getElementById('numberOfLegs').value;
	var currentDivButton = "removeALeg" + currentLeg;
	var nextLeg = parseInt(currentLeg) + 1;
	var nextLegDiv = "divLeg" + nextLeg;
	var nextDivButton = "removeALeg" + nextLeg;
	document.getElementById(nextLegDiv).style.display = 'block';
	document.getElementById('numberOfLegs').value = nextLeg;
	document.getElementById(currentDivButton).style.display = 'none';
	document.getElementById(nextDivButton).style.display = 'block';
	setMultiLegClass(nextLeg,'required');
	if (nextLeg == 5) {
		document.getElementById('AddALegButton').disabled = true;
		document.getElementById('AddALegButton').value = "Please call (866) 409-0929 if you need more than 5 legs";
		document.getElementById('AddALegButton').className += " pleaseCall";

	}
}

function removeALeg() {
	var currentLeg = document.getElementById('numberOfLegs').value;
	if(currentLeg > 1) {
		var prevLeg = parseInt(currentLeg) - 1;
		var prevDivButton = "removeALeg" + prevLeg;
		var LegDiv = "divLeg" + currentLeg;
		document.getElementById(LegDiv).style.display = 'none';
		document.getElementById('numberOfLegs').value = prevLeg;
		if(prevLeg > 1) {
			document.getElementById(prevDivButton).style.display = 'block';
		}
		setMultiLegClass(currentLeg,'');
	}
}

function resetLegs() {
	var removeButton = '';
	var legDiv = '';
	for(var i=2; i<5; i++) {
		removeButton = "removeALeg" + i;
		legDiv = "divLeg" + i;
		document.getElementById(removeButton).style.display = 'none';
		document.getElementById(legDiv).style.display = 'none';
	}
}

function clarifyAirports(fieldNames,thisFieldName) {
	var aFields = fieldNames.split(",");
	var setField = "Clarify_" + thisFieldName;
	var index = document.getElementById(setField).selectedIndex;
	var opts = document.getElementById(setField).options;
	var newValue = opts[index].value;
	for(var i=0; i<aFields.length; i++) {
		document.getElementById(aFields[i]).value = newValue;
	}
}

function setSingleAirport(fieldNames, setValue) {
	var aFields = fieldNames.split(",");
	for(var i=0; i<aFields.length; i++) {
		document.getElementById(aFields[i]).value = setValue;
	}		
}

function showHide(element) {
	var thisDiv = document.getElementById(element);
	if(thisDiv.style.display == 'none') {
		thisDiv.style.display = 'block';
		document.getElementById('clickTitle').innerHTML = '(click to hide)';
	}
	else {
		thisDiv.style.display = 'none';	
		document.getElementById('clickTitle').innerHTML = '(click to view)';
	}
	
}

function EditItinerary() {
	document.getElementById('backToContact').value = 1;
	document.getElementById('validate_form').action = '/index.cfm/edit-itinerary/';
	document.getElementById('validate_form').submit();
}

function showAllDivs() {
	document.getElementById('returnDateTime').style.display = 'block';
	document.getElementById('roundTrip').style.display = 'block';
	document.getElementById('multiLeg').style.display = 'block';
	document.getElementById('divLeg1').style.display = 'block';
	document.getElementById('divLeg2').style.display = 'block';
	document.getElementById('divLeg3').style.display = 'block';
	document.getElementById('divLeg4').style.display = 'block';
	document.getElementById('divLeg5').style.display = 'block';
}



