// 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;
var GoogleMap = '';
var bShown = false;
var iSecs = 0;
var iSearch = 0;

function showDrop() 
{

    if (document.frmSearch.droploc.checked) 
    {
        document.getElementById("drop").style.visibility = "visible";
        document.getElementById("drop").style.display = "block";

    }
    else {
        document.getElementById("drop").style.visibility = "hidden";
        document.getElementById("drop").style.display = "none";
    }
}

function expandcars(bExpand) 
{
	try
	{
		
		if (bExpand) 
		{
			document.getElementById("morecar_open").style.visibility = "hidden";
			document.getElementById("morecar_open").style.display = "none";
			document.getElementById("morecar_closed").style.visibility = "visible";
			document.getElementById("morecar_closed").style.display = "block";
		}
		else
		{
			document.getElementById("morecar_closed").style.visibility = "hidden";
			document.getElementById("morecar_closed").style.display = "none";
			document.getElementById("morecar_open").style.visibility = "visible";
			document.getElementById("morecar_open").style.display = "block";
		}
	}
	catch(e)
	{
		alert(e);
	}
}


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;
}





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;
//            alert(http_request.responseText);
            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");

                SetFieldS("bookingForm", response[0]);

                if (response[3] == "done") 
                {
                    SetFieldS("pleasewait", "");
                    clearInterval(ret_req_co);
                    SetFieldS("bookingForm", response[0]);


                    if (String(response[0]).search("Sorry but we couldnt find any cars") >= 0)
                    {
                        var adsense = document.getElementById("adsense");

                        if (adsense) {
                        
                            adsense.style.visibility = "visible";
                            adsense.style.display = "block";                       
                        }
                    }
            
                    
            

                    // Get map pins
                    {
//                        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=&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];

                   // initialize(MapLat, MapLon, MapZoom, "map_canvas");

                    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);
            ToggleGoogleMap(true, document.getElementById('pickup_lon').value, document.getElementById('pickup_lat').value);

            {
                $().ready();
            }
        }
    }
}


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() {

    iSecs--;

    var sSecs = "<h1><center>Please Wait - search complete in " + iSecs + " seconds...</center></h1>";

    if (iSecs < 1) 
    {
        sSecs = "<h1><center>Scan finishing....</center></h1>";    
    }
    document.getElementById("secondsleft").innerHTML = sSecs;
    
    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";


            if (iSearch > 1)
            	url += "&reload=1";
            
            http_request.open('GET', url, true);
            http_request.send(null);
        }
    }
    iSearch++;
}



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 checkEnteredLocationMini() 
{
    var msg = new String("hello");

    if (document.getElementById("mloca").value == "Airport, City or Suburb." || document.getElementById("mloca").value.length < 3) {
        msg = "Please enter a valid pick up location.\n";
    }
    else if (document.getElementById("mlocc").value == "Airport, City or Suburb." || document.getElementById("mlocc").value.length < 3) {
        msg = "Please enter a valid dropoff up location.\n";
    }
    else if (document.getElementById("mpDate").value == "dd/mm/yyyy" || document.getElementById("mpDate").value.length < 3) {
        msg = msg.concat("Please select a valid pick up date. \n")
    }

    if (document.getElementById("mdDate").value == "dd/mm/yyyy" || document.getElementById("mdDate").value.length < 3) {
        msg = msg.concat("Please select a valid dropoff date.\n")
    }
    if (msg != "") {
        alert(msg);          
        return false;
    }
    return true;
}

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;


}


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() 
{


    //alert("submit called...");
	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 + "/newgetAllPost_sm.php?";
        
        
        urlCT = urlCT + "Residence=" + document.getElementById('Residence').value;
        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=0";
        urlCT = urlCT + "&country=";

        urlCT=urlCT+"&irand="+ran_unrounded;

	// 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;
	iSecs = 21;
	req_co();
	
	//req_co_fds();
	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 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) 
    {
       
        GoogleMap.removeOverlay(obj);
        
        GoogleMap.addOverlay(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 
    {
        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 = "/images/google/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 = "/images/google/marker" + letter + ".png";
            }

            // Set up our GMarkerOptions object
            markerOptions = { icon: letteredIcon, maxWidth: '150' };
            Options = { maxWidth: '150' };
            var marker = new GMarker(point, markerOptions);
            
            


            GEvent.addListener(marker, "click",
                function() {

            marker.openInfoWindowHtml(Name + "</b><br>" + Address ,
                                         { maxWidth: 150 });
                }
            );
            
            
            
            return marker;
        }

        if (oMap) 
        {
            oMap.style.visibility = "visible";
            oMap.style.display = "block";
        }
        
        GoogleMap = GoogleMapInitiallise(Lon, Lat, 12);

        if (GoogleMap) 
        {
            aMarkers = new Array();

            for (var i = 0; i < aPins.length; i++) {
                var aPin = String(aPins[i]).split("@@*^*@@");

                var lonFrom = aPin[0];
                var latFrom = aPin[1];
                var Address = String(aPin[2]);
                var Price = String(aPin[3]);
                var Supplier = String(aPin[4]);
                var PinData = String(aPin[6]);
                var lonTo = aPin[7];
                var latTo = aPin[8];
                var PinDataTo = String(aPin[9]);


                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 "OHA":
                    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 "OCT":
                        Logo = "./images/thumbs/map/121.png";
                        break;
                    default:
                        Logo = "";
                        break;
                }

                if (latFrom != 0 && lonFrom != 0) 
                {
                    var latlngFrom = new GLatLng(latFrom, lonFrom);
                    var latlngTo = new GLatLng(latTo, lonTo);

                    var marker = createMarker(latlngFrom, i, PinData, Supplier, Logo);
                    GoogleMap.addOverlay(marker);


                    if (latFrom != latTo || lonFrom != lonTo) 
                    {
                        var polyline = new GPolyline([latlngFrom, latlngTo], "#ff0000",1);
                        GoogleMap.addOverlay(polyline);

                        var markerTo = createMarker(latlngTo, i, PinDataTo, Supplier, Logo);
                        GoogleMap.addOverlay(markerTo);
                    }


                    var LookupName = String(aPin[5]).toUpperCase() + latFrom + lonFrom;
                    
                    aMarkers[LookupName] = marker;
 
 
                }

            }

        }    
    }
    
}






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 = "";
	}
	if (elm.value == "Type your email address") 
	{
	    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 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;
//alert("1");

            document.getElementById('dropoff_lon').value = SuburbLon;
            document.getElementById('dropoff_lat').value = SuburbLat;
//alert("2");

            document.getElementById('locc').value = Suburb;
//alert("3");

            var oMap = document.getElementById("byline_map");
            var oOz = document.getElementById("byline");
//alert(oOz);
            if (oOz)
            {
                oOz.style.display = "none";
                oOz.style.visibility = "hidden";
            }
            
//alert("5");
            if (oMap)
            {

                oMap.style.visibility = "visible";
                oMap.style.display = "block";

//alert("6");
                    initialize(SuburbLat, SuburbLon, Zoom, Name);
        //alert("7");
    
            }
        }
        
        
        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 = "/images/google/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);
        }
    }




