// JavaScript by Casper Thun - September-November 2008
var iResultTimeout = 1200000;
var iFilter_MinPricePerPerson=0;
var iFilter_MaxPricePerPerson=0;
var sFilter_StarRating = '';
var sFilter_BoardTypes = '';
var sBYOSessionID='';
var sBYOParentID='';
var sViewState='';
var AjaxResultsXMLDoc, iMaximumPricePerPerson, iMinimumPricePerPerson, sPagingData, iResultPageCount, sCurrentSearch;
var iTotalNumPassengers = 0;
var sHTMLLoadTemplate = '';
var sHTMLTemplate = '';
var sHTMLPagingTemplate = '';
var sHTMLPagingTemplateBottom = '';
var sHTMLMoreInfoTemplate = '';
var sHTMLNoResults = '';
var iResultCount = 0;
var iTotalResultCount = 0;
var iMaximumNumberOfResults = 12;
var iCurrentPageNum = 1;
var sResultsSortBy;
var bLoaderShowing = false;
var sResultStyle = 'QC';
var sFullDetailsURL = '';
var sBookButtonJS = '';
var sAddToShortlistButtonJS = '';
var bStillOnAccommTab = true;
var bOpenFlightOptions = false;
var sShortlistPositions = '';
var sOptionsText = '';
var bVirtualVisit = false;
var dDays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
var iHotelCount = 0;
var dSearchDate = new Date();

var iVVHeight_Temp = 0;	
var iVVWidth_Temp = 0;	
var iVVHeight = 0;	
var iVVWidth = 0;	


function LoadResults(bUseAsync) {
	/* start temp */
		/*div_switch('pleasewaitDiv',false,true);
		div_switch('websiteDiv',true,true);
		div_switch('FlightSelectorContent',true,true);
		div_switch('ResultContent',false,true);
		return false;*/
	/* end temp */
	if(queryString('page')=='shortlist') {
		AROpenSearch();
		div_switch('pleasewaitDiv',false,true);
		div_switch('websiteDiv',true,true);
		SwitchResult('result_tab5');
		return false;
	}else{
		oResultTab1 = document.getElementById('result_tab1');
		oResultTab2 = document.getElementById('result_tab2');
		if(sResultStyle=='QC') {
			if(oResultTab1){oResultTab1.className = 'resulttabOver'}
			if(oResultTab2){oResultTab2.className = 'resulttab'}
		}else{
			if(oResultTab1){oResultTab1.className = 'resulttab'}
			if(oResultTab2){oResultTab2.className = 'resulttabOver'}
		}
	}
	sHTMLPagingTemplate = readFileInAsync('/includes/ajaxresults/templates/paging.html');
	sHTMLPagingTemplateBottom = readFileInAsync('/includes/ajaxresults/templates/pagingbottom.html');
	sHTMLLoadTemplate = readFileInAsync('/includes/ajaxresults/templates/loader.html');
	sHTMLNoResults = readFileInAsync('/includes/ajaxresults/templates/noresults.html');
	var sURLExtra = '';
	sURLExtra+='&slistid='+sShortlistUserID;
	if(sBYOSessionID) {
		sURLExtra+='&sortby='+sResultsSortBy;
	}
	var timestamp = new Date();
	sURL = '/includes/ajaxresults/ajaxresults.asp'+window.location.search+'&sessionid='+sBYOSessionID+sURLExtra+'&ts='+timestamp;
	sURL=sURL.replace("'","");
	sAjaxResultsURL = sURL;
	if(bDebug) {
		if(confirm('Open '+ sURL)) {
			window.open(sURL);
		}
	}
	setTimeout("loadAjaxResultsXMLDoc('"+sURL+"')", 100);
}

function loadAjaxResultsXMLDoc(url) {
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		reqAR = new XMLHttpRequest();
		reqAR.onreadystatechange = processAjaxResults;
		reqAR.open("GET", url, true);
		reqAR.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		reqAR = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqAR) {
			reqAR.onreadystatechange = processAjaxResults;
			reqAR.open("GET", url, true);
			reqAR.send();
		}
	}
}

function processAjaxResults() {
	if (reqAR.readyState == 4) {
		if (reqAR.status == 200){
			AjaxResultsXMLDoc = reqAR.responseXML.documentElement;
			if(sBYOSessionID) {
				RunResults();
			}else if(setFilter()) {
				setFilterVariable_StarRating();
				setFilterVariable_BoardTypes();
				RunResults();
				div_switch('pleasewaitDiv',false,true);
				div_switch('websiteDiv',true,true);
				setResultTimer();
			}else{
				alert('Invalid XML');
				div_switch('pleasewaitDiv',false,true);
				div_switch('websiteDiv',true,true);
				showNoResults(queryString('search_type'));
			}
		}else{
			if(bDebug){alert('Timed out: '+reqAR.status);}
			div_switch('pleasewaitDiv',false,true);
			div_switch('websiteDiv',true,true);
			showNoResults(queryString('search_type'));
		}
	}
}
function resultTimeout() {
	alert('As this page has been open for more than '+Math.round(parseFloat(iResultTimeout/1000/60))+' minutes, we need to check availability again.\nPlease click OK and the page will refresh automatically');
	var sWindowLocation = window.location.toString();
	if(sWindowLocation.indexOf('#')>-1){
		sWindowLocation = sWindowLocation.split('#')[0];
	}
	location.href=sWindowLocation+'&research=true';
}
function setResultTimer() {
	setTimeout('resultTimeout()', iResultTimeout);
}

function RunResults(bNotFirstTime, bDoNotRunPagingData) {
	document.getElementById('SessionID').value = GetNode(AjaxResultsXMLDoc.getElementsByTagName('SESSIONID')[0].childNodes.item(0));
	document.getElementById('locationtoforenquiry').value = GetNode(AjaxResultsXMLDoc.getElementsByTagName('LOCATIONTO')[0].childNodes.item(0));;
	div_switch('ResultContent',true, true);
	div_switch('OtherFullContent',false, true);
	bLoaderShowing = false;
	var oAvailable = AjaxResultsXMLDoc.getElementsByTagName('AVAILABLE');
	var oAvailableFlights = AjaxResultsXMLDoc.getElementsByTagName('AVAILABLEFLIGHTS');
	var iFlightResultCount = 0;
	if(oAvailableFlights.length>0) {
		iFlightResultCount = parseFloat(GetAttribute(oAvailableFlights.item(0).attributes.getNamedItem("ResultCount")));
	}
	var iResultCount = parseFloat(GetAttribute(oAvailable.item(0).attributes.getNamedItem("ResultCount")));
	sCurrentSearch = queryString('search_type');
	//alert(iResultCount+':'+iFlightResultCount+'|'+sCurrentSearch);
	if(((isNaN(iResultCount)||iResultCount>0) && sCurrentSearch != 'Flight_Hotel') || ((isNaN(iResultCount)||iResultCount>0) && iFlightResultCount > 0 && sCurrentSearch == 'Flight_Hotel')) {
		if(!bNotFirstTime) {
//			if(sResultStyle=='DR') {
//				SwitchResult('result_tab2',true);
//			}else{
//				SwitchResult('result_tab1',true);
//				goToTop();
//			}
//		}else{
			sShortlistPositions=GetAttribute(oAvailable.item(0).attributes.getNamedItem("ShortlistPositions"));
		}
	
		var oSearchXML = AjaxResultsXMLDoc.getElementsByTagName('SESSIONID');
		sBYOSessionID = GetNode(oSearchXML[0].childNodes.item(0));
		
		if(queryString('debugbyo')=='true') {
			window.open('/buildyourown/xml_avail/' + sBYOSessionID + '.xml');
		}	
		var oParentIDXML = AjaxResultsXMLDoc.getElementsByTagName('PARENTID');
		sBYOParentID = GetNode(oParentIDXML[0].childNodes.item(0));
				
		var oViewStateXML = AjaxResultsXMLDoc.getElementsByTagName('VIEWSTATE');
		if(oViewStateXML.length>0) {
			sViewState = GetNode(oViewStateXML[0].childNodes.item(0));
		}
		if(sCurrentSearch=='PackageHoliday') {
			RunResults_PackageHoliday(bNotFirstTime, bDoNotRunPagingData);
		}else if(sCurrentSearch=='Hotel') {
			RunResults_Hotel(bNotFirstTime, bDoNotRunPagingData);
		}else if(sCurrentSearch=='Flight_Hotel') {
			RunResults_FlightHotel(bNotFirstTime, bDoNotRunPagingData);
		}
		LoadingAnimationStop();
	}else{
		showNoResults(sCurrentSearch);
	}
}

function showNoResults(sSearchType, sQS) {
	div = document.getElementById('ResultsPageOther');
	if(div && sSearchType) {
		sTempHTML = sHTMLNoResults;
		sTempHTML = sTempHTML.replace(/#search_type#/g,getProperSearchType(sSearchType).toLowerCase());
		div.innerHTML = sTempHTML;
		if(sSearchType.toLowerCase().indexOf('flight') > -1 || sSearchType.toLowerCase().indexOf('package') > -1) {
			divAirportInfo1 = document.getElementById('NR_ReasonsAirport');
			if(divAirportInfo1){divAirportInfo1.style.display=''};
			divAirportInfo2 = document.getElementById('NR_OptionsAirport');
			if(divAirportInfo2){divAirportInfo1.style.display=''};
		}
		div_switch('ResultsPage',false,true);
		div_switch(div.id,true,true);
	}
	if(sSearchType.toLowerCase().indexOf('package') == -1) {
		flexiFlights(true);
	}

}

function getProperSearchType(sSearchType) {
	switch(sSearchType.toLowerCase()) {
		case 'packageholiday': 
			return 'Package holiday';
			break;    
		case 'hotel':
			return 'Accommodation';
			break;  
		case 'flight_hotel':
			return 'Skiing holiday';
			break;  
	}	
}

function EnquireResultItem(id) {
	document.forms['frmResults'].EnquireTextID.value = id;
	document.forms['frmResults'].action = "/contact.asp";
	frmBYOSubmitBS();
}


var iFlight_PricePerPerson = 0;
var iFlight_JSID = 0;

function GetFlightCount(oFlight, sCSIPEID){
    var iFCount = 0;
    //alert(dSearchDate);
    //dSearchDate = new Date(getSearchCriteria('DEP_DATE_Y'),(parseFloat(getSearchCriteria('DEP_DATE_M')) -1),getSearchCriteria('DEP_DATE_D'))
    for(iF=0;iF<oFlight.length;iF++){
       sFDate = new Date(GetNode(oFlight[iF].getElementsByTagName('ROUTE')[0].getElementsByTagName('SEGMENT')[0].getElementsByTagName('DEP_DATE')[0].childNodes.item(0)));
       if(GetNode(oFlight[iF].getElementsByTagName('CSI_PEID')[0].childNodes.item(0)) == sCSIPEID && dSearchDate.toString() == sFDate.toString()){iFCount++;}
    }
    return iFCount;
}
function RunResults_FlightHotel(bNotFirstTime, bDoNotRunPagingData, bDontCheckFlightDate) {
   // dComDate = new Date();
   //  sString = '';
   // dCurrent = new Date();
   // sString += '1:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';

	dSearchDate = new Date(getSearchCriteria('DEP_DATE_Y'),(parseFloat(getSearchCriteria('DEP_DATE_M')) -1),getSearchCriteria('DEP_DATE_D'));
	//alert(dSearchDate);
	if(!bNotFirstTime){
		div_switch('result_tab7',true,true);
	}
	if(!sHTMLTemplate){
		sHTMLTemplate = readFileInAsync('/includes/ajaxresults/templates/flighthotel_qc.html');
	}
	sHTML='';
	var oHotel = AjaxResultsXMLDoc.getElementsByTagName('Hotel');
	var oFlight = AjaxResultsXMLDoc.getElementsByTagName('FARE');
	
	//dCurrent = new Date();
    //sString += '2:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
    
	sFABSession = GetNode(AjaxResultsXMLDoc.getElementsByTagName('FABSESSIONID')[0].childNodes.item(0));
	sPkgFABSession = '';
	if(AjaxResultsXMLDoc.getElementsByTagName('PKGFABSESSIONID')){sPkgFABSession = GetNode(AjaxResultsXMLDoc.getElementsByTagName('PKGFABSESSIONID')[0].childNodes.item(0));}
	
	iResultCount = 0;
	iPageCount = 0;
	if(!bDoNotRunPagingData) {
		iResultPageCount = 0;
		sPagingData = '0';
		iTotalResultCount = 0;
		iCurrentPageNum = 1;
	}
	//dCurrent = new Date();
	//sString += '3:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	if(iFlight_JSID == 0 && !bDontCheckFlightDate){
		for(xF=0; xF<oFlight.length; xF++) {
			oRoute = oFlight[xF].getElementsByTagName('ROUTE');
			oSegment = oRoute[0].getElementsByTagName('SEGMENT');
			dFlight_DepDate = new Date(GetNode(oSegment[0].getElementsByTagName('DEP_DATE')[0].childNodes.item(0)));
			dFlight_DepDate.setMonth(dFlight_DepDate.getMonth());
			if(dFlight_DepDate.toString() == dSearchDate.toString() && GetAttribute(oFlight[iFlight_JSID].attributes.getNamedItem("Package")) == 'false') {
				iFlight_JSID = xF;
				break;
			}
		}
	}
	//dCurrent = new Date();
	//sString += '4:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	
	iFlight_PricePerPerson = GetNode(oFlight[iFlight_JSID].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0));
	sTransfer = GetNode(oFlight[iFlight_JSID].getElementsByTagName('TransferSearch')[0].childNodes.item(0));
	iTransfer_PricePerPerson = parseFloat(GetNode(oFlight[iFlight_JSID].getElementsByTagName('TransferPricePerPerson')[0].childNodes.item(0)));
	iFlight_PricePerPerson = parseFloat(iFlight_PricePerPerson)+parseFloat(iTransfer_PricePerPerson);
	sFlight_FareID = GetNode(oFlight[iFlight_JSID].getElementsByTagName('FARE_ID')[0].childNodes.item(0));
	sFlight_Provider = GetNode(oFlight[iFlight_JSID].getElementsByTagName('PROVIDER')[0].childNodes.item(0));
	sFlight_CSIFareID = GetAttribute(oFlight[iFlight_JSID].attributes.getNamedItem("CSI_FAREID"));
	dCarHire_PricePerPerson = 0;
	
	//dCurrent = new Date();
	//sString += '5:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	
	for(iH2=0; iH2 < oHotel.length; iH2++){
	    oCarHire2 = oHotel[iH2].getElementsByTagName('CarHire')
	    if(oCarHire2){
	        sCarHire = GetNode(oCarHire2[0].childNodes.item(0));
	        dCarHirePrice2 = parseFloat(GetAttribute(oCarHire2[0].attributes.getNamedItem("Price")));
	        if(sCarHire.toLowerCase()=='true' && dCarHirePrice2>0) {
    		    dCarHire_PricePerPerson=parseFloat(dCarHirePrice2); 
	        }
        }
    }
    //dCurrent = new Date();
	//sString += '6:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	
	sFlight_DetailHTML = '';
	sFlight_DepDate = '';
	sFlight_ArrDate = '';
	sFlight_ActualArrAirport = '';
	sHotel_DepDate = '';
	sHotel_ArrDate = '';
	oRoute = oFlight[iFlight_JSID].getElementsByTagName('ROUTE');
	
	for(x=0;x<oRoute.length;x++){
		oSegment = oRoute[x].getElementsByTagName('SEGMENT');
		for(xy=0;xy<oSegment.length;xy++){
			sFlight_Num = GetNode(oSegment[xy].getElementsByTagName('FLIGHT_NUM')[0].childNodes.item(0));
			sFlight_DepDate = GetNode(oSegment[xy].getElementsByTagName('DEP_DATE')[0].childNodes.item(0));
			sFlight_ArrDate = GetNode(oSegment[xy].getElementsByTagName('ARR_DATE')[0].childNodes.item(0));
			sFlight_DepTime = GetNode(oSegment[xy].getElementsByTagName('DEP_TIME')[0].childNodes.item(0));
			sFlight_ArrTime = GetNode(oSegment[xy].getElementsByTagName('ARR_TIME')[0].childNodes.item(0));
			sFlight_DepAirport = GetNode(oSegment[xy].getElementsByTagName('ORIGIN')[0].childNodes.item(0));
			sFlight_ArrAirport = GetNode(oSegment[xy].getElementsByTagName('DESTINATION')[0].childNodes.item(0));
			sFlight_Info = sFlight_DepAirport+' - '+sFlight_ArrAirport+' | '+sFlight_DepTime+' - '+sFlight_ArrTime+' | '+sFlight_Num;
			if(xy==0&&x==0) {
				sFlight_ActualDepAirport = sFlight_DepAirport;
			}
			if(!sHotel_DepDate) {
				sHotel_DepDate = sFlight_DepDate;
			}
			if(!sHotel_ArrDate && x==1) {
				sHotel_ArrDate = sFlight_DepDate;
			}
			sFlight_DetailHTML+='<tr>';
			sFlight_DetailHTML+='<td class="fitContent">'+sFlight_DepDate+'</td>';
			sFlight_DetailHTML+='<td class="fitContent">'+sFlight_ArrDate+'</td>';
			sFlight_DetailHTML+='<td class="fitContent">'+sFlight_Info+'</td>';
			sFlight_DetailHTML+='</tr>';
		}
	}
	
	//dCurrent = new Date();
	//sString += '7:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	
	sFlight_DetailHTML+='<tr><td colspan="3" class="fitBotContent">*TBAs confirmed when you click "Book holiday"</td></tr>';
	
	if(sResultsSortBy==null || sResultsSortBy=='' || sResultsSortBy=='price'){
	    oHotel = ReOrderHotels(oHotel, parseFloat(iFlight_PricePerPerson)+ dCarHire_PricePerPerson);//
	}
	
	//dCurrent = new Date();
	//sString += '8:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	
	for(x=getPageStart(iCurrentPageNum);x<oHotel.length;x++) {
	    //dCurrent = new Date();
	    //sString += '8.1.' + x.toString() + ':' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
		var bPackage = GetAttribute(oHotel[x].attributes.getNamedItem("Package"));
		var sAccommCSIPEID = GetNode(oHotel[x].getElementsByTagName('CSI_PEID')[0].childNodes.item(0));
		
		if((bPackage=='true' && GetFlightCount(oFlight,sAccommCSIPEID) > 0) || bPackage!='true'){
		    //dCurrent = new Date();
	        //sString += '8.2.' + x.toString() + ':' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	        
		    var iTotalPricePerPerson = GetNode(oHotel[x].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0));
		    iTotalPricePerPerson = (bPackage =='false')?(parseFloat(iTotalPricePerPerson)+parseFloat(iFlight_PricePerPerson)):(parseFloat(iTotalPricePerPerson));
		    var sBoardType = getCSIBoardCode(GetNode(oHotel[x].getElementsByTagName('BoardBasis')[0].childNodes.item(0)));
		    var sStarRating = getCSIStarRating(GetNode(oHotel[x].getElementsByTagName('StarRating')[0].childNodes.item(0)));
    		
    		
		    oCarHire = oHotel[x].getElementsByTagName('CarHire')
		    sCarHire = GetNode(oCarHire[0].childNodes.item(0));
		    dCarHirePrice = parseFloat(GetAttribute(oCarHire[0].attributes.getNamedItem("Price")));
		    if(sCarHire.toLowerCase()=='true' && dCarHirePrice>0 && bPackage=='false') {
			    iTotalPricePerPerson=iTotalPricePerPerson+(parseFloat(dCarHirePrice));
		    }

		    if(iTotalPricePerPerson>=iFilter_MinPricePerPerson && iTotalPricePerPerson<=iFilter_MaxPricePerPerson && sFilter_BoardTypes.indexOf('|'+sBoardType+'|') >= 0 && sFilter_StarRating.indexOf('|'+sStarRating+'|') >= 0) {

			    iResultCount++;
			    if(!bDoNotRunPagingData) {
				    iTotalResultCount++;
				    iResultPageCount++;
				    if(iResultPageCount>=iMaximumNumberOfResults) {
					    iResultPageCount = 0;
					    sPagingData+='|'+parseFloat(x+1);
				    }
			    }
			    if(iResultCount <= iMaximumNumberOfResults) {
				    sPosition = GetAttribute(oHotel[x].attributes.getNamedItem("Position"));

				    sAccommodationName = GetNode(oHotel[x].getElementsByTagName('AccommName')[0].childNodes.item(0));
				    sAccommodationCode = GetNode(oHotel[x].getElementsByTagName('AccommCode')[0].childNodes.item(0));
				    sResortName = GetNode(oHotel[x].getElementsByTagName('ResortName')[0].childNodes.item(0));
				    sImageUrl = GetNode(oHotel[x].getElementsByTagName('Image')[0].childNodes.item(0));
				    sProvider = GetAttribute(oHotel[x].attributes.getNamedItem("Provider"));
				    sAccommID = GetNode(oHotel[x].getElementsByTagName('AccommCode')[0].childNodes.item(0));
				    csi_peid = GetNode(oHotel[x].getElementsByTagName('CSI_PEID')[0].childNodes.item(0));
    				sResortID = GetAttribute(oHotel[x].getElementsByTagName('ResortName')[0].attributes.getNamedItem("Id"));
    				sOrigName = GetAttribute(oHotel[x].getElementsByTagName('AccommName')[0].attributes.getNamedItem("Orig"));
    				sOrigSWCode = GetAttribute(oHotel[x].attributes.getNamedItem("Code"));
    				
				    var sIncludedHTML = '';
				    if(bPackage == 'true'){
				        sIncludedHTML='<span title="header=[Transfer] body=[Shared coach transfers are included in this holiday.]"><img src="/images/icons/transfer_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
						    sIncludedHTML+='Transfer included';
				    }else if(sCarHire.toLowerCase()=='true') {
					    if(dCarHirePrice>0) {
						    sIncludedHTML='<span title="header=[Car hire] body=[<div>Car hire for the length of your holiday has been added to your booking (pick up from the airport). You\'ll find it is often cheaper than a transfer, but if you wish to swap, please click on \'Change Search criteria\' above and search again with \'Transfer\' selected.</div><div style=clear:both></div>]"><img src="/images/icons/car_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
						    sIncludedHTML+='Car hire included';
					    }else{
						    sIncludedHTML='<span title="header=[Car hire] body=[<div>We could not find any car hire for your search</div><div style=clear:both></div>]"><img src="/images/icons/car_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
						    sIncludedHTML+='<strong>NO</strong> car hire found';	
					    }
				    }else if(sTransfer.toLowerCase()=='true') {
					    if(iTransfer_PricePerPerson>0) {
						    sIncludedHTML='<span title="header=[Transfer] body=[We have added a transfer to your price. We searched all availability for transfers in this area for the dates you have selected, and have added the price of the cheapest available transfer to your package prices. You will be able to choose the transfer you require further along the booking process, meaning your total price may change depending on the transfer you select.]"><img src="/images/icons/transfer_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
						    sIncludedHTML+='Transfer included';
					    }else{
						    sIncludedHTML='<span title="header=[Transfer] body=[No transfer was found for this flight and accommodation. Please click the flight selector to check transfer availability for other airports.]"><img src="/images/icons/transfer_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
						    sIncludedHTML+='<strong>NO</strong> transfer found';	
					    }	
				    }
    				
				    var sExtraText = 'Return flights';
				    if(bPackage == 'true'){
				       sExtraText += ' <a href="#" onclick="#fulldetails_js#">view</a>';
				    }else{
				        sExtraText += ' <a href="#" onclick="#fulldetails_js#">view</a>';
				    }
    				 
				    sProperBoardType = getBoardTypeFromCode(sBoardType);
				    if(sProperBoardType.toLowerCase()!='other') {
					    sExtraText+='<br />'+sProperBoardType;
				    }
    				
				    var sStarHTML = '';
				    if(!isNaN(parseFloat(sStarRating))) {
					    sStarHTML = getStarRatingImages(parseFloat(sStarRating));
				    }
				    switch(iResultCount) {
					    case 1: case 3: case 6: case 8: case 9: case 11: case 13: case 15: case 18: case 20:sClass='bg1';break;    
					    default:sClass='bg2';
				    }			
				    sTempHTML = sHTMLTemplate;
				    sTempHTML = sTempHTML.replace(/#hotelname#/g,sAccommodationName);
				    sTempHTML = sTempHTML.replace(/#image#/g,sImageUrl);
				    sTempHTML = sTempHTML.replace(/#extratext#/g,sExtraText);
				    sTempHTML = sTempHTML.replace(/#starrating#/g,sStarHTML);
				    sTempHTML = sTempHTML.replace(/#resortinfo#/g,sResortName);
				    sTempHTML = sTempHTML.replace(/#price#/g,'&pound;'+Math.round(iTotalPricePerPerson));
				    sTempHTML = sTempHTML.replace(/#bgclass#/g,sClass);
				    sTempHTML = sTempHTML.replace(/#position#/g,sPosition);
				    sTempHTML = sTempHTML.replace(/#flying_from#/g,sFlight_ActualDepAirport);
				    sTempHTML = sTempHTML.replace(/#supplier#/g,sProvider);
				    sTempHTML = sTempHTML.replace(/#includedinfo#/g,sIncludedHTML);
				    //if(sProvider.toLowerCase() == 'multicom' && bPackage == 'true'){
				    //    sTempHTML = sTempHTML.replace(/#accommid#/g,sResortID + '.' + sOrigName);
				    //}else{
				    //    if(sProvider.toLowerCase() == 'skiworld'){
				    //        sTempHTML = sTempHTML.replace(/#accommcode#/g,sOrigSWCode);
				    //        sTempHTML = sTempHTML.replace(/#accommid#/g,'');
				    //    }else{
				    //        sTempHTML = sTempHTML.replace(/#accommid#/g,sAccommID);
				    //        sTempHTML = sTempHTML.replace(/#accommcode#/g,'');
				    //    }
				    //}
				    //sTempHTML = sTempHTML.replace(/#accommcode#/g,sAccommCode);
    				
				    if(bPackage=='false'){
				        sTempHTML = sTempHTML.replace(/#FABSession#/g,sFABSession);
				        sTempHTML = sTempHTML.replace(/#accommid#/g,sAccommID);
				    }else{
				        if(sProvider.toLowerCase() == 'skiworld'){
				            sTempHTML = sTempHTML.replace(/#accommcode#/g,sOrigSWCode);
				            sTempHTML = sTempHTML.replace(/#accommid#/g,'');
				        }else{
				            sTempHTML = sTempHTML.replace(/#accommid#/g,sResortID + '.' + sOrigName);
				            sTempHTML = sTempHTML.replace(/#accommcode#/g,'');
				        }
				        sTempHTML = sTempHTML.replace(/#FABSession#/g,sPkgFABSession);
				    }
    				
				    if(sShortlistPositions.replace(/ /g,'').indexOf('|'+sPosition+'-')>-1) {
					    bAddedToShortlist = true;
					    sTempHTML = sTempHTML.replace(/#addedtoshortlist_display#/g,'');
					    sTempHTML = sTempHTML.replace(/#addtoshortlist_display#/g,'none');
				    }else{
					    bAddedToShortlist = false;
					    sTempHTML = sTempHTML.replace(/#addedtoshortlist_display#/g,'none');
					    sTempHTML = sTempHTML.replace(/#addtoshortlist_display#/g,'');
				    }
    				
				    sAddtoShortlistJs = 'AddToShortlist(\'&provider='+sProvider+'&accommcode='+sAccommodationCode+'&fare_id='+sFlight_FareID+'&fare_provider='+sFlight_Provider+'&fare_csiid='+sFlight_CSIFareID+'\',\''+sPosition+'\');';
				    sTempHTML = sTempHTML.replace(/#addtoshortlist_js#/g,sAddtoShortlistJs);
    				
				    sTempHTML = sTempHTML.replace(/#radiobuttons#/g,'<input type="radio" name="tblOutbound_' + sPosition + '" value="1" checked/><input type="radio" name="tblInbound_' + sPosition + '" value="2" checked/>');
				    if(bPackage == 'true'){
				        sBookButtonJS = 'setLevel(\'PRICING\');setPackageHoliday(\'' + sProvider + '\',\'' + sAccommodationCode + '\');setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\'PackageHoliday\');frmBYOSubmit();'
					    sTempHTML = sTempHTML.replace(/#fulldetails_js#/g,'setFullDetailsURL(\''+sProvider+'\',\'PackageHoliday\',\'byosession='+sBYOSessionID+'&accommcode='+sAccommodationCode+'&fare_id='+sFlight_FareID+'&fare_provider='+sFlight_Provider+'&fare_csiid='+sFlight_CSIFareID+'&csi_peid=' + sAccommCSIPEID + '\&resortid=' + sResortID + '&originalaccommname=' + sOrigName +'&multicomfab=' + sPkgFABSession + '&acode=' + sOrigSWCode + '\',\''+escape(sBookButtonJS)+'\',\''+escape(sAddtoShortlistJs)+'\',\'\',\'\',\'\',\''+sPosition+'\')');
				        sExtraText = sExtraText.replace(/#fulldetails_js#/g,'setFullDetailsURL(\''+sProvider+'\',\'PackageHoliday\',\'byosession='+sBYOSessionID+'&accommcode='+sAccommodationCode+'&fare_id='+sFlight_FareID+'&fare_provider='+sFlight_Provider+'&fare_csiid='+sFlight_CSIFareID+'&csi_peid=' + sAccommCSIPEID + '\&resortid=' + sResortID + '&originalaccommname=' + sOrigName +'&multicomfab=' + sPkgFABSession + '&acode=' + sOrigSWCode + '\',\''+escape(sBookButtonJS)+'\',\''+escape(sAddtoShortlistJs)+'\',\'\',\'\',\'\',\''+sPosition+'\')');
				    }else{
				        sBookButtonJS = 'setLevel(\'PRICING\');setFlight(\''+sFlight_FareID+'\',\''+sFlight_CSIFareID+'\',\''+sFlight_Provider+'\',\''+sPosition+'\');setAccomm(\''+sAccommodationCode+'\',\''+sProvider+'\',\'\',\''+sBYOParentID+'\',\''+sBYOSessionID+'\',\'Flight_Hotel\',\'\',\''+sBoardType+'\');setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\''+sCurrentSearch+'\');frmBYOSubmitBS();'
				        //sBookButtonJS = 'setLevel(\'PRICING\');setAccomm(\''+sAccommodationCode+'\',\''+sProvider+'\',\'\',\''+sBYOParentID+'\',\''+sBYOSessionID+'\',\'Flight_Hotel\',\'\',\''+sBoardType+'\');setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\''+sCurrentSearch+'\');frmBYOSubmitBS();'
				        sBookButtonJS3 = sBookButtonJS.replace('setFlight(\''+sFlight_FareID+'\',\''+sFlight_CSIFareID+'\',\''+sFlight_Provider+'\',\''+sPosition+'\');','')
				        sTempHTML = sTempHTML.replace(/#fulldetails_js#/g,'setFlight(\''+sFlight_FareID+'\',\''+sFlight_CSIFareID+'\',\''+sFlight_Provider+'\',\''+sPosition+'\');setFullDetailsURL(\''+sProvider+'\',\'Flight_Hotel\',\'byosession='+sBYOSessionID+'&accommcode='+sAccommodationCode+'&fare_id='+sFlight_FareID+'&fare_provider='+sFlight_Provider+'&fare_csiid='+sFlight_CSIFareID+'&csi_peid=' + sAccommCSIPEID + '\',\''+escape(sBookButtonJS3)+'\',\''+escape(sAddtoShortlistJs)+'\',\'\',\'\',\'\',\''+sPosition+'\')');
				      sExtraText = sExtraText.replace(/#fulldetails_js#/g,'setFlight(\''+sFlight_FareID+'\',\''+sFlight_CSIFareID+'\',\''+sFlight_Provider+'\',\''+sPosition+'\');setFullDetailsURL(\''+sProvider+'\',\'Flight_Hotel\',\'byosession='+sBYOSessionID+'&accommcode='+sAccommodationCode+'&fare_id='+sFlight_FareID+'&fare_provider='+sFlight_Provider+'&fare_csiid='+sFlight_CSIFareID+'&csi_peid=' + sAccommCSIPEID + '\',\''+escape(sBookButtonJS3)+'\',\''+escape(sAddtoShortlistJs)+'\',\'\',\'\',\'\',\''+sPosition+'\')');
				    }
				    sTempHTML = sTempHTML.replace(/#book_js#/g,sBookButtonJS);
    				
				    sTempHTML = sTempHTML.replace(/#extratext#/g,sExtraText);
				    if(sResultStyle=='DR') {
					    sShortDescription = GetNode(oHotel[x].getElementsByTagName('ShortDesc')[0].childNodes.item(0)); //.replace(/&#60;/g,'<').replace(/&#62;/g,'>').replace(/&#34;/g,'"').replace(/&#38;/g,'&');
					    /*
					    for(iChar1=0;iChar1<10;iChar1++){
    						
						    // Get the last HTML tag of the desc
						    iCharIndex = sShortDescription.lastIndexOf('<');
						    iCharIndex2 = sShortDescription.lastIndexOf('/');
						    iCharIndex3 = sShortDescription.lastIndexOf('>');
    						
						    // If this is not a closing tag
						    if(iCharIndex > iCharIndex2 && iCharIndex > -1){
							    sShortDescription = sShortDescription.substr(0, iCharIndex);
    							
						    // Or if it doesn't have a closing tag
						    }else if(iCharIndex2 > iCharIndex3 && iCharIndex > -1){
							    sShortDescription = sShortDescription.substr(0, iCharIndex);
							    iCharIndex = sShortDescription.lastIndexOf('<');
							    sShortDescription = sShortDescription.substr(0, iCharIndex);
    						
						    // Otherwise all is OK
						    }else{
							    break;	
						    }
    						
					    }
					    */
					    sDepartureDate = GetNode(oHotel[x].getElementsByTagName('DepartureDate')[0].childNodes.item(0));
					    sReturnDate = GetNode(oHotel[x].getElementsByTagName('ReturnDate')[0].childNodes.item(0));
					    sTempHTML = sTempHTML.replace(/#description#/g,sShortDescription);
					    sTempHTML = sTempHTML.replace(/#date_from#/g,sHotel_DepDate);
					    sTempHTML = sTempHTML.replace(/#date_to#/g,sHotel_ArrDate);
					    sTempHTML = sTempHTML.replace(/#flight_details#/g,sFlight_DetailHTML);
				    }
    				
				    sHTML+=sTempHTML;
			    }
	        }
		}
	}

    //dCurrent = new Date();
	//sString += '9:' + ((dComDate.valueOf() - dCurrent.valueOf()) / 1000) + '\r\n';
	
	if(iResultCount == 0){
		showNoResults(queryString('search_type'));
	}else{
		oResultDiv = document.getElementById('ResultContent1');
		if(oResultDiv) {
			sPagingHTML = setResultPaging();
			sPagingBottomHTML = setResultPaging('bot');
			oResultDiv.innerHTML = sPagingHTML + sHTML + sPagingBottomHTML;
			sQuery = GetNode(AjaxResultsXMLDoc.getElementsByTagName('QUERY')[0].childNodes.item(0))
			sQuery = sQuery.replace('?&','?');
			sQuery = sQuery.replace(/&xmlout=true/gi,'');
			if(sQuery) {
				//alert(sQuery);
				document.getElementById('frmResults').action = '/buildyourown/Results/Results_xsl.aspx' + sQuery;
			}
		}
		if(!bNotFirstTime) {flexiFlights()};
	}
	//alert(sString);
}
function sortNumber(a,b)
{
    return a - b;
}

function ReOrderHotels(oH,dD){
    var pArray = new Array();
    var oH2 = new Array();
    
    for(x=0;x<oH.length;x++) {
        
        sAccommCSIPEID = GetNode(oH[x].getElementsByTagName('CSI_PEID')[0].childNodes.item(0))
                
        if(sAccommCSIPEID.length == 0){
            pArray[x] =  (parseFloat(GetNode(oH[x].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0))) + parseFloat(dD)).toFixed(2) + padLeft(x.toString(),5,'0').toString();
        }else{
            pArray[x] =  parseFloat(GetNode(oH[x].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0))).toFixed(2) + padLeft(x.toString(),5,'0').toString()
        }
        sAccommCSIPEID = null;
    }
    pArray.sort(sortNumber);
    for(x=0;x<pArray.length;x++) {
        oH2[x] = null;
        var x2 = parseFloat(pArray[x].toString().substring(pArray[x].toString().length - 5,pArray[x].toString().length));
        oH2[x] = oH[x2];
    }
    pArray = null;

    return oH2;
}

function selectFlight(id, difference) {
	iFlight_JSID = id;
	//showLoader('OtherFullContent');
	iMinimumPricePerPerson = iMinimumPricePerPerson+difference;
	iMaximumPricePerPerson = iMaximumPricePerPerson+difference;
	setTimeout('setFilter(true)',200);
	//setTimeout('RunResults(true,false)',200);
}

function DayPostText(iDay) {
	iDay = iDay;
	if(iDay == 1 || iDay == 21 || iDay == 31) {
		return iDay + 'st';
	}else if(iDay == 2 || iDay == 22){
		return iDay + 'nd';
	}else if(iDay == 3 || iDay == 23){
		return iDay + 'rd';
	}else{
		return iDay + 'th';
	}
}


function padLeft(sValue,iLength,sChar){
    var sPadTmp = sValue;
    var iLoop = iLength - sValue.length;
    if(iLoop > 0){
        for(Pad=0;Pad<iLoop;Pad++){
            sPadTmp = sChar + sPadTmp;
        }
    }
    return sPadTmp;
    
}
function flexiFlights(bNoResults) {
	var sDivText = '';
	if(bNoResults){sDivText = '-nr';}
	if(!sHTMLTemplate){
		sHTMLTemplate = readFileInAsync('/includes/ajaxresults/templates/flighthotel_qc.html');
	}

	if(document.getElementById('divFlightSelector') || document.getElementById('divFlightSelector_nr')) {
	
		try {
			var oFlight = AjaxResultsXMLDoc.getElementsByTagName('FARE');
		}catch(ex){
			LoadResults()	
			var oFlight = AjaxResultsXMLDoc.getElementsByTagName('FARE');
		}
		
		var dbTodayPrice = 0;	
		
		var sTempQS = queryString('startdate').replace(/ /gi, '+');
		var dActualStartDate = new Date(sTempQS.split('+')[2], getMonthNumber(sTempQS.split('+')[1]), sTempQS.split('+')[0]);
		
		// END GET QUERYSTRING
		
		var sDates = new String('|');
		// START FLIGHTS
		if(oFlight.length>0) {
			for(x=0;x<oFlight.length;x++) {
				oRoute = oFlight[x].getElementsByTagName('ROUTE');
				oSegment = oRoute[0].getElementsByTagName('SEGMENT');
				sFlight_Num = GetNode(oSegment[0].getElementsByTagName('FLIGHT_NUM')[0].childNodes.item(0));
				sFlight_DepDate = GetNode(oSegment[0].getElementsByTagName('DEP_DATE')[0].childNodes.item(0));
				sFlight_ArrDate = GetNode(oSegment[0].getElementsByTagName('ARR_DATE')[0].childNodes.item(0));
				sFlight_DepTime = GetNode(oSegment[0].getElementsByTagName('DEP_TIME')[0].childNodes.item(0));
				sFlight_ArrTime = GetNode(oSegment[0].getElementsByTagName('ARR_TIME')[0].childNodes.item(0));
				sFlight_DepAirport = GetNode(oSegment[0].getElementsByTagName('ORIGIN')[0].childNodes.item(0));
				sFlight_ArrAirport = GetNode(oSegment[0].getElementsByTagName('DESTINATION')[0].childNodes.item(0));
				iFlightOptionPricePerPerson = GetNode(oFlight[x].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0));
				
				var dFlight_DepDate = new Date(sFlight_DepDate);
				var iMonth = new Number(dFlight_DepDate.getMonth()) + 1;
				var sFlight_DepDate_Temp = new String(sFlight_DepDate.split(' ')[2] + ' ' + iMonth + ' ' + sFlight_DepDate.split(' ')[0]);
				if(sDates.indexOf('|'+sFlight_DepDate_Temp+'_') == -1){
					sDates += sFlight_DepDate_Temp+'_'+iFlightOptionPricePerPerson+'|'
					if(dActualStartDate.toString() == dFlight_DepDate.toString()){
						dbTodayPrice = iFlightOptionPricePerPerson;
					}
				}
			}
		}
		// END FLIGHTS
		// BEGIN GET QUERYSTRING
		var sLink = new String(window.location.search);
		var arQS = sLink.replace('\');', '').split('?')[1].split('&');
		var sQS = new String();
		var sInclude = new String('|airportfrom|country|city|locationto|duration|r1a|r1c|r1i|flexibility|carhire|transfer|')
	
		for(x=0; x<arQS.length; x++){
			if(sInclude.indexOf('|' + arQS[x].split('=')[0] + '|') > -1) {
				sQS += '&' + arQS[x];
			}
			if(arQS[x].split('=')[0] == 'duration'){
				iDuration = arQS[x].split('=')[1];	
			}
		}
		sQS = 'search_type=Flight_Hotel&startdate=##startdate##&enddate=##enddate##' + sQS
        
		var sFlexiFlightHTML = new String();
		sFlexiFlightHTML = '';
		
		if(bNoResults){

			sTempHTML = sHTMLTemplate;
			var sImageUrl = '/images/our holidays/stan_wi_197.jpg';
			
			sTempHTML = sTempHTML.replace(/#hotelname#/g,'Last Saturday');
			sTempHTML = sTempHTML.replace(/#image#/g,sImageUrl);
			sTempHTML = sTempHTML.replace(/#extratext#/g,'<div id="divDateOff_' + 99 + '" startdate="01/01/2001" enddate="01/01/2001" style="height:40px;"><strong>Live availability</strong></div>');
			sTempHTML = sTempHTML.replace(/#starrating#/g,'');
			sTempHTML = sTempHTML.replace(/#resortinfo#/g,'');
			sTempHTML = sTempHTML.replace(/#price#/g,'');
			sTempHTML = sTempHTML.replace(/<a href="#" onclick="#fulldetails_js#">/g,'<a href="javascript:void(0);" onclick="">');
			sTempHTML = sTempHTML.replace(/#position#/g,1);
			sTempHTML = sTempHTML.replace(/#supplier#/g,'');
			sTempHTML = sTempHTML.replace(/#accommid#/g,'');
			sTempHTML = sTempHTML.replace(/#accommcode#/g,'');
			sTempHTML = sTempHTML.replace('(per person)','');
			sTempHTML = sTempHTML.replace(/class="extratext"/g,'style="height:auto;" class="extratext"');
			sTempHTML = sTempHTML.replace(/class="starrating"/g,'style="height:auto;" class="starrating"');
			sTempHTML = sTempHTML.replace(/class="resortinfo"/g,'style="height:auto;" class="resortinfo"');
			sTempHTML = sTempHTML.replace(/<div class="#bgclass# FH">/g,'<div class="bg2" style="height:auto; width:150px !important;" id="divMainBox_99">');
			sTempHTML = sTempHTML.replace(/class="includedinfo"/g,'style="display:none;" class="starrating"');
			sTempHTML = sTempHTML.replace(/buttons/g, 'buttons" style="display:none;');
			sTempHTML = sTempHTML.replace(/<div class="image">/g, '<div class="image" style="padding-left:0px;">');
			sTempHTML = sTempHTML.replace(/<div class="button_book" onclick="#book_js#">/g,'<div class="button_book" id="butBook_99" onclick="" style="background:url(/images/buttons/search_this_date.gif) no-repeat !important; margin-top:10px; width:130px;">');
			sTempHTML = sTempHTML.replace(/<div class="price">/g,'<div class="price" style="margin:0px;">');
			
			//sFlexiFlightHTML += sTempHTML.replace(/#/g, '');
		}
		
		var arDates = sDates.split('|');
		var dbCheapestPrice = 0;	
		sLink = "BSRefineSearch(1,'/results.asp?" + sQS + "');"
		arDates.sort();
		var iDateCount = 0;
		for(xFF=0; xFF<sDates.length; xFF++) {
			if(arDates[xFF] != undefined && arDates[xFF] != ''){
				var sStartDate_Main = new Date(arDates[xFF].split('_')[0]);
				var bToday = false;
				var sStartDate_Temp = arDates[xFF].split('_')[0];
				var sStartDate =  new Date(sStartDate_Temp.split(" ")[0], parseInt(sStartDate_Temp.split(" ")[1]) - 1, sStartDate_Temp.split(" ")[2]);
				var sStartMonth = '';
				var sBorder = '';
	
				var sHoverText = '';
	
				if(dActualStartDate.toString() == sStartDate.toString()){
					sBorder = 'border:solid 1px red;'
					sHoverText = 'This is the date you have searched on'
					bToday = true;
				} else {
					bToday = false;
				}
				var sStartDay = new String(dDays[sStartDate.getDay()]);
				
				var sEndDate = new Date(sStartDate);
				sEndDate.setDate(sEndDate.getDate() + parseInt(iDuration));
				
				var iMonth = new Number(sStartDate.getMonth()) + 1;
				sStartDate = sStartDate.getDate() + ' ' + getProperMonth(iMonth) + ' ' + sStartDate.getFullYear();
				sStartMonth = getProperMonth(iMonth);
	
				var iMonth = new Number(dActualStartDate.getMonth()) + 1;
				sActualStartDate = dActualStartDate.getDate() + ' ' + getProperMonth(iMonth) + ' ' + dActualStartDate.getFullYear();
				
				iMonth = new Number(sEndDate.getMonth()) + 1;
				sEndDate = sEndDate.getDate() + ' ' + getProperMonth(iMonth) + ' ' + sEndDate.getFullYear();
	
				var sDay = DayPostText(sStartDate.toString().split(' ')[0]);
				var sPrice = arDates[xFF].split('_')[1];
				var sBG = new String('#FFFFFF');
				
				var sTempLink = sLink.replace('&amp;', '&').replace('##startdate##', sStartDate).replace('##enddate##', sEndDate);
				if(parseFloat(sPrice) < parseFloat(dbCheapestPrice) || dbCheapestPrice == 0) {
					dbCheapestPrice = sPrice;
				}
				
				var sColor = '';
				iPriceDifference = parseFloat(sPrice) - parseFloat(dbTodayPrice);
				if(parseInt(iPriceDifference) > 0) {
					sColor = '#379300';
					sText = '- £' + parseInt(iPriceDifference);
					if(sHoverText.length == 0) sHoverText = 'There are available holidays on ' + sStartDay.substring(0, 3) + ' the ' + sDay + '. The accommodation may not be the same price, but the flight is £' + parseInt(iPriceDifference) + ' less than the cheapest flight on ' + sActualStartDate;
				}else if(parseInt(iPriceDifference) < 0) {
					sColor = '#8C0606';
					var sPriceDifference = new String(parseInt(iPriceDifference)).replace('-', '');
					sText = '+ £' + sPriceDifference;
					if(sHoverText.length == 0) sHoverText = 'There are available holidays on ' + sStartDay.substring(0, 3) + ' the ' + sDay + '. The accommodation may not be the same price, but the flight is £' + sPriceDifference + ' more than the cheapest flight on ' + sActualStartDate;
				}else{
					sText = 'Same price';
					if(sHoverText.length == 0) sHoverText = 'There are available holidays on ' + sStartDay.substring(0, 3) + ' the ' + sDay + '. The accommodation may not be the same price, but the flight is the same price as the cheapest flight on ' + sActualStartDate;
				}
				if(sDay != 'NaNth'){
					 //style="background-color:' + sBG + ';color:' + sColor + '; ' + sBorder + '"
					 if(bNoResults) {
						sText = sText.replace('+', 'Increase of ')
						sText = sText.replace('-', 'Decrease of ')
						sTempHTML = sHTMLTemplate;
						var sImageUrl = '/images/our holidays/stan_wi_197.jpg';
						
						if(bToday) {
							sTempHTML = sTempHTML.replace(/<div class="ResultTemplate_QCHolder">/g,'<div class="ResultTemplate_QCHolder" style="display:none; ">');
						}
						
						sTempHTML = sTempHTML.replace(/#hotelname#/g,sStartDay + '<br />' + sDay + ' ' + sStartMonth);
						sTempHTML = sTempHTML.replace(/#image#/g,sImageUrl);
						sTempHTML = sTempHTML.replace(/#extratext#/g,'<div id="divDate' + sDivText + '_' + iDateCount + '" startdate="' + sStartDate + '" enddate="' + sEndDate + '" style="height:40px;"><strong>Live availability</strong></div>');
						sTempHTML = sTempHTML.replace(/#starrating#/g,'');
						sTempHTML = sTempHTML.replace(/#resortinfo#/g,'');
						sTempHTML = sTempHTML.replace(/#price#/g,'');
						sTempHTML = sTempHTML.replace(/<a href="#" onclick="#fulldetails_js#">/g,'<a href="javascript:void(0);" onclick="' + sTempLink + '">');
						sTempHTML = sTempHTML.replace(/#position#/g,1);
						sTempHTML = sTempHTML.replace(/#supplier#/g,'');
						sTempHTML = sTempHTML.replace(/#accommid#/g,'');
						sTempHTML = sTempHTML.replace(/#accommcode#/g,'');
						sTempHTML = sTempHTML.replace('(per person)','');
						sTempHTML = sTempHTML.replace(/class="extratext"/g,'style="height:auto;" class="extratext"');
						sTempHTML = sTempHTML.replace(/class="starrating"/g,'style="height:auto;" class="starrating"');
						sTempHTML = sTempHTML.replace(/class="resortinfo"/g,'style="height:auto;" class="resortinfo"');
						sTempHTML = sTempHTML.replace(/<div class="#bgclass# FH">/g,'<div class="bg2" style="height:auto; width:150px !important;" id="divMainBox_' + iDateCount + '">');
						sTempHTML = sTempHTML.replace(/class="includedinfo"/g,'style="display:none;" class="starrating"');
						sTempHTML = sTempHTML.replace(/buttons/g, 'buttons" style="display:none;');
						sTempHTML = sTempHTML.replace(/<div class="image">/g, '<div class="image" style="padding-left:0px;">');
						sTempHTML = sTempHTML.replace(/<div class="button_book" onclick="#book_js#">/g,'<div class="button_book" id="butBook_' + iDateCount + '" onclick="' + sTempLink + '" style="background:url(/images/buttons/search_this_date.gif) no-repeat !important; margin-top:10px; width:130px;">');
						sTempHTML = sTempHTML.replace(/<div class="price">/g,'<div class="price" style="margin:0px;">');
						
						sFlexiFlightHTML += sTempHTML.replace(/#/g, '');
						iDateCount += 1;
					 }else if(!bToday) {
						sFlexiFlightHTML += '<div style="padding:3px; padding-left:0px; float:left;" class="FF_Small" id="divContainer_' + iDateCount + '"><div class="FF_Box" onclick="' + sTempLink + '" id="divDate' + sDivText + '_' + iDateCount + '" startdate="' + sStartDate + '" enddate="' + sEndDate + '"><strong>' + sStartDay.substring(0, 3) + ' ' + sDay + '</strong></div></div>';
						iDateCount += 1;
					 }
				}
			}
		}
		if(bNoResults){
	
			sTempHTML = sHTMLTemplate;
			var sImageUrl = '/images/our holidays/stan_wi_197.jpg';
			
			sTempHTML = sTempHTML.replace(/#hotelname#/g,'Next Saturday');
			sTempHTML = sTempHTML.replace(/#image#/g,sImageUrl);
			sTempHTML = sTempHTML.replace(/#extratext#/g,'<div id="divDateOff_' + 99 + '" startdate="01/01/2001" enddate="01/01/2001" style="height:40px;"><strong>Live availability</strong></div>');
			sTempHTML = sTempHTML.replace(/#starrating#/g,'');
			sTempHTML = sTempHTML.replace(/#resortinfo#/g,'');
			sTempHTML = sTempHTML.replace(/#price#/g,'');
			sTempHTML = sTempHTML.replace(/<a href="#" onclick="#fulldetails_js#">/g,'<a href="javascript:void(0);" onclick="">');
			sTempHTML = sTempHTML.replace(/#position#/g,1);
			sTempHTML = sTempHTML.replace(/#supplier#/g,'');
			sTempHTML = sTempHTML.replace(/#accommid#/g,'');
			sTempHTML = sTempHTML.replace(/#accommcode#/g,'');
			sTempHTML = sTempHTML.replace('(per person)','');
			sTempHTML = sTempHTML.replace(/class="extratext"/g,'style="height:auto;" class="extratext"');
			sTempHTML = sTempHTML.replace(/class="starrating"/g,'style="height:auto;" class="starrating"');
			sTempHTML = sTempHTML.replace(/class="resortinfo"/g,'style="height:auto;" class="resortinfo"');
			sTempHTML = sTempHTML.replace(/<div class="#bgclass# FH">/g,'<div class="bg2" style="height:auto; width:150px !important;" id="divMainBox_99">');
			sTempHTML = sTempHTML.replace(/class="includedinfo"/g,'style="display:none;" class="starrating"');
			sTempHTML = sTempHTML.replace(/buttons/g, 'buttons" style="display:none;');
			sTempHTML = sTempHTML.replace(/<div class="image">/g, '<div class="image" style="padding-left:0px;">');
			sTempHTML = sTempHTML.replace(/<div class="button_book" onclick="#book_js#">/g,'<div class="button_book" id="butBook_99" onclick="" style="background:url(/images/buttons/search_this_date.gif) no-repeat !important; margin-top:10px; width:130px;">');
			sTempHTML = sTempHTML.replace(/<div class="price">/g,'<div class="price" style="margin:0px;">');
			
			//sFlexiFlightHTML += sTempHTML.replace(/#/g, '');
		}
		if(iDateCount > 1) {
			if(!document.getElementById('divFlightSelector_nr')) {document.getElementById('divFlightSelector').innerHTML = '<div class="TitleWBorder2">Flexible holiday options</div>' + sFlexiFlightHTML + '<div style="clear:both;"></div>';}
			if(document.getElementById('divFlightSelector_nr') && sFlexiFlightHTML.length > 0){
				document.getElementById('divFlightSelector_nr').innerHTML = '<strong>What about similar start days?</strong><br><br><div align="center"><div style="width:700px;">' + sFlexiFlightHTML + '</div></div><div style="clear:both;"></div>';
			}
		}
	}

	setTimeout("FlexiAccomm()", 300);

}


function showFlightSelector() {
	var dSearchDate = new Date(getSearchCriteria('DEP_DATE_Y'),getSearchCriteria('DEP_DATE_M'),getSearchCriteria('DEP_DATE_D'));
	sFlightSelHTMLTemplate = readFileInAsync('/includes/ajaxresults/templates/flightselector.html');
	try {
		var oFlight = AjaxResultsXMLDoc.getElementsByTagName('FARE');
	}catch(ex){
		LoadResults()	
		var oFlight = AjaxResultsXMLDoc.getElementsByTagName('FARE');
	}
	sFlightSelHTML = '';
	if(oFlight.length>0) {
		sFlightSelHTML+='<div class="fsBox">';
		sFlightSelHTML+='<div class="fsBoxContent1">';
		sFlightSelHTML+='<table border="0" cellpadding="0" cellspacing="4">';
		sFlightSelHTML+='<tr>';
		sFlightSelHTML+='<td width="115">Departs</td>';
		sFlightSelHTML+='<td width="115">Arrives</td>';
		sFlightSelHTML+='<td width="565">Flight details</td>';
		sFlightSelHTML+='</tr>';
		sFlightSelHTML+='</table>';
		sFlightSelHTML+='</div>';
		sFlightSelHTML+='</div>';

		for(x=0;x<oFlight.length;x++) {
			sFlight_DetailHTML = '';
			oRoute = oFlight[x].getElementsByTagName('ROUTE');
			oSegment = oRoute[0].getElementsByTagName('SEGMENT');
			dFlight_DepDate = new Date(GetNode(oSegment[0].getElementsByTagName('DEP_DATE')[0].childNodes.item(0)));
			dFlight_DepDate.setMonth(dFlight_DepDate.getMonth() + 1);
			if(dFlight_DepDate.toString() == dSearchDate.toString()) {
				for(xz=0;xz<oRoute.length;xz++){
					oSegment = oRoute[xz].getElementsByTagName('SEGMENT');
					for(xy=0;xy<oSegment.length;xy++){
						sFlight_Num = GetNode(oSegment[xy].getElementsByTagName('FLIGHT_NUM')[0].childNodes.item(0));
						sFlight_DepDate = GetNode(oSegment[xy].getElementsByTagName('DEP_DATE')[0].childNodes.item(0));
						sFlight_ArrDate = GetNode(oSegment[xy].getElementsByTagName('ARR_DATE')[0].childNodes.item(0));
						sFlight_DepTime = GetNode(oSegment[xy].getElementsByTagName('DEP_TIME')[0].childNodes.item(0));
						sFlight_ArrTime = GetNode(oSegment[xy].getElementsByTagName('ARR_TIME')[0].childNodes.item(0));
						sFlight_DepAirport = GetNode(oSegment[xy].getElementsByTagName('ORIGIN')[0].childNodes.item(0));
						sFlight_ArrAirport = GetNode(oSegment[xy].getElementsByTagName('DESTINATION')[0].childNodes.item(0));
						
						sFlight_Info = sFlight_DepAirport+' - '+sFlight_ArrAirport+' | '+sFlight_DepTime+' - '+sFlight_ArrTime+' | '+sFlight_Num;
						sFlight_DetailHTML+='<tr>';
						sFlight_DetailHTML+='<td width="115">'+sFlight_DepDate+'</td>';
						sFlight_DetailHTML+='<td width="115">'+sFlight_ArrDate+'</td>';
						sFlight_DetailHTML+='<td width="530">'+sFlight_Info+'</td>';
						sFlight_DetailHTML+='</tr>';
					}
				}
				iFlightOptionPricePerPerson = GetNode(oFlight[x].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0));
				sTransferSearch = GetNode(oFlight[x].getElementsByTagName('TransferSearch')[0].childNodes.item(0));
				var sTransferIncludedHTML='';
				if(sTransferSearch.toLowerCase()=='true'){
					iTransferOptionPricerPerPerson = GetNode(oFlight[x].getElementsByTagName('TransferPricePerPerson')[0].childNodes.item(0));
					iFlightOptionPricePerPerson = parseFloat(iFlightOptionPricePerPerson)+parseFloat(iTransferOptionPricerPerPerson);
					
					if(parseFloat(iTransferOptionPricerPerPerson)>0) {
						sTransferIncludedHTML='<span title="header=[Transfer] body=[Transfer is included if you select this flight.]"><img src="/images/icons/transfer_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
						sTransferIncludedHTML+='Transfer included';
					}else{
						sTransferIncludedHTML='<img src="/images/icons/transfer_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/>';
						sTransferIncludedHTML+='<strong>NO</strong> transfer found';
					}
				}
				
				iPriceDifference = parseFloat(iFlightOptionPricePerPerson) - parseFloat(iFlight_PricePerPerson);
				if(iPriceDifference==0) {
					sPriceText = 'Price same as selected';	
				}else if(iPriceDifference > 0) {
					sPriceText = 'Price increase of &pound;'+Math.round(iPriceDifference);
				}else{
					sPriceText = '<span style="color:green;">Price decrease of &pound;'+Math.round(iPriceDifference)+'</span>';	
					sPriceText = sPriceText.replace(/-/g,'');
				}
				if(x==iFlight_JSID){
					sBoxClass='fsBoxContent3';
					sButtonDisplay = 'none';
					sPriceText = 'Currently selected';
				}else{
					sBoxClass='fsBoxContent2';
					sButtonDisplay = '';
				}
							
				
				
				sButtonSelect = 'selectFlight(\''+x+'\','+Math.round(iPriceDifference)+')';
				
				sTempHTML = sFlightSelHTMLTemplate;
				sTempHTML = sTempHTML.replace(/#price#/g,sPriceText);
				sTempHTML = sTempHTML.replace(/#transfertext#/g,sTransferIncludedHTML);
				sTempHTML = sTempHTML.replace(/#boxclass#/g,sBoxClass);
				sTempHTML = sTempHTML.replace(/#buttontbody#/g,sButtonDisplay);
				sTempHTML = sTempHTML.replace(/#flight_details#/g,sFlight_DetailHTML);
				sTempHTML = sTempHTML.replace(/#button_select#/g,sButtonSelect);
				
	
				sFlightSelHTML+=sTempHTML;
			}
		}
		
	}
	oResultDiv = document.getElementById('ResultContent');
	oFlightSelDiv = document.getElementById('OtherFullContent');
	if(oResultDiv && oFlightSelDiv) {
		bLoaderShowing = false;
		oFlightSelDiv.innerHTML = '<div class="FlightSelector">'+sFlightSelHTML+'</div>';
		div_switch(oResultDiv.id,false,true);
		div_switch(oFlightSelDiv.id,true,true);
	}
	
}

function RunResults_Hotel(bNotFirstTime, bDoNotRunPagingData, bJustAvailability) {
	iHotelCount = 0;

	if(!sHTMLTemplate){
		sHTMLTemplate = readFileInAsync('/includes/ajaxresults/templates/hotel_qc.html');
	}
	sHTML='';
	var oHotel = AjaxResultsXMLDoc.getElementsByTagName('Hotel');
	var oSessionInfo = AjaxResultsXMLDoc.getElementsByTagName('SessionInfo');
	iResultCount = 0;
	iPageCount = 0;
	if(!bDoNotRunPagingData) {
		iResultPageCount = 0;
		sPagingData = '0';
		iTotalResultCount = 0;
		iCurrentPageNum = 1;
	}
	
	iHotelCount = oHotel.length;
	
	if(!bJustAvailability){
		for(x=getPageStart(iCurrentPageNum);x<oHotel.length;x++) {
			var iTotalPricePerPerson = GetNode(oHotel[x].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0));
			var sBoardType = getCSIBoardCode(GetNode(oHotel[x].getElementsByTagName('BoardBasis')[0].childNodes.item(0)));
			var sStarRating = getCSIStarRating(GetNode(oHotel[x].getElementsByTagName('StarRating')[0].childNodes.item(0)));
			
			if(iTotalPricePerPerson>=iFilter_MinPricePerPerson && iTotalPricePerPerson<=iFilter_MaxPricePerPerson && sFilter_BoardTypes.indexOf('|'+sBoardType+'|') >= 0 && sFilter_StarRating.indexOf('|'+sStarRating+'|') >= 0) {
				iResultCount++;
				if(!bDoNotRunPagingData) {
					iTotalResultCount++;
					iResultPageCount++;
					if(iResultPageCount>=iMaximumNumberOfResults) {
						iResultPageCount = 0;
						sPagingData+='|'+parseFloat(x+1);
					}
				}
				if(iResultCount <= iMaximumNumberOfResults) {
					sPosition = GetAttribute(oHotel[x].attributes.getNamedItem("Position"));
					sAccommodationName = GetNode(oHotel[x].getElementsByTagName('AccommName')[0].childNodes.item(0));
					sAccommodationCode = GetNode(oHotel[x].getElementsByTagName('AccommCode')[0].childNodes.item(0));
					sResortName = GetNode(oHotel[x].getElementsByTagName('ResortName')[0].childNodes.item(0));
					sImageUrl = GetNode(oHotel[x].getElementsByTagName('Image')[0].childNodes.item(0));
					sProvider = GetAttribute(oHotel[x].attributes.getNamedItem("Provider"));
					sAccommID = GetNode(oHotel[x].getElementsByTagName('AccommCode')[0].childNodes.item(0));
					var sExtraText = '';
					sProperBoardType = getBoardTypeFromCode(sBoardType);
					if(sProperBoardType.toLowerCase()!='other') {
						sExtraText+=sProperBoardType;
					}
					var sStarHTML = '';
					if(!isNaN(parseFloat(sStarRating))) {
						sStarHTML = getStarRatingImages(parseFloat(sStarRating));
					}
					switch(iResultCount) {
						case 1: case 3: case 6: case 8: case 9: case 11: case 13: case 15: case 18: case 20:sClass='bg1';break;    
						default:sClass='bg2';
					}			
					sTempHTML = sHTMLTemplate;
					sTempHTML = sTempHTML.replace(/#hotelname#/g,sAccommodationName);
					sTempHTML = sTempHTML.replace(/#image#/g,sImageUrl);
					sTempHTML = sTempHTML.replace(/#extratext#/g,sExtraText);
					sTempHTML = sTempHTML.replace(/#starrating#/g,sStarHTML);
					sTempHTML = sTempHTML.replace(/#resortinfo#/g,sResortName);
					sTempHTML = sTempHTML.replace(/#price#/g,'&pound;'+Math.round(iTotalPricePerPerson));
					sTempHTML = sTempHTML.replace(/#bgclass#/g,sClass);
					sTempHTML = sTempHTML.replace(/#position#/g,sPosition);
					sTempHTML = sTempHTML.replace(/#supplier#/g,sProvider);
					sTempHTML = sTempHTML.replace(/#accommid#/g,sAccommID);
					//alert(sShortlistPositions+' : '+sPosition+' = '+sShortlistPositions.replace(/ /g,'').indexOf('|'+sPosition+'-'));
					if(sShortlistPositions.replace(/ /g,'').indexOf('|'+sPosition+'-')>-1) {
						bAddedToShortlist = true;
						sTempHTML = sTempHTML.replace(/#addedtoshortlist_display#/g,'');
						sTempHTML = sTempHTML.replace(/#addtoshortlist_display#/g,'none');
					}else{
						bAddedToShortlist = false;
						sTempHTML = sTempHTML.replace(/#addedtoshortlist_display#/g,'none');
						sTempHTML = sTempHTML.replace(/#addtoshortlist_display#/g,'');
					}
					sAddtoShortlistJs = 'AddToShortlist(\'&provider='+sProvider+'&accommcode='+sAccommodationCode+'\',\''+sPosition+'\');';
					sTempHTML = sTempHTML.replace('#addtoshortlist_js#',sAddtoShortlistJs);
					
					sBookButtonJS = 'setLevel(\'PRICING\');setAccomm(\''+sAccommodationCode+'\',\''+sProvider+'\',\'\',\''+sBYOParentID+'\',\''+sBYOSessionID+'\',\'Hotel\',\'\',\''+sBoardType+'\');setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\''+sCurrentSearch+'\');frmBYOSubmitBS();'
					sTempHTML = sTempHTML.replace(/#book_js#/g,sBookButtonJS);
					
					sTempHTML = sTempHTML.replace(/#fulldetails_js#/g,'setFullDetailsURL(\''+sProvider+'\',\'Hotel\',\'byosession='+sBYOSessionID+'&accommcode='+sAccommodationCode+'\',\''+escape(sBookButtonJS)+'\',\''+escape(sAddtoShortlistJs)+'\',\'\',\'\',\'\',\''+sPosition+'\')');
					if(sResultStyle=='DR') {
						sShortDescription = GetNode(oHotel[x].getElementsByTagName('ShortDesc')[0].childNodes.item(0)); //.replace(/&#60;/g,'<').replace(/&#62;/g,'>').replace(/&#34;/g,'"').replace(/&#38;/g,'&');
						/*
						for(iChar=0;iChar<10;iChar++){
							
							// Get the last HTML tag of the desc
							iCharIndex = sShortDescription.lastIndexOf('<');
							iCharIndex2 = sShortDescription.lastIndexOf('/');
							iCharIndex3 = sShortDescription.lastIndexOf('>');
							
							// If this is not a closing tag
							if(iCharIndex > iCharIndex2 && iCharIndex > -1){
								sShortDescription = sShortDescription.substr(0, iCharIndex);
								
							// Or if it doesn't have a closing tag
							}else if(iCharIndex2 > iCharIndex3 && iCharIndex > -1){
								sShortDescription = sShortDescription.substr(0, iCharIndex);
								iCharIndex = sShortDescription.lastIndexOf('<');
								sShortDescription = sShortDescription.substr(0, iCharIndex);
							
							// Otherwise all is OK
							}else{
								break;	
							}
							
						}
						*/
						sDepartureDate = GetNode(oHotel[x].getElementsByTagName('DepartureDate')[0].childNodes.item(0));
						sReturnDate = GetNode(oHotel[x].getElementsByTagName('ReturnDate')[0].childNodes.item(0));
						sTempHTML = sTempHTML.replace(/#description#/g,sShortDescription);
						sTempHTML = sTempHTML.replace(/#date_from#/g,sDepartureDate);
						sTempHTML = sTempHTML.replace(/#date_to#/g,sReturnDate);
					}
					
					sHTML+=sTempHTML;
				}
			}
		}
		if(!bJustAvailability){
			oResultDiv = document.getElementById('ResultContent1');
			if(oResultDiv) {
				sPagingHTML = setResultPaging();
				sPagingBottomHTML = setResultPaging('bot');
				oResultDiv.innerHTML = sPagingHTML + sHTML + sPagingBottomHTML;
			}
		}
	}
}

function showHideFlightOptionsFromAvail(id, position,csi_peid, cost) {
	o1 = document.getElementById('flightOptions_'+id);
	o2 = document.getElementById('flightOptionsText_'+id);
	o5 = document.getElementById('flightOptionsTextHolder_'+id);
	o8 = document.getElementById('flightOptionsTBATextHolder_'+id);
	o6 = document.getElementById('packageflights'+position);
	if(!o6){
		o6 = document.getElementById('MI_FlightInfoItinerary');
		sPackageFlightsExtra = '&fulldetails=true';
	}else{
		sPackageFlightsExtra = ''	
	}
	if(csi_peid != null){
	    sPackageFlightsExtra += '&csi_peid='+csi_peid
	}
	if(cost != null){
	      sPackageFlightsExtra += '&cost='+cost
	}
	o7 = document.getElementById('packageflights'+position+'Loader');
	if(o1&&o2) {
		o3 = document.getElementsByName('flightSelector_'+id);
		o3[0].checked=true;
		
		o4 = document.getElementById('flightSelectorHolder_'+id+'_0');
		if(o1.style.display=='') {
			o1.style.display='none';
			o2.innerHTML=o2.innerHTML.replace('Hide','Show');	
			o4.style.display='none';
		}else{
			o1.style.display='';
			o2.innerHTML=o2.innerHTML.replace('Show','Hide');
			o5.style.display='none';
			o7.style.display='';
			sURL = '/includes/ajaxresults/packageflights.asp?session='+sBYOSessionID+'&position='+position+sPackageFlightsExtra;
			o6.innerHTML = readFileInAsync(sURL);			
			o4.style.display='';
			if(o8) {
				o8.style.display='none';	
			}
		}
	}
}

function showHideFlightOptions(id) {
	o1 = document.getElementById('flightOptions_'+id);
	o2 = document.getElementById('flightOptionsText_'+id);
	o5 = document.getElementById('flightOptionsTextHolder_'+id);
	o8 = document.getElementById('flightOptionsTBATextHolder_'+id);
	if(o1&&o2) {
		o3 = document.getElementsByName('flightSelector_'+id);
		o3[0].checked=true;
		
		o4 = document.getElementById('flightSelectorHolder_'+id+'_0');
		if(o1.style.display=='') {
			o1.style.display='none';
			o2.innerHTML=o2.innerHTML.replace('Hide','Show');	
			o4.style.display='none';
		}else{
			o1.style.display='';
			o2.innerHTML=o2.innerHTML.replace('Show','Hide');
			o5.style.display='none';
			o4.style.display='';
			if(o8) {
				o8.style.display='none';	
			}
		}
	}
}

function GetPackageItinaryID(id) {
	o1 = document.getElementsByName('flightSelector_'+id);
	for(zzz=0;zzz<o1.length;zzz++){
		if(o1[zzz].checked){
			return o1[zzz].value;
		}
	}
}

function selectPackageFlightOption(id, priceval, datefrom, dateto) {
	o1 = document.getElementById('dr_price'+id);
	o2 = document.getElementById('dr_datefrom'+id);
	o3 = document.getElementById('dr_dateto'+id);
	if(o1&&o2&&o3) {
		o1.innerHTML = priceval;
		o2.innerHTML = datefrom;
		o3.innerHTML = dateto;
	}
}

function RunResults_PackageHoliday(bNotFirstTime, bDoNotRunPagingData) {
	/*alert(getSearchCriteria('SEARCH_PACKAGE'));
	alert('Star: '+sFilter_StarRating);
	alert('Board: '+sFilter_BoardTypes);*/
	if(!sHTMLTemplate){
		sHTMLTemplate = readFileInAsync('/includes/ajaxresults/templates/packageholiday_qc.html');
	}
	sHTML='';
	var oPackage = AjaxResultsXMLDoc.getElementsByTagName('PackageHoliday');
	var oSessionInfo = AjaxResultsXMLDoc.getElementsByTagName('SessionInfo');
	sFABSession = oSessionInfo.item(0).attributes.getNamedItem("FABSessionId").nodeValue;
	iResultCount = 0;
	iPageCount = 0;
	if(!bDoNotRunPagingData) {
		iResultPageCount = 0;
		sPagingData = '0';
		iTotalResultCount = 0;
		iCurrentPageNum = 1;
	}
	for(x=getPageStart(iCurrentPageNum);x<oPackage.length;x++) {
		var oAccommodation = oPackage[x].getElementsByTagName('Accommodation');
		var oFlight = oPackage[x].getElementsByTagName('Flight');
		var iTotalPrice = parseFloat(oPackage[x].attributes.getNamedItem("STANDARD_PRICE").nodeValue);
		var iTotalPricePerPerson = parseFloat(oPackage[x].attributes.getNamedItem("STANDARD_PRICE_PERPERSON").nodeValue);
		var sBoardType = getCSIBoardCode(GetAttribute(oAccommodation.item(0).attributes.getNamedItem("BoardCode")));
		var sStarRating = getCSIStarRating(GetAttribute(oAccommodation.item(0).attributes.getNamedItem("ClassCode")));
		if(iTotalPricePerPerson>=iFilter_MinPricePerPerson && iTotalPricePerPerson<=iFilter_MaxPricePerPerson && sFilter_BoardTypes.indexOf('|'+sBoardType+'|') >= 0 && sFilter_StarRating.indexOf('|'+sStarRating+'|') >= 0) {
			iResultCount++;
			if(!bDoNotRunPagingData) {
				iTotalResultCount++;
				iResultPageCount++;
				if(iResultPageCount>=iMaximumNumberOfResults) {
					iResultPageCount = 0;
					sPagingData+='|'+parseFloat(x+1);
				}
			}
			if(iResultCount <= iMaximumNumberOfResults) {
				sProvider = GetAttribute(oPackage[x].attributes.getNamedItem("Provider"));
				sPosition = GetAttribute(oPackage[x].attributes.getNamedItem("Position"));
				sAccommodationName = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("AccommodationName"));
				sOrigAccommodationName = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("OriginalAccommodationName")).replace("&", "%26");
				sResortID = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("ResortId"));
				sItineraryId = GetAttribute(oPackage[x].attributes.getNamedItem("ItineraryId"));
				sItineraryIdForDesc = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("ItineraryIDForDesc"));
				sResortName = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("ResortName"));
				sImageUrl = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("Img"));
				sAccommID = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("AccommodationId"));
				sAccommID_Revised = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("ResortId")) + '.' + sOrigAccommodationName.replace("'", "");
				sAccommCode = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("AccommodationCode"));
				//sImageUrl = '/includes/packageholidays_image.asp?fab='+sFABSession+'&accomm='+sItineraryId;
				sExtraText = 'Return flights';
				sProperBoardType = getBoardTypeFromCode(sBoardType);
				if(sProperBoardType.toLowerCase()!='other') {
					sExtraText+=', '+sProperBoardType;
				}
				var sStarHTML = '';
				if(!isNaN(parseFloat(sStarRating))) {
					sStarHTML = getStarRatingImages(parseFloat(sStarRating));
				}
				switch(iResultCount) {
					case 1: case 3: case 6: case 8: case 9: case 11: case 13: case 15: case 18: case 20:sClass='bg1';break;    
					default:sClass='bg2';
				}			
				sTempHTML = sHTMLTemplate;
				sTempHTML = sTempHTML.replace(/#hotelname#/g,sAccommodationName);
				sTempHTML = sTempHTML.replace(/#image#/g,sImageUrl);
				sTempHTML = sTempHTML.replace(/#extratext#/g,sExtraText);
				sTempHTML = sTempHTML.replace(/#starrating#/g,sStarHTML);
				sTempHTML = sTempHTML.replace(/#resortinfo#/g,sResortName);
				sTempHTML = sTempHTML.replace(/#price#/g,'&pound;'+Math.round(iTotalPricePerPerson));
				sTempHTML = sTempHTML.replace(/#bgclass#/g,sClass);
				sTempHTML = sTempHTML.replace(/#position#/g,sPosition);
				sTempHTML = sTempHTML.replace(/#supplier#/g,sProvider);
				sTempHTML = sTempHTML.replace(/#accommid#/g,sAccommID_Revised);
				sTempHTML = sTempHTML.replace(/#accommcode#/g,sAccommCode);
									
				sTempHTML = sTempHTML.replace(/#FABSession#/g,sFABSession);
								
						
				if(sShortlistPositions.replace(/ /g,'').indexOf('|'+sPosition+'-')>-1) {
					bAddedToShortlist = true;
					sTempHTML = sTempHTML.replace(/#addedtoshortlist_display#/g,'');
					sTempHTML = sTempHTML.replace(/#addtoshortlist_display#/g,'none');
				}else{
					bAddedToShortlist = false;
					sTempHTML = sTempHTML.replace(/#addedtoshortlist_display#/g,'none');
					sTempHTML = sTempHTML.replace(/#addtoshortlist_display#/g,'');
				}
				
				if(sResultStyle=='DR') {
					sShortDescription = GetAttribute(oAccommodation.item(0).attributes.getNamedItem("ShortDesc")); //.replace(/&#60;/g,'<').replace(/&#62;/g,'>').replace(/&#34;/g,'"').replace(/&#38;/g,'&'); //.split('<p>')[0];
					/*
					for(iChar1=0;iChar1<10;iChar1++){
						
						// Get the last HTML tag of the desc
						iCharIndex = sShortDescription.lastIndexOf('<');
						iCharIndex2 = sShortDescription.lastIndexOf('/');
						iCharIndex3 = sShortDescription.lastIndexOf('>');
						
						// If this is not a closing tag
						if(iCharIndex > iCharIndex2 && iCharIndex > -1){
							sShortDescription = sShortDescription.substr(0, iCharIndex);
							
						// Or if it doesn't have a closing tag
						}else if(iCharIndex2 > iCharIndex3 && iCharIndex > -1){
							sShortDescription = sShortDescription.substr(0, iCharIndex);
							iCharIndex = sShortDescription.lastIndexOf('<');
							sShortDescription = sShortDescription.substr(0, iCharIndex);
						
						// Otherwise all is OK
						}else{
							break;	
						}
						
					}
					*/
					sFlightHTML='';
					//for(xy=0;xy<oFlight.length;xy++) {
					if(oFlight.length > 0) {
						xy = 0
						var iFlightResultID = x+'_'+xy;
						var iNewTotalPricePerPerson = parseFloat(oFlight[xy].attributes.getNamedItem("STANDARD_PRICE_PERPERSON").nodeValue);
						
						var iPriceDifferencePerPerson = parseFloat(iNewTotalPricePerPerson - iTotalPricePerPerson);
						if(iPriceDifferencePerPerson>0) {
							sPriceDifferencePerPerson = '<span style="padding-right:10px; color:red;">+£'+Math.round(iPriceDifferencePerPerson)+'</span>';
						}else if(iPriceDifferencePerPerson<0) {
							var sPriceDifferencePerPerson_Temp = new String(iPriceDifferencePerPerson);
							sPriceDifferencePerPerson = '<span style="padding-right:10px; color:green;">-£'+Math.round(sPriceDifferencePerPerson_Temp.replace('-',''))+'</span>';
						}else{
							sPriceDifferencePerPerson = '<span style="padding-right:10px; color:green;">+£0</span>';	
						}
						
						sNewPackageSupplier = GetAttribute(oFlight[xy].attributes.getNamedItem("Supplier")).replace(/\n/g,'');
						sNewDepartureDate = GetAttribute(oFlight[xy].attributes.getNamedItem("DepartureDate")).replace(/\n/g,'');
						sNewArrivalDate = GetAttribute(oFlight[xy].attributes.getNamedItem("ArrivalDate")).replace(/\n/g,'');
						sNewReturnDepartureDate = GetAttribute(oFlight[xy].attributes.getNamedItem("ReturnHomeDepartDate")).replace(/\n/g,'');
						sNewReturnArrivalDate = GetAttribute(oFlight[xy].attributes.getNamedItem("ReturnHomeDate")).replace(/\n/g,'');
						if(xy==0) {
							sDepartureDate = sNewDepartureDate;
							sArrivalDate = sNewArrivalDate;
							sReturnDepartureDate = sNewReturnDepartureDate;
							sReturnArrivalDate = sNewReturnArrivalDate;
						}
						
						sDepartureAirport = GetAttribute(oFlight[xy].attributes.getNamedItem("OriginAirport"));
						sDestinationAirport = GetAttribute(oFlight[xy].attributes.getNamedItem("DestinationAirport"));
						sDepartureTime = GetAttribute(oFlight[xy].attributes.getNamedItem("DepartureTime"));
						sArrivalTime = GetAttribute(oFlight[xy].attributes.getNamedItem("ArrivalTime"));
						
						sRoomType = GetAttribute(oFlight[xy].attributes.getNamedItem("RoomType"));
						
						sReturnDepartureTime = GetAttribute(oFlight[xy].attributes.getNamedItem("ReturnHomeDepartTime"));
						sReturnArrivalTime = GetAttribute(oFlight[xy].attributes.getNamedItem("ReturnHomeTime"));
						
						sOutboundFlightNumber = GetAttribute(oFlight[xy].attributes.getNamedItem("OutboundFlightNumber"));
						sInboundFlightNumber = GetAttribute(oFlight[xy].attributes.getNamedItem("ReturnFlightNumber"));
						sOutboundInfo = sDepartureAirport+' - '+sDestinationAirport+' | '+sDepartureTime+' - '+sArrivalTime+' | '+sOutboundFlightNumber
						sInboundInfo = sDestinationAirport+' - '+sDepartureAirport+' | '+sReturnDepartureTime+' - '+sReturnArrivalTime+' | '+sInboundFlightNumber
						
						sNewItineraryId = GetAttribute(oFlight[xy].attributes.getNamedItem("ItineraryId"));
						
						//if(xy>0) {
						//	sFlightHTML+='<tr><td colspan="3" height="10">&nbsp;</td></tr>';	
						//	if(oFlight.length>1) {
						//		sFlightHTML+='<tbody id="flightOptions_'+x+'" style="display:none;">';
						//	}
						//}
						sFlightHTML+='<tr>';
						sFlightHTML+='<td class="fitTitle" width="15%" onclick="alertDebugInfo(\''+sNewPackageSupplier+'\')">Departs</td>';
						sFlightHTML+='<td class="fitTitle" width="15%">Arrives</td>';
						
						
						sFlightHTML+='<td class="fitTitle">'
						var sExtraRadio='';
						var sExtraSelector='';
						if(xy==0) {
							sExtraRadio=' checked="checked"';
							sExtraSelector='display:none;';
						}
						if(sProvider == 'SkiWorld'){
							sOptionsText = ' and room';
						}else{
							sOptionsText = '';	
						}
						sFlightHTML+='<div style="float:right; padding-right:5px;'+sExtraSelector+'"" id="flightSelectorHolder_'+iFlightResultID+'" onclick="alertDebugInfo(\''+sNewPackageSupplier+'\')">'+sPriceDifferencePerPerson+'<label for="flightSelector_'+iFlightResultID+'">Select flight'+sOptionsText+':</label> <input type="radio" value="'+sNewItineraryId+'" name="flightSelector_'+x+'" id="flightSelector_'+iFlightResultID+'" style="vertical-align:middle"'+sExtraRadio+' onclick="selectPackageFlightOption('+x+',\'£'+iNewTotalPricePerPerson+'\',\''+sNewDepartureDate+'\',\''+sNewReturnArrivalDate+'\')" /></div>';
						sFlightHTML+='Flight details</td>';
						if(sProvider == 'SkiWorld'){
							sFlightHTML+='<td class="fitTitle">Room type</td>';
						}
						sFlightHTML+='</tr>';
						
						sFlightHTML+='<tr>';
						sFlightHTML+='<td class="fitContent">'+sDepartureDate+'</td>';
						sFlightHTML+='<td class="fitContent">'+sArrivalDate+'</td>';
						sFlightHTML+='<td class="fitContent">'+sOutboundInfo+'</td>';
						if(sProvider == 'SkiWorld'){
							sFlightHTML+='<td class="fitContent" rowSpan="2" style="background-color:#F3F3ED;border-left:solid 1px #e3dfdf;">' + sRoomType + '</td>';
						}
						
						sFlightHTML+='</tr>';
						sFlightHTML+='<tr>';
						sFlightHTML+='<td class="fitContent">'+sReturnDepartureDate+'</td>';
						sFlightHTML+='<td class="fitContent">'+sReturnArrivalDate+'</td>';
						sFlightHTML+='<td class="fitContent">'+sInboundInfo+'</td>';
						sFlightHTML+='</tr>';
						sFlightHTML+='<tr><td colspan="4" class="fitBotContent">*TBAs confirmed when you click "Book holiday"</td></tr>';
						
						if(oFlight.length>1) {
							if(xy==0) {
								sFlightHTML+='<tr><td colspan="4" align="right" id="flightOptionsTextHolder_'+x+'" class="fitFlightText"><a href="javascript:showHideFlightOptionsFromAvail(\''+x+'\',\''+sPosition+'\');selectPackageFlightOption('+x+',\'£'+iTotalPricePerPerson+'\',\''+sDepartureDate+'\',\''+sReturnArrivalDate+'\');">'
								
								var sOptionsText = '';								
								if(sProvider == 'SkiWorld'){
									sOptionsText = ' and room';
								}else{
									sOptionsText = '';	
								}
								
								sFlightHTML+='<span id="flightOptionsText_'+x+'">Show '+parseFloat(oFlight.length-1)+' other flight' + sOptionsText + ' options</span></a></td></tr>';	
								sFlightHTML+='<tbody id="flightOptions_'+x+'" style="display:none;"></tbody>';
							}
							//if(xy==oFlight.length-1) {
							//	sFlightHTML+='</tbody>';
							//}
						}
						
					}
				
					sTempHTML = sTempHTML.replace(/#flying_from#/g,sDepartureAirport);
					sTempHTML = sTempHTML.replace(/#description#/g,sShortDescription);
					
					sTempHTML = sTempHTML.replace(/#date_from#/g,sDepartureDate);
					sTempHTML = sTempHTML.replace(/#date_to#/g,sReturnArrivalDate);
					sTempHTML = sTempHTML.replace(/#result_id#/g,x);
					sTempHTML = sTempHTML.replace(/#flight_details#/g,sFlightHTML);
					
					sBookButtonJS = 'setLevel(\'PRICING\');setPackageHoliday(\''+sProvider+'\', GetPackageItinaryID('+x+'));setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\''+sCurrentSearch+'\');frmBYOSubmitBS();'
					sTempHTML = sTempHTML.replace(/#book_js#/g,sBookButtonJS);
					
					sAddtoShortlistJs = 'AddToShortlist(\'&itineraryid=\'+GetPackageItinaryID('+x+'),\''+sPosition+'\');';
					sTempHTML = sTempHTML.replace(/#addtoshortlist_js#/g,sAddtoShortlistJs);
					
					
					sBookButtonJS2 = 'setLevel(\'PRICING\');setPackageHoliday(\''+sProvider+'\', GetPackageItinaryID(0));setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\''+sCurrentSearch+'\');frmBYOSubmitBS();'
					sAddtoShortlistJs2 = 'AddToShortlist(\'&itineraryid=\'+GetPackageItinaryID(0),\''+sPosition+'\');';
					
					sTempHTML = sTempHTML.replace(/#fulldetails_js#/g,'setFullDetailsURL(\''+sProvider+'\',\'PackageHoliday\',\'byosession='+sBYOSessionID+'&multicomfab='+sFABSession+'&accommcode='+sItineraryIdForDesc+'&AccommID='+sAccommID+'&actualaccommcode='+sItineraryId+'&acode='+sAccommCode+'&originalaccommname='+sOrigAccommodationName.replace(/'/g, '\\\'').replace("&", "%26")+'&accommname='+sAccommodationName.replace(/'/g, '\\\'').replace("&", "%26")+'&resortid='+sResortID+'\',\''+escape(sBookButtonJS2)+'\',\''+escape(sAddtoShortlistJs2)+'\',\'\',\'\',\'\',\''+sPosition+'\')');
					
				}else{
									
					sAddtoShortlistJs = 'AddToShortlist(\'&itineraryid='+sItineraryId+'\',\''+sPosition+'\');';
					sTempHTML = sTempHTML.replace(/#addtoshortlist_js#/g,sAddtoShortlistJs);
					
					sBookButtonJS = 'setLevel(\'PRICING\');setPackageHoliday(\''+sProvider+'\',\''+sItineraryId+'\');setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\''+sCurrentSearch+'\');frmBYOSubmitBS();'
									
					sTempHTML = sTempHTML.replace('#book_js#',sBookButtonJS);	
					
					sBookButtonJS2 = 'setLevel(\'PRICING\');setPackageHoliday(\''+sProvider+'\', GetPackageItinaryID(0));setViewState(\''+sViewState+'\');setSessionID(\''+sBYOSessionID+'\');setSearchType(\''+sCurrentSearch+'\');frmBYOSubmitBS();'
					sAddtoShortlistJs2 = 'AddToShortlist(\'&itineraryid=\'+GetPackageItinaryID(0),\''+sPosition+'\');';
					sTempHTML = sTempHTML.replace(/#fulldetails_js#/g,'setFullDetailsURL(\''+sProvider+'\',\'PackageHoliday\',\'byosession='+sBYOSessionID+'&multicomfab='+sFABSession+'&accommcode='+sItineraryIdForDesc+'&AccommID='+sAccommID+'&actualaccommcode='+sItineraryId+'&acode='+sAccommCode+'&originalaccommname='+sOrigAccommodationName.replace(/'/g, '\\\'').replace("&", "%26")+'&accommname='+sAccommodationName.replace(/'/g, '\\\'').replace("&", "%26")+'&resortid='+sResortID+'\',\''+escape(sBookButtonJS2)+'\',\''+escape(sAddtoShortlistJs2)+'\',\'\',\'\',\'\',\''+sPosition+'\')');
					
					var sFlightOptionsLink = '';
					if(oFlight.length>1) {
						//sFlightOptionsLink = '<a href="#" onclick="setFullDetailsURL(\''+sProvider+'\',\'PackageHoliday\',\'byosession='+sBYOSessionID+'&multicomfab='+sFABSession+'&accommcode='+sItineraryIdForDesc+'&actualaccommcode='+sItineraryId+'\',\''+escape(sBookButtonJS2)+'\',\''+escape(sAddtoShortlistJs2)+'\',false,\'\',true,\''+sPosition+'\');">'+parseFloat(oFlight.length)+' flight options available</a>';
						sFlightOptionsLink = '<a href="#" onclick="setFullDetailsURL(\''+sProvider+'\',\'PackageHoliday\',\'byosession='+sBYOSessionID+'&multicomfab='+sFABSession+'&accommcode='+sItineraryIdForDesc+'&AccommID='+sAccommID+'&actualaccommcode='+sItineraryId+'&acode='+sAccommCode+'&originalaccommname='+sOrigAccommodationName.replace(/'/g, '\\\'').replace("&", "%26")+'&accommname='+sAccommodationName.replace(/'/g, '\\\'').replace("&", "%26")+'&resortid='+sResortID+'\',\''+escape(sBookButtonJS2)+'\',\''+escape(sAddtoShortlistJs2)+'\',false,\'\',true,\''+sPosition+'\');">flight options available</a>';
					}
					
					sTempHTML = sTempHTML.replace('#flightoptions#',sFlightOptionsLink);
					
				}
				sHTML+=sTempHTML;
			}
		}
	}
	oResultDiv = document.getElementById('ResultContent1');
	if(oResultDiv) {
		sPagingHTML = setResultPaging();
		sPagingBottomHTML = setResultPaging('bot');
		oResultDiv.innerHTML = sPagingHTML + sHTML + sPagingBottomHTML;
	}
}


var PriceFromShortlist = '0';
var bComingFromShortlist = false;
var bAlreadyAddedToShortlist = false;
var bAddedToShortlistFromFullDetails = false;
function setFullDetailsURL(sProvider, sSearchType, sExtra, sBBJS, sATSLJS, bFromShortlist, dFromShortlistPrice, bOpenFOptions, iPosition) {
	bAlreadyAddedToShortlist = false;
	bAddedToShortlistFromFullDetails = false;
	o = document.getElementById('addtoshortlist'+iPosition);
	if(o){
		if(o.style.display=='none'){
			bAlreadyAddedToShortlist = true;
		}
	}
	bOpenFlightOptions = bOpenFOptions;
	if(!bOpenFOptions) {
		bOpenFlightOptions = false;
	}
	goToTop();
	if(bFromShortlist) { 
		PriceFromShortlist = dFromShortlistPrice;
		bComingFromShortlist = true;
		if(!sHTMLLoadTemplate){sHTMLLoadTemplate = readFileInAsync('/includes/ajaxresults/templates/loader.html');}
	}else{
		bComingFromShortlist = false;
	}
	sBookButtonJS = unescape(sBBJS);
	sAddToShortlistButtonJS = unescape(sATSLJS);
	sFullDetailsURL = '/includes/hotelinfov2.asp?position='+iPosition+'&provider='+sProvider+'&search_type='+sSearchType+'&fromshortlist='+bComingFromShortlist+'&numberofpeople='+iTotalNumPassengers+'&'+sExtra;
	oTabAccommDetails = document.getElementById('result_tab3');
	if(oTabAccommDetails){
		oTabAccommDetails.className = oTabAccommDetails.className.replace('Na','');
		//SwitchResult(oTabAccommDetails.id);
		handleSection('accommdetails');
	}
}

function viewFullDetails() {
	bLoaderShowing = false;
	if(!sHTMLMoreInfoTemplate) {
		sHTMLMoreInfoTemplate = readFileInAsync('/includes/ajaxresults/templates/moreinfo.html');	
	}
	sURL=sFullDetailsURL.replace("'","");
	if(bDebug) {
		if(confirm('Open '+ sURL)) {
			window.open(sURL);
		}
	}
	setTimeout("loadFullDetailsXMLDoc('"+sURL+"')", 100);
}

function loadFullDetailsXMLDoc(url) {
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		reqFD = new XMLHttpRequest();
		reqFD.onreadystatechange = processFullDetails;
		reqFD.open("GET", url, true);
		reqFD.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		reqFD = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqFD) {
			reqFD.onreadystatechange = processFullDetails;
			reqFD.open("GET", url, true);
			reqFD.send();
		}
	}
}


function processFullDetails() {
	if(bStillOnAccommTab) {	
		if (reqFD.readyState == 4) {
			if (reqFD.status == 200){
				bShowReviews = false;
				bShowFlightInfo = false;
				bShowMap = false;
				bShowPictures = false;
				var bVV = '';
				FullDetailsXMLDoc = reqFD.responseXML.documentElement;
				var oResultDetails = FullDetailsXMLDoc.getElementsByTagName('ResultDetails');
				var sDetailsSearchType = GetAttribute(oResultDetails.item(0).attributes.getNamedItem("searchtype"));
				dCurrentPrice =  GetNode(oResultDetails[0].getElementsByTagName('TotalPricePerPerson')[0].childNodes.item(0)); //oResultDetails.selectSingleNode('TotalPricePerPerson').text
				var oAccommodation = oResultDetails[0].getElementsByTagName('AccommDetails');
				sAccommProvider = GetNode(oAccommodation[0].getElementsByTagName('Provider')[0].childNodes.item(0));
				sAccommodationName = GetNode(oAccommodation[0].getElementsByTagName('Name')[0].childNodes.item(0));
				sResortName = GetNode(oAccommodation[0].getElementsByTagName('Resort')[0].childNodes.item(0));
				sStarRating = GetNode(oAccommodation[0].getElementsByTagName('Rating')[0].childNodes.item(0));
				sCSI_PEID =  GetNode(oAccommodation[0].getElementsByTagName('CSI_PEID')[0].childNodes.item(0));
				sAccommCode = GetNode(oAccommodation[0].getElementsByTagName('AccommCode')[0].childNodes.item(0));
				sBoardBasis = GetNode(oAccommodation[0].getElementsByTagName('BoardBasis')[0].childNodes.item(0));
				oCarHireNode = oAccommodation[0].getElementsByTagName('CarHire');
				stringCarHirePrice = GetAttribute(oCarHireNode.item(0).attributes.getNamedItem("price"));
				iCarHirePrice = 0;
				if(stringCarHirePrice.length > 0){
				    iCarHirePrice = parseFloat(GetAttribute(oCarHireNode.item(0).attributes.getNamedItem("price")));
				}
				sCarHire = GetNode(oAccommodation[0].getElementsByTagName('CarHire')[0].childNodes.item(0));
				
				sPosition = FullDetailsXMLDoc.getElementsByTagName('Position')[0].childNodes.item(0).nodeValue;
				try{
					bVV = FullDetailsXMLDoc.getElementsByTagName('VirtualVisit')[0].childNodes.item(0).nodeValue;
					iVVWidth = GetAttribute(FullDetailsXMLDoc.getElementsByTagName('VirtualVisit')[0].attributes.getNamedItem("width"));
					iVVHeight = GetAttribute(FullDetailsXMLDoc.getElementsByTagName('VirtualVisit')[0].attributes.getNamedItem("height"));
				}catch(ex){
					// There is no Virtual Visit	
				}
				
				sExtraText = sBoardBasis;
				if(sDetailsSearchType=='PackageHoliday' || sDetailsSearchType=='Flight_Hotel') {
					sExtraText = 'Return flights, '+sExtraText;
				}
				if(sCarHire.toLowerCase()=='true'&&iCarHirePrice>0){
					sExtraText+='<br/><span title="header=[Car hire] body=[<div>We have added car hire to your price. We searched all availability for car hire in this area for the dates you have selected, and have added the price of the cheapest available car to your package prices. You will be able to choose the car you require further along the booking process, meaning your total price may change depending on the car you select.</div><div style=clear:both></div>]"><img src="/images/icons/car_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
					sExtraText+='Car hire included';
				}
				sDepartureDate = GetNode(oResultDetails[0].getElementsByTagName('DepDate')[0].childNodes.item(0));
				sReturnDate = GetNode(oResultDetails[0].getElementsByTagName('RetDate')[0].childNodes.item(0));
				
				
				if(bComingFromShortlist) {
					dTotalPricePerPerson = PriceFromShortlist;
				}else{
					var dTotalPrice = parseFloat(GetNode(oResultDetails[0].getElementsByTagName('TotalPrice')[0].childNodes.item(0))) + iCarHirePrice;
					var dTotalPricePerPerson = (parseFloat(GetNode(oResultDetails[0].getElementsByTagName('TotalPricePerPerson')[0].childNodes.item(0))) + (parseFloat(iCarHirePrice) / parseFloat(iTotalNumPassengers)));
				}
				var dProdMinusFlightPP = dTotalPricePerPerson;
				
				oDescription = FullDetailsXMLDoc.getElementsByTagName('Description')[0].childNodes;
				if(oDescription.length>0) {
					sDescription = '';
					for(xy=0;xy<oDescription.length;xy++){
						sDescription+=oDescription.item(xy).nodeValue;
					}
				}else{
					sDescription='Description is not available for the selected accommodation.';	
				}
				var sPictureURL_Main = '';
				var sPictureThumbHTML = '';
				var PVAccommID = ''
				var oImages = FullDetailsXMLDoc.getElementsByTagName('Images');
				var oImage = oImages[0].getElementsByTagName('Image');
				if(oImage.length>0) {
					
					PVAccommID = GetAttribute(oImage[0].attributes.getNamedItem("id"));

					bShowPictures = true;
					for(xy=0;xy<oImage.length;xy++) {
						sPictureURL = GetNode(oImage[xy].childNodes.item(0));
						if(xy==0) {
							sPictureURL_Main = sPictureURL;
						}
						sPictureThumbHTML+='<img src="'+sPictureURL+'" id="Pic'+xy+'" style="display:none; min-width:298px;" /><div class="picthumb"><img src="'+sPictureURL.replace('sw_images', 'sw_images/thumbs')+'" alt="" onclick="SwitchPhoto(\'MI_ImageHolder\',\''+sPictureURL+'\'); LightBox(\'\', \'\',0,0, \'LightBox\', \'/includes/viewpic.asp?image=' + sPictureURL + '\', parseInt(getImageSize('+xy+', \'width\')) + 1, parseInt(getImageSize('+xy+', \'height\')) + 1);" onerror="this.src=\'/images/general/_noimage.gif\'" /></div>'
					}
				}
				if(FullDetailsXMLDoc.getElementsByTagName('GoogleLat')[0].childNodes.item(0)) {
					sGoogleLat = FullDetailsXMLDoc.getElementsByTagName('GoogleLat')[0].childNodes.item(0).nodeValue;
					sGoogleLng = FullDetailsXMLDoc.getElementsByTagName('GoogleLng')[0].childNodes.item(0).nodeValue;
					sGoogleMaxZoom = FullDetailsXMLDoc.getElementsByTagName('GoogleMaxZoom')[0].childNodes.item(0).nodeValue;
					if(FullDetailsXMLDoc.getElementsByTagName('GoogleZoom')[0].childNodes.item(0)){
						sGoogleZoom = FullDetailsXMLDoc.getElementsByTagName('GoogleZoom')[0].childNodes.item(0).nodeValue;
					}
					if(sGoogleLat.length>1&&sGoogleLng.length>1) {
						bShowMap = true;
					}
				}
				
				var sStarHTML = '';
				if(!isNaN(parseFloat(sStarRating))) {
					sStarHTML = getStarRatingImages(parseFloat(sStarRating));
				}
				
				sTempHTML = sHTMLMoreInfoTemplate;
				sTempHTML = sTempHTML.replace(/#hotelname#/g,sAccommodationName);
				sTempHTML = sTempHTML.replace(/#price#/g,'&pound;'+Math.round(dTotalPricePerPerson));
				sTempHTML = sTempHTML.replace(/#starrating#/g,sStarHTML);
				sTempHTML = sTempHTML.replace(/#resortinfo#/g,sResortName);
				sTempHTML = sTempHTML.replace(/#description#/g,sDescription);
				sTempHTML = sTempHTML.replace(/#picture_main#/g,sPictureURL_Main);
				sTempHTML = sTempHTML.replace(/#picture_thumbs#/g,sPictureThumbHTML);
				sTempHTML = sTempHTML.replace(/#supplier#/g,sAccommProvider);
				sTempHTML = sTempHTML.replace(/#position#/g,sPosition);
				sTempHTML = sTempHTML.replace(/#radiobuttons#/g,'<input type="radio" name="tblOutbound_' + sPosition + '" value="1" checked/><input type="radio" name="tblInbound_' + sPosition + '" value="2" checked/>');

				if(bVV == 'True'){
					
					sVirtualVisitURL = '/includes/VirtualVisit.aspx?id=' + PVAccommID
					if(iVVHeight > 0){
						iVVHeight_Temp = iVVHeight;	
						iVVWidth_Temp = iVVWidth;	
					}else{
						iVVHeight_Temp = 285;	
						iVVWidth_Temp = 505;	
					}
					sVirtualVisit = '<div id="divVV"><div style="cursor:pointer; width:180px; font-weight:bold;" onclick="LightBox(\'\', \'\',0,0, \'LightBox\', \'' + sVirtualVisitURL + '\', ' + iVVWidth_Temp + ', ' + iVVHeight_Temp + ');"><img src="/images/general/eye.jpg" border="0" width="20" align="absmiddle" /> Take a virtual visit</div></div>';
					
				}else{
					sVirtualVisit = '';
				}
				sTempHTML = sTempHTML.replace(/#virtual_visit#/g,sVirtualVisit);
				
				try {
					sTempHTML = sTempHTML.replace(/#date_from#/g,sDepartureDate);
					sTempHTML = sTempHTML.replace(/#date_to#/g,sReturnDate);
				} catch(ex) {
					sTempHTML = sTempHTML.replace(/#date_from#/g,sDepartureDate);
					sTempHTML = sTempHTML.replace(/#date_to#/g,sReturnDate);
				}
				
				bLiveAvailable = true;
				if(sBookButtonJS.indexOf('Enquire') > -1) {
					bLiveAvailable = false;
				}
				
				var sTempVar = '\'' + sAccommCode+'\'';
				if(sCSI_PEID!=''){sBookButtonJS = sBookButtonJS.replace(sTempVar,'GetPackageItinaryID(0)');}
				
				sTempHTML = sTempHTML.replace(/#book_js#/g,sBookButtonJS);
				sTempHTML = sTempHTML.replace(/#addtoshortlist_js#/g,sAddToShortlistButtonJS);

							
				
				var oReviews = FullDetailsXMLDoc.getElementsByTagName('Reviews');
				//sAverageUserRating = GetAttribute(oReviews.item(0).attributes.getNamedItem("ReviewRateAVG"));
				sAverageUserRating = GetAttribute(oReviews.item(0).attributes.getNamedItem("reviewrateavg"));
				
				var oReview = oReviews[0].getElementsByTagName('Review');
				if(oReview.length>0) {
					bShowReviews = true;
					sReviewsHTML = '';
					for(x=0;x<oReview.length;x++) {
						sRev_Title = oReview[x].getElementsByTagName('Title')[0].childNodes.item(0).nodeValue;
						sRev_DateTime = oReview[x].getElementsByTagName('DateTime')[0].childNodes.item(0).nodeValue;
						sRev_Rating = oReview[x].getElementsByTagName('Rating')[0].childNodes.item(0).nodeValue;
						sRev_Description = oReview[x].getElementsByTagName('Description')[0].childNodes.item(0).nodeValue;
						sRev_Link = oReview[x].getElementsByTagName('Link')[0].childNodes.item(0).nodeValue;
						sReviewsHTML+='<div class="review">';
						sReviewsHTML+='<div class="r_title"><a href="'+sRev_Link+'" target="_blank">'+sRev_Title+'</a></div>';
						sReviewsHTML+='<div class="r_date">'+sRev_DateTime+'</div>';
						sReviewsHTML+='<div class="r_rating">Trip advisor traveler rating: '+getReviewRating(sRev_Rating)+'</div>';
						sReviewsHTML+='<div class="r_description">“'+sRev_Description+'”</div>'
						sReviewsHTML+='</div>';
					}
					sTempHTML = sTempHTML.replace('#reviews#',sReviewsHTML);
					sTempHTML = sTempHTML.replace('#userrating#',getReviewRating(sAverageUserRating));
					
				}
				
				var sFirstFoundDepAirport = '';
				var oFlightInfo = FullDetailsXMLDoc.getElementsByTagName('FlightDetails');
				if(oFlightInfo.length>0) {
					bShowFlightInfo = true;
					if(sDetailsSearchType=='PackageHoliday' || sDetailsSearchType=='Flight_Hotel') {
						var oFlight = oFlightInfo[0].getElementsByTagName('Flight');
						sFlightHTML='';
						for(xy=0;xy<1;xy++) {
							var iFlightResultID = xy+'_0';
							var iNewTotalPricePerPerson = parseFloat(oFlight[xy].attributes.getNamedItem("PricePerPerson").nodeValue);
							
							if(iNewTotalPricePerPerson == ''){
								iNewTotalPricePerPerson = parseFloat(oFlight[xy].attributes.getNamedItem("PricePerPerson").nodeValue);
							}
							
							if(sCSI_PEID==''){
							    iNewTotalPricePerPerson+=parseFloat(iCarHirePrice);
							    iNewTotalPricePerPerson+=parseFloat(oFlight[xy].attributes.getNamedItem("PricePerPerson").nodeValue);
							}
							
							sNewDepartureDate = GetNode(oFlight[xy].getElementsByTagName('DepartureDate')[0].childNodes.item(0)).replace(/\n/g,' ');
							sNewArrivalDate = GetNode(oFlight[xy].getElementsByTagName('ArrivalDate')[0].childNodes.item(0)).replace(/\n/g,' ');
							sNewReturnDepartureDate = GetNode(oFlight[xy].getElementsByTagName('ReturnDepartureDate')[0].childNodes.item(0)).replace(/\n/g,' ');
							sNewReturnArrivalDate = GetNode(oFlight[xy].getElementsByTagName('ReturnHomeDate')[0].childNodes.item(0)).replace(/\n/g,' ');
							if(xy==0) {
								sDepartureDate = sNewDepartureDate;
								sArrivalDate = sNewArrivalDate;
								sReturnDepartureDate = sNewReturnDepartureDate;
								sReturnArrivalDate = sNewReturnArrivalDate;
								iTotalPricePerPerson = iNewTotalPricePerPerson;
							}
							
							var iPriceDifferencePerPerson = parseFloat(iNewTotalPricePerPerson - iTotalPricePerPerson);
							if(iPriceDifferencePerPerson>0) {
								sPriceDifferencePerPerson = '<span style="padding-right:10px; color:red;">+£'+Math.round(iPriceDifferencePerPerson)+'</span>';
							}else if(iPriceDifferencePerPerson<0) {
								sPriceDifferencePerPerson = '<span style="padding-right:10px; color:green;">-£'+Math.round(replace(iPriceDifferencePerPerson,'-',''))+'</span>';
							}else{
								sPriceDifferencePerPerson = '<span style="padding-right:10px; color:green;">+£0</span>';	
							}
							
							sDepartureAirport = GetNode(oFlight[xy].getElementsByTagName('DepartureAirport')[0].childNodes.item(0));
							
							if(xy==0) {
								sFirstFoundDepAirport = sDepartureAirport	
							}
							sDestinationAirport = GetNode(oFlight[xy].getElementsByTagName('DestinationAirport')[0].childNodes.item(0));
							sDepartureTime =GetNode(oFlight[xy].getElementsByTagName('DepartureTime')[0].childNodes.item(0));
							sArrivalTime = GetNode(oFlight[xy].getElementsByTagName('ArrivalTime')[0].childNodes.item(0));
											
							
							sReturnDepartureTime = GetNode(oFlight[xy].getElementsByTagName('ReturnDepartureTime')[0].childNodes.item(0));
							sReturnArrivalTime = GetNode(oFlight[xy].getElementsByTagName('ReturnHomeTime')[0].childNodes.item(0));
							
							sOutboundFlightNumber = GetNode(oFlight[xy].getElementsByTagName('OutboundFligthNumber')[0].childNodes.item(0));
							sInboundFlightNumber = GetNode(oFlight[xy].getElementsByTagName('InboundFligthNumber')[0].childNodes.item(0));
							sOutboundInfo = sDepartureAirport+' - '+sDestinationAirport+' | '+sDepartureTime+' - '+sArrivalTime+' | '+sOutboundFlightNumber
							sInboundInfo = sDestinationAirport+' - '+sDepartureAirport+' | '+sReturnDepartureTime+' - '+sReturnArrivalTime+' | '+sInboundFlightNumber
							sRoomType = GetNode(oFlight[xy].getElementsByTagName('RoomType')[0].childNodes.item(0));
							
							sNewItineraryId = GetAttribute(oFlight[xy].attributes.getNamedItem("ItineraryId"));
							
							if(xy>0) {
								sFlightHTML+='<tr><td colspan="3" height="10">&nbsp;</td></tr>';	
								if(xy==1) {
									sFlightHTML+='<tbody id="flightOptions_0" style="display:none;">';
								}
							}
							sFlightHTML+='<tr>';
							sFlightHTML+='<td class="fitTitle" width="15%">Departs</td>';
							sFlightHTML+='<td class="fitTitle" width="15%">Arrives</td>';
							sFlightHTML+='<td class="fitTitle" colspan="2">'
							var sExtraRadio='';
							var sExtraSelector='';
							if(xy==0) {
								sExtraRadio=' checked="checked"';
								sExtraSelector='display:none;';
							}
							if(sAccommProvider == 'SkiWorld'){
								sOptionsText = ' and room';
							}else{
								sOptionsText = '';	
							}
							sFlightHTML+='<div style="float:right; padding-right:5px;'+sExtraSelector+'"" id="flightSelectorHolder_'+iFlightResultID+'">'+sPriceDifferencePerPerson+'<label for="flightSelector_'+iFlightResultID+'">Select flight' + sOptionsText + ':</label> <input type="radio" value="'+sNewItineraryId+'" name="flightSelector_0" id="flightSelector_'+iFlightResultID+'" style="vertical-align:middle"'+sExtraRadio+' onclick="selectPackageFlightOption(0,\'£'+iNewTotalPricePerPerson+'\',\''+sNewDepartureDate+'\',\''+sNewReturnArrivalDate+'\')" /></div>';
							sFlightHTML+='Flight details</td>';
							sFlightHTML+='</tr>';
							
							sFlightHTML+='<tr>';
							sFlightHTML+='<td class="fitContent">'+sDepartureDate+'</td>';
							sFlightHTML+='<td class="fitContent">'+sArrivalDate+'</td>';
							sFlightHTML+='<td class="fitContent">'+sOutboundInfo+'</td>';
							if(sAccommProvider == 'SkiWorld'){
								sFlightHTML+='<td class="fitContent" rowSpan="2" style="background-color:#F3F3ED;border-left:solid 1px #e3dfdf;">' + sRoomType + '</td>';
							}
							sFlightHTML+='</tr>';
							sFlightHTML+='<tr>';
							sFlightHTML+='<td class="fitContent">'+sReturnDepartureDate+'</td>';
							sFlightHTML+='<td class="fitContent">'+sReturnArrivalDate+'</td>';
							sFlightHTML+='<td class="fitContent">'+sInboundInfo+'</td>';
							sFlightHTML+='</tr>';
							
							if(oFlight.length>1) {
								if(xy==0) {
									sFlightHTML+='<tr><td colspan="3" class="fitBotContent" id="flightOptionsTBATextHolder_0">*TBAs confirmed when you click "Book holiday"</td></tr>';
									var sOptionsText = '';								
									if(sAccommProvider == 'SkiWorld'){
										sOptionsText = ' and room';
									}else{
										sOptionsText = '';	
									}
	
									sFlightHTML+='<tr><td colspan="4" align="right" id="flightOptionsTextHolder_0" class="fitFlightText"><a href="javascript:showHideFlightOptionsFromAvail(\'0\', \''+sPosition+'\',\'' + sCSI_PEID + '\',\'' + Math.round(dProdMinusFlightPP) + '\');selectPackageFlightOption(0,\'£'+ Math.round(dCurrentPrice) + '\',\''+sDepartureDate+'\',\''+sReturnArrivalDate+'\');"><span id="flightOptionsText_0">Show '+parseFloat(oFlight.length-1)+' other flight' + sOptionsText + ' options</span></a></td></tr>';	
									sFlightHTML+='<tbody id="flightOptions_0" style="display:none;"></tbody>';
								}
								if(xy==oFlight.length-1) {
									sFlightHTML+='<tr><td colspan="4" class="fitBotContent">*TBAs confirmed when you click "Book holiday"</td></tr>';
									sFlightHTML+='</tbody>';
								}
							}
						}
						sTempHTML = sTempHTML.replace('#flight_details#',sFlightHTML);
												
					}else if(sDetailsSearchType=='Flight_Hotel_Old') {
						var oFlight = FullDetailsXMLDoc.getElementsByTagName('FARE');
						sFlightHTML='';
						if(oFlight.length>0) {
							sTransfer = GetNode(oFlight[0].getElementsByTagName('TransferSearch')[0].childNodes.item(0));
							iTransferPrice = parseFloat(GetNode(oFlight[0].getElementsByTagName('TransferPricePerPerson')[0].childNodes.item(0)));
							if(sTransfer.toLowerCase()=='true'&&iTransferPrice>0){
								sExtraText+='<br/><span title="header=[Transfer] body=[We have added a transfer to your price. We searched all availability for transfers in this area for the dates you have selected, and have added the price of the cheapest available transfer to your package prices. You will be able to choose the transfer you require further along the booking process, meaning your total price may change depending on the transfer you select.]"><img src="/images/icons/transfer_small.gif" style="vertical-align:middle; margin-right:10px;" alt=""/></span>';
								sExtraText+='Transfer included';
							}
							sFlightHTML+='<tr>';
							sFlightHTML+='<td class="fitTitle" width="15%">Departs</td>';
							sFlightHTML+='<td class="fitTitle" width="15%">Arrives</td>';
							sFlightHTML+='<td class="fitTitle" width="70%">Flight details</td>';
							sFlightHTML+='</tr>';
							for(x=0;x<oFlight.length;x++) {
								sFlight_DetailHTML = '';
								oRoute = oFlight[x].getElementsByTagName('ROUTE');
								for(xz=0;xz<oRoute.length;xz++){
									oSegment = oRoute[xz].getElementsByTagName('SEGMENT');
									for(xy=0;xy<oSegment.length;xy++){
										sFlight_Num = GetNode(oSegment[xy].getElementsByTagName('FLIGHT_NUM')[0].childNodes.item(0));
										sFlight_DepDate = GetNode(oSegment[xy].getElementsByTagName('DEP_DATE')[0].childNodes.item(0));
										sFlight_ArrDate = GetNode(oSegment[xy].getElementsByTagName('ARR_DATE')[0].childNodes.item(0));
										sFlight_DepTime = GetNode(oSegment[xy].getElementsByTagName('DEP_TIME')[0].childNodes.item(0));
										sFlight_ArrTime = GetNode(oSegment[xy].getElementsByTagName('ARR_TIME')[0].childNodes.item(0));
										sFlight_DepAirport = GetNode(oSegment[xy].getElementsByTagName('ORIGIN')[0].childNodes.item(0));
										if(xz==0&&xy==0) {
											sFirstFoundDepAirport = sFlight_DepAirport	
										}
										sFlight_ArrAirport = GetNode(oSegment[xy].getElementsByTagName('DESTINATION')[0].childNodes.item(0));
										
										sFlight_Info = sFlight_DepAirport+' - '+sFlight_ArrAirport+' | '+sFlight_DepTime+' - '+sFlight_ArrTime+' | '+sFlight_Num;
										
										
										sFlightHTML+='<tr>';
										sFlightHTML+='<td class="fitContent">'+sFlight_DepDate+'</td>';
										sFlightHTML+='<td class="fitContent">'+sFlight_ArrDate+'</td>';
										sFlightHTML+='<td class="fitContent">'+sFlight_Info+'</td>';
										sFlightHTML+='</tr>';
									}
								}
							}
							sFlightHTML+='<tr><td colspan="3" class="fitBotContent">*TBAs confirmed when you click "Book holiday"</td></tr>';
						}
						sTempHTML = sTempHTML.replace(/#flight_details#/g,sFlightHTML);	
					}
					
				}
				
				if(sDetailsSearchType.toLowerCase()=='hotel') {
					var sEnquireText='Search type: Hotel';
					if(sResortName) {
						sEnquireText+='|Resort: '+sResortName;
					}
					sEnquireText+='|Accommodation: '+sAccommodationName;
					sEnquireText+='|From: '+sDepartureDate;
					sEnquireText+='|To: '+sReturnDate;
				}else if(sDetailsSearchType.toLowerCase()=='flight_hotel') {
					var sEnquireText='Search type: Flight and accommodation';
					if(sResortName) {
						sEnquireText+='|Resort: '+sResortName;
					}
					sEnquireText+='|Accommodation: '+sAccommodationName;
					sEnquireText+='|From: '+sDepartureDate;
					sEnquireText+='|To: '+sReturnDate;
					if(sFirstFoundDepAirport) {
						sEnquireText+='|Flying from: '+sFirstFoundDepAirport;
					}
				}else{
					var sEnquireText='Search type: Package holiday';
					if(sResortName) {
						sEnquireText+='|Resort: '+sResortName;
					}
					sEnquireText+='|Accommodation: '+sAccommodationName;
					sEnquireText+='|From: '+sDepartureDate;
					sEnquireText+='|To: '+sReturnDate;
					if(sFirstFoundDepAirport) {
						sEnquireText+='|Flying from: '+sFirstFoundDepAirport;
					}
				}
				sTempHTML = sTempHTML.replace(/#extratext#/g,sExtraText);
				sTempHTML = sTempHTML.replace(/#enquiretext#/g,sEnquireText);	
				//Search type: Flight and accommodation|Resort: #resortinfo#|Accommodation: #hotelname#|From: #date_from#|To: #date_to#|Flying from: #flying_from#
				
				sHTML = sTempHTML;
				oResultDiv = document.getElementById('ResultContent1');
				if(oResultDiv) {
					oResultDiv.innerHTML = sHTML;
					if(bAlreadyAddedToShortlist || bAddedToShortlistFromFullDetails){
						o1 = document.getElementById('addtoshortlist0');
						o2 = document.getElementById('addedtoshortlist0');
						o3 = document.getElementById('addtoshortlist0-0');
						o4 = document.getElementById('addedtoshortlist0-0');
						if(o1&&o2&&o3&&o4) {
							o1.style.display='none';
							o3.style.display='none';
							o2.style.display='';
							o4.style.display='';
						}
					}
					
					if(!bLiveAvailable) {
						oButton1 = document.getElementById('MI_IMGBookButton1');
						if(oButton1){oButton1.src = '/images/buttons/enquire.gif';}
						oButton2 = document.getElementById('MI_IMGBookButton2');
						if(oButton2){oButton2.src = '/images/buttons/enquire.gif';}
						div_switch('MI_EnquireButton2',false,true);
						
					}
					if(bComingFromShortlist) {
						oAddToShortlist1 = document.getElementById('MI_AddToShortlist1');
						oAddToShortlist2 = document.getElementById('MI_AddToShortlist2');
						oBackToShortlist1 = document.getElementById('MI_BackToShortlist1');
						oBackToShortlist2 = document.getElementById('MI_BackToShortlist2');
						if(oAddToShortlist1 && oBackToShortlist1) {
							oAddToShortlist1.style.display='none';
							oBackToShortlist1.style.display='';
						}
						if(oAddToShortlist2 && oBackToShortlist2) {
							oAddToShortlist2.style.display='none';
							oBackToShortlist2.style.display='';
						}
					}
					if(bShowPictures){div_switch('MI_Pictures',true,true);}
					if(bShowFlightInfo){
						div_switch('MI_FlightInfo',true,true);
						if(bOpenFlightOptions) {
							div_switch('MI_FlightInfoItinerary',true,true);
							showHideFlightOptions('0');
						}
					}
					if(bShowReviews){div_switch('MI_Reviews',true,true);div_switch('MI_UserRating',true,true);}
					if(bShowMap){
						div_switch('MI_Map',true,true);
						if(sGoogleZoom.length > 0){
							BSLoadGoogleMap('MI_MapDiv', sGoogleLat, sGoogleLng, parseFloat(sGoogleMaxZoom), parseFloat(sGoogleZoom));
						}else{
							BSLoadGoogleMap('MI_MapDiv', sGoogleLat, sGoogleLng, parseFloat(sGoogleMaxZoom));
						}
					}
				}
			}
		}
	}
}

function getReviewRating(iRating) {
	sRetHTML='';
	if(!isNaN(parseFloat(iRating))) {
		//for(xy=0;xy<parseFloat(iRating);xy++) {
		//	sRetHTML+='<img src="/images/starrating/hand.gif" alt=""/>';
		//}
		for(yyy=1;yyy<6;yyy++) {
			if(yyy<=parseFloat(iRating)) {
				sRetHTML+='<img src="/images/starrating/flake.gif" style="vertical-align:middle;" />';
			}else{
				sRetHTML+='<img src="/images/starrating/flake_none.gif" style="vertical-align:middle;" />';
			}
		}
	}
	return sRetHTML;
}


function GetNode(object) {
	if(object) {
		return object.nodeValue;
	}
	return '';
}

function GetAttribute(object) {
	if(object) {
		return object.nodeValue;
	}
	return '';
}

function showLoader(id) {
	if(!id) {
		oResultDiv = document.getElementById('ResultContent1');
	}else{
		oResultDiv = document.getElementById(id);
	}
	if(oResultDiv && !bLoaderShowing) {
		bLoaderShowing = true;
		if(!sHTMLLoadTemplate){
			sHTMLLoadTemplate = readFileInAsync('/includes/ajaxresults/templates/loader.html');
		}
		oResultDiv.innerHTML = sHTMLLoadTemplate;
	}	
}

function setSessionID(fId){document.frmResults.SessionID.value=fId;}
function setSearchType(fId){document.frmResults.search_type.value=fId;}
function setViewState(fId){document.frmResults.__VIEWSTATE.value=fId;}

function setResultPaging(type) {
	var iSelectedPage = 1
	var sExtraJS = '';
	if(type=='bot') {
		sHTMLPaging = sHTMLPagingTemplateBottom;
		sExtraJS = 'goToTop();';
	}else{
		sHTMLPaging = sHTMLPagingTemplate;
	}
	sHTMLPaging = sHTMLPaging.replace(/#results_total#/g,iTotalResultCount);
	arPagingData = sPagingData.split('|');
	var sPageHTML='';
	var iNumberOfPages = 0;
	for(xy=0;xy<arPagingData.length;xy++) {
		iPageNum = parseFloat(xy)+1
		if(xy==arPagingData.length-1) {
			//alert(iResultPageCount);
		}
		if(xy==arPagingData.length-1 && iResultPageCount > 0 || xy!=arPagingData.length-1) {
			iNumberOfPages++;
			if(xy+1==iCurrentPageNum) {
				iSelectedPage = iPageNum
				sPageHTML+='[&nbsp;'+iPageNum+'&nbsp;]&nbsp;&nbsp;';
			}else{
				sPageHTML+=	'<a href="javascript:changeAjaxPage(\''+iPageNum+'\');'+sExtraJS+'">'+iPageNum+'</a>&nbsp;&nbsp;';
			}
		}
	}
	if(iSelectedPage>1&&iNumberOfPages>1) {
		sPageHTML = '<a href="javascript:changeAjaxPage(\''+parseFloat(iSelectedPage-1)+'\');'+sExtraJS+'">&lt;&lt; previous</a>&nbsp;&nbsp;' + sPageHTML
	}
	if(iNumberOfPages>1&&iSelectedPage<iNumberOfPages) {
		sPageHTML+='<a href="javascript:changeAjaxPage(\''+parseFloat(iSelectedPage+1)+'\');'+sExtraJS+'">next &gt;&gt;</a>';
	}
	
	sHTMLPaging = sHTMLPaging.replace(/#pages#/g,sPageHTML);
	iResultFrom = parseFloat(((iCurrentPageNum-1)*iMaximumNumberOfResults)+1)
	iResultTo = iResultFrom + iMaximumNumberOfResults-1;
	if(iResultTo>iTotalResultCount) {
		iResultTo = iTotalResultCount;
	}
	if(iResultTo==0) {
		iResultFrom = 0;
	}
	sHTMLPaging = sHTMLPaging.replace(/#result_from#/g,iResultFrom);
	sHTMLPaging = sHTMLPaging.replace(/#result_to#/g,iResultTo);
	sOption1='<option value="1">Price</option>';
	if(sResultsSortBy=='starrating'){
		sOption2='<option value="2" selected="selected">Star rating</option>';
	}else{
		sOption2='<option value="2">Star rating</option>';
	}
	if(sResultsSortBy=='accomm'){
		sOption3='<option value="3" selected="selected">Hotel name</option>';
	}else{
		sOption3='<option value="3">Hotel name</option>';	
	}
	sHTMLPaging = sHTMLPaging.replace(/#sort_options#/g,sOption1+sOption2+sOption3);
	return sHTMLPaging;
}

function changeAjaxPage(iPageNum) {
	iCurrentPageNum = iPageNum;
	showLoader();
	setTimeout('RunResults(true,true)',200);
}

function changeAjaxSortType(sType) {
	switch(parseFloat(sType)) {
		case 2:sResultsSortBy = 'starrating';break;    
		case 3:sResultsSortBy = 'accomm';break; 
		default:sResultsSortBy = 'price';
	}
	showLoader();
	LoadResults();
}


function getPageStart(iPageNum) {
	if(sPagingData!=undefined) {
		if(sPagingData.indexOf('|')>-1) {
			arPagingData = sPagingData.split('|');
			if(arPagingData.length>=iPageNum-1) {
				if(!isNaN(parseFloat(arPagingData[iPageNum-1]))){
					return parseFloat(arPagingData[iPageNum-1]);				 
				}
			}
		}
	}
	return 0;
}

function setFilter(bNotOnload) {
	if(!AjaxResultsXMLDoc) {
		return false;
	}
	var oFilterData = AjaxResultsXMLDoc.getElementsByTagName('FILTERDATA');
	if(oFilterData.length>0) {
		var oResortName = oFilterData[0].getElementsByTagName('ResortName');
		var oRegionName = oFilterData[0].getElementsByTagName('RegionName');

		var oMinFlight = oFilterData[0].getElementsByTagName('CheapestFlight');
		var oMinTransfer = oFilterData[0].getElementsByTagName('CheapestTransfer');
		var oMaxPrice = oFilterData[0].getElementsByTagName('MaxPrice');
		var oMinPrice = oFilterData[0].getElementsByTagName('MinPrice');
		var oBoardTypes = oFilterData[0].getElementsByTagName('AvailableBoardTypes');
		var oStarRatings = oFilterData[0].getElementsByTagName('AvailableStarRatings');
		var iNumAdults = parseFloat(getSearchCriteria('NO_ADULTS'));
		var iNumChildren = parseFloat(getSearchCriteria('NO_CHILDREN'));
		var iNumInfants = parseFloat(getSearchCriteria('NO_INFANTS'));
		iTotalNumPassengers = iNumAdults+iNumChildren+iNumInfants;
		
		if(oResortName.length>0) {
			sResortName = oResortName[0].childNodes.item(0).nodeValue;
			if(sResortName.toLowerCase().indexOf('&#32;&#65;&#108;&#108;&#32;') == -1){
				oResortTab = document.getElementById('result_tab4');
				oResortTabText = document.getElementById('ResortNameTab');
				if(oResortTab && oResortTabText) {
					oResortTabText.innerHTML = sResortName;
					oResortTab.style.display='';
				}
			}
		}
		
		try {
			if(oRegionName.length>0) {
				sRegionName = oRegionName[0].childNodes.item(0).nodeValue;
				oRegionTab = document.getElementById('result_tab6');
				oRegionTabText = document.getElementById('RegionNameTab');
				if(oRegionTab && oRegionTabText) {
					oRegionTabText.innerHTML = sRegionName;
					oRegionTab.style.display='';
				}
			}
		}catch (ex) {
			
		}
		
		if(oMinPrice.length>0) {
			//iMinimumPricePerPerson = parseFloat(oMinPrice[0].childNodes.item(0).nodeValue)/iTotalNumPassengers;
			//iMaximumPricePerPerson = parseFloat(oMaxPrice[0].childNodes.item(0).nodeValue)/iTotalNumPassengers;
			if(!bNotOnload) {
				iMinimumPricePerPerson = parseFloat(oMinPrice[0].childNodes.item(0).nodeValue)-50;
				iMaximumPricePerPerson = parseFloat(oMaxPrice[0].childNodes.item(0).nodeValue)+50;
			}else{
				document.getElementById('filter_DragPriceFrom').style.left='0px';
				document.getElementById('filter_DragPriceTo').style.left='232px';	
			}
			iFilter_MinPricePerPerson = iMinimumPricePerPerson;
			iFilter_MaxPricePerPerson = iMaximumPricePerPerson;	
			
            var oHotelS = AjaxResultsXMLDoc.getElementsByTagName('Hotel');
            var bFoundPkg = false;
            if(oHotelS.length > 0){
                for(iH=0;iH<oHotelS.length;iH++){
                    if(bFoundPkg == false && GetAttribute(oHotelS[iH].attributes.getNamedItem("Package")) == 'true'){
                        iTemp = parseFloat(GetNode(oHotelS[iH].getElementsByTagName('TotalStdPricePerPerson')[0].childNodes.item(0))) - 50;
                        if(iTemp < iFilter_MinPricePerPerson){
                            iFilter_MinPricePerPerson = iTemp;
                            iMinimumPricePerPerson = iTemp;
                        }
                        //bFoundPkg = true;
                    }
                }
            }
	

			iPriceFrom  = Math.round(parseFloat(iMinimumPricePerPerson));
			iPriceTo = Math.round(parseFloat(iMaximumPricePerPerson))
			iPriceDifference = parseFloat(iPriceTo-iPriceFrom);
			//alert(iPriceDifference);
			var iStartPixel = Math.round(parseFloat((232 / iPriceDifference) * 50));
			document.getElementById('filter_PriceFrom').innerHTML = iPriceFrom+50;
			document.getElementById('filter_PriceTo').innerHTML = iPriceTo-50;
			Drag.init(document.getElementById("filter_DragPriceFrom"), null, 0, parseFloat(232-iStartPixel), iStartPixel, 0, 0);
			Drag.init(document.getElementById("filter_DragPriceTo"), null, iStartPixel, 232, parseFloat(232-iStartPixel), 0, 0);
			if(!setFilterBoardTypes(oBoardTypes) || !setFilterStarRating(oStarRatings)) {
				return false;
			}else{
				return true;
			}
		}else{
			return true;
		}
	}else{
		return false;
	}	
}
function setFilterStarRating(oStarRatings) {
	if(oStarRatings.length>0){
		sStarRatings = oStarRatings[0].childNodes.item(0).nodeValue;
		if(sStarRatings.length>0) {
			sStarRatings = sStarRatings.substring(0,sStarRatings.length-1);
			arStarRatings = sStarRatings.split('|');
			sHTML='';
			for(xxx=0;xxx<arStarRatings.length;xxx++){
				if(arStarRatings.length>xxx+1){
					sHTML+='<div class="bg">'
				}else{
					sHTML+='<div>'	
				}
				sHTML+='<input type="checkbox" name="Filter_StarRating" id="Filter_StarRating'+arStarRatings[xxx]+'" value="'+arStarRatings[xxx]+'" checked="checked" onclick="filter_StarRating(\''+arStarRatings[xxx]+'\');" />'+getStarRatingText(arStarRatings[xxx])+' <span id="divStars'+arStarRatings[xxx]+'" class="Stars">'+getStarRatingImages(arStarRatings[xxx])+'</span></div>';
			}
			oStarRatingDiv = document.getElementById('filter_StarRatings');
			if(oStarRatingDiv){
				oStarRatingDiv.innerHTML = sHTML
				return true;
			}
		}
	}
}
function setFilterBoardTypes(oBoardTypes) {
	if(oBoardTypes.length>0){
		sBoardTypes = GetNode(oBoardTypes[0].childNodes.item(0));
		if(sBoardTypes.length>0) {
			sBoardTypes = sBoardTypes.substring(0,sBoardTypes.length-1);
			arBoardTypes = sBoardTypes.split('|');
			sHTML='';
			for(xxx=0;xxx<arBoardTypes.length;xxx++){
			    //if((arBoardTypes[xxx] != 'SC' && sProvider.toLowerCase() == 'multicom') || sProvider.toLowerCase() != 'multicom'){
					if(arBoardTypes.length>xxx+1){
						sHTML+='<div class="bg">'
					}else{
						sHTML+='<div>'	
					}
					sHTML+='<input type="checkbox" name="Filter_BoardType" value="'+arBoardTypes[xxx]+'" checked="checked" onclick="filter_BoardType(this)" />'+getBoardTypeFromCode(arBoardTypes[xxx])+'</div>';
				//}
			}
			oBoardTypeDiv = document.getElementById('filter_BoardTypes');
			if(oBoardTypeDiv){
				oBoardTypeDiv.innerHTML = sHTML
				return true;
			}
		}
	}
}

function getCSIStarRating(sRating) {
	switch(sRating.toLowerCase()) {
		case '1*':return '1';break;    
		case '2*':return '2';break; 
		case '3*':return '3';break;
		case '4*':return '4';break;
		case '5*':return '5';break;
		case '1':return '1';break;    
		case '2':return '2';break; 
		case '3':return '3';break;
		case '4':return '4';break;
		case '5':return '5';break;
		default:return 'OTHER';
	}
}

function getCSIBoardCode(sCode) {
	switch(sCode.toLowerCase()) {
		case 'ro':return 'RO';break;    
		case 'sc':return 'SC';break; 
		case 'bb':return 'BB';break;
		case 'hb':return 'HB';break;
		case 'fb':return 'FB';break;
		case 'ai':return 'AI';break;
		case 'cb':return 'CB';break;
		case 'ca':return 'CB';break;
		case 'ao':return 'AO';break;
		case 'bsb':return 'BSB';break;
		case 'ch':return 'CH';break;
		case 'cl':return 'CL';break;
		case 'fd':return 'FD';break;
		case 'so':return 'SO';break;
		case 'SS':return 'SS';break;
		default:return 'OTHER';
	}
}
function getBoardTypeFromCode(sCode) {
	switch(sCode.toLowerCase()) {
		case 'ro':return 'Room only';break;    
		case 'sc':return 'Self catering';break; 
		case 'bb':return 'B&amp;B';break;
		case 'hb':return 'Half board';break;
		case 'fb':return 'Full board';break;
		case 'ai':return 'All inclusive';break;
		case 'cb':return 'Chalet board';break;
		case 'ca':return 'Chalet board';break;
		case 'ao':return 'Accommodation only';break;
		case 'bsb':return 'Bed &amp; Scottish Breakfast';break;
		case 'ch':return 'Car hire';break;
		case 'cl':return 'Champagne luncheon';break;
		case 'fd':return 'Fly drive';break;
		case 'so':return 'Seat only';break;
		case 'SS':return 'Special selection';break;
		default:return 'Other';
	}
}

function getStarRatingImages(sRating) {
	sHTMLa = '';
	if(!isNaN(parseFloat(sRating))) {
		for(yyy=0;yyy<parseFloat(sRating);yyy++) {
			sHTMLa+='<img src="/images/starrating/star1.gif" style="vertical-align:middle;" />';
		}
	}
	return sHTMLa;
}
function getStarRatingText(sRating) {
	sHTML = 'Allocation on arrival';
	if(!isNaN(parseFloat(sRating))) {
		sHTML = sRating+' star';
	}
	return sHTML;
}


function filter_BoardType(id) {
	if(!setFilterVariable_BoardTypes()) {
		id.checked=true;
		setFilterVariable_BoardTypes();
		alert('Please select at least one board type');
		return false;
	}
	showLoader();
	setTimeout('RunResults(true)',200);
}

function setFilterVariable_BoardTypes() {
	sFilter_BoardTypes = '';
	oBoardType = document.getElementsByName('Filter_BoardType');
	for(zzz=0;zzz<oBoardType.length;zzz++) {
		//if(oBoardType[zzz].value != 'SC'){
			if(oBoardType[zzz].checked==true){
				sFilter_BoardTypes+=oBoardType[zzz].value+'|';
			}
		//}
	}
	if(sFilter_BoardTypes.length>0){
		sFilter_BoardTypes = '|'+sFilter_BoardTypes;
		return true;
	}
}


function filter_StarRating(id) {
	oRating = document.getElementById('Filter_StarRating'+id);
	oStarImages = document.getElementById('divStars'+id);
	if(!setFilterVariable_StarRating()){
		oRating.checked=true;
		setFilterVariable_StarRating();
		alert('Please select at least one star rating');
		return false;
	}
	if(oRating && oStarImages) {
		if(oRating.checked) {
			oStarImages.className='Stars';
		}else{
			oStarImages.className='StarsFaded';
		}	
	}
	showLoader();
	setTimeout('RunResults(true)',200);
}

function setFilterVariable_StarRating() {
	sFilter_StarRating = '';
	oStarRating = document.getElementsByName('Filter_StarRating');
	for(zzz=0;zzz<oStarRating.length;zzz++) {
		if(oStarRating[zzz].checked==true){
			sFilter_StarRating+=oStarRating[zzz].value+'|';
		}
	}
	if(sFilter_StarRating.length>0){
		sFilter_StarRating = '|'+sFilter_StarRating;
		return true;
	}
}

function getSearchCriteria(sNode) {
	var oCriteriaData = AjaxResultsXMLDoc.getElementsByTagName('SEARCHCRITERIA');
	if(oCriteriaData.length>0) {
		var oNode = oCriteriaData[0].getElementsByTagName(sNode);
		if(oNode.length>0) {
			return oNode[0].childNodes.item(0).nodeValue;
		}
	}
}

function getTemplate(type) {
	if(type=='qc'){
		sResultStyle = 'QC';
	}else{
		sResultStyle = 'DR';
	}
	if(sCurrentSearch=='PackageHoliday') {
		if(type=='qc'){
			return readFileInAsync('/includes/ajaxresults/templates/packageholiday_qc.html');
		}else{
			return readFileInAsync('/includes/ajaxresults/templates/packageholiday_dr.html');
		}
	}
	if(sCurrentSearch=='Hotel') {
		if(type=='qc'){
			return readFileInAsync('/includes/ajaxresults/templates/hotel_qc.html');
		}else{
			return readFileInAsync('/includes/ajaxresults/templates/hotel_dr.html');
		}
	}
	if(sCurrentSearch=='Flight_Hotel') {
		if(type=='qc'){
			return readFileInAsync('/includes/ajaxresults/templates/flighthotel_qc.html');
		}else{
			return readFileInAsync('/includes/ajaxresults/templates/flighthotel_dr.html');
		}
	}
}


function showResortInfo(bRegion) {
	oShortlistContent = document.getElementById('OtherFullContent');
	var timestamp = new Date();
	if(bRegion) {
		sFilename = 'regioninfo.asp';
	}else{
		sFilename = 'resortinfov2.asp';
	}
	sURL = '/includes/' + sFilename + '?id='+queryString('locationto')+'&timestamp='+timestamp;
	if(bDebug) {
		if(confirm('OPEN URL: '+sURL)) {
			window.open(sURL);
		}
	}
	oShortlistContent.innerHTML = readFileInAsync(sURL);
	div_switch('ResultContent',false, true);
	div_switch('OtherFullContent',true, true);
	bLoaderShowing = false;
	LoadDestinationGoogleMap();
}

var SelectedResultTab = 'result_tab1';
function SwitchResult(id, bIgnoreFunctions) {
	bStillOnAccommTab = false;
	div = document.getElementById(id);
	if(div) {
		if(Right(div.className,2)!='Na') {
			div_switch('ResultContent',true, true);
			div_switch('OtherFullContent',false, true);
			div_switch('PricingContent',false,true);
			for(x=1;x<9;x++) {
				if(document.getElementById('result_tab'+x)) {
					if(Right(document.getElementById('result_tab'+x).className,2)!='Na'){
						document.getElementById('result_tab'+x).className = 'resulttab';
					}
				}
				if(document.getElementById('result_div'+x)) {
					document.getElementById('result_div'+x).style.display = 'none';
				}
			}
			SelectedResultTab = id;
			if(document.getElementById(id)) {
				document.getElementById(id).className = 'resulttabOver';
				if(!bIgnoreFunctions) {
					div_switch('ResultContent',true,true);
					div_switch('OtherFullContent',false,true);
					if(Right(id,1)=='1') {
						showLoader();
						sHTMLTemplate = getTemplate('qc');
						setTimeout('RunResults(true,true)',200);
					}else if(Right(id,1)=='2') {
						showLoader();
						sHTMLTemplate = getTemplate('dr');
						setTimeout('RunResults(true,true)',200);
					}else if(Right(id,1)=='3') {
						div_switch('PricingContent',true,true);
						div_switch('PricingContent1',false,true);
						div_switch('ResultContent1',true,true);
						showLoader();
						if(sFullDetailsURL) {
							bStillOnAccommTab = true;
							viewFullDetails();
						}	
					}else if(Right(id,1)=='4') {
						div_switch('ResultContent',false,true);
						div_switch('OtherFullContent',true,true);
						showLoader('OtherFullContent');
						setTimeout('showResortInfo()',500);
					}else if(Right(id,1)=='5') {
						div_switch('ResultContent',false,true);
						div_switch('OtherFullContent',true,true);
						showLoader('OtherFullContent');
						showShortlist();
					}else if(Right(id,1)=='6') {
						div_switch('ResultContent',false,true);
						div_switch('OtherFullContent',true,true);
						showLoader('OtherFullContent');
						setTimeout('showResortInfo(true)',500);
					}else if(Right(id,1)=='7') {
						div_switch('ResultContent',false,true);
						div_switch('OtherFullContent',true,true);
						showLoader('OtherFullContent');
						showFlightSelector();
					}else if(Right(id,1)=='8') {
						div_switch('PricingContent',true,true);
						div_switch('PricingContent1',true,true);
						div_switch('ResultContent',false,true);
						div_switch('ResultContent1',false,true);
						div_switch('OtherFullContent',false,true);
					}
				}
			}
			if(document.getElementById('result_div'+Right(id,1))) {
				document.getElementById('result_div'+Right(id,1)).style.display = '';
			}
		}
	}
	//window.location.href='#' + id;
}
function SwitchResultTabs(id, on, bShortlist) {
	var sClass = '';
	if(bShortlist == true){
		sClass = 'inShortlist';
	}
	div = document.getElementById(id);
	if(SelectedResultTab!=id && div) {
		if(Right(div.className,2)!='Na') {
			sExtra = '';
			if(on==1){
				if(div.className.indexOf('Over')<0){
					div.className = div.className.replace(' ' + sClass, '') + 'Over' + ' ' + sClass
				}else{
					SelectedSearchTab = id;
				}
			}else{
				if(div.className.indexOf('Over') > -1) {
					div.className = Left(div.className.replace(' ' + sClass, ''),div.className.replace(' ' + sClass, '').length-4) + ' ' + sClass;
				}
			}
		}
	}
}

function ShowHideHIInfo(id) {
	div = document.getElementById(id);
	if(div){
		if(div.style.display=='none') {
			div.style.display='';
		}else{
			div.style.display='none';
		}
	}
}

function AROpenSearch() {
	div_switch('SlimSearch_Closed',false,true);
	div_switch('SlimSearch_Open',true,true);
}

function readFileInAsync(url, bPost, sPostValues) {
	if (window.XMLHttpRequest) {              
		SyncDOMInAsync=new XMLHttpRequest();              
	} else {                                  
		SyncDOMInAsync=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (SyncDOMInAsync) {
		if(bDebug){
			var timestamp = new Date();
			if(url.indexOf('?')>-1) {
				url	= url+'&timestamp='+timestamp;
			}else{
				url	= url+'?timestamp='+timestamp;
			}
		}
		if(bPost){
			sMethod='POST';
		}else{
			sMethod='GET';
		}
		SyncDOMInAsync.open(sMethod, url, false);
		if(bPost) {
			SyncDOMInAsync.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			SyncDOMInAsync.setRequestHeader("Content-length", sPostValues.length);
			SyncDOMInAsync.setRequestHeader("Connection", "close");
		}
		SyncDOMInAsync.send(sPostValues);
		return SyncDOMInAsync.responseText;                                         
	} else {
		return false;
	}                                             
}


function readFile(url) {
	if (window.XMLHttpRequest) {              
		SyncDOM=new XMLHttpRequest();              
	} else {                                  
		SyncDOM=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (SyncDOM) {
		if(bDebug){
			var timestamp = new Date();
			if(url.indexOf('?')>-1) {
				url	= url+'&'+timestamp.getFullYear()+'-'+timestamp.getMonth()+'-'+timestamp.getDate()+'-'+timestamp.getHours()+'-'+timestamp.getMinutes();
			}else{
				url	= url+'?'+timestamp;
			}
		}
		SyncDOM.open("GET", url, false);                             
		SyncDOM.send(null);
		return SyncDOM.responseText;                                         
	} else {
		return false;
	}                                             
}

function goToTop() {
	scroll(0,115);	
}