var filterfiller = '<div id="gap"></div><div id="yellowbox" style="height:25px"><img src="../images/loading.gif" style="float:right; position:relative;"><font size="2">Please wait, results will load below...</font></div>';
var resultupdate = '<div id="gap"></div><div id="yellowbox" align="center"><font size="2">Updating results...</font><br><img src="../images/loading.gif"></div>';
var errormessage1 = '<div id="yellowbox" align="center"><font size="2">Please enter an origin airport</font><br></div>';
var errormessage1 = '<div id="yellowbox" align="center"><font size="2">Please enter an arrival airport</font><br></div>';

var merchants = 0;
var xmlHttpReq = false;
var self = this;

function availabilityengine() {
	
var snumber=Math.floor(Math.random()*999999999999)
var form = document.forms['availability'];
var departure_display = form.departure_display.value;
var departure = form.departure.value;
var arrival_display = form.arrival_display.value;
var arrival = form.arrival.value;

if (departure.length < 3) {
	updatepage(errormessage2,'errormessage2');
}
if (arrival.length < 3) {
	updatepage(errormessage1,'errormessage1');
}else {

document.getElementById('resultsfilter').innerHTML = filterfiller;
document.getElementById('mainresults').innerHTML = '';
document.getElementById('errormessage1').innerHTML = '';
document.getElementById('errormessage2').innerHTML = '';

//search_fusion(snumber);
search_af(snumber);
search_af1(snumber);
search_af2(snumber);
search_af3(snumber);
search_af4(snumber);
search_af5(snumber);
search_af6(snumber);

}
}

function showresults(snumber) { 
if (window.XMLHttpRequest) {
   updatepageOBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
   updatepageOBJ = new ActiveXObject("Microsoft.XMLHTTP");
}
    updatepageOBJ.open('POST', '../php/flights/display_results.php', true);
    updatepageOBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    updatepageOBJ.onreadystatechange = function() {
        if (updatepageOBJ.readyState == 4) {
            updatepage(updatepageOBJ.responseText,'mainresults');
			if (merchants == 7) { showfilters(snumber); }
        }
}
updatepageOBJ.send(getquerystring(snumber)); 
}

function showfilters(snumber) {
if (window.XMLHttpRequest) {
   filtersOBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
   filtersOBJ = new ActiveXObject("Microsoft.XMLHTTP");
}
    filtersOBJ.open('POST', '../php/flights/display_filters.php', true);
    filtersOBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    filtersOBJ.onreadystatechange = function() {
        if (filtersOBJ.readyState == 4) {
            updatepage(filtersOBJ.responseText,'resultsfilter'); merchants = merchants-7;
        }
}
filtersOBJ.send(getquerystring(snumber)); 
}

/////// individual supplier requests below

function search_fusion(snumber) {
if (window.XMLHttpRequest) {
   fusionOBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { fusionOBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    fusionOBJ.open('POST', '../php/flights/fusion.php', true);
    fusionOBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    fusionOBJ.onreadystatechange = function() {
        if (fusionOBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
fusionOBJ.send(getquerystring(snumber));  }

///

function search_af(snumber) {
if (window.XMLHttpRequest) {
   affiliatefOBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { affiliatefOBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    affiliatefOBJ.open('POST', '../php/flights/af.api.php', true);
    affiliatefOBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    affiliatefOBJ.onreadystatechange = function() {
        if (affiliatefOBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
affiliatefOBJ.send(getquerystring(snumber));  }

///

function search_af1(snumber) {
if (window.XMLHttpRequest) {
   affiliatef1OBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { affiliatef1OBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    affiliatef1OBJ.open('POST', '../php/flights/af.api.1.php', true);
    affiliatef1OBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    affiliatef1OBJ.onreadystatechange = function() {
        if (affiliatef1OBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
affiliatef1OBJ.send(getquerystring(snumber));  }

///

function search_af2(snumber) {
if (window.XMLHttpRequest) {
   affiliatef2OBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { affiliatef2OBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    affiliatef2OBJ.open('POST', '../php/flights/af.api.2.php', true);
    affiliatef2OBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    affiliatef2OBJ.onreadystatechange = function() {
        if (affiliatef2OBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
affiliatef2OBJ.send(getquerystring(snumber));  }

///

function search_af3(snumber) {
if (window.XMLHttpRequest) {
   affiliatef3OBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { affiliatef3OBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    affiliatef3OBJ.open('POST', '../php/flights/af.api.3.php', true);
    affiliatef3OBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    affiliatef3OBJ.onreadystatechange = function() {
        if (affiliatef3OBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
affiliatef3OBJ.send(getquerystring(snumber));  }

///

function search_af4(snumber) {
if (window.XMLHttpRequest) {
   affiliatef4OBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { affiliatef4OBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    affiliatef4OBJ.open('POST', '../php/flights/af.api.4.php', true);
    affiliatef4OBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    affiliatef4OBJ.onreadystatechange = function() {
        if (affiliatef4OBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
affiliatef4OBJ.send(getquerystring(snumber));  }

///

function search_af5(snumber) {
if (window.XMLHttpRequest) {
   affiliatef5OBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { affiliatef5OBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    affiliatef5OBJ.open('POST', '../php/flights/af.api.5.php', true);
    affiliatef5OBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    affiliatef5OBJ.onreadystatechange = function() {
        if (affiliatef5OBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
affiliatef5OBJ.send(getquerystring(snumber));  }

///

function search_af6(snumber) {
if (window.XMLHttpRequest) {
   affiliatef6OBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) { affiliatef6OBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
    affiliatef6OBJ.open('POST', '../php/flights/af.api.6.php', true);
    affiliatef6OBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    affiliatef6OBJ.onreadystatechange = function() {
        if (affiliatef6OBJ.readyState == 4) { showresults(snumber); merchants = merchants+1; }
}
affiliatef6OBJ.send(getquerystring(snumber));  }


/// FILTERS

function filtertype(snumber) {
if (window.XMLHttpRequest) {
   filtersOBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
   filtersOBJ = new ActiveXObject("Microsoft.XMLHTTP");
}
    filtersOBJ.open('POST', '../php/flights/display_results.php', true);
    filtersOBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    filtersOBJ.onreadystatechange = function() {
        if (filtersOBJ.readyState == 4) {
            updatemenu(filtersOBJ.responseText,'mainresults');
        } else { document.getElementById('mainresults').innerHTML = resultupdate; }
}
filtersOBJ.send(filtersqry(snumber)); 
}

// change date

function flight_change(date,dateadj,session,snumber,arrival,departure) { 

document.getElementById('mainresults').innerHTML = filterfiller;

if (window.XMLHttpRequest) {
   fchangeOBJ = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
   fchangeOBJ = new ActiveXObject("Microsoft.XMLHTTP");
}
    fchangeOBJ.open('POST', '../php/flights/display_results.php', true);
    fchangeOBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    fchangeOBJ.onreadystatechange = function() {
        if (fchangeOBJ.readyState == 4) {
            updatepage(fchangeOBJ.responseText,'mainresults');  }
}
fchangeOBJ.send(fchange_qry(date,dateadj,session,snumber,arrival,departure)); 
}


function fchange_qry(date,dateadj,session,snumber,arrival,departure) {
qstr = 'snumber=' + snumber + '&dateadj=' + dateadj + '&date=' + date + '&session=' + session + '&arrival=' + arrival + '&departure=' + departure;
return qstr;
}



function filtersqry(snumber) {
var resultsform     = document.forms['resultfilters'];
var departure = form.departure.value;
var arrival = form.arrival.value;
var date = form.date.value;
var adults = form.adults.value;
var children = form.children.value;
var SID = form.GOHSID.value;

qstr = 'arrival=' + arrival + '&departure=' + departure + '&date=' + escape(date) + '&adults=' + adults + '&children=' + children + '&session=' + escape(SID) + '&snumber=' + snumber;
return qstr;
}

function getquerystring(snumber) {
var form     = document.forms['availability'];
var departure = form.departure.value;
var date = form.date.value;
var arrival = form.arrival.value;
var adults = form.adults.value;
var children = form.children.value;
var infants = form.infants.value;
var nights = form.nights.value;
var SID = form.GOHSID.value;

qstr = 'arrival=' + escape(arrival) + '&departure=' + departure + '&date=' + escape(date) + '&adults=' + adults + '&children=' + children + '&infants=' + infants + '&nights=' + nights + '&session=' + escape(SID) + '&snumber=' + snumber;
return qstr;
}



function updatepage(str,div_name){
    document.getElementById(div_name).innerHTML = str;
}

function setsearch(display,hidden,display2,hidden2) { 
var form     = document.forms['availability'];
document.getElementById('departure').value=hidden; 
document.getElementById('departure_display').value=display; 
document.getElementById('date').value=hidden2; 
document.getElementById('arrival_display').value=display2; 

// form.submit(); 
} 

