function mydateCalcJS (pDate, addDay, dType)
{
var todayDate = new Date();
todayDate.setDate(todayDate.getDate()+1);
todayDate.setHours(0);
todayDate.setMinutes(0);
todayDate.setSeconds(0);
var theDate = new Date(pDate);
var toAdd = parseInt(addDay);
var toAdd1 = 0;
var toAdd2 = 0;
if (dType=='0')
toAdd1 = toAdd;
else
toAdd2 = toAdd;

theDate.setDate(theDate.getDate()+toAdd1);
theDate.setHours(theDate.getHours()+toAdd2);

var date1Comp = todayDate.getTime();
var date2Comp = theDate.getTime();

if (date1Comp > date2Comp)
theDate = todayDate;

var newMonth = theDate.getMonth()+1;
var newMStr = newMonth.toString();
if (newMStr.length==1) newMStr = "0" + newMStr;
var newDay = theDate.getDate();
var newDStr = newDay.toString();
if (newDStr.length==1) newDStr = "0" + newDStr;
var ret1 = [newMStr,newDStr,theDate.getFullYear()].join('/');

var newHour = theDate.getHours();
var toHour = parseInt(newHour);
var newHStr = "";
var newAStr = "";
if (toHour>12)
{
toHour = toHour - 12;
newHStr = toHour.toString();
if (newHStr.length==1) newHStr = "0" + newHStr;
newAStr = "pm";
}
else
{
if (toHour==0)
{
toHour = 12;
newHStr = toHour.toString();
newAStr = "am";
}
else
{
if (toHour==12)
{
newHStr = toHour.toString();
newAStr = "pm";
}
else
{
newHStr = toHour.toString();
if (newHStr.length==1) newHStr = "0" + newHStr;
newAStr = "am";
}
}
}

var newMinute = theDate.getMinutes();
var newMMStr = newMinute.toString();
if (newMMStr.length==1) newMMStr = "0" + newMMStr;

var ret2 = [newHStr,newMMStr].join(':');
var ret = "";
if (dType=='0')
ret = ret1;
else
ret = ret2+newAStr;
return ret;
}

function mytimeCalcJS (pDate, addDay)
{
var theDate = new Date(pDate);
var toAdd = parseInt(addDay);
theDate.setHours(theDate.getHours()+toAdd);
var hours = theDate.getHours();
var minutes = theDate.getMinutes();

  var suffix = "am";
  if (hours >= 12) {
  suffix = "pm";
  hours = hours - 12;
  }
  if (hours == 0) {
  hours = 12;
  }

  var ret = hours + ":" + minutes + suffix;
  
return ret;
}

function mydateCalcvJS (pDate, addDay, dType)
{
var theDate = new Date(pDate);
var toAdd = parseInt(addDay);
var toAdd1 = 0;
var toAdd2 = 0;
if (dType=='0')
toAdd1 = toAdd;
else
toAdd2 = toAdd;

var todayDate = new Date();
todayDate.setDate(theDate.getDate());
todayDate.setHours(0);
todayDate.setMinutes(0);
todayDate.setSeconds(0);
var date1Comp = todayDate.getTime();

var tomorrowDate = new Date();
tomorrowDate.setDate(theDate.getDate()+1);
tomorrowDate.setHours(0);
tomorrowDate.setMinutes(0);
tomorrowDate.setSeconds(0);
var date2Comp = tomorrowDate.getTime();

theDate.setDate(theDate.getDate()+toAdd1);
theDate.setHours(theDate.getHours()+toAdd2);

if (dType!='0')
{
var dateComp = theDate.getTime();
if (toAdd<0)
{
if (date1Comp > dateComp)
document.getElementById('dminus').value = '1';
else
document.getElementById('dminus').value = '0';
}
else
{
if (date2Comp < dateComp)
document.getElementById('dplus').value = '1';
else
document.getElementById('dplus').value = '0';
}
}

var newMonth = theDate.getMonth()+1;
var newMStr = newMonth.toString();
if (newMStr.length==1) newMStr = "0" + newMStr;
var newDay = theDate.getDate();
var newDStr = newDay.toString();
if (newDStr.length==1) newDStr = "0" + newDStr;
var ret1 = [newMStr,newDStr,theDate.getFullYear()].join('/');

var newHour = theDate.getHours();
var newHStr = newHour.toString();
if (newHStr.length==1) newHStr = "0" + newHStr;
var newMinute = theDate.getMinutes();
var newMMStr = newMinute.toString();
if (newMMStr.length==1) newMMStr = "0" + newMMStr;

var ret2 = [newHStr,newMMStr].join(':');
var ret = ret1+" "+ret2;
if (dType=='0')
{
if (toAdd<0)
document.getElementById('dmin').value = ret1;
else
{
if (toAdd>0)
document.getElementById('dmax').value = ret1;
else
{
document.getElementById('dmin').value = ret1;
document.getElementById('dmax').value = ret1;
}
}
}
else
{
if (toAdd<0)
document.getElementById('tmin').value = ret2;
else
{
if (toAdd>0)
document.getElementById('tmax').value = ret2;
else
{
document.getElementById('tmin').value = ret2;
document.getElementById('tmax').value = ret2;
}
}
}
return ret;
}

function setDDateJS(val,w)
{
var theDate = new Date();
var theMonth = theDate.getMonth()+1;
var theYear = theDate.getFullYear();
var theVar = "year"+w;
var oldVal = parseInt(document.getElementById(theVar).value);
if (theMonth>val)
{
if (oldVal==theYear)
document.getElementById(theVar).value = oldVal + 1;
}
else
{
if (oldVal!=theYear)
document.getElementById(theVar).value = oldVal - 1;
}
}

function setBookingJS(price,cond)
{
document.getElementById('sel_action').style.display = '';
document.getElementById('grandprice').value = price;
document.getElementById('mytotal').innerHTML = "$"+price;
document.getElementById('conditional').value = cond;
}

function returndateCalcJS (pDate, tZone1, tZone2, dst1, dst2, dst, type)
{
if (tZone1!="" && tZone2!="")
{
var tHour1 = 0;
if (tZone1=="Pacific") tHour1 = 0;
else
if (tZone1=="Mountain") tHour1 = 1;
else
if (tZone1=="Central") tHour1 = 2;
else
if (tZone1=="Eastern") tHour1 = 3;
else
{
var tZarr1 = tZone1.split("GMT");
if (tZarr1.length==2)
{
if (tZarr1[1].substring(0,1)=="+")
tHour1 = 8 + parseInt(tZarr1[1].substring(1));
else
tHour1 = 8 - parseInt(tZarr1[1].substring(1));
}
}
var tHour2 = 0;
if (tZone2=="Pacific") tHour2 = 0;
else
if (tZone2=="Mountain") tHour2 = 1;
else
if (tZone2=="Central") tHour2 = 2;
else
if (tZone2=="Eastern") tHour2 = 3;
else
{
var tZarr2 = tZone2.split("GMT");
if (tZarr2.length==2)
{
if (tZarr2[1].substring(0,1)=="+")
tHour2 = 8 + parseInt(tZarr2[1].substring(1));
else
tHour2 = 8 - parseInt(tZarr2[1].substring(1));
}
}
var diffDst = 0;
if (dst=="1")
{
if (dst1=="Y")
{
if (dst2=="Y")
diffDst = 0;
else
diffDst = 1;
}
else
{
if (dst2=="Y")
diffDst = -1;
else
diffDst = 0;
}
}
var diffZone = tHour1 - tHour2;
diffZone = diffZone + diffDst;
}
else
var diffZone = 0;
var theDate = new Date(pDate);
var newDateN = theDate.getTime() + 1000*3600*(6-diffZone);
var newDate = new Date(newDateN);
var newMonth = newDate.getMonth()+1;
var newMStr = newMonth.toString();
if (newMStr.length==1) newMStr = "0" + newMStr;
var newDay = newDate.getDate();
var newDStr = newDay.toString();
if (newDStr.length==1) newDStr = "0" + newDStr;
var ret1 = [newMStr,newDStr,newDate.getFullYear()].join('/');
document.getElementById('date2_js').value = ret1;
document.getElementById('date2_show_js').value = ret1;
if (type=='1')
{
var ret2 = newDate.getHours();
var ret3 = newDate.getMinutes();
var ret4 = 'am';
if (ret2>=12)
{
ret4 = 'pm';
if (ret2>12)
ret2 = ret2 - 12;
}
for(var x = 0;x<(document.getElementById('hour2_js').length);x++)
{
if (ret2==document.getElementById('hour2_js').options[x].value)
document.getElementById('hour2_js').options[x].selected = true;
}
for(var x = 0;x<(document.getElementById('min2_js').length);x++)
{
if (ret3==document.getElementById('min2_js').options[x].value)
document.getElementById('min2_js').options[x].selected = true;
}
for(var x = 0;x<(document.getElementById('ampm2_js').length);x++)
{
if (ret4==document.getElementById('ampm2_js').options[x].value)
document.getElementById('ampm2_js').options[x].selected = true;
}
}
}

function roundCheckJS(){
if (document.getElementById('oneway').checked==true)
{
document.getElementById('return_details1_js').style.display = "none";
document.getElementById('return_details2_js').style.display = "none";
document.getElementById('tz2_js').style.display = "none";
}
else
{
document.getElementById('return_details1_js').style.display = "";
document.getElementById('return_details2_js').style.display = "";
document.getElementById('tz2_js').style.display = "";
if (document.getElementById('date1_js').value!="")
{
var time1 = 0;
if (document.getElementById('ampm1_js').value=="am")
{
if (parseInt(document.getElementById('hour1_js').value)==12)
time1 = "00";
else
time1 = document.getElementById('hour1_js').value;
}
else
{
if (parseInt(document.getElementById('hour1_js').value)==12)
time1 = "12";
else
time1 = document.getElementById('hour1_js').value + 12;
}
var myDate = document.getElementById('date1_js').value+' '+time1+':'+document.getElementById('min1_js').value;
var myZone1 = document.getElementById('form_tz1_js').value;
var myZone2 = document.getElementById('form_tz2_js').value;
var myDst1 = document.getElementById('form_dst1_js').value;
var myDst2 = document.getElementById('form_dst2_js').value;
var dst = document.getElementById('form_dst_js').value;
returndateCalcJS (myDate,myZone1,myZone2,myDst1,myDst2,dst,'1');
}
}
}

var xmlHttp
var xmlHttp2
var xmlHttps

function showDetailsJS(str,sel,bl)
{
xmlHttp=GetXmlHttpObjectJS()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="get_airports_js.php"
url=url+"?q="+str+"&s="+sel+"&b="+bl+"&r="+Math.random()
showLoadingJS();
xmlHttp.onreadystatechange=stateChangedJS
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function showDetails2JS(str,bl)
{
xmlHttp2=GetXmlHttpObjectJS()
if (xmlHttp2==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="get_airports_js.php"
url=url+"?q2="+str+"&b="+bl+"&r="+Math.random()
xmlHttp2.onreadystatechange=stateChanged2JS
xmlHttp2.open("GET",url,true)
xmlHttp2.send(null)
}

function showResultsJS()
{
xmlHttps=GetXmlHttpObjectJS()
if (xmlHttps==null)
{
alert ("Browser does not support HTTP Request")
return
}
document.getElementById('sel_action').style.display = 'none';
document.getElementById('grandprice').value = '';
document.getElementById('mytotal').innerHTML = "N/A";
document.getElementById('conditional').value = '0';
document.getElementById('sortbyform').style.display = 'none';
if (document.getElementById('expandd')) document.getElementById('expandd').style.display = 'none';
showLoaderJS();
var url="get_results_js.php";
url=url+"?iteration="+document.getElementById('iteration').value+"&city="+document.getElementById('city').value+"&city2="+document.getElementById('city2_js').value+"&city_id="+document.getElementById('form_city_id').value+"&city2_id="+document.getElementById('form_city2_id').value+"&seats="+document.getElementById('seats').value+"&form_tz1="+document.getElementById('form_tz1_js').value+"&form_tz2="+document.getElementById('form_tz2_js').value+"&form_dst1="+document.getElementById('form_dst1_js').value+"&form_dst2="+document.getElementById('form_dst2_js').value+"&j_sliderval1="+document.getElementById('sliderval1').value+"&j_sliderval2="+document.getElementById('sliderval2').value+"&j_sliderval5="+document.getElementById('sliderval5').value+"&j_tmin="+document.getElementById('tmin').value+"&j_tmax="+document.getElementById('tmax').value+"&j_dmin="+document.getElementById('dmin').value+"&j_dmax="+document.getElementById('dmax').value+"&j_dminus="+document.getElementById('dminus').value+"&j_dplus="+document.getElementById('dplus').value+"&r="+Math.random()
xmlHttps.onreadystatechange=statesChangedJS
xmlHttps.open("GET",url,true)
xmlHttps.send(null)
}

function showLoadingJS()
{
for(var x = document.getElementById('city2_js').options.length-1;x>=0;x--)
document.getElementById('city2_js').remove(x);
with(document.getElementById('city2_js'))
options[0] = new Option("... Loading ...","");
}

function showLoaderJS()
{
document.getElementById('mainarea').innerHTML = '<table class="layout-1" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td colspan="6" align="center"><br /><b>Please wait while we are searching for flights.</b><br /><br /></td></tr></table>';
}

function stateChangedJS() 
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
var myvart = xmlHttp.responseText

for(var x = document.getElementById('city2_js').options.length-1;x>=0;x--)
document.getElementById('city2_js').remove(x);

if (myvart!="")
{
var myarrt = myvart.split("~^~")

var lcounter1 = myarrt.length-2;
var lcounter2 = myarrt.length-1;
var myarrtb = myarrt[lcounter2].split("||")
var index = 0;
if (myarrtb[1]=="0")
{
with(document.getElementById('city2_js'))
options[0] = new Option("Arriving at","");
document.getElementById('tz1_js').innerHTML=myarrt[lcounter1];
document.getElementById('form_tz1_js').value=myarrt[lcounter1];
index = 1;
}

for (var i=0;i<lcounter1;i++)
{
var myarr = myarrt[i].split("###")
with(document.getElementById('city2_js'))
{
options[(i+index)] = new Option(myarr[1],myarr[0]);
if (index==0)
{
if (i==0)
document.getElementById('city2_js').options[(i+index)].selected = true;
}
else
{
if (myarrtb[0]!="" && myarr[0]==myarrtb[0])
document.getElementById('city2_js').options[(i+index)].selected = true;
}
}
}
if (index==0)
showDetails2JS(document.getElementById('city2_js').value,'1');
}
else
{
with(document.getElementById('city2_js'))
options[0] = new Option("Arriving at","");
}
}
}

function stateChanged2JS() 
{
if (xmlHttp2.readyState==4 || xmlHttp2.readyState=="complete")
{

var myvart = xmlHttp2.responseText
var myarrt = myvart.split("||")

if (myarrt[1]=="0")
{
if (myarrt[0]!="" && myarrt[0]!="GMT-")
{
document.getElementById('tz2_js').style.display = "";
document.getElementById('tz2_js').innerHTML=myarrt[0];
document.getElementById('form_tz2_js').value=myarrt[0];
}
else
{
document.getElementById('tz2_js').style.display = "none";
document.getElementById('tz2_js').innerHTML="";
document.getElementById('form_tz2_js').value="";
}
}
else
{
document.getElementById('form_tz2_js').value=myarrt[0];
showResultsJS();
}
}
}

function statesChangedJS() 
{
if (xmlHttps.readyState==4 || xmlHttps.readyState=="complete")
{
var myvart = xmlHttps.responseText
var myarrt = myvart.split("|")
document.getElementById('mainarea').innerHTML = myarrt[2];
document.getElementById('nresults').value = myarrt[7];
var a1 = "<span style='cursor:help;' title='cssbody=[vdvbdy] cssheader=[vdvhdr] header=[&nbsp; Airports Found] body=[" + myarrt[0] + "] delay=[200] fade=[on]'><b>Found:</b> <u>" + myarrt[3] + " airport";
if (parseInt(myarrt[4])>0)
a1 = a1 + "s in " + myarrt[4] + " mile radius";
a1 = a1 + "</u></span>";
document.getElementById('airportarea1').innerHTML = a1;
var a2 = "<span style='cursor:help;' title='cssbody=[vdvbdy] cssheader=[vdvhdr] header=[&nbsp; Airports Found] body=[" + myarrt[1] + "] delay=[200] fade=[on]'><b>Found:</b> <u>" + myarrt[5] + " airport";
if (parseInt(myarrt[6])>0)
a2 = a2 + "s in " + myarrt[6] + " mile radius";
a2 = a2 + "</u></span>";
document.getElementById('airportarea2').innerHTML = a2
}
}

function GetXmlHttpObjectJS()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
