////////////////////////////////////////////////////////////////////////
//
// Create a preview of a coloured Go board, optionally use coordinates
//
function popup_board(size, color, coord)
{
    var win;
    var opt;
    opt  = 'innerWidth=' + size + ',innerHeight=' + size;
    opt += ',toolbar=0,status=0,location=0,menubar=0';
    opt += ',resizable=0,scrollbars=0';
    win = window.open('',"popup", opt);

    win.document.open('text/html', 'replace');
    win.document.writeln('<HEAD>');
    win.document.writeln('<TITLE>sgf2misc image color preview</TITLE>');
    win.document.writeln('</HEAD>');
    win.document.writeln('<BODY marginwidth="0" marginheight="0">');
    win.document.writeln('<table summary="Go board preview"');
    win.document.writeln(' cellpadding="0" cellspacing="0" border="0">');
    win.document.writeln('<tr><td');
    win.document.writeln(' style="background-color:#' + color + '"><img');
    win.document.writeln(' src="gif/19x19' + ((coord) ? '-c' : '') + '.gif"');
    win.document.writeln(' alt="19x19 board"');
    win.document.writeln(' title="19x19 board"');
    win.document.writeln(' width="'  + size + '"');
    win.document.writeln(' height="' + size + '"');
    win.document.writeln(' border="0"></td>');
    win.document.writeln('</tr>');
    win.document.writeln('</table>');
    win.document.writeln('</BODY>');
    win.document.close();
    win.focus();
    if (win.opener == null) win.opener = window;
}

function style_preview(form)
//
// Callback for preview method of image print form
//
{
    var scale = 19;
    var size  = 19*scale;
    if (form.coord.checked) size += 2*scale;

    rr = form.rr.value;
    gg = form.gg.value;
    bb = form.bb.value;
    popup_board(size, rr + gg + bb, ((form.coord.checked) ? 1 : 0));

    //
    // Do not call the action URL
    //
    return false;
}

function style_set(form, style)
//
// Set RGB to predefined styles
//
{
    switch (style) {
        //
        // Board colors
        //
        case 'white':
            form.rr.value = 'ff';
            form.gg.value = 'ff';
            form.bb.value = 'ff';
            break;
        case 'kaya':
            // form.rr.value = 'ee';
            // form.gg.value = 'b1';
            // form.bb.value = '4b';
            form.rr.value = 'ec';
            form.gg.value = 'ce';
            form.bb.value = '7c';
            break;
        case 'katsura':
            form.rr.value = 'd3';
            form.gg.value = '98';
            form.bb.value = '58';
            break;

        //
        // Dimmed point filters
        //
        case 'dim_off':
            form.cdr.value = '00';
            form.cdg.value = '00';
            form.cdb.value = '00';
            break;
        case 'dim_gentle':
            form.cdr.value = 'a0';
            form.cdg.value = 'a0';
            form.cdb.value = 'a0';
            break;
        case 'dim_medium':
            form.cdr.value = 'd8';
            form.cdg.value = 'd8';
            form.cdb.value = 'd8';
            break;
        case 'dim_strong':
            form.cdr.value = 'ef';
            form.cdg.value = 'ef';
            form.cdb.value = 'ef';
            break;
        case 'dim_full':
            form.cdr.value = 'ff';
            form.cdg.value = 'ff';
            form.cdb.value = 'ff';
            break;
    }

    //
    // Do not call the action URL
    //
    return false;
}
