var mooZoom = new Class ({
	options: {
	    image: [ ],
		parentX: 375,
		parentY: 500,
		X: 1200,
		maxY: 1600
		},
	
	initialize: function(options) {
	    this.image = options.image;
	    this.moving = false;
	    
	    var self = this;
	    document.addEvent('mouseup', function(ev){
				  self.moving = false;
			      });
	    
	    
	    this.image.addEvent('mousedown', function(ev){
				    new Event(ev).stop();
				    self.moving = true;
				    self.firstEvent = true;
				})
		.addEvent('mousemove', function(ev){
			      new Event(ev).stop();
			      
			      if (self.moving == true){
				  if (!self.firstEvent){
				      var minX = self.options.parentX - self.image.getSize().x;
				      var maxX = 0;
				      var minY = self.options.parentY - self.image.getSize().y;
				      var maxY = 0;
				      
				      var diffX = ev.client.x - self.lastX;
				      var diffY = ev.client.y - self.lastY;
				      
				      var pos = self.image.getPosition(self.image.getParent());
				      self.image.setPosition({x: Math.min(maxX, Math.max(minX, pos.x + diffX)),
								     y: Math.min(maxY, Math.max(minY, pos.y + diffY))
								     }); 
				  }
				  self.lastX = ev.client.x;
				  self.lastY = ev.client.y;

				  self.firstEvent = false;
			      }
			  });

	},
	    
	zoomIn: function(){
	    var button = $('zoom');
	    
	    button.removeEvents('click');
	    button.set('class', 'zoomOut');

	    button.addEvent('click', this.zoomOut.bind(this));

	    var z_in = new Fx.Morph(this.image, {
		    onComplete: function() {
					    this.busy = false;
					}.bind(this),
					      duration: 200,
					      transition: Fx.Transitions.linear,
					      wait: true
					      });
	    
	    z_in.start({
		    'left': (375 - 1200) / 2,
			'top': 0,
			'height': 1600,
			'width': 1200
			});
			
		$('photo').setStyle('cursor', 'move');
	},
	
	zoomOut: function(){
            var button = $('zoom');
            button.removeEvents('click');
            button.set('class', 'zoomIn');
	    
            button.addEvent('click', this.zoomIn.bind(this));
	    
            var z_in = new Fx.Morph(this.image, {
                    onComplete: function() {
                                            this.busy = false;
                                        }.bind(this),
                                              duration: 200,
                                              transition: Fx.Transitions.linear,
                                              wait: true
                                              });

            z_in.start({
                    'left': 0,
                        'top': 0,
                        'height': 500,
                        'width': 375
                        });
                        
            $('photo').setStyle('cursor', 'default');
        }



    });



