var ControlledMovies = new Class({
    initialize: function(){
      this.attachMovieEvents();
    },
    getMovieContainers: function(){
      var movieContainers = $$('.movieContainer');
      return movieContainers;
    },
    attachMovieEvents: function(){
      var cons = this.getMovieContainers();
      if(document.all){ //is IE use object not embed
        cons.each(function(elem){
          elem.addEvents(
            {
              'mouseenter':function(event){
                 var objectM = elem.getElementsByTagName("object")[0];
                 objectM.Play();
              },
              'mouseleave':function(event){
                elem.getElementsByTagName("object")[0].Stop();
              },
              'mousemove':function(event){
                var objectM = elem.getElementsByTagName("object")[0];
                 if(event.client.x > (elem.getPosition().x + (elem.getStyle('width').toInt() /2))){
                   var speed = 1.0;
                 }else{
                   var speed = -0.9;
                 }
                 objectM.SetRate(speed);
              }
            });
        });  
      }else if(Browser.Engine.name== 'gecko'){
        cons.each(function(elem){
          elem.getElement("embed").addEvents(
            {
              'mouseenter':function(event){
                 var embedM = elem.getElementsByTagName("embed")[0];
                 embedM.Play();
                 event.stopPropagation();
              },
              'mouseleave':function(event){
                var embedM = elem.getElementsByTagName("embed")[0];
                embedM.Stop();
                event.stopPropagation();
              },
              'mousemove':function(event){
                var embedM = elem.getElementsByTagName("embed")[0];
                 if(event.client.x > (elem.getPosition().x + (elem.getStyle('width').toInt() /2))){
                   var speed = 1.0;
                 }else{
                   var speed = -0.9;
                 }
                 embedM.SetRate(speed); 
              }
            });
        });
      }else{
        cons.each(function(elem){
          elem.addEvents(
            {
              'mouseenter':function(event){
                 var embedM = elem.getElementsByTagName("embed")[0];
                 embedM.Play();
                 embedM.stopPropagation();
              },
              'mouseleave':function(event){
                var embedM = elem.getElementsByTagName("embed")[0];
                embedM.Stop();
                event.stopPropagation();
              },
              'mousemove':function(event){
                var embedM = elem.getElementsByTagName("embed")[0];
                 if(event.client.x > (elem.getPosition().x + (elem.getStyle('width').toInt() /2))){
                   var speed = 1.0;
                 }else{
                   var speed = -0.9;
                 }
                 embedM.SetRate(speed);
              }
            });
        });  
      }
    }
});

window.onload = function(){ 
  $$('body')[0].addEvents({
      'mousemove': function(event){
         ControlledMovies.mouseX = event.clientX
       }
  });
  var cm = new ControlledMovies();
  $('content').addEvent('mousedown',function(){
       var cons = $$('.movieContainer');
       if(document.all){
         cons.each(function(e){
             if(e.getElementsByTagName('object')[0].GetRate() == 0){
               e.getElementsByTagName('object')[0].Play();
             }else{
               e.getElementsByTagName('object')[0].Stop();
             }
         });
       }else{
        cons.each(function(e){
             if(e.getElementsByTagName('embed')[0].GetRate() == 0){
               e.getElementsByTagName('embed')[0].Play();
             }else{
               e.getElementsByTagName('embed')[0].Stop();
             }
         });
       }
  });
}
