var Map = new Class({
	
	Implements: Options,
	
	options: {
		map_element: 'map',
		viewport_element: 'viewport',
		debug:false		
    },
	
	initialize: function(options){
		//	setup options
		this.setOptions(options);
		
		// get base elements
		this.map = $(this.options.map_element);
		this.map_size = this.map.getSize();
		this.viewport = $(this.options.viewport_element);
		this.viewport_size = this.viewport.getSize();

		//	setup drag events
		var myDrag = new Drag.Move(this.map);
	
	},
	
	center: function(){
		//	reset map to center of viewport
		this.map.setStyles({
			'marginLeft': Math.floor((-0.5*this.map_size.x)+(0.5*this.viewport_size.x))+'px',
			'marginTop': Math.floor((-0.5*this.map_size.y)+(0.5*this.viewport_size.y))+'px'
		});
	},
	
	move_to: function(x,y){
		//	set map to requested coordinates in viewport
		this.map.setStyles({
			'marginLeft': x+'px',
			'marginTop': y+'px'
		});
	}

});
