// Reference to the vehicle description IFRAME element.
var _vehIFrame = null; var _carSelectorReferencesInitialized = false;		

// Images that displays vehicle info.
var _vehImage = null; var _passengerAdultImg = null; var _passengerChildImg = null; var _luggageLargeImg = null;
var _luggageSmallImg = null; var _fuelCapacityImg = null;

// TD Columns that hold the images.
var _tdPassengerAdultImg = null; var _tdPassengerChildImg = null; var _tdLuggageLargeImg = null; 
var _tdLuggageSmallImg = null; var _tdFuelCapacityImg = null;

// Update link to more features.
var _linkMoreFeatures = null; var _vehTypesList = null;  var _resVehTypesList = null; // QCS and Res Panel CarType Dropdowns
var _pickupLocationHiddenInput = null; // pickup code hidden input.
var _carSelectorCountryCode = null;

function displayVehType()  // update car type in res panel when QCS car type changes.
{	if (!_carSelectorReferencesInitialized) { setVehicleDescriptionObjectReferences(); }
	var vehType = _vehTypesList[_vehTypesList.selectedIndex].value;	// Retrieve the currently selected vehicle type.
	var locCode = getResLocationCode(); var countryCode = getSelectedCountryCode();
	updateResCarType(vehType);// Update the vehicle type in the res UC.
	
	if(!document.createElement) {document.forms[0].submit();}
	else{getVehicleDescriptionAsync(vehType, locCode, countryCode);}
}

function displayQCSelecterCarType()	 // update car type in QCS when res panel car type changes.
{  if (!_carSelectorReferencesInitialized) { setVehicleDescriptionObjectReferences(); }
	var vehType = _resVehTypesList[_resVehTypesList.selectedIndex].value;  // Retrieve the currently selected vehicle type.
	var locCode = getResLocationCode(); var countryCode = getSelectedCountryCode();
	updateQCSelectorCarType(vehType);
	if(!document.createElement){document.forms[0].submit();}
	else{getVehicleDescriptionAsync(vehType, locCode, countryCode);}
}

function getResLocationCode()   // get res panel location code.
{	var locCode = "";
	if(_pickupLocationHiddenInput != null){locCode = _pickupLocationHiddenInput.value;}
	if (locCode==""){locCode = "TUL";}return locCode;
}

function getSelectedCountryCode(){return _carSelectorCountryCode[_carSelectorCountryCode.selectedIndex].value;}

// Set references to HTML objects we will need to interact with.
function setVehicleDescriptionObjectReferences()
{	_linkMoreFeatures = document.getElementById("ctlCarSelector_linkMoreFeatures");
	// Set the Image References
	_vehImage = document.getElementById("ctlCarSelector_imgCarSelector");
	_passengerAdultImg = document.getElementById("ctlCarSelector_imgPassLarge");
	_passengerChildImg = document.getElementById("ctlCarSelector_imgPassSmall");
	_luggageLargeImg = document.getElementById("ctlCarSelector_imgLuggageLarge");
	_luggageSmallImg = document.getElementById("ctlCarSelector_imgLuggageSmall");
	_fuelCapacityImg = document.getElementById("ctlCarSelector_imgFuel");
	
	// Set the TD Image References.	
	_tdPassengerAdultImg = document.getElementById("ctlCarSelector_tdPassLarge");
	_tdPassengerChildImg = document.getElementById("ctlCarSelector_tdPassSmall");
	_tdLuggageLargeImg = document.getElementById("ctlCarSelector_tdLuggageLarge");
	_tdLuggageSmallImg = document.getElementById("ctlCarSelector_tdLuggageSmall");
	_tdFuelCapacityImg = document.getElementById("ctlCarSelector_tdFuel");

	// Vehicle type list.
	_vehTypesList = document.getElementById("ctlCarSelector_ddlCarType");
	_resVehTypesList = document.getElementById("res1_car_type");
	
	// Pickup location hidden input.
	_pickupLocationHiddenInput = document.getElementById("res1_pcode");
	
	// Country code in car selector.
	_carSelectorCountryCode = document.getElementById("ctlCarSelector_ddlCountry");
	_carSelectorReferencesInitialized = true;
}

function getVehicleDescriptionAsync(vehType, locCode, countryCode)
{	
	var qcsURL; var qs = "VehicleType=" + vehType + "&Location=" + locCode + "&Country=" + countryCode;
	// CHECK FOR SECURE PAGE
	if (_isHttps()){qcsURL = "/includes/utils/_rpcGetVehicleDescriptionHttps.aspx?";}
			   else{qcsURL = "/includes/utils/_rpcGetVehicleDescription.aspx?";}
	// CHECK FOR COOKIELESS USER 
	if(document.getElementById("ctlCarSelector_RockStr").value != '')
	{ 	_rpc(qcsURL + document.getElementById("ctlCarSelector_RockStr").value + "&" + qs);
		_linkMoreFeatures.href = "/fleet/details.aspx?" + document.getElementById("ctlCarSelector_RockStr").value
		+ "&car_type=" +vehType +"&country=" +countryCode;
	}else{ _rpc(qcsURL + qs); _linkMoreFeatures.href = "/fleet/details.aspx?car_type=" +vehType +"&country=" +countryCode;}
}

// called from the callback page _rpcGetVehicleDescription.aspx
function getVehicleDescriptionCallback(
	imgName,passengerAdult,passengerChild,luggageLarge,luggageSmall,fuelCapacity,shortDescription,make,model)

{
	_vehImage.src = imgName;
	_vehImage.alt = make + model + " or similar";
	document.getElementById("ctlCarSelector_carTypeShortDescriptionLabel").innerHTML = shortDescription;
	document.getElementById("ctlCarSelector_carTypeMakeModelLabel").innerHTML = make;	
	
	if(passengerAdult == ""){_tdPassengerAdultImg.style.display="none";}
	else{ _passengerAdultImg.style.width = "20px"; _passengerAdultImg.style.height = "45px";
		  _tdPassengerAdultImg.style.display="";   _passengerAdultImg.src = passengerAdult; }
	   
	if(passengerChild == ""){_tdPassengerChildImg.style.display="none";}
	else{ _passengerChildImg.style.width = "16px";	_passengerChildImg.style.height = "35px";
		  _passengerChildImg.src = passengerChild;	_tdPassengerChildImg.style.display="";  }
	
	if(luggageLarge == ""){	_tdLuggageLargeImg.style.display="none";}
	else{ _luggageLargeImg.style.width = "23px"; _luggageLargeImg.style.height = "19px";
		  _luggageLargeImg.src = luggageLarge;   _tdLuggageLargeImg.style.display=""; }
	
	if(luggageSmall == ""){_tdLuggageSmallImg.style.display="none";	}
	else { _luggageSmallImg.style.width = "19px"; _luggageSmallImg.style.height = "15px";
		    _luggageSmallImg.src = luggageSmall;  _tdLuggageSmallImg.style.display=""; }
	
	if(fuelCapacity == ""){	_tdFuelCapacityImg.style.display="none";}
	else{ _fuelCapacityImg.style.width = "30px"; _fuelCapacityImg.style.height = "38px";
		  _fuelCapacityImg.src = fuelCapacity;   _tdFuelCapacityImg.style.display=""; }
}

function updateResCarType(carType){  
   if(_resVehTypesList != null){
     for (var i=0; i<_resVehTypesList.options.length; i++){
      if (_resVehTypesList.options[i].value==carType){ _resVehTypesList.options[i].selected = true;return;} }  } 
}

function updateQCSelectorCarType(carType){  
	for (var i=0; i<_vehTypesList.options.length; i++) { 
	if (_vehTypesList.options[i].value==carType){ _vehTypesList.options[i].selected = true;return;}  }	
}
