	var __search_term = null;
	var __layout = null;
	var __image_location = null;
	var __media_dir = "/media/jcwhitney/jcw/";
	var __url_type = 0;
	var __store = null;
	var __catalog = null;
	var __productID = null;
	var __itemId = null;	
	var __category_n_value = null;
	
	var GROUP_LISTING = 0;
	var PRODUCT_PAGE = 1;
	var ITEM_PAGE = 2;	
	
	//set the js parameters
	function set_myvehicle_data(search_term,layout,image_location,media_dir,url_type,store,catalog,productID,itemId,category_n_value)
	{
		if (search_term != '' && search_term != 'null')
		{
			__search_term = search_term;
		}
		
		if (layout != '' && layout != 'null')
		{
			__layout = layout;
		}

		if (image_location != '' && image_location != 'null')
		{
			__image_location = image_location;
		}

		if (media_dir != '' && media_dir != 'null')
		{
			__media_dir = media_dir;
		}
		
		if (url_type != '' && url_type != 'null')
		{
			__url_type = url_type;
		}
		
		if (store != '' && store != 'null')
		{
			__store = store;
		}
		
		if (catalog != '' && catalog != 'null')
		{
			__catalog = catalog;
		}
		
		if (productID != '' && productID != 'null')
		{
			__productID = productID;
		}
		
		if (itemId != '' && itemId != 'null')
		{
			__itemId = itemId;
		}

		if (category_n_value != '' && category_n_value != 'null')
		{
			__category_n_value = category_n_value;
		}		
		
		var html_content = get_html();
		
		if (html_content != null  && html_content != "" && html_content != "null")
		{
			$(myvehicle_placeholder).innerHTML = html_content;
		}
	}
	
	function $() 
	{
		var elements = new Array();
		
		for (var i = 0; i < arguments.length; i++) 
		{
			var element = arguments[i];
		  	
			if (typeof element == 'string') 
		  	{
				if (document.getElementById) 
				{
			  		element = document.getElementById(element);
				} 
				else if (document.all) 
				{
			  		element = document.all[element];
				}
		  	}
			
		  	elements.push(element);
		}
		
		if (arguments.length == 1 && elements.length > 0) 
		{
		  	return elements[0];
		} 
		else 
		{
		  	return elements;
		}
	}	
	
	//define a stringbuffer
	function StringBuffer() 
	{
		this.buffer = []; 
	} 

	StringBuffer.prototype.append = function append(string) 
	{ 
		this.buffer.push(string); 
		return this; 
	}; 

	StringBuffer.prototype.toString = function toString() 
	{ 
		return this.buffer.join(""); 
	}; 
	
	function select_vehicle(_url)
	{
		try
		{
			if (_url != null && _url != '')
			{
				window.location = _url;
			}
		}
		catch (e)
		{
		}
	}
	
	function select_default(_val,_store,_catalog)
	{
		try
		{
			window.location = "/autoparts/SaveVehiclePref?radio_set_default=" + _val + "&langId=-1&storeId=" + _store + "&catalogId=" + _catalog;
		}
		catch (e)
		{
		}
	}

	function setup()
	{
		try
		{
			if (__search_term != null && __search_term == "")
			{
				__search_term = null;
			}
			
			if (__layout != null && __layout == "")
			{
				__layout = null;
			}
		}
		catch (e)
		{
		}	
	}
	
	function getNewNValue(_vehicle_n,_category_n)
	{
		try
		{
			if (_category_n == null || _category_n == "")
			{
				return _vehicle_n;
			}

			if (_vehicle_n == null || _vehicle_n == "")
			{
				return _category_n;
			}

			var al_vehicle = new Array();

			var x = 0;
			while (_vehicle_n.indexOf('+') > -1)
			{
				var element = _vehicle_n.substring(0,_vehicle_n.indexOf('+'));
				al_vehicle[x] = element;
				_vehicle_n = _vehicle_n.substring(_vehicle_n.indexOf('+') + 1);
				x++;
			}
			
			al_vehicle[x] = _vehicle_n;

			for (var i=0; i < al_vehicle.length; i++)
			{
				var vehicle_entry = al_vehicle[i];

				if (vehicle_entry != "10101" &&
					vehicle_entry != "10102" && 
					vehicle_entry != "10103" &&
					vehicle_entry != "10104" &&
					vehicle_entry != "10105" && 
					vehicle_entry != "10106" && 
					vehicle_entry != "10107" && 
					vehicle_entry != "10108" &&
					vehicle_entry != "10109" &&
					vehicle_entry != "10110" &&
					vehicle_entry != "10111" && 
					vehicle_entry != "10112" &&
					vehicle_entry != "10113" && 
					vehicle_entry != "10114" &&
					vehicle_entry != "10614" && 
					vehicle_entry != "10615" &&
					vehicle_entry != "10616")
				{
					if (_category_n == null)
					{
						_category_n = vehicle_entry;
					}
					else if (_category_n.indexOf(vehicle_entry) == -1)
					{
						_category_n = _category_n + "+" + vehicle_entry;
					}
				}
			}

			return _category_n;
		}
		catch (e)
		{
			return null;
		}		
	}
	
	function getLink(_vehicle)
	{
		try
		{
			var final_url = "/autoparts/VehicleBasedRedirect/c-" 
					+ __catalog 
					+ "/s-"  
					+ __store 
					+ "/makeId-" 
					+ _vehicle.make_id 
					+ "/modelId-" 
					+ _vehicle.model_id 
					+ "/year-" 
					+ _vehicle.year 
					+ "/dest-" + __url_type
					+ "/category-"
					+ __category_n_value;
			
			if (__search_term != null)
			{
				final_url = final_url + "/searchterm-" + __search_term;
			}
			
			if (__productID != null)
			{
				final_url = final_url + "/productid-" + __productID;
			}				
			//Added By GCI for BUG 1023 Item Page
			if (__itemId != null)
			{
				final_url = final_url + "/itemId-" + __itemId;
			}	
			//Added By GCI for Deal Media Code
			if ((__productID != null || __itemId != null) && (__mediaCode != null && __mediaCode != 'null'))
			{
				final_url = final_url + "/mediaCode-" + __mediaCode;
			}
			return final_url;

		}
		catch (e)
		{
			return "#";
		}		
	}

	function vehicle_object(make,model,year,make_id,model_id,endeca_id,catalog_id) 
	{ 
	    this.make = make; 
	    this.model = model; 
	    this.year = year; 
	    this.make_id = make_id; 
	    this.model_id = model_id; 
	    this.endeca_id = endeca_id; 
		this.catalog_id = catalog_id;
	} 
	
	function getVehicles()
	{
		try
		{
			var return_array = null;
			var cookie_name = 'JCWMakeModel';
			var cookies = document.cookie;
			var start = cookies.indexOf(cookie_name + '=');
			
			if (start != -1)
			{
				var len = start + cookie_name.length + 1;
				var end = cookies.indexOf(';',len);
				if (end == -1) end = cookies.length;
				var cookie_contents = unescape(cookies.substring(len,end));
		 
				var vehicle_array = new Array();
				var array_length = 0;
				
				while (cookie_contents.indexOf('?') != -1)
				{
					var mm = cookie_contents.substring(0,cookie_contents.indexOf('?'));
					if(mm != "" && mm != '' && mm != null && mm != 'null') {
						vehicle_array[array_length] = mm;
						array_length++;
					}
					cookie_contents = cookie_contents.substring(cookie_contents.indexOf('?') + 1);
				}
				
				vehicle_array[array_length] = cookie_contents;
				array_length++;
				
				if (array_length > 0)
				{
					return_array = new Array();
				}
				
				for (var i=0; i < array_length; i++)
				{
					var curr = vehicle_array[i];
					var catalog_id = curr.substring(0,curr.indexOf('|'));
					curr = curr.substring(curr.indexOf('|') + 1);
					var year = curr.substring(0,curr.indexOf('|'));
					curr = curr.substring(curr.indexOf('|') + 1);
					var make_and_make_id = curr.substring(0,curr.indexOf('|'));
					curr = curr.substring(curr.indexOf('|') + 1);
					var model_and_model_id = curr.substring(0,curr.indexOf('|'));
					var endeca_id = curr.substring(curr.indexOf('|') + 1);
					var make_id = make_and_make_id.substring(0,make_and_make_id.indexOf('+'));
					var make = make_and_make_id.substring(make_and_make_id.indexOf('+') + 1);
					var model_id = model_and_model_id.substring(0,model_and_model_id.indexOf('+'));
					var model = model_and_model_id.substring(model_and_model_id.indexOf('+') + 1);
					
					if (model.indexOf('#') != -1)
					{
						model = model.substring(0,model.indexOf('#'));
					}
					
					return_array[i] = new vehicle_object(make,model,year,make_id,model_id,endeca_id,catalog_id); 
				} 
			}
			
			return return_array;	
		}
		catch (e)
		{
			return null;
		}
	}
	
function get_html()
	{
		try
		{
			setup();
			
			var out = null;
			var vehicle_array = getVehicles();
			
			if (vehicle_array != null && vehicle_array.length > 0 && __image_location != null)
			{
				out = new StringBuffer();
				out.append("<div class=\"my_vehicle_tag\" style=\"background:transparent;\">");
				out.append("<script src=\"" + __media_dir + "javascript/myvehicle.js\" language=javascript type=\"text/javascript\"></script>");

				if (__layout == null || __layout == "dropdown")
				{
					out.append("<div class=\"my_vehicle_tag_or\" style=\"left:255px; background:transparent;\"><img src=\"" + __image_location + "/ui5_images/or_bluebg.gif\" style=\"background:transparent;\"><br></div>");
					out.append("<div class=\"my_vehicle_tag_dropdown\" style=\"left:145px;\"> <img alt='\"My Saved Vehicle\" can be &#10; managed under my account.' src=\"" + __image_location + "/ui5_images/keys_bluebg.gif\" align=\"absmiddle\" style=\"background:transparent;\" >&nbsp;&nbsp;");
					out.append("<select onchange=\"select_vehicle(this.value);\" name=\"my_vehicle_tag_select\" class=\"my_vehicle_tag_select\">");
					out.append("<option value=\"\">My Saved Vehicles</option>");
				
					for (var i = 0; i < vehicle_array.length; i++)
					{
						out.append("<option value=\"" 
							+ getLink(vehicle_array[i]) 
							+ "\">" 
							+ vehicle_array[i].year 
							+ "&nbsp;" 
							+ vehicle_array[i].make 
							+ "&nbsp;" 
							+  vehicle_array[i].model 
							+ "</option>");
					}
					
					out.append("</select>");
					out.append("</div><br/>");
					
				}
				else
				{
					out.append("<div class=\"my_vehicle_tag_image\"><img alt=\"JC Whitney Saved Vehicles\" src=\"" + __image_location + "/ui5_images/my-saved-vehicles.gif\"></div>");
					
					for (var i = 0; i < vehicle_array.length; i++)
					{
						out.append("<div class=\"my_vehicle_tag_item\" style=\"width:150px;\">-&nbsp;<a class=\"blk_txt_smaller\" href=\"" 
							+ getLink(vehicle_array[i]) 
							+ "\">" 
							+ vehicle_array[i].year
							+ "&nbsp; " 
							+ vehicle_array[i].make 
							+ "&nbsp; " 
							+ vehicle_array[i].model  
							+ "</a></div>");
					}
				}
				
				out.append("</div>");
			}
			
			if (out == null)
			{
				return null;
			}
			else
			{
				return out.toString();
			}
		}
		catch (e)
		{
			return null;
		}		
	}
	

	