
function controller_calc()
{
   for(i in this.allObjects)
   {
      this.allObjects[i].calcForce();
      this.allObjects[i].calcNewPos();

      browserWidth=document.body.offsetWidth-40;
      browserHeight=document.body.offsetHeight-20;

      if(this.allObjects[i].projectedX>browserWidth)
      {
         this.allObjects[i].projectedX=browserWidth;
         this.allObjects[i].inertiaX=-this.allObjects[i].inertiaX/this.bouceAbsorbRight;
         this.allObjects[i].inertiaY=this.allObjects[i].inertiaY/this.bouceAbsorbRight;
      }

      if(this.allObjects[i].projectedY>browserHeight)
      {
         this.allObjects[i].projectedY=browserHeight;
         this.allObjects[i].inertiaX=this.allObjects[i].inertiaX/this.bouceAbsorbBottom;
         this.allObjects[i].inertiaY=-this.allObjects[i].inertiaY/this.bouceAbsorbBottom;
      }

      if(this.allObjects[i].projectedX<10)
      {
         this.allObjects[i].projectedX=10;
         this.allObjects[i].inertiaX=-this.allObjects[i].inertiaX/this.bouceAbsorbLeft;
         this.allObjects[i].inertiaY=this.allObjects[i].inertiaY/this.bouceAbsorbLeft;
      }

      if(this.allObjects[i].projectedY<10)
      {
         this.allObjects[i].projectedY=10;
         this.allObjects[i].inertiaX=this.allObjects[i].inertiaX/this.bouceAbsorbTop;
         this.allObjects[i].inertiaY=-this.allObjects[i].inertiaY/this.bouceAbsorbTop;
      }
   }
}

function controller_update()
{
   for(i in this.allObjects)
   {
      this.allObjects[i].update();
      eval("document.all."+this.allObjects[i].id+".style.pixelLeft="+this.allObjects[i].getX());
      eval("document.all."+this.allObjects[i].id+".style.pixelTop="+this.allObjects[i].getY());
   }
}

function controller_addObject(newMObj)
{
   this.allObjects[this.allObjects.length]=newMObj;
   return newMObj;
}

function controller()
{
   //this.borderLeft=initX;
   //this.borderRight=initX+initWidth;
   //this.borderTop=initY;
   //this.borderBottom=initY+initHeight;
   //this.width=initWidth;
   //this.height=initHeight;
   //this.gravityX
   //this.gravityY
   //this.frictionX
   //this.frictionY
   this.bouceAbsorbTop=2;
   this.bouceAbsorbBottom=2;
   this.bouceAbsorbLeft=2;
   this.bouceAbsorbRight=2;


   this.allObjects=new Array()

   this.addObject=controller_addObject;
   this.calc=controller_calc;
   this.update=controller_update;
}




