function scroll_to(e) {
  if(! e) return;
  var x = (arguments[1] ? (e.offsetLeft - arguments[1]) : e.offsetLeft);
  var y = (arguments[2] ? (e.offsetTop - arguments[2] ) : e.offsetTop );
  window.scrollTo(x, y);
}

function build_element(s) {
  var e = document.createElement(s.tag);
  var c = s.childNodes;
  delete(s.tag);
  delete(s.childNodes);
  for(var a in s) eval('e.' + a + '= s[a]');
  if(c) for(var i = 0; i < c.length; i++) e.appendChild(build_element(c[i]));
  return e;
}

// var application_rules = {
//   'a.modalbox' : function(e) {
//     e.onclick = function() {
//       Modalbox.show(e.href);
//       return false;
//     };
//   }
// };
// 
// Behaviour.register(application_rules);
