//ElementϵCSSЧ,ʾ:http://demos.mootools.net/Fx.Elements
Fx.Elements = new Class({

 //̳Fx.CSS
 Extends: Fx.CSS,

 //캯
 initialize: function(elements, options){
  //ǰö󼯺
  this.elements = this.subject = $$(elements);
  //øͬ
  arguments.callee.parent(options);
 },

 //ݳʼֵֵͱĿֵ
 compute: function(from, to, delta){
  var now = {};
  //ÿӦĿֵ
  for (var i in from){
   //ȡʼֵֵ
   var iFrom = from[i], iTo = to[i], iNow = now[i] = {};
   //Ŀֵ
   for (var p in iFrom) iNow[p] = arguments.callee.parent(iFrom[p], iTo[p], delta);
  }
  return now;
 },

 //Ŀֵ,ݴĵһԷ,setcompute֮λӦù̶
 set: function(now){
  for (var i in now){
   var iNow = now[i];
   for (var p in iNow) this.render(this.elements[i], p, iNow[p], this.options.unit);
  }
  return this;
 },

 //ʼ
 start: function(obj){
  //üԼ
  if (!this.check(obj)) return this;
  //Ӧĳʼֵ
  var from = {}, to = {};
  //ṩֵ϶
  for (var i in obj){
   var iProps = obj[i], iFrom = from[i] = {}, iTo = to[i] = {};
   for (var p in iProps){
    var parsed = this.prepare(this.elements[i], p, iProps[p]);
    iFrom[p] = parsed.from;
    iTo[p] = parsed.to;
   }
  }
  //øͬ
  return arguments.callee.parent(from, to);
 }

});

