function changeCompareState(thisCheckBox,modelID,qualifiedModelID)
{
	if(thisCheckBox.checked)
	{
		changeCarCookie(modelID,qualifiedModelID,"false","",thisCheckBox);
	}
	else
	{
		changeCarCookie("","","false",modelID+"~"+qualifiedModelID,thisCheckBox);
	}
}

function clearCarCookie() {
var clearCookie = "compareCars=; expires=Fri, 02-Jan-1970 00:00:00 GMT; path=/;";
document.cookie = clearCookie;
}

function changeCarCookie(modelID,qualifiedModelID,clearCookieFirst,overwriteModelID_QualifiedModelID,checkBox)
{
	/*
		Notes:
		1. Clear the cookie & Add a car
		changeCarCookie("A1","A1","true","","");
		
		2. Add a car
		changeCarCookie("A1","A1","false","",thisCheckBox);
		
		3. Replace a Car (i.e. replace A1,Al with B2,B2)
		changeCarCookie("B2","B2","false","A1~A1","");
		
		4. Remove a Car
		changeCarCookie("","","false","A1~A1","");	
	*/
	
	var cookieName = "compareCars";
	var cookieString = unescape(document.cookie);
	var cookieList = cookieString.split("; ");
	var cookieValue = "";
	var writeCookie = false;
  
	for(counter = 0; counter < cookieList.length; counter ++)
	{
		currentCookie = cookieList[counter];
		cookieSplitIndex = currentCookie.indexOf("=");
		currentCookieName = currentCookie.substring(0,cookieSplitIndex);
		currentCookieValue = currentCookie.substring(cookieSplitIndex+1);
	
		if(currentCookieName == cookieName)
		{
			cookieValue = currentCookieValue;
			break;
		}
	}
	
	// Check to see if it is already in the cookie
	if((modelID != "") && (qualifiedModelID != ""))
	{
		if(cookieValue.indexOf(modelID+"~"+qualifiedModelID) > -1)
		{
			alert("Sorry - you can't compare the same car, please choose a different model");
			return false;
		}
	}
	
	// Cookie currently empty, so just add the new Car
	if((cookieValue == "") || (clearCookieFirst == "true"))
	{
		cookieValue = modelID + "~" + qualifiedModelID;
		writeCookie = true;
	}
	// Cookie not empty
	else
	{
		var countCars = cookieValue.split("|");

		// Replace / Remove a previous Car
		if(overwriteModelID_QualifiedModelID != "")
		{
			cookieValue = "";
			for(counter = 0; counter < countCars.length; counter ++)
			{
				// If this is Car to be replaced
				if(countCars[counter] == overwriteModelID_QualifiedModelID)
				{
					if(cookieValue == "")
					{
						if((modelID != "") && (qualifiedModelID != ""))
						{
							cookieValue = modelID + "~" + qualifiedModelID;
						}
						else
						{
							cookieValue = "";
						}
					}
					else
					{
						if((modelID != "") && (qualifiedModelID != ""))
						{
							cookieValue = cookieValue + "|" + modelID + "~" + qualifiedModelID;
						}
						else
						{
							cookieValue = cookieValue;
						}
					}
				}
				else
				{
					if(cookieValue == "")
					{
						cookieValue = countCars[counter];
					}
					else
					{	
						cookieValue = cookieValue + "|" + countCars[counter];
					}
				}
			}	
			writeCookie = true;		
		}
		// Append a new car
		else if(countCars.length < 3)
		{
			cookieValue = cookieValue + "|" + modelID + "~" + qualifiedModelID;
			writeCookie = true;
		}
		else
		{
			alert("You already have 3 cars selected");
			checkBox.checked = false;
		}
	}
	
	if(writeCookie)
	{
		var expiryDate = new Date();
		
		expiryDate = new Date(expiryDate.getFullYear(),expiryDate.getMonth(),expiryDate.getDate()+1,expiryDate.getHours(),expiryDate.getMinutes());
		expiryDate = expiryDate.toGMTString();
		expiryDate = expiryDate.replace('UTC','GMT');
		
		var newCookie = cookieName+"="+cookieValue+"; expires="+expiryDate+"; path=/;";
		
		document.cookie = newCookie;
	}	
}