// JavaScript Document

var xmlHttp
var xmlHttpOv
var myimages = new Array()
var ret_req_co;
var lProgress = 0;
var lProgressReturned = 0;
var progress_bar;
var aPins = '';
var aMarkers;

function createRequestObject() {
  FORM_DATA = new Object();
    // The Object ("Array") where our data will be stored.
  separator = ',';
    // The token used to separate data from multi-select inputs
  query = '' + this.location;
  qu = query
    // Get the current URL so we can parse out the data.
    // Adding a null-string '' forces an implicit type cast
    // from property to string, for NS2 compatibility.
  query = query.substring((query.indexOf('?')) + 1);
    // Keep everything after the question mark '?'.
  if (query.length < 1) { return false; }  // Perhaps we got some bad data?
  keypairs = new Object();
  numKP = 1;
    // Local vars used to store and keep track of name/value pairs
    // as we parse them back into a usable form.
  while (query.indexOf('&') > -1) {
    keypairs[numKP] = query.substring(0,query.indexOf('&'));
    query = query.substring((query.indexOf('&')) + 1);
    numKP++;
      // Split the query string at each '&', storing the left-hand side
      // of the split in a new keypairs[] holder, and chopping the query
      // so that it gets the value of the right-hand string.
  }
  keypairs[numKP] = query;
    // Store what's left in the query string as the final keypairs[] data.<
  for (i in keypairs) {
    keyName = keypairs[i].substring(0,keypairs[i].indexOf('='));
      // Left of '=' is name.
    keyValue = keypairs[i].substring((keypairs[i].indexOf('=')) + 1);
      // Right of '=' is value.
    while (keyValue.indexOf('+') > -1) {
      keyValue = keyValue.substring(0,keyValue.indexOf('+')) + ' ' + keyValue.substring(keyValue.indexOf('+') + 1);
        // Replace each '+' in data string with a space.
    }
    keyValue = unescape(keyValue);
      // Unescape non-alphanumerics
    if (FORM_DATA[keyName]) {
      FORM_DATA[keyName] = FORM_DATA[keyName] + separator + keyValue;
        // Object already exists, it is probably a multi-select input,
        // and we need to generate a separator-delimited string
        // by appending to what we already have stored.
    } else {
      FORM_DATA[keyName] = keyValue;
        // Normal case: name gets value.
    }
  }
  return FORM_DATA;
}

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;
var igot = 0;

var MapLon = 0;
var MapLat = 0;
var MapZoom = 0;


function alertContents(http_request)
{
    var response = Array();
    if (http_request.readyState == 4) 
    {
        if (http_request.status == undefined) 
        {
            req = false;
        }
        if (http_request.status == 200) 
        {
            req = false;

            if (http_request.responseText == "") 
            {
                return;
            }
            response = http_request.responseText.split("@@*^^^*@@")

            if ((response[0] == 'relaunch') || (response[1] == 'relaunch')) 
            {
                alert('Sorry but the session has ended. \n\nPlease click OK to start again.');
                document.location = '/';
            }
            else 
            {
                // Increment the progress bar if feeds have finished.
                lProgressReturned = response[4];

                SetStyleS("searchRightMiniSearch", "none");
                SetStyleS("searchRightFilter", "none");


                if (response[3] == "done") 
                {       
                    SetFieldS("bookingForm", response[0]);

                    // RHS Bar
                    {
                        var http_request_rhs = createAjaxObj();
                        http_request_rhs.onreadystatechange = function() { alertContentsPins(http_request_rhs); };
                        var rand = Math.random();

                        var url = urlCT + "&ran=" + rand + "&feeds_done=" + feeds_done + "&whattoget=pins";

                        http_request_rhs.open('GET', url, true);
                        http_request_rhs.send(null);
                    }

                    clearInterval(ret_req_co);

                    MapLon = response[7];
                    MapLat = response[6];
                    MapZoom = response[8];
                    
                    req = true;
                    SetStyleS("searchRightMiniSearch", "block");
                    SetStyleS("searchRightFilter", "block");

                    request_id2 = response[5];
                }
                feeds_done = response[5];

                AnimateCarousel22(response[11]);

            }

            

        }

    }
    
}


function alertContentsPins(http_request) 
{
    if (http_request.readyState == 4) 
    {
        if (http_request.status == 200) 
        {

            var Pins = String(http_request.responseText);

            try 
            {
                if (Pins != "") 
                {
                    aPins = String(Pins).split("@@*^^*@@");
                }
            }
            catch (e) 
            {
                alert(e.message);
            }

            ToggleGoogleMap(true, MapLon, MapLat);
            SetMapLocation(MapLon, MapLat);

        }
    }
}


function alertContentsRHS(http_request) 
{
    if (http_request.readyState == 4) 
    {
        if (http_request.status == 200) 
        {
            SetFieldS("filter1", http_request.responseText);
        }
    }
}


function AnimateCarousel22(Num) {

    var iRows = 0;

    if (Num != null)
        iRows = Num;

    for (ijq = 0; ijq < iRows; ijq++) {
        jQuery("#caro_" + ijq).jcarousel(
        {
            //            auto: 1,
            //            animation: 5000
            //auto: 1
        });

    }



}



function SetStyleS(Name, Value) 
{
    var Obj = document.getElementById(Name);
//    alert(Name+" = ["+Obj+"]");
    if (Obj != null) 
    {
        Obj.style.display = Value;
    }

}
function SetFieldS(Name, Value) 
{
    try 
    {
        var Obj = document.getElementById(Name);
        Obj.innerHTML = Value;
    }
    catch (e) 
    {
//        alert("ERROR : There is a problem...");
//        alert(Name+" = ["+Obj+"]");
    }
}
   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;

        // Main Content
        {
            var http_request = createAjaxObj();
            http_request.onreadystatechange = function() { alertContents(http_request); };
            var rand = Math.random();

            var url = urlCT + "&ran=" + rand + "&feeds_done=" + feeds_done+"&whattoget=content";
            //alert(urlCT);
    //                SetFieldS("bookingForm", url);
            
            
            http_request.open('GET', url, true);
            http_request.send(null);
        }
        
        // RHS Bar
        {
            var http_request_rhs = createAjaxObj();
            http_request_rhs.onreadystatechange = function() { alertContentsRHS(http_request_rhs); };
            var rand = Math.random();

            var url = urlCT + "&ran=" + rand + "&feeds_done=" + feeds_done + "&whattoget=rhs";

            http_request_rhs.open('GET', url, true);
            http_request_rhs.send(null);
        }
    }
}

function getIEVersionNumber() {
    var ua = navigator.userAgent;
    var MSIEOffset = ua.indexOf("MSIE ");
    
    if (MSIEOffset == -1) {
        return 100;
    } else {
        return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
    }
}



var ajaxBadL = null;

function checkEnteredLocation() 
{
    if (bStopSubmit == true) 
    {
        bStopSubmit = false;
        return false;
    }

        var msg = new String("");

        if (document.getElementById("loca").value == "Type an airport, city or town." || document.getElementById("loca").value.length < 3) {
            msg = "Please enter a valid pick up location.\n";

        }
        if (document.getElementById("locc").value == "Type an airport, city or town." || document.getElementById("locc").value.length < 3) {
            msg = msg.concat("Please enter a valid dropoff location.\n");

        }
        if (document.getElementById("pDate").value == "dd/mm/yyyy" || document.getElementById("pDate").value.length < 3) {
            msg = msg.concat("Please select a valid pick up date. \n")
        }

        if (document.getElementById("dDate").value == "dd/mm/yyyy" || document.getElementById("dDate").value.length < 3) {
            msg = msg.concat("Please select a valid dropoff date.\n")
        }

        if (msg != "") {
            //alert(msg);
            return false;
        }
        return true;


        // ++SAM++ for some reason this code went off to try and find out what the user was typing. this is all taken care of so not necessary.

        var country = document.getElementById("country1").value;
        if (parseInt(country) == 0) {
            document.getElementById("overlayLocP").style.display = "block";
            scroll(0, 0);
            if (getIEVersionNumber() <= 6) {
                document.getElementById("pTime").style.visibility = "hidden";
                document.getElementById("dTime").style.visibility = "hidden";
                document.getElementById("cClass").style.visibility = "hidden";
            }
            ajaxBadL = createAjaxObj();

            ajaxBadL.onreadystatechange = function() {
                if (ajaxBadL.readyState == 4) {
                    if (ajaxBadL.status == 200) {
                        document.getElementById("overlayLocContent").innerHTML = ajaxBadL.responseText;
                    }
                }
            }

            el = document.getElementById("overlayLoc");
            //el.style.visibility = "visible";
            el.style.display = "block";

            var url = "post/getlocations2.php?type=overlay&q=" + document.getElementById("loca").value + "&id=*";
            ajaxBadL.open('GET', url, true);
            ajaxBadL.send(null);
            /*	
            if(document.getElementById("droploc").checked)
            {
            document.getElementById("overlayLocD2").style.display = "none"; 
            document.getElementById("overlayLocD").style.display = "block"; 
            }
            else
            {
            document.getElementById("overlayLocD2").style.display = "none"; 
            document.getElementById("overlayLocD").style.display = "none"; 
            }
            */
            return false;
        }
        else {
            document.getElementById("overlayLocP").style.display = "none";
            document.getElementById("overlayLocD2").style.display = "none";
        }

        /* Time to check the return depot. */
        var locd = document.getElementById("locd").value;
        if (parseInt(locd) == 0) {
            if (document.getElementById("locc").value == "Type an airport, city or town." ||
    document.getElementById("locc").value.length < 3) {
                el = document.getElementById("overlayLoc");
                //el.style.visibility = "hidden";
                el.style.display = "none";
                alert("Please enter a valid drop off location.");
                return false;
            }
            //document.getElementById("overlayLocD").style.display = "none"; 

            document.getElementById("overlayLocD2").style.display = "block";
            scroll(0, 0);
            if (getIEVersionNumber() <= 6) {
                document.getElementById("pTime").style.visibility = "hidden";
                document.getElementById("dTime").style.visibility = "hidden";
                document.getElementById("cClass").style.visibility = "hidden";
            }
            ajaxBadL = createAjaxObj();
            //ania ma kota
            ajaxBadL.onreadystatechange = function() {
                if (ajaxBadL.readyState == 4)
                    if (ajaxBadL.status == 200)
                    document.getElementById("overlayLocContent2").innerHTML = ajaxBadL.responseText;
            }

            el = document.getElementById("overlayLoc");
            //el.style.visibility = "visible";
            el.style.display = "block";

            var url = "post/getlocations2.php?type=overlay&q=" + document.getElementById("locc").value + "&id=" + document.getElementById("country1").value;
            ajaxBadL.open('GET', url, true);
            ajaxBadL.send(null);

            return false;
        }


        return true;
}


function disableEnterKey(e) {
    var key;
    if (window.event)
        key = window.event.keyCode; //IE
    else
        key = e.which; //firefox      

    return (key != 13);
}


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_sm.php?";
        urlCT = urlCT + "pickup_lat=" + document.getElementById('pickup_lat').value;
        urlCT = urlCT + "&pickup_lon=" + document.getElementById('pickup_lon').value;
        urlCT = urlCT + "&dropoff_lat=" + document.getElementById('dropoff_lat').value;
        urlCT = urlCT + "&dropoff_lon=" + document.getElementById('dropoff_lon').value;
        urlCT = urlCT + "&pickup=" + document.getElementById('loca').value;
        urlCT = urlCT + "&dropoff=" + document.getElementById('locc').value;
        urlCT = urlCT + "&request_id=" + ran_number;
        request_id2 = ran_number;
        //alert(urlCT);        
        
	urlCT=urlCT+"&dropoff="+document.getElementById('drop_locb').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
        if(document.getElementById('cClass').value == "Small")
		{
			urlCT=urlCT+"&mini=Mini";
			urlCT=urlCT+"&economy=Economy";
			urlCT=urlCT+"&compact=Compact";
		}
		if(document.getElementById('cClass').value == "Medium")
		{
			urlCT=urlCT+"&compact=Compact";
			urlCT=urlCT+"&intermediate=Intermediate";
			urlCT=urlCT+"&standard=Standard";
			
		}
		if(document.getElementById('cClass').value == "Large")
		{
			urlCT=urlCT+"&fullsize=Fullsize";
			urlCT=urlCT+"&premium=Premium";
			urlCT=urlCT+"&luxury=Luxury";
			urlCT=urlCT+"&special=Special"
			
		}
		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
//alert(urlCT);

	// 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);

//	document.getElementById("filter1").innerHTML = urlCT;
	req_co();
	ret_req_co = setInterval("req_co()", 1000);

	lProgress = 0;
	lProgressReturned = 0;
//	progress_bar = setInterval("UpdateProgressBar()", 1000);
	return;
}

//var progress_bar = setInterval("UpdateProgressBar()", 1000);

function filterClassFeedSuburb(sName, bOn) 
{
//    alert(sName);
//alert(    document.getElementById('suburbs').value);
    var sSuburbs = String(document.getElementById('suburbs').value).toLowerCase();
    sName = String(sName).toLowerCase();
 SetFieldS("filter1", aSuburbs);
 return;
    // if on then turn it off
    if (bOn) 
    {
        if (sSuburbs.indexOf(sName) >= 0) 
        {
            sSuburbs = sSuburbs.replace(',' + sName, '');
            sSuburbs = sSuburbs.replace(sName, '');
        }
    }

    // if off turn it on
    else 
    {
        if (sSuburbs != '') {
            sSuburbs += ',';
        }
        sSuburbs += sName;
    }
    document.getElementById('suburbs').value = sSuburbs;
    //alert(document.getElementById('suburbs').value);
    filterClass();


}


function filterClassFeed(sName, bOn) 
{
    var sFeeds = String(document.getElementById('feeds').value);

    // if on then turn it off
    if (bOn) 
    {
        if (sFeeds.indexOf(sName) >= 0) 
        {
            sFeeds = sFeeds.replace(',' + sName, '');
            sFeeds = sFeeds.replace(sName, '');
        }
    }

    // if off turn it on
    else 
    {
        if (sFeeds != '') 
        {
            sFeeds += ',';
        }
        sFeeds += sName;
    }
    document.getElementById('feeds').value = sFeeds;

    filterClass();


}



    var map = null;
    function GoogleMapInitiallise(lon, lat, zoom) 
    {
        
        if (GBrowserIsCompatible()) 
        {
            if (map != null) 
            {
                delete map;
                map = null;
            }    
      
            map = new GMap2(document.getElementById("map_canvas"));
            map.setCenter(new GLatLng(lat, lon), 12);
            map.setUIToDefault();

            map.removeMapType(G_HYBRID_MAP);
            map.removeMapType(G_SATELLITE_MAP);
            map.removeMapType(G_PHYSICAL_MAP);                


        }
        
        return map;
    }

function filterClass()
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}

	var url = "/post/filterClass.php";
	url = url + "?request=" + request_id2;
	url = url + "&sid=" + Math.random();

	if (document.filterResults.Mini.checked) {
	    url = url + "&mini=true"
	}
    else
	{
	    url = url + "&mini=false"
	}
	if (document.filterResults.Economy.checked) {
	    url = url + "&economy=true"
	}
	else
	{
		url=url+"&economy=false"	
	}
	if (document.filterResults.Compact.checked) 
	{
	    url = url + "&compact=true"
	}
    else
	{
	    url = url + "&compact=false"
	}
	if (document.filterResults.Intermediate.checked) 
	{
	    url = url + "&intermediate=true"
	}
	else
	{
		url=url+"&intermediate=false"	
	}
	if(document.filterResults.Standard.checked)
	{
		url=url+"&standard=true"	
	}
    else
	{
	    url = url + "&standard=false"
	}
	if (document.filterResults.Fullsize.checked)
	{
		url=url+"&fullsize=true"
    }
    else
	{
	    url = url + "&fullsize=false"
	}
	if (document.filterResults.Premium.checked) {
	    url = url + "&premium=true"
	}
    else
	{
	    url = url + "&premium=false"
	}
	if (document.filterResults.Luxury.checked) {
	    url = url + "&luxury=true"
	}
	else {
	    url = url + "&luxury=false"
	}
	if (document.filterResults.Special.checked) 
	{
	    url = url + "&special=true"
	}
    else
	{
		url=url+"&special=false"	
	}
	if(document.filterResults.awd.checked) {
	    url = url + "&awd=true"
	}
	else
	{
	    url = url + "&awd=true"
	}
	if (document.filterResults.Van.checked)
	{
		url=url+"&van=true"	
	}
    else
	{
	    url = url + "&van=false"
	}

	if(document.filterResults.Hybrid.checked) {
	    url = url + "&hybrid=true"
	}
    else
	{
	    url = url + "&hybrid=false"
	}
	// Aircon yes
	if(document.filterResults.aircon[0].checked)
	{
	    url = url + "&aircon=1";
	}
	// Aircon no
	if(document.filterResults.aircon[1].checked)
	{
	    url = url + "&aircon=0";
	}
	// aircon dont care
	if(document.filterResults.aircon[2].checked)
	{
	    url = url + "&aircon=2";
	}
	
    // automatic - no
	if(document.filterResults.trans[0].checked)
	{
	    url = url + "&auto=0";
	}
	// auto no
	if(document.filterResults.trans[1].checked)
	{
	    url = url + "&auto=1";
	}
	if(document.filterResults.trans[2].checked)
	{
	    url = url + "&auto=2";
	}

	url = url + "&ifrom=0";
	url = url + "&ito=100";
	
	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"

//	alert(document.getElementById('suburbs').value);

	url = url + "&feeds=" + document.getElementById('feeds').value;
	url = url + "&suburbs=" + document.getElementById('suburbs').value;
    
	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("awd").checked && document.getElementById("Van").checked)
	if(document.getElementById("awd").checked && document.getElementById("Van").checked && document.getElementById("Hybrid").checked)
	{
		url=url+"&type=*"	
	}
	else
	{
		url=url+"&type=1"
	}
	//	alert(url);

//	SetFieldS("filter1", url);
	xmlHttp.onreadystatechange=stateChangedCount 
	xmlHttp.open("GET",url,true)

	xmlHttp.send(null)
	//	document.getElementById("filter1").innerHTML = url;
	
	return;
}

function filterClass2()
{
	if(document.getElementById("Mini").checked)		
		document.getElementById("mini2").value = 'Mini';
	else
	{
		document.getElementById("mini2").value = '';
	}
	
	if(document.getElementById("Economy").checked)
		document.getElementById("economy2").value = 'Economy';
	else
	{
		document.getElementById("economy2").value = '';
	}
	
	if(document.getElementById("Compact").checked)
		document.getElementById("compact2").value = 'Compact';
	else
	{
		document.getElementById("compact2").value = '';
	}
	
	if(document.getElementById("Intermediate").checked)
		document.getElementById("intermediate2").value = 'Intermediate';
	else
	{
		document.getElementById("intermediate2").value = '';
	}
	
	if(document.getElementById("Standard").checked)
		document.getElementById("standard2").value = 'Standard';
	else
	{
		document.getElementById("standard2").value = '';
	}
	
	if(document.getElementById("Fullsize").checked)
		document.getElementById("fullsize2").value = 'Fullsize';
	else
	{
		document.getElementById("fullsize2").value = '';
	}
	
	if(document.getElementById("Premium").checked)
		document.getElementById("premium2").value = 'Premium';
	else
	{
		document.getElementById("premium2").value = '';
	}
	
	if(document.getElementById("Luxury").checked)
		document.getElementById("luxury2").value = 'Luxury';
	else
	{
		document.getElementById("luxury2").value = '';
	}
	
	if(document.getElementById("Special").checked)
		document.getElementById("special2").value = 'Special';
	else
	{
		document.getElementById("special2").value = '';
	}

	if(document.getElementById("awd").checked)
	{
		document.getElementById("awd2").value = '4WD';
	}
	else
	{
		document.getElementById("awd2").value = '';
	}
	
	if(document.getElementById("Van").checked)
		document.getElementById("van2").value = 'Van';
	else
	{
		document.getElementById("van2").value = '';
	}

	if(document.getElementById("Hybrid").checked)
		document.getElementById("hybrid2").value = 'hybrid';
	else
	{
		document.getElementById("hybrid2").value = '';
	}

	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)
	{
		document.getElementById("class2").value = '*';
	}
	else
	{
		document.getElementById("class2").value = '1';
	}
	if(document.getElementById("awd").checked && document.getElementById("Van").checked && document.getElementById("Hybrid").checked)
	{
		document.getElementById("type2").value = '*';
	}
	else
	{
		document.getElementById("type2").value = '1';
	}
	
	if(document.filterResults.aircon[0].checked)
	{
		document.getElementById("aircon2").value = document.filterResults.aircon[0].value
	}
	if(document.filterResults.aircon[1].checked)
	{
		document.getElementById("aircon2").value = document.filterResults.aircon[1].value
	}
	if(document.filterResults.aircon[2].checked)
	{
		document.getElementById("aircon2").value = document.filterResults.aircon[2].value
	}
	
	if(document.filterResults.trans[0].checked)
	{
		document.getElementById("trans2").value = document.filterResults.trans[0].value
	}
	if(document.filterResults.trans[1].checked)
	{
		document.getElementById("trans2").value = document.filterResults.trans[1].value
	}
	if(document.filterResults.trans[2].checked)
	{
		document.getElementById("trans2").value = document.filterResults.trans[2].value
	}
	
	document.getElementById('pageNumber').value = 1;
	document.getElementById('hiddenPageForm').submit();
	return;	
}

function paging()
{
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request")
		return
	}
	
	var url="/post/filterClass.php"
	url=url+"?request="+request_id2
	url=url+"&sid="+Math.random()

	FORM_DATA = createRequestObject();
	
	for(key in FORM_DATA)
	{
		if(key != "sid")
		{
			url=url+"&"+key+"="+FORM_DATA[key];
		}
	}
	
	xmlHttp.onreadystatechange=stateChangedCount 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)	
	return;
}

function stateChangedCount() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("searchRightMiniSearch").style.display	=	"block";
		document.getElementById("searchRightFilter").style.display		=	"block";
		
		var response = Array();

		response = xmlHttp.responseText.split("@@*^^^*@@")

		if ((response[0] == 'relaunch') || (response[1] == 'relaunch')) 
		{
		    alert('Sorry but the session has ended. \n\nPlease click OK to start again.');
		    document.location = '/';
		}
		else {
		    document.getElementById("filter1").innerHTML = response[1]
		    document.getElementById("filter2").innerHTML = response[2]
		    document.getElementById("bookingForm").innerHTML = response[0]
		}
		//document.getElementById("loading").innerHTML = response[3]
		AnimateCarousel22(response[11]);

	}
	else
	{
		//document.getElementById("bookingForm").innerHTML="<img src=\"/images/updating.gif\" />"
	}
	return;
} 

function stateChangedFilter() 
{ 
	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="<img src=\"/images/updating.gif\" />"
	}
	document.getElementById("searchRightText").innerHTML='<h3>What to do next</h3><p>All you have to do now is to click on the cars that appeal to you.</p><p>We will load up the suppliers site which will give you more information on your car hire and the ability to make your booking.</p><p><strong>Click on as many as you like to compare each deal.</strong></p>';
	return;
} 

function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

function focusOnDropOff()
{
  hideLocOverlay(true);
}

function SetMapLocation(Lon, Lat) {
    map.setCenter(new GLatLng(Lat, Lon), 14);
}

function SetMapLocationBySupplier(Lon, Lat, Html, ObjName) 
{
    map.setCenter(new GLatLng(Lat, Lon), 15);
    var obj = aMarkers[String(ObjName).toUpperCase()];

    if (obj) 
    {
        obj.openInfoWindowHtml(Html);
    }
}

function ToggleGoogleMap(bOn, Lon, Lat) 
{
    var oMap = document.getElementById("map_view");

    if (bOn == false) 
    {
        oMap.style.visibility = "hidden";
        oMap.style.display = "none";
        
    }
    else 
    {
        oMap.style.visibility = "visible";
        oMap.style.display = "block";

        function createMarker(point, index, Address, Name, Logo) 
        {
            if (Logo != "") 
            {
                var letteredIcon = new GIcon();
                letteredIcon.shadow = "./images/thumbs/map/shadow.png";
                letteredIcon.iconSize = new GSize(  40, 36);
                letteredIcon.shadowSize = new GSize(72, 36);
                letteredIcon.iconAnchor = new GPoint(9, 34);
                letteredIcon.infoWindowAnchor = new GPoint(9, 2);
                letteredIcon.image = Logo;
            }

            else 
            {
                var baseIcon = new GIcon(G_DEFAULT_ICON);
                baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
                baseIcon.iconSize = new GSize(20, 34);
                baseIcon.shadowSize = new GSize(37, 34);
                baseIcon.iconAnchor = new GPoint(9, 34);
                baseIcon.infoWindowAnchor = new GPoint(9, 2);


                // Create a lettered icon for this point using our icon class
                var letter = String.fromCharCode("A".charCodeAt(0) + index);
                var letteredIcon = new GIcon(baseIcon);
                letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
            }

            // Set up our GMarkerOptions object
            markerOptions = { icon: letteredIcon };
            var marker = new GMarker(point, markerOptions);

            GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowHtml("<b>" + Name + "</b><br>" + Address);
            });
            
            
            
            return marker;
        }
        var GoogleMap = GoogleMapInitiallise(Lon, Lat, 12);

        aMarkers = new Array();
        
        for (var i = 0; i < aPins.length; i++) 
        {
            var aPin = String(aPins[i]).split("@@*^*@@");
    
            var lon = aPin[0];
            var lat = aPin[1];
            var Address = String(aPin[2]);
            var Price = String(aPin[3]);
            var Supplier = String(aPin[4]);
            //var Type = String(aPin[5]).toUpperCase();


            switch (String(aPin[5]).toUpperCase())
            {
                case "OAV":
                    Logo = "./images/thumbs/map/avis.png";
                break;
                case "OBG":
                    Logo = "./images/thumbs/map/budget.png";
                break;
                case "OHZ":
                    Logo = "./images/thumbs/map/hertz.png";
                break;
            case "OEU":
                Logo = "./images/thumbs/map/europcar.png";
                break;
            case "HA":
                Logo = "./images/thumbs/map/holiday_autos.png";
                break;
            case "OTH":
                Logo = "./images/thumbs/map/thrifty.png";
                break;
            case "EC":
                Logo = "./images/thumbs/map/easycar.png";
                break;
            case "CT":
                Logo = "./images/thumbs/map/121.png";
                break;
            default:
                    Logo = "";
                break;
            }

            if (lat != 0 && lon != 0) 
            {
                var latlng = new GLatLng(lat, lon);
                var marker = createMarker(latlng, i, Address, Supplier, Logo);

                GoogleMap.addOverlay(marker);

                var LookupName = String(aPin[5]).toUpperCase()+ lat + lon;

                aMarkers[LookupName] = marker;
            }

        }
    
    
    }
    
}


function hideLocOverlay(forceHide, locType)
{
  if(locType == 1 && document.getElementById("overlayLocP"))
    document.getElementById("overlayLocP").style.display = "none"; 

  if(locType == 2 && document.getElementById("overlayLocD2"))
    document.getElementById("overlayLocD2").style.display = "none"; 

  if(locType == 2 || forceHide || !document.getElementById("droploc").checked)
  {
    if(getIEVersionNumber() <= 6)
    {
	  if(document.getElementById("pTime"))
        document.getElementById("pTime").style.visibility = "visible";
	  if(document.getElementById("dTime"))
        document.getElementById("dTime").style.visibility = "visible";
	  if(document.getElementById("cClass"))
        document.getElementById("cClass").style.visibility = "visible";
    }
	if(document.getElementById("overlayLoc"))
	{
      el = document.getElementById("overlayLoc");
      //el.style.visibility = "hidden";
	  el.style.display = "none";
	}
  }
}

function tryPostingForm()
{
  if(!document.getElementById('pDate') || document.getElementById('pDate').value == "dd/mm/yyyy")
    return;

  if(!document.getElementById('dDate') || document.getElementById('dDate').value == "dd/mm/yyyy")
    return;

  document.frmSearch.submit();
}

function setLocation(str, postForm)
{
  hideLocOverlay(false, 1)
  var loc = new Array();
  loc = str.split('#');
  document.getElementById("loca").value=loc[2];
  document.getElementById("locb").value=loc[1];
  document.getElementById("country1").value=loc[0];
  if(document.getElementById("loc"))
    document.getElementById("loc").innerHTML = "";

  if(postForm && !document.getElementById("droploc").checked)
    tryPostingForm();
  
  if(postForm && document.getElementById("droploc").checked)
    checkEnteredLocation();
}

function setLocation2(str, postForm)
{
  hideLocOverlay(false, 2)
  var loc = Array();

  loc = str.split('#');
  document.getElementById("locc").value=loc[2];
  document.getElementById("locd").value=loc[1];
  //document.getElementById("country2").value=loc[0];

  if(document.getElementById("loc2"))
    document.getElementById("loc2").innerHTML="";

  if(postForm)	tryPostingForm();
}

function showDrop(miniSearch)
{
	if(document.frmSearch.droploc.checked)
	{
	    if (miniSearch) 
		{
			document.getElementById("dropMini").innerHTML='<label for="locc">Drop Off Location</label><br /><input id="locc" name="locc" class="textInput" type="text" value="Type an airport, city or town." onfocus="clearbox(this)" autocomplete="off" /><br />';
        }
        else 
		{
		    document.getElementById("drop").style.visibility = "visible";
		    document.getElementById("drop").style.display = "block";
		    //document.getElementById("drop").style.visibility = 'hidden';
		    //			document.getElementById("drop").innerHTML='<div class="mainSearchFormField"><label for="locc">Drop Off Location</label><br /><input id="locc" name="locc" type="text" value="Type an airport, city or town." onfocus="clearbox(this)" autocomplete="off" /><br /></div>';
		}
//		alert("ShowDrop called...1");
		//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
	{
	    if (miniSearch) 
		{
			document.getElementById("dropMini").innerHTML='';
        }
        else 
		{
		//	document.getElementById("drop").innerHTML='';
//		    document.getElementById("drop").style.display = "block";
		    document.getElementById("drop").style.visibility = 'hidden';
		    document.getElementById("drop").style.display = "none";
//		    alert("ShowDrop called...2");

}
		
		//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(elm)
{
	if(elm.value == "Airport, City or Suburb.")	
	{
		elm.value = "";
	}
	else if(elm.value == "Please enter a location.")	
	{
		elm.value = "";
	}
	else if(elm.value == "Type an airport, city or town.")	
	{
		elm.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; 
		}
	}
}

function checkText(el)
{
	if(el.value == "")
	{
		el.value = "dd/mm/yyyy";
	}
}

function overlayX1() 
{
	el = document.getElementById("overlayX1");
	el.style.display = (el.style.display == "block") ? "none" : "block";
}

function overlayX2() 
{
	el = document.getElementById("overlayX2");
	el.style.display = (el.style.display == "block") ? "none" : "block";
}

function overlayX3() 
{
	el = document.getElementById("overlayX3");
	el.style.display = (el.style.display == "block") ? "none" : "block";
}

function toggleMiniSearch()
{
	
	if(document.getElementById("searchRightMiniSearchBody").style.display == "block")
	{
		document.getElementById("searchRightMiniSearchBody").style.display	=	"none";
	}
	else
	{
		document.getElementById("searchRightMiniSearchBody").style.display	=	"block";
	}
}

function toggleFilter()
{
	
	if(document.getElementById("searchRightFilterBody").style.display == "none")
	{
		document.getElementById("searchRightFilterBody").style.display		=	"block";
	}
	else
	{
		document.getElementById("searchRightFilterBody").style.display		=	"none";
	}
}

function ChangeTab(On, lat, lon) 
{
    SetMapLocation(lon, lat);
    for (var i = 1; i <= 10; i++) 
    {
        var sDivTitle = "loc_tab_title_" + i;
        var sDiv = "loc_tab_" + i;

        
        var dDivTitle = document.getElementById(sDivTitle);
        var dDiv = document.getElementById(sDiv);

        if (dDivTitle) 
        {
            if (i == On) 
            {
                dDivTitle.className = "selected";
                dDiv.style.display = "block";
//                dDiv.style.visibility = "visible";
            }
            else 
            {
                dDivTitle.className = "s_tab";
                dDiv.style.display = "none";
//                dDiv.style.visibility = "hidden";
            }
        }
        else
        {
            break;
        }        
    }
}
function ShowType(name, b) {
    var obj = document.getElementById(name + "_expand");

    if (obj) {
        if (b == true) {
            obj.style.visibility = "visible";
            //obj.style.display = "block";
        }
        else {
            obj.style.visibility = "hidden";
            //obj.style.display = "none";
            obj.innerHTML = "";
        }
    }
}

function ChangeType(name) {

    var obj = document.getElementById(name);
    if (obj) 
    {
        var sData = obj.value;

        if (sData.length >= 3) 
        {
            ShowType(name, true);

            var http_request = createAjaxObj();

            http_request.onreadystatechange = function() { outType(name, http_request); };

            var url = "/post/getlocations2.php?n=" + name + "&q=" + sData;

            http_request.open("GET", url, true);
            http_request.send(null);
        }
    }
}





function outType(name, http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            var obj = document.getElementById(name + "_expand");

            if (obj) 
            {
                obj.innerHTML = http_request.responseText;
            }
            $("#" + name + "_expand").treeview({
                speed: "slow", collapsed: true
            });
        }
    }
}
function selectLocation(SuburbLon, SuburbLat, sGeoCountry, Suburb, Name, Zoom) 
{
    var obj = document.getElementById(Name + "_expand");
    var objName = document.getElementById(Name);

    objName.value = Suburb;

    if (obj) 
    {
        ShowType(Name, false);
    }

    /* Now set the lat/lon */
    {
        if (Name == 'loca')
        {
            document.getElementById('pickup_lon').value = SuburbLon;
            document.getElementById('pickup_lat').value = SuburbLat;

            document.getElementById('dropoff_lon').value = SuburbLon;
            document.getElementById('dropoff_lat').value = SuburbLat;

            document.getElementById('locc').value = Suburb;

            var oMap = document.getElementById("byline_map");
            var oOz = document.getElementById("byline");

            {
                oOz.style.display = "none";
                oOz.style.visibility = "hidden";

                oMap.style.visibility = "visible";
                oMap.style.display = "block";

                initialize(SuburbLat, SuburbLon, Zoom, Name);
            }
        }
        
        if (Name == 'locc')
        {
            document.getElementById('dropoff_lon').value = SuburbLon;
            document.getElementById('dropoff_lat').value = SuburbLat;
        }
    }
}



function initializeGoogleMap(lat, lon, zoom, bPickup) 
{
    if (bPickup) 
    {
        Name = "depotmappickup";
        Name2 = "depotmapdropoff";
    }
    else
    {
        Name2 = "depotmappickup";
        Name = "depotmapdropoff";
    }
    alert(Name);

        var oOpen = document.getElementById(Name);
        var oClose = document.getElementById(Name2);

        oClose.style.display = "none";
        oClose.style.visibility = "hidden";

        oOpen.style.display = "block";
        oOpen.style.visibility = "visible";

        if (GBrowserIsCompatible()) 
	    {
		    var point = new GLatLng(lat, lon);
		    var tempLat;
		    var tempLon;
		    var tempName = Name;
     
            var map = new GMap2(document.getElementById(Name));
            map.setCenter(point, zoom);
            map.setUIToDefault();
     
		    var baseIcon = new GIcon(G_DEFAULT_ICON);
            baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
            baseIcon.iconSize = new GSize(20, 34);
            baseIcon.shadowSize = new GSize(37, 34);
            baseIcon.iconAnchor = new GPoint(9, 34);
            baseIcon.infoWindowAnchor = new GPoint(9, 2);
        }
    }
    


