var map;



OpenLayers.Control.Hover = OpenLayers.Class(OpenLayers.Control, {                
	defaultHandlerOptions: {
		'delay': 500,
		'pixelTolerance': 10,
		'stopMove': false
	},

	initialize: function(options) {
		this.handlerOptions = OpenLayers.Util.extend(
			{}, this.defaultHandlerOptions
		);
		OpenLayers.Control.prototype.initialize.apply(
			this, arguments
		); 
		this.handler = new OpenLayers.Handler.Hover(
			this,
			{'pause': this.onPause, 'move': this.onMove},
			this.handlerOptions
		);
	}, 

	onPause: function(evt) {
		
		var output = document.getElementById(this.key);
		var msg = 'pause ' + evt.xy;
		//alert(evt.xy);
		var lonlat = map.getLonLatFromPixel( evt.xy );
		//output.innerHTML = output.innerHTML + lonlat + "<br>";
		
		if(popup) {
			var ol = popup.div.offsetLeft;
			var or = ol+popup.size.w;
			var ot = popup.div.offsetTop;
			var ob = ot+popup.size.h;
			var x = evt.xy.x;
			var y = evt.xy.y;
			if(x > ol && x < or && y > ot && y < ob) return;
		}	
	
		open_popup( evt, lonlat );
		
	},

	onMove: function(evt) {
		// if this control sent an Ajax request (e.g. GetFeatureInfo) when
		// the mouse pauses the onMove callback could be used to abort that
		// request.
	}
});


function defaultinit() {

	map = new OpenLayers.Map('map', {
		theme: "theme/style.css",
		maxExtent: new OpenLayers.Bounds(260000, 5210000, 960000, 6110670), 
		maxResolution: 1500, 
		units: 'meters', 
		projection: "EPSG:25832",
	
		controls: [
			new OpenLayers.Control.Navigation(),
			new OpenLayers.Control.PanZoomBar(),
			//new OpenLayers.Control.LayerSwitcher({'ascending':false}),
			new OpenLayers.Control.Permalink(),
			//new OpenLayers.Control.ScaleLine(),
			new OpenLayers.Control.Permalink('permalink'),
			new OpenLayers.Control.MousePosition(),
			//new OpenLayers.Control.OverviewMap(),
			new OpenLayers.Control.KeyboardDefaults()
		],
		numZoomLevels: 6
		
	});

	var hovercontrol = new OpenLayers.Control.Hover();
	hovercontrol.key = "hoverinfo";
	map.addControl( hovercontrol );
	hovercontrol.activate();


	/*
	var clickcontrol = new OpenLayers.Control.Click();
	clickcontrol.key = "hoverinfo";
	map.addControl( clickcontrol );
	clickcontrol.activate();	
	*/
}
