function initFormsElementsStyles()
{
  $$('.klap').each(function(e){
    Event.observe(e, 'focus', function(){e.addClassName('selected')});
    Event.observe(e, 'blur', function(){e.removeClassName('selected')});
  });
}

function initListStyles()
{
  $$('tr.item_row').each(function(e){
    Event.observe(e, 'mouseover', function(){e.addClassName('item_row_over')});
    Event.observe(e, 'mouseout', function(){e.removeClassName('item_row_over')});
  });
}

function checkFormBase(rules, bg_error, bg_ok)
{
  if (bg_error == undefined) bg_error = "#E48900";
  if (bg_ok == undefined) bg_ok = "";

  /*
  Rules example:
  var rules = [
    ['name', /.+/, 'Incorrect name'],
    ['nick', /^[a-z0-9\-_]+$/i, 'Incorrect nick'],
    ['email', /.+@.+\.+/, 'Incorrect email']
  ];
  */
  if (rules.length == undefined || rules.length == 0) return false;

  var errors = "";

  for (var index = 0, len = rules.length; index < len; index++) {
    var field = rules[index]['fld'];
    var rel = rules[index]['rel'];
    var rx = rules[index]['reg'];
    var msg = rules[index]['msg'];

    el = $(field);
/*    el.value = el.value.toUpperCase();*/

    if (el) {
      var val = trim(el.value);
      if(rel!=0) {
        if(idx==undefined) {
          var idx = el.value;
        } else {
          if(idx != el.value) {
            errors += msg + '\n';
            el.style.backgroundColor = bg_error;
          } else {
            el.style.backgroundColor = bg_ok;
          }
          continue;
        }
      }

      if (!rx.test(val)) {
        errors += msg + '\n';
        el.style.backgroundColor = bg_error;
      } else {
        el.style.backgroundColor = bg_ok;
      }
    }
  }
  if (errors == "") {
    return true;
  } else {
    alert("Vult u alle verplichte velden met * correct in! \n" + errors)
    return false;
  }
} // function _checkForm(...

function trim (str) {
  var s_spaces = /^\s*(.*)$/;
  var e_spaces = /(.*[^\s])(\s*)$/;
  str = str.replace(s_spaces,"$1");
  str = str.replace(e_spaces,"$1");
  return str;
}





