// Handles the appropriate display of the comment form and form data
function setForm() {
    // Switch to Javascript-powered split Name/Location fields
    hideDocumentElement('commentfield-nameloc');
    showDocumentElement('commentfield-name');
    showDocumentElement('commentfield-location');

    // Handle comment preview name/location compaction
    if (document.forms['comments_form']) {
        var f = document.forms['comments_form'];    
        if (    f 
            &&  f.elements['comment-author']
            &&  f.elements['comment-author'].value
            &&  f.elements['comment-author'].value.match(/^([^\/]+)\/{4}(.+)$/)) {
            f.elements['comment-name'].value = RegExp.$1;
            f.elements['comment-location'].value = RegExp.$2;
            f.elements['comment-location'].style.color = '#000';
        }
    }
}

// Splits Name/Locations on comment preview
// joined by //// (4 slashes)
function formatAuthor(str) {
    var parts = str.split('////');
    if (parts.length == 2) {
        str = parts[0]+' ('+parts[1]+')';
    } else if (parts.length == 1) {
        return parts[0];
    }
/*
    if (str.match(/^(.+)\/{4}(.+)$/)) {
        var name = RegExp.$1;
        var loc = RegExp.$2;
        str = name+' ('+loc+')';
    }
*/
    return str;

}

// Handles compression of Name/Location fields upon 
// form submission for comment preview or posting
function submitForm(f, is_preview) {
    var author = f.elements['comment-author'];
    var name = f.elements['comment-name'];
    var loc = f.elements['comment-location'];
    if ((loc.value != '') &&
        (loc.value != 'City, State, Country')) {
        if (is_preview) {
            author.value = name.value+'////'+loc.value;
        } else {
            author.value = name.value+' ('+loc.value+')';
        }
    } else {
        author.value = name.value;
    }
    return true;
}