function register_inline_title_element(e) {
  e = $(e);
  var title = e.getAttribute('title');
  if(title) {
    Event.observe(e, 'focus', function() {
      if($F(e) == title)
        if(e.tagName.toLowerCase() == 'textarea')
          e.innerHTML = ''
        else
          e.value = '';
      e.setStyle({color: 'black'});
    });
    e.blur = function() {
      if($F(e) == '' || $F(e) == title) {
        e.setStyle({color: 'gray'});
        if(e.tagName.toLowerCase() == 'textarea')
          e.innerHTML = title
        else
          e.value = title;
      } else {
        e.setStyle({color: 'black'});
      }
    }
    Event.observe(e, 'blur', e.blur);
    e.blur();
  }
}

Event.observe(document, 'dom:loaded', function() {

  function elements() {
    return [
      '.inline-label input[type=text]',
      '.inline-label textarea',
      'input[type=text].inline-label',
      'textarea.inline-label',
    ].inject([], function(m, s) {return m.concat($$(s))});
  }

  elements().each(function(e) {register_inline_title_element(e)});
  $$('form').each(function(f) {
    Event.observe(f, 'submit', function() {
      elements().each(function(e) {
        if(e.getAttribute('title') == $F(e))
          if(e.tagName.toLowerCase() == 'textarea')
            e.innerHTML = ''
          else
            e.value = '';
      });
    });
  });
});
