// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// form.js
//
// copyright (c) 2006-2010 drow <drow@bin.sh>
// all rights reserved.

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// client form, kill submit event

function client_form (form_id) {
  Event.observe(form_id,'submit', function (event) { event.stop(); });
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// field value

function field_value (field) {
  return (field.options) ? selv(field) : field.value;
}

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

function selv (sel) {
  return sel.options[sel.selectedIndex].value;
}
function setv (sel,val) {
  for (i = 0; i < sel.options.length; i++) {
    if (sel.options[i].value == val) { sel.selectedIndex = i; break; }
  }
  return sel.selectedIndex;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// new select options

function new_options (sel,list) {
  var marked = selv(sel);

  sel.select('option').each(function (opt) {
    Element.remove(opt);
  });
  var idx = 0; list.each(function (opt) {
    if (opt.value == marked) idx = sel.options.length;
    Element.insert(sel,opt);
  });
  sel.selectedIndex = idx;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// save prefs

function save_prefs (prefix,field) {
  if (field.type == 'checkbox') {
    value = (field.checked) ? '1' : '0';
  } else if (field.type == 'select-one') {
    value = selv(field);
  } else {
    value = field.value;
  }
  set_chip(prefix,field.name,value);
}

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


