var hasChanged = 0;
var hostName = 'www.pinchy.org';

function setCookie (name, value, expires) {
    document.cookie = name + '=' + escape(value) + '; expires=' + expires.toGMTString() + '; domain=' + hostName + '; path=/';
}

function getCookie (name) {
    var key = name + '=';
    var c = document.cookie;
    var i = c.indexOf(key);
    if (i < 0) return '';
    var j = c.indexOf(';', i + key.length);
    if (j < 0) j = c.length;
    return unescape(c.substring(i + key.length, j));
}

function deleteCookie (name) {
    if (getCookie(name))
        setCookie(name, '', new Date(70, 0, 1, 0, 0, 1));
}

function rememberMe (f) {
    var now = new Date();
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    setCookie('mtcmtauth', f.author.value, now);
    setCookie('mtcmtmail', f.email.value, now);
    setCookie('mtcmthome', f.url.value, now);
}

function forgetMe () {
    deleteCookie('mtcmtauth');
    deleteCookie('mtcmtmail');
    deleteCookie('mtcmthome');
}

function setFormValues (f) {
    f.author.value = getCookie("mtcmtauth");
    f.email.value = getCookie("mtcmtmail");
    f.url.value = getCookie("mtcmthome");
}

function unsetFormValues (f) {
    f.author.value = '';
    f.email.value = '';
    f.url.value = '';
}

function handleSubmit (f) {
    if (f.bakecookie.checked)
        rememberMe(f);
    else
        forgetMe();
}

function handleCheck (e) {
    if (hasChanged) return;
    if (e.checked)
        setFormValues(e.form);
    else
        unsetFormValues(e.form);
}

function handleChange (e) {
    hasChanged = 1;
}

function doLoaded () {
    if (!document.comments_post) return;
    // don't blow away what the commenter typed in
    if (document.comment_preview) return;
    setFormValues(document.comments_post);
    if (document.comments_post.author.value) {
      document.comments_post.bakecookie.checked = 1;
    }
}
onload = doLoaded;
