var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function getCookieVal (offset)
{
        var endstr = document.cookie.indexOf (";", offset);
        if (endstr == -1)
        endstr = document.cookie.length;
        return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name)
{
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen)
                {
                        var j = i + alen;
                        if (document.cookie.substring(i, j) == arg)
                        return getCookieVal (j);
                        i = document.cookie.indexOf(" ", i) + 1;
                        if (i == 0) break;
                }
        return null;
}
function SetCookie (name, value)
{
        var argv = SetCookie.arguments;
        var argc = SetCookie.arguments.length;
        var expires = exp;//(argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
}
function DeleteCookie (name)
{
        var exp = new Date();
        exp.setTime (exp.getTime() - 1);
        var cval = GetCookie (name);
        document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
function AddToCookie(name,value)
{
        var iRet;
        iRet = -1;
        var actualObjects = GetCookie (name);
        if (actualObjects == null)
        {
                SetCookie(name,value)
                iRet = 1;
        }
        else
        {
                iPos = actualObjects.indexOf(value);
                if (iPos >= 0)
                {
                        iRet = 2;
                }
                else
                {
                        futureObject = actualObjects + ',' + value;
                        SetCookie(name,futureObject);
                        iRet = 1;
                }
        }
        return iRet;
}
function DeleteFromCookie(name,value)
{
        var iRet;
        iRet = -1;
        var actualObjects = GetCookie (name);
        if (actualObjects == null)
        {
                iRet = 2;
        }
        else
        {
                iPos = actualObjects.indexOf(value);
                if (iPos >= 0)
                {
                        futureObject = "";
                        arrT = actualObjects.split(",");
                        for(u=0;u<arrT.length;u++)
                        {
                                tmpObjValue = arrT[u];
                                if (tmpObjValue == value)
                                {
                                        //is to be removed
                                }
                                else
                                {
                                        if (futureObject == "")
                                        {
                                                futureObject = tmpObjValue;
                                        }
                                        else
                                        {
                                                futureObject = futureObject + "," + tmpObjValue;
                                        }
                                }
                        }
                        SetCookie(name,futureObject);
                        iRet = 1;
                }
                else
                {
                        //does not exist in the cookie
                        iRet = 2;
                }
        }
        return iRet;
}
function AddToFavorites(objectId)
{
        iRet = AddToCookie('objects',objectId);
        switch(iRet)
        {
                case 1:
                        //alert("Successfully added");
                        break;
                case 2:
                        //alert("Already exists in favorites");
                        break;
                default:
                        //alert("Error occured while adding to favorites");
                        break;
        }
}
function DeleteFromFavorites(objectId)
{
        iRet = DeleteFromCookie('objects',objectId);
        switch(iRet)
        {
                case 1:
                        //alert("Successfully deleted");
                        break;
                case 2:
                        //alert("Does not exists in favorites");
                        break;
                default:
                        //alert("Error occured while erasing from favorites");
                        break;
        }
}


function GetFavorites()
{
        sRet = GetCookie('objects');
        return sRet;
}
