function getCookieVal(offset) 
{
    var endstr = document.cookie.indexOf (";", offset);
    if (-1 == endstr) {
        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 (0 == i) {
            break;
        }
    }
    return null;
}

function setCookie(name, value) 
{
    var argv = setCookie.arguments;
    var argc = setCookie.arguments.length;
    
    var expires = (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) +  
                ((null == expires) ? "" : ("; expires=" +  expires.toGMTString())) +
                ((null == path)    ? "" : ("; path=" + path)) +
                ((null == domain)  ? "" : ("; domain=" + domain)) +
                ((true == secure)  ? "; secure" : "");
}

function setBookmark(id, value)
{
    var x = document.getElementById('id_' + id);
    var date = new Date();
    var cookie = getCookie('bookmarked_threads');
    var cvalue = id + '|';

    date.setTime(date.getTime() + 365 * 24 * 3600 * 1000);
    pathname = location.pathname;
    domain = pathname.substring(0, pathname.lastIndexOf('/')) + '/';

    if (true == value) {
        if (null !== cookie) {
            cvalue = cookie + cvalue;
        }
        setCookie('bookmarked_threads', cvalue, date, domain);
        x.innerHTML = '<img src="images/r.gif" alt="Remove bookmark" width="14" height="14" border="0" title="Toggle bookmark" onclick="setBookmark(' + id + ', false)">';
    }
    else {
        x.innerHTML = '<img src="images/b.gif" alt="Add bookmark" width="14" height="14" border="0" title="Toggle bookmark" onclick="setBookmark(' + id + ', true)">';
        if (null === cookie) {
            return;
        }
        var re = new RegExp(id + '\\|', '');
        cvalue = cookie.replace(re, '');
        setCookie('bookmarked_threads', cvalue, date, domain);
    }
}

function set_letter(id)
{
    var cookie = getCookie('bookmarked_threads');
    
    document.write('<span id="id_' + id + '">');
    if (null === cookie) {
        document.write('<img src="images/b.gif" alt="Bookmark" title="Toggle bookmark" width="14" height="14" border="0" onclick="setBookmark(' + id + ', true)">');
    }
    else {
        if (-1 == cookie.indexOf(id + '|')) {
            document.write('<img src="images/b.gif" alt="Bookmark" title="Toggle bookmark" width="14" height="14" border="0" onclick="setBookmark(' + id + ', true)">');
        }
        else {
            document.write('<img src="images/r.gif" alt="Remove bookmark" title="Toggle bookmark" width="14" height="14" border="0" onclick="setBookmark(' + id + ', false)">');
        }
    }
    document.write('<\/span> ');
}

function set_letter2(id)
{
    var cookie = getCookie('bookmarked_threads');
    
    document.write('<span id="id_' + id + '">');
    if (null === cookie) {
        document.write('<img src="images/b.gif" alt="Bookmark" title="Toggle bookmark" width="14" height="14" border="0" onclick="setBookmark(' + id + ', true);">');
    }
    else {
        if (-1 == cookie.indexOf(id + '|')) {
            document.write('<img src="images/b.gif" alt="Bookmark" title="Toggle bookmark" width="14" height="14" border="0" onclick="setBookmark(' + id + ', true);">');
        }
        else {
            document.write('<img src="images/r.gif" alt="Remove bookmark" title="Toggle bookmark" width="14" height="14" border="0" onclick="setBookmark(' + id + ', false); location.reload();">');
        }
    }
    document.write('<\/span> ');
}

function writeName()
{
    var name = getCookie('username');
    
    if (null === name) {
        document.write('(not set)');
    }
    else {
        document.write(name);
    }
}

function setName()
{
    var n = document.forms['changeName'].elements['newName'].value;
    var date = new Date();

    date.setTime(date.getTime() + 365 * 24 * 3600 * 1000);
    pathname = location.pathname;
    domain = pathname.substring(0, pathname.lastIndexOf('/')) + '/';

    setCookie('username', n, date, domain);
    
    document.location.reload();
    
    return false;
}

