

	/*
	 ========================
	 * REPLACEMENT CONTROL METHODS
	 ========================
	 */
		
		/*
		 ***************************************
		 * PAGE SPECIFIC ASSETS
		 ***************************************
		 */
		
			sIFR.replacePageAssets = function() 
			{
				//
				// SEARCH RESULTS
				//
				var searchResults = $("body > div.main-container > div.results-container");
			
				if (searchResults.length > 0)
				{
					sIFR.replace(sIFR.styles.FONT_1_STYLE_4, 
					{
						selector:	"div.main-container > div.uvl-container > div.vehicle-list-container h3:not(.header-details)"
									+ ", div.main-container > div.uvl-container > div.search-criteria-container > form > h3"
									+ ",div.main-container > div.uvl-container > div.closely-matching-vehicles > h3"
					});
					
					sIFR.replace(sIFR.styles.FONT_1_STYLE_1, 
					{
						selector:	"div.main-container > div.uvl-container > div.vehicle-list-container h3.header-details"
					});
					
					/*
					sIFR.replace(sIFR.styles.FONT_1_STYLE_4_MIXED, 
					{
						selector:	"div.main-container > div.uvl-container > div.vehicle-list-container h3"
					});
					*/
					
					
					
					var isNoResults = ($("div.main-container > div.uvl-container > div.vehicle-list-container  div.results-details-container > div.result-items-container div#no-results-display-container").length > 0) ? true : false;
					
					if (isNoResults)
					{
						sIFR.replace(sIFR.styles.FONT_3_STYLE_1, 
						{
							selector : "div#no-results-display-container > div.content > h4"
						});
					}
				}
			}




/*
 **************
 * IMPORTANT :: All runtime instance declarations MUST be bound to document 'js-class-setup' event
 **************
 */

$(document).bind("js-class-setup", function() 
{
	// Setup runtime namespace if doesn't exist
	if (!manheim.global.isNamespaceDefined("manheim.portfolio.runtime.display.views")) manheim.global.createNamespace("manheim.portfolio.runtime.display.views", "1.0");
	
	// Create class instance
	manheim.portfolio.runtime.display.views.ResultsView = new manheim.portfolio.lexus.display.views.ResultsView();
	
});



/**
*****************************************************************
* Results view
*****************************************************************
* Author : Craig Ashford
*/

	//Check that namespace into which the Class definition will be creates has been defined & if not then create
	if (!manheim.global.isNamespaceDefined("manheim.portfolio.lexus.display.views")) manheim.global.createNamespace("manheim.portfolio.lexus.display.views", "1.0");

	manheim.portfolio.lexus.display.views.ResultsView = Object.subClass(
		{
			
			/*
			 =============================
			 CONSTANTS
			 =============================
			 */
				"T_VEHICLE_ITEM"			: "div.vehicle-item",
				"T_C02_LINK"				: "a.emmisions",	
				"T_VEHICLE_TITLE"			: "p.full-title",
				"T_VEHICLE_REGISTRATION"	: "p.registration", 
				"T_CO2_CATEGORY"			: "p.CO2-category",
				"T_C02_RATING"				: "p.CO2-rating", 
				"T_VEHICLE_PRICE"			: "h5.price",
				"T_CO2_LIGHTBOX"			: "#divEmissionsContainer",
				"T_CO2_DIAGRAM_CONTAINER"	: "div.CO2-diagram-container",
				"L_VEHICLE_TITLE"			: "h5.vehicle-title",
				"L_VEHICLE_REG"				: "p.description-registration",
				"L_VEHICLE_PRICE"			: "p.description-price",
				
			/*
			 =============================
			 CONFIGURATION PROPERTIES (instance configuration)
			 =============================
			 */
			
			
			
			/*
			 =============================
			 CONSTRUCTOR
			 =============================
			 */
				"init" : function ()
				{
					this._setup();
				},
			
			
			
			/*
			 =============================
			 INTERNAL RUN-TIME PROPERTIES
			 =============================
			 */
			
			
			
			/*
			 =============================
			 PUBLIC METHODS
			 =============================
			 */
			
			
			
			/*
			 =============================
			 INTERNAL METHODS
			 =============================
			 */
				/*
				 =============================
				 UTILITIES
				 =============================
				 */
					

					
					
				/*
				 =============================
				 SETUP
				 =============================
				 */
					"_setup" : function ()
					{
						this._setUpEmmisionsLightBox();
					},
					
					
					
					
					"_setUpEmmisionsLightBox" : function ()
					{
						var __this = this;
						
						// Find all vehice items and click functionality for enquiry form
						
						var items = $(this.T_VEHICLE_ITEM);
						
						items.each(
							function ()
							{
								var $this = $(this);
								
								$this.find(__this.T_C02_LINK).bind("click",
									function (e){
										e.preventDefault();
										__this._populateVehicleDetails($this);
										__this._showCo2LightBox($this);
									}
								);
							}
						);
						
					},
					
				/*
				=============================
				EVENT HANDLERS
				=============================
				*/	
				
				//show the lightbox on the page
				"_showCo2LightBox" : function(jqTarget)
				{
					var tmp = jqTarget.find(this.T_C02_LINK);
					var url = jqTarget.find(this.T_C02_LINK).attr("href");
					var parameters = uiBox_GetQueryString(url);
					uiBox_Show(parameters, url);
				},
					
			
				/*
				 =============================
				 ACCESSORIES FEATURE SPECIFIC PROPERTIES / METHODS
				 =============================
				 */
					
			
			
				/*
				 =============================
				 DISPLAY CONTROL
				 =============================
				 */
				"_populateVehicleDetails" : function (jqTarget)
				{
					//Assign the current target vehicle details to variables
					var title = jqTarget.find(this.T_VEHICLE_TITLE).text();
					var registration = jqTarget.find(this.T_VEHICLE_REGISTRATION).text();
					var price = jqTarget.find(this.T_VEHICLE_PRICE).text();
					var co2Container = jqTarget.find(this.T_CO2_DIAGRAM_CONTAINER);
					var co2Category = jqTarget.find(this.T_CO2_CATEGORY).text();
					var co2Rating = jqTarget.find(this.T_C02_RATING).text();
					
					var vehicleContainer = $(this.T_CO2_LIGHTBOX);
					
					//Locate and replace details in lightbox
					vehicleContainer.find(this.L_VEHICLE_TITLE).text(title);
					vehicleContainer.find(this.L_VEHICLE_REG).text(registration);
					vehicleContainer.find(this.L_VEHICLE_PRICE).text(price);
					vehicleContainer.find(this.T_CO2_CATEGORY).text(co2Category);
					vehicleContainer.find(this.T_C02_RATING).text(co2Rating);
					var co2Container = vehicleContainer.find(this.T_CO2_DIAGRAM_CONTAINER);
					var co2Class = "vehicle-rating-" + co2Category;
					co2Container.addClass(co2Class);
					
				}

			
				/*
				 =============================
				 INTERNAL EVENT HANDLERS
				 =============================
				 */

					
		}
	);


