// JavaScript Document

var xmlHttp
var xmlHttpOv
var myimages = new Array()

function getOverture()
{ 
	xmlHttpOv=GetXmlHttpObject()
	if (xmlHttpOv==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	} 
	var url="/post/overture.php"
	url=url+"?pickup="+document.getElementById('locb').value
	url=url+"&sid="+Math.random()
	xmlHttpOv.onreadystatechange=stateChangedOv 
	xmlHttpOv.open("GET",url,true)
	xmlHttpOv.send(null)
}

function stateChangedOv() 
{ 
	if (xmlHttpOv.readyState==4 || xmlHttpOv.readyState=="complete")
	{ 
		document.getElementById("spons").innerHTML=xmlHttpOv.responseText;
		
	}
	else
	{
		document.getElementById("spons").innerHTML='';
	}
} 

function preLoad()
{
	// Preload Images
	var d=document; 
	if(d.images)
	{ 
		if(!d.p)
		{
			d.p=new Array();
		}
		
    	var i,j=d.p.length,a=Submit.arguments; 
		
		for(i=0; i<a.length; i++)
		{
    		if (a[i].indexOf("#")!=0)
			{ 
				d.p[j]=new Image; 
				d.p[j++].src=a[i];
			}
		}
	}
}
var feeds_done = "";
var urlCT = "";
var req = false;
var req_counter_tmp = 0;
function alertContents(http_request)
{
     if (http_request.readyState == 4)
     {
       if(http_request.status == undefined)
         req = false;

       if (http_request.status == 200)
       {

	  	 req = false;

     	// document.getElementById('bookingForm').innerHTML = http_request.responseText;
	     //return;

   		 if(http_request.responseText == "")
                  return;

		var response = Array();
		response = http_request.responseText.split("@@*^*@@")
		document.getElementById("filter1").innerHTML=response[1]
		document.getElementById("filter2").innerHTML=response[2]
		document.getElementById("bookingForm").innerHTML=response[0]
		document.getElementById("loading").innerHTML=response[3]
		if(response[4] == "done")
		{ 
	          req=true;
		}
		feeds_done = response[5];
       }
     }
}

   function createAjaxObj()
   {
      var http_request = false;
      if (window.XMLHttpRequest)
      {
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType)
         {
            http_request.overrideMimeType('text/xml');
         }
      }
      else if (window.ActiveXObject)
      {
         try
         {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch (e)
         {
            try
            {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {

            }
         }
      }
      if (!http_request)
      {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      return http_request;

   }


function req_co()
{

  if(req == false)
  {
    req = true;

    var http_request = createAjaxObj();
    http_request.onreadystatechange =  function() { alertContents(http_request); };
    var rand=Math.random();

    var url = urlCT +"&ran="+rand+"&feeds_done="+feeds_done;

    http_request.open('GET', url, true);
    http_request.send(null);
  }
}

var request_id2 = "";
function Submit()
{
	getOverture();
	var ran_unrounded=Math.random()*100000000;
	var ran_number=Math.floor(ran_unrounded);
     // Call Feeds
        var pDate = document.getElementById('pDate').value.split('/');
        var dDate = document.getElementById('dDate').value.split('/');

        urlCT=urlCT+"/getAllPost.php?";
        urlCT=urlCT+"pickup="+document.getElementById('locb').value
        urlCT=urlCT+"&request_id="+ran_number
        request_id2 = ran_number;
	urlCT=urlCT+"&dropoff="+document.getElementById('locd').value
        urlCT=urlCT+"&pDay="+pDate[0];
        urlCT=urlCT+"&pMonth="+pDate[1];
        urlCT=urlCT+"&pYear="+pDate[2];
        urlCT=urlCT+"&pTime="+document.getElementById('pTime').value
        urlCT=urlCT+"&dDay="+dDate[0];
        urlCT=urlCT+"&dMonth="+dDate[1];
        urlCT=urlCT+"&dYear="+dDate[2];
        urlCT=urlCT+"&dTime="+document.getElementById('dTime').value
        urlCT=urlCT+"&age="+document.getElementById('age').value
        urlCT=urlCT+"&kid="+document.getElementById('kid').value
        urlCT=urlCT+"&country="+document.getElementById('country1').value
        //urlCT=urlCT+"&class="+document.getElementById('cClass').value
        //urlCT=urlCT+"&type="+document.getElementById('cClass').value
		urlCT=urlCT+"&class=*"
        urlCT=urlCT+"&type=*"
        urlCT=urlCT+"&irand="+ran_unrounded;//document.getElementById('cClass').value

	// Preload Images
	myimages0=new Image()
	myimages0.src='images/orange2.gif'
	myimages1=new Image()
	myimages1.src='images/booknow.gif'
	myimages2=new Image()
	myimages2.src='images/orange.gif'
        //alert(urlCT);
	req_co();
	setInterval("req_co()", 300);
	return;
}

function filterClass()
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}
	
	var url="/post/filterClass.php"
	url=url+"?request_id="+request_id2
	url=url+"&sid="+Math.random()
	if(document.getElementById("Mini").checked)
	{
		url=url+"&mini=Mini"	
	}
	if(document.getElementById("Economy").checked)
	{
		url=url+"&economy=Economy"	
	}
	if(document.getElementById("Compact").checked)
	{
		url=url+"&compact=Compact"	
	}
	if(document.getElementById("Intermediate").checked)
	{
		url=url+"&intermediate=Intermediate"	
	}
	if(document.getElementById("Standard").checked)
	{
		url=url+"&standard=Standard"	
	}
	if(document.getElementById("Fullsize").checked)
	{
		url=url+"&fullsize=Fullsize"	
	}
	if(document.getElementById("Premium").checked)
	{
		url=url+"&premium=Premium"	
	}
	if(document.getElementById("Luxury").checked)
	{
		url=url+"&luxury=Luxury"	
	}
	if(document.getElementById("Special").checked)
	{
		url=url+"&special=Special"	
	}
	if(document.getElementById("4wd").checked)
	{
		url=url+"&4wd=4WD"	
	}
	if(document.getElementById("Van").checked)
	{
		url=url+"&van=Van"	
	}
	
	if(document.filterResults.aircon[0].checked)
	{
		url=url+"&aircon="+document.filterResults.aircon[0].value
	}
	if(document.filterResults.aircon[1].checked)
	{
		url=url+"&aircon="+document.filterResults.aircon[1].value
	}
	if(document.filterResults.aircon[2].checked)
	{
		url=url+"&aircon="+document.filterResults.aircon[2].value
	}
	
	if(document.filterResults.trans[0].checked)
	{
		url=url+"&trans="+document.filterResults.trans[0].value
	}
	if(document.filterResults.trans[1].checked)
	{
		url=url+"&trans="+document.filterResults.trans[1].value
	}
	if(document.filterResults.trans[2].checked)
	{
		url=url+"&trans="+document.filterResults.trans[2].value
	}
	
	var pDate = document.getElementById('pDate').value.split('/');
	var dDate = document.getElementById('dDate').value.split('/');

	url=url+"&pickup="+document.getElementById('locb').value
	url=url+"&dropoff="+document.getElementById('locd').value

	url=url+"&pDay="+pDate[0];
	url=url+"&pMonth="+pDate[1];
	url=url+"&pYear="+pDate[2];
	url=url+"&pTime="+document.getElementById('pTime').value
	url=url+"&dDay="+dDate[0];
	url=url+"&dMonth="+dDate[1];
	url=url+"&dYear="+dDate[2];
	url=url+"&dTime="+document.getElementById('dTime').value
	url=url+"&age="+document.getElementById('age').value+"&kid="+document.getElementById('kid').value
	url=url+"&country="+document.getElementById('country1').value
	url=url+"&last=last"
	if(document.getElementById("Mini").checked && document.getElementById("Economy").checked && document.getElementById("Compact").checked && document.getElementById("Intermediate").checked && document.getElementById("Standard").checked && document.getElementById("Fullsize").checked && document.getElementById("Premium").checked && document.getElementById("Luxury").checked && document.getElementById("Special").checked)
	{
		url=url+"&class=*"
	}
	else
	{
		url=url+"&class=1"
	}
	if(document.getElementById("4wd").checked && document.getElementById("Van").checked)
	{
		url=url+"&type=*"	
	}
	else
	{
		url=url+"&type=1"
	}
	xmlHttp.onreadystatechange=stateChangedCount 
	xmlHttp.open("POST",url,true)
	xmlHttp.send(null)	
	return;
}

function stateChangedCount() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		var response = Array();
		response = xmlHttp.responseText.split("@@*^*@@")
		document.getElementById("filter1").innerHTML=response[1]
		document.getElementById("filter2").innerHTML=response[2]
		document.getElementById("bookingForm").innerHTML=response[0]
		document.getElementById("loading").innerHTML=response[3]
	}
	else
	{
		document.getElementById("bookingForm").innerHTML="Updating Results..."
	}
	return;
} 

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

function setLocation(str)
{
	var loc = Array();
	loc = str.split('#');
	document.getElementById("loca").value=loc[2];
	document.getElementById("locb").value=loc[1];
	document.getElementById("country1").value=loc[0];
	document.getElementById("loc").innerHTML="";
}

function setLocation2(str)
{
	var loc = Array();
	loc = str.split('#');
	document.getElementById("locc").value=loc[2];
	document.getElementById("locd").value=loc[1];
	//document.getElementById("country2").value=loc[0];
	document.getElementById("loc2").innerHTML="";
}

function showDrop()
{
	if(document.frmSearch.droploc.checked)
	{
		
		document.getElementById("drop").innerHTML='<strong>Drop-off:</strong> <input name="locc" id="locc" type="text" size="49">';
		//document.getElementById("drop1").innerHTML='<strong>Drop-off:</strong> ';
		document.getElementById("droploc").value=0;
		new CAPXOUS.AutoComplete("locc", function() {
					return "post/getlocations2.php?q=" + this.text.value+"&id="+document.getElementById("country1").value;
				});
	}
	else
	{
		document.getElementById("drop").innerHTML='';
		//document.getElementById("drop1").innerHTML='';
		document.getElementById("droploc").value=1;
	}
}

function popUp(URL) 
{
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=760,height=300');");
}

function clearbox()
{
	if(document.getElementById("loca").value == "Please enter a city, town or airport.")	
	{
		document.getElementById("loca").value = "";
	}
	else if(document.getElementById("loca").value == "Please enter a location.")	
	{
		document.getElementById("loca").value = "";
	}
}

function switchTab(val)
{
	if(val == 1)
	{
		document.getElementById("filterBox").style.display = "block";
		document.getElementById("miniSearch").style.display = "none";
	}
	else
	{
		document.getElementById("filterBox").style.display = "none";
		document.getElementById("miniSearch").style.display = "block";
		new CAPXOUS.AutoComplete("loca", function() {
							
							return "post/getlocations2.php?q=" + this.text.value+"&id=*";
						});
	}
}	
/*********************************************************************************************************************************************************/

var xmlHttp

function showLocations(str)
{ 
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	} 
	var url="/post/getlocations.php"
	url=url+"?q="+str
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function sortByLocation(a, b) {
	var x = a[0];
	var y = b[0];
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("locb").options.length = 0; 
		document.getElementById("locd").options.length = 0;
		
		textToSplit = xmlHttp.responseText
		textToSplit = escape(textToSplit);
		textToSplit = textToSplit.replace(/\%u[ABCDEF]{4}/g, "");
		textToSplit = unescape(textToSplit);
		
		//Split the document
		returnElements = textToSplit.split("#")

		//Process each of the elements 	
		var pickupLocations = new Array();
		var dropoffLocations = new Array();
		for ( var i=0; i<returnElements.length; i++ )
		{
			valueLabelPair = returnElements[i].split("@")
			pickupSelected = false;
			dropoffSelected = false;
			value1 = valueLabelPair[2]
			value2 = valueLabelPair[3]
			if (value1 == "selpickup") {
				pickupSelected = true;
			}
			if (value1 == "seldropoff") {
				dropoffSelected = true;
			}
			if (value2 == "selpickup") {
				pickupSelected = true;
			}
			if (value2 == "seldropoff") {
				dropoffSelected = true;
			}
			document.getElementById('locb').options[i] = new Option(valueLabelPair[1], valueLabelPair[0],false,pickupSelected);
			document.getElementById('locd').options[i] = new Option(valueLabelPair[1], valueLabelPair[0],false,dropoffSelected);
			
			pickupLocations[i] = new Array(valueLabelPair[1], valueLabelPair[0],pickupSelected);
			dropoffLocations[i] = new Array(valueLabelPair[1], valueLabelPair[0],dropoffSelected);
		}
		
		/*pickupLocations.sort(sortByLocation);
		dropoffLocations.sort(sortByLocation);
		
		for (i=0; i<pickupLocations.length; i++) {
			document.getElementById('locb').options[i] = new Option(pickupLocations[i][0], pickupLocations[i][1],false,pickupLocations[i][2]);
			document.getElementById('locd').options[i] = new Option(dropoffLocations[i][0], dropoffLocations[i][1],false,dropoffLocations[i][2]);
		}*/
	} 
} 

function changeSecond()
{
	for (i=0; i<document.getElementById('locd').length; i++)
	{
		if(document.getElementById('locb')[i].selected == true)
		{
			 document.getElementById('locd')[i].selected = true; 
		}
	}
}
