var savedVehiclesCookieName = "compareList";
function updatePicks(checkboxRef)
{
   // get the cookie & parse its contents
    if (checkboxRef.checked) {
        insertCookieValue(savedVehiclesCookieName,checkboxRef.value);
    }
    else {
        removeCookieValue(savedVehiclesCookieName,checkboxRef.value);
	}
}

function insertCookieValue(cookieName, valueToInsert)
{
    if (null!=valueToInsert && valueToInsert != '')
    {
        //alert('insert (' + valueToInsert + ')');
        var cookieValues = parseCookie(cookieName);
        var alreadyExists = false;
        var newCookie = new Array();
        for (i=0; i < cookieValues.length; i++)
        {
            if (cookieValues[i] != '')
                newCookie[newCookie.length] = cookieValues[i];
            if (cookieValues[i] == valueToInsert)
                alreadyExists = true;
        }
        if (!alreadyExists)
            newCookie[newCookie.length] = valueToInsert;
        
        newCookie = newCookie.sort();
        //alert('set '+cookieName+' (' + newCookie.toString() + ')');
        setCookie(cookieName, newCookie.toString());
        return true;
    }
    return false;
}

function removeCookieValue(cookieName,valueToRemove)
{
    if (cookieExists(cookieName))
    {
        var cookieValues = parseCookie(cookieName);
        cookieValues = cookieValues.sort();
        var newCookie = new Array();
        var j=0;
        for (i=0; i < cookieValues.length; i++)
        {
            if (cookieValues[i] != '' && valueToRemove != cookieValues[i])
            {
                newCookie[j]=cookieValues[i];
                j+=1;        
            }        
        }
    
        setCookie(cookieName, newCookie.toString());
    }
}

function parseCookie(cookieName)
{
    var allCookies = document.cookie;
    var desiredCookie = cookieName;
    var targetCookieStart = allCookies.indexOf(desiredCookie + '=');
    if (targetCookieStart != -1)
    {
        targetCookieStart += desiredCookie.length + 1;
        var targetCookieEnd = allCookies.indexOf(';',targetCookieStart);
        if (targetCookieEnd == -1) targetCookieEnd = allCookies.length;
        var targetCookieValue = allCookies.substring(targetCookieStart,targetCookieEnd);
        var cookieValueArray = targetCookieValue.split('|');
        var returnVal = cookieValueArray;
    }
    else returnVal = -1;
    return returnVal;
}

function cookieExists(cookieName)
{
    var cookieValues = parseCookie(cookieName);
    if (cookieValues != -1) {
        return true;
    }
    else {
        return false;
    }
}

function setCookie(cookieName,valueToSet, expires)
{
    var cookie = new String();
    if(expires) {
      var expiry = new Date((new Date()).getTime() + expires);
    }
    else {
      var expiry = new Date((new Date()).getTime() + 336*3600000);
    }
    cookie += cookieName + "=" + valueToSet.replace(/,/g,'|');
    cookie += ";path=/;expires=" + expiry.toGMTString();
    document.cookie = cookie;
    return true;
}