// Infowin class for displaying a miniature info window. Does not
// respond to any events - so you should show and remove the
// overlay yourself as necessary.

function Infowin(latlng, html) {
	this.latlng_ = latlng;
	this.html_ = html;
	this.prototype = new GOverlay();

	// Creates the DIV representing the infowindow
	this.initialize = function(map) {
		var div = $('<div />');
		div.addClass('map-infowindow');
		div.css({
			position : 'absolute',
			width : 257
		}).appendTo(map.getPane(G_MAP_FLOAT_PANE))

		this.map_ = map;
		this.div_ = div;

		this.update(html);
	}

	this.update = function(html){
		this.html_ = html;

		this.div_.empty();
		
		$('<div />').css({
			//'background-image' : 'url(http://www.kkuliczkowski.dev.sportmediagroup.pl/is2/view/css/i/map/bubble-t.png)',
			height : 12,
			padding: '0'
		}).addClass('win-top').appendTo(this.div_);

		var content = $('<div/>').addClass('infowin-content').css({
			'position' : 'relative',
			'overflow' : 'hidden',
			'max-height' : 100,
			'top' : -5
		}).html(html);

		$('<div />').addClass('win-bottom').append(content).appendTo(this.div_);

		$('<a />').addClass('win-close').attr('href', '#').appendTo(this.div_);
		
				
		this.redraw(true);
	}

	// Remove the main DIV from the map pane
	this.remove = function() {
	  this.div_.remove();
	}

	// Copy our data to a new instance
	this.copy = function() {
	  return new Infowin(this.latlng_, this.html_);
	}

	// Redraw based on the current projection and zoom level
	this.redraw = function(force) {
		if (!force) return;

		var point = this.map_.fromLatLngToDivPixel(this.latlng_);

		// Now position our DIV based on the DIV coordinates of our bounds
		this.div_.css({
			left : point.x - 48,
			top : point.y - this.div_.height() - 26
		});
	}
}
