// img size from zoom level 0 and up to 19

//var a_zoom_image = [ 5,7,9,11,13,15,17,19,21,23,24,25,27,29,31,33,35,35,35,35,35,];
var a_zoom_image = [ 35,35,35,35,37,39,41,43,45,47,49,51,53,55,57];



function MarkerLight(latlng, opts) {
	this.latlng = latlng;

	if (!opts) opts = {};
	this.name   			= opts.name;
	this.edmo				= opts.edmo;
	this.link   			= opts.link;
	this.clicked_ 			= 0;
}


MarkerLight.prototype = new GOverlay();


MarkerLight.prototype.initialize = function(map) {
	var me = this;
	var n_zoom = map.getZoom()


	var div = document.createElement("div");

	div.style.position = "absolute";
	div.style.paddingLeft = "0px";
	div.style.cursor = 'pointer';


	var img = document.createElement("img");
	img.src = '/grfx/gis/'+me.image+'.png';


	img.style.width = a_zoom_image[n_zoom] + "px";
	img.style.height = a_zoom_image[n_zoom] + "px";

	div.appendChild(img);

///////////////////////////////////////////////
// dom listener voor knooppunten
///////////////////////////////////////////////

	GEvent.addDomListener(div, "mouseover", function(event) {
	  show_tool_tip(me);
	});

	GEvent.addDomListener(div,"mouseout", function() {
		tooltip.style.visibility="hidden"
	});

	GEvent.addDomListener(div, "click", function(event) {


	show_info_window(me);

	});


	map.getPane(G_MAP_MARKER_PANE).appendChild(div);

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


};

function show_info_window(marker) {

	tooltip.style.visibility="hidden"

	var c_html = '';
	var c_temp = '';
	c_html += '<b class=ttl>Organisation:</b><br />'+marker.edmo+'<br>';

	var a_link = marker.link.split('^');
	var a_name = marker.name.split('^');

	c_html += '<br /><b class=ttl>'+marker.desc+':</b><br />';
    for(var i=0;i<a_link.length;i++){
    	if (a_link[i]!='') {
			c_html += '<a href='+a_link[i] + ' target="_blank">'+a_name[i]+'</a><br />';
		}
    }

    map.openInfoWindowHtml(marker.getPoint(),c_html);

}

function show_tool_tip(marker) {

	tooltip.innerHTML = marker.edmo;

	var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
	var offset = map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x ,- offset.y + point.y ));

	pos.apply(tooltip);

	tooltip.style.visibility="visible";
}

MarkerLight.prototype.remove = function() {
  this.div_.parentNode.removeChild(this.div_);
};

MarkerLight.prototype.copy = function() {
  var opts = {};
  opts.color = this.color_;
  opts.height = this.height_;
  opts.width = this.width_;
  opts.image = this.image_;
  opts.imageOver = this.image_;
  return new MarkerLight(this.latlng, opts);
};


MarkerLight.prototype.redraw = function(force) {

  if (!force) return;

	var divPixel = this.map_.fromLatLngToDivPixel(this.latlng);
	var n_zoom = this.map_.getZoom()

	this.div_.style.width = a_zoom_image[n_zoom] + "px";
	this.div_.style.left = (divPixel.x)- (a_zoom_image[n_zoom]/2) + "px"
	this.div_.style.height = a_zoom_image[n_zoom] + "px";
	this.div_.style.top = (divPixel.y) - (a_zoom_image[n_zoom]/2) + "px";
};

MarkerLight.prototype.getZIndex = function(m) {
  return GOverlay.getZIndex(marker.getPoint().lat())-m.clicked*10000;
}

MarkerLight.prototype.getPoint = function() {
  return this.latlng;
};

MarkerLight.prototype.setStyle = function(style) {
  for (s in style) {
    this.div_.style[s] = style[s];
  }
};

MarkerLight.prototype.setImage = function(image) {
  this.div_.style.background = 'url("' + image + '")';
}

