

function getCookie(cookName)
{
    var pref = cookName + "=";
    var pos = document.cookie.indexOf(pref) + pref.length;
    if(pos >= pref.length)
    {
        var end = document.cookie.indexOf(";", pos);
        if(end == -1) { end = document.cookie.length; }
        return document.cookie.substring(pos, end);
    }
    return null;
}



function setCookie(cookName, cookVal)
{
    document.cookie = cookName + "=" + cookVal;
}




function deleteCookie(cookName) 
{
    if (getCookie(cookName)) 
    {
        document.cookie = cookName + "=; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}



function parseCookie(cookName, delim)
{
    var c = getCookie(cookName);
    return (c != null ? c.split(((delim) ? delim : "@")) : null);
}



function addToCookie(cookName, cookVal, delim)
{
    if(getCookie(cookName))
    {
        setCookie(cookName, getCookie(cookName) + ((delim) ? delim : "@") + cookVal);
    }else{
        setCookie(cookName, cookVal);
    }
}



function snapCookie(cookName, num, delim)
{
    var aVal = parseCookie(cookName);
    var cVal = "";
    
    for(var i=0; i<num; i++)
    {
        cVal += (i > 0 ? ((delim) ? delim : "@") : "") + aVal[i];
    }
    setCookie(cookName, cVal);
}




function cookieIndexOf(cookName, cookVal)
{
    var cVal = parseCookie(cookName);
    if(cVal != null)
    {
        for(var i=0; i<cVal.length; i++)
        {
            if(cVal[i] == cookVal)
            {
                return i;
            }
        }
    }
    return -1;
}
