/****************************************************
 * This function is currently used by an onclick event
 * of a search button in the flightInputVanilla.jsp
 * page. It can be used by any external booking form
 * to search the aerlingus booking engine. Additional 
 * functionality may be added to generate more 
 * parameters if required.
 ****************************************************/

function JSQueryString(par) {

/** This function is to extract program ID and affiliate information and build redirection **/
var sTemp
var sPar
var sFin, iStart, iEnd
	sTemp = new String(window.location)
	sPar = new String(par + "=")
	iStart = sTemp.indexOf(sPar)
	if (iStart>0) {
		iFin = sTemp.length
		sFin = sTemp.substring(iStart + sPar.length,iFin)
	} else {
		sFin = ""
	}
	return sFin
}
var preurl = JSQueryString("url");


function doSearch(){
	
	var location = window.location.toString();
	var index = location.indexOf('bookonline');
	var url = location.substr(0,index);
	
	var urlParameters = getURLParameters();
	window.open(url + 'bookonline/email.jsp?'+urlParameters);
}

/***********************************
 * 
 * A version of doSearch for Trade Doubler
 * 
 ***********************************/
function doTdSearch(){
	
	var location = window.location.toString();
	var index = location.indexOf('bookonline');
	var url = location.substr(0,index);

	var urlParameters = getURLParameters();
	var eiUrl = url + 'bookonline/email.jsp?'+urlParameters;
	window.open(preurl+'&url='+eiUrl);
}

/***********************************
 * 
 * A version of doSearch for Static HTML Files
 * 
 ***********************************/
function doStaticSearch(){
	//define static URL 
	var URL = 'http://www.aerlingus.com/cgi-bin/obel01im1/'

	var urlParameters = getURLParameters();
	if(CURRENT_LOCALE)
		urlParameters += '&locale='+CURRENT_LOCALE;
	var eiUrl = URL + 'bookonline/email.jsp?'+urlParameters;
	window.open(eiUrl);
}

/**************************
 * This function builds the
 * URL parameters required
 * for searching for fares
 **************************/
function getURLParameters(){
	return getSelectedFareCategory()+'&'+getSelectedFlightType()+'&'+getSelectedMonth('1')+'&'+getSelectedMonth('2')+'&'+getSelectedDay('1')+'&'+getSelectedDay('2')+'&'+getSelectedAirport('Source')+'&'+getSelectedAirport('Destination')+'&'+getSelectedPersonTypeNumber('Adult')+'&'+	getSelectedPersonTypeNumber('Children')+'&'+getSelectedPersonTypeNumber('Infant')+'&'+getMethodToUse();
}

/**********************************************
 * This function returns 2 parameter keys and 
 * values for the fare category and search type 
 * for this booking request. 
 * e.g selectedFareCategory==2&selectedSearchType=FIXED or 
 * e.g selectedFareCategory==0&selectedSearchType=FLEXIBLE 
 **********************************************/

function getSelectedFareCategory(){
	var selectedFareCategory = 'selectedFareCategory=';
	var selectedSearchType = 'selectedSearchType='; 
	var selectedElement = document.getElementsByName('selectedFareCategory')[0];
	if(selectedElement.value == '2'){
		selectedSearchType = selectedSearchType + 'FIXED'; 
	}else
		selectedSearchType = selectedSearchType + 'FLEXIBLE'; 		
	return selectedFareCategory = selectedFareCategory + selectedElement.value+'&'+selectedSearchType;
}


/**********************************************
 * This function returns a parameter key and 
 * value for the type and amount of people 
 * for this booking request. The person type is
 * based on the argument provided
 * e.g selectedAdultNumber=2 or 
 * selectedChildrenNumber=1 or
 * selectedInfantNumber=1
 **********************************************/
function getSelectedPersonTypeNumber(personType){
	var selectedPersonType = 'selected'+personType+'Number=';
	var selectedElement = document.getElementsByName('selected'+personType+'Number')[0];
	return selectedPersonType = selectedPersonType + selectedElement.value;
}

/**********************************************
 * This function returns a parameter key and 
 * value for the selected origin or destination
 * month for this booking request. Origin or
 * destination is based on the argument provided
 * e.g selectedMonth_1=2 or 
 * selectedMonth_2=1
 **********************************************/
function getSelectedMonth(index){
	var selectedMonth = 'selectedMonth_'+index+'=';
	var selectedElement = document.getElementsByName('selectedMonth_'+index)[0];
	return selectedMonth = selectedMonth + selectedElement.value;
}

/**********************************************
 * This function returns a parameter key and 
 * value for the selected origin or destination
 * day for this booking request. Origin or
 * destination is based on the argument provided
 * e.g selectedDay_1=2 or 
 * selectedDay_2=1
 **********************************************/
function getSelectedDay(index){
	var selectedDay = 'selectedDay_'+index+'=';
	var selectedElement = document.getElementsByName('selectedDay_'+index)[0];
	return selectedDay = selectedDay + selectedElement.value;
}

/**********************************************
 * This function returns a parameter key and 
 * value for the selected origin or destination
 * airport for this booking request. Origin or
 * destination is based on the argument provided
 * e.g selectedSourceAirport_1=2 or 
 * selectedDestinationAirport_1=1
 **********************************************/
function getSelectedAirport(direction){
	var selectedAirport = 'selected'+direction+'Airport_1=';
	var selectedElement = document.getElementsByName('selected'+direction+'Airport_1')[0];
	return selectedAirport = selectedAirport + selectedElement.value;
}

/**********************************************
 * This function returns a parameter key and 
 * value for the selected flight type for this 
 * booking request. 
 * e.g selectedFlightType=RETURN or 
 * selectedFlightType=ONEWAY
 **********************************************/
function getSelectedFlightType(){
	var radioElements = document.getElementsByName('selectedFlightType');
	var selectedFlightType = 'selectedFlightType=';
	for(var i=0;i<radioElements.length;i++){
		if(radioElements[i].checked){
			selectedFlightType = selectedFlightType + radioElements[i].value;
		}
	}
	return selectedFlightType;	
}

function getMethodToUse(){
	var val = document.getElementById('methodToUse').value;
	var methodToUse = 'methodToUse=';
	methodToUse = methodToUse + val;
	return methodToUse;	
}


