// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// dungeon/control.js
//
// copyright (c) 2009 drow <drow@bin.sh>
// all rights reserved.

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// configuration

var form = 'dungeon_form';
var preview_url = '/d20/dungeon/preview.cgi';

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// initialize form

function init_form () {
  infest_reaction(); preview();
}
function infest_reaction () {
  var form_elem = $(form).elements;
  var infest = selv(form_elem['infest']);

  if (infest == 'None') {
    form_elem['motif'].disabled = true;
  } else {
    form_elem['motif'].disabled = false;
  }
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// set field

function set_field (field) {
  preview();
}
function set_infest (field) {
  infest_reaction(); set_field();
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// preview dungeon

function preview () {
  var form_elem = $(form).elements;
  var style = selv(form_elem['map_style']);
    if (style == '') style = 'Standard';

  var query = $H({
    'preview':          1,
    'map_style':        style,
    'seed':             form_elem['seed'].value,
    'dungeon_size':     'Preview',
    'dungeon_layout':   selv(form_elem['dungeon_layout']),
    'room_size':        'Small',
    'room_layout':      selv(form_elem['room_layout']),
    'corridor_layout':  selv(form_elem['corridor_layout']),
    'remove_deadends':  selv(form_elem['remove_deadends']),
    'add_stairs':       selv(form_elem['add_stairs'])
  }).toQueryString();

  $('preview_img').src = preview_url + '?' + query;
  $('preview').show();
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// select field

function selv (sel) {
  return sel.options[sel.selectedIndex].value;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// showtime

document.observe('dom:loaded',init_form);

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

