<?php
# $Id$ 
# http://www.mapbender.org/index.php/mod_highlightPOI.php
# Copyright (C) 2002 CCGIS 
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

require_once(dirname(__FILE__)."/../php/mb_validateSession.php");

echo "var mod_highlightPOI_target = '".$e_target[0]."';";

include('../include/dyn_js.php');

?>
try{
	if (poi_image){}
}
catch(e){
	poi_image = '../img/redball.gif';
}

try{
	if (poi_width){}
}
catch(e){
	poi_width = 14;
}

try{
	if (poi_height){}
}
catch(e){
	poi_height = 14;
}

try{
	if (poi_style){}
}
catch(e){
	poi_style = 'background-color:white;font-weight: bold;color:black;font-family:Arial;';
}

eventAfterLoadWMS.register(function () {
	mod_highlightPOI_init();
});
eventAfterMapRequest.register(function () {
	mod_highlightPOI_draw();
});

var mod_highlightPOI_minx;
var mod_highlightPOI_miny;
var mod_highlightPOI_maxx;
var mod_highlightPOI_maxy;
var mod_highlightPOI_name = new Array();
var mod_highlightPOI_x = new Array();
var mod_highlightPOI_y = new Array();
var mod_highlightPOI_params = new Array();
var myPOI;

function mod_highlightPOI_init(){
		var myPOI = "<?php if (CHARSET == 'UTF-8'){
				echo addslashes(preg_replace("/\n/", "<br>", Mapbender::session()->get("mb_myPOI")));
			}else{
				echo addslashes(preg_replace("/\n/", "<br>", utf8_decode(Mapbender::session()->get("mb_myPOI"))));
			} 
			?>";

	if(myPOI != ""){
 		mod_highlightPOI_params = myPOI.split("___");

	  
  
	  for(var i=0; i<mod_highlightPOI_params.length; i=i+3){
	    if(i==0){
	      mod_highlightPOI_name[i] = mod_highlightPOI_params[i];
	      mod_highlightPOI_minx = parseInt(mod_highlightPOI_params[i+1]);
	      mod_highlightPOI_miny = parseInt(mod_highlightPOI_params[i+2]);
	      mod_highlightPOI_maxx = parseInt(mod_highlightPOI_params[i+1]);
	      mod_highlightPOI_maxy = parseInt(mod_highlightPOI_params[i+2]);
	    }  
	    else{
	      mod_highlightPOI_name[i] = mod_highlightPOI_params[i];
	      if(mod_highlightPOI_params[i+1] < mod_highlightPOI_minx){
	        mod_highlightPOI_minx = parseInt(mod_highlightPOI_params[i+1]);
	      }
	      if(mod_highlightPOI_params[i+2] < mod_highlightPOI_miny){
	        mod_highlightPOI_miny = parseInt(mod_highlightPOI_params[i+2]);
	      }
	      if(mod_highlightPOI_params[i+1] > mod_highlightPOI_maxx){
	        mod_highlightPOI_maxx = parseInt(mod_highlightPOI_params[i+1]);
	      }
	      if(mod_highlightPOI_params[i+2] > mod_highlightPOI_maxy){
	        mod_highlightPOI_maxy = parseInt(mod_highlightPOI_params[i+2]);
	      }  
	    }
	  }
	  if((mod_highlightPOI_maxx - mod_highlightPOI_minx) < 100){
	    mod_highlightPOI_minx -= 50;
	    mod_highlightPOI_maxx += 50;
	  }
	  if((mod_highlightPOI_maxy - mod_highlightPOI_miny) < 100){
	    mod_highlightPOI_miny -= 50;
	    mod_highlightPOI_maxy += 50;
	  }
	  mod_highlightPOI_minx -= 50;
	  mod_highlightPOI_maxx += 50;
	  mod_highlightPOI_miny -= 50;
	  mod_highlightPOI_maxy += 50;
	  //mb_calculateExtent( mod_highlightPOI_target,mod_highlightPOI_minx,mod_highlightPOI_miny,mod_highlightPOI_maxx,mod_highlightPOI_maxy);
  }
}


function mod_highlightPOI_draw(){
	var mapObject = getMapObjByName(mod_highlightPOI_target);
	var map_el = mapObject.getDomElement();
	if (!map_el.ownerDocument.getElementById(mapObject.elementName + "_permanent")) {
		//create Box Elements

		var $div = $("<div id='" + mapObject.elementName + "_permanent'><img src='../img/redball.gif'/></div>");
		$div.css({
			position: "absolute",
			top: "0px",
			left: "0px"
		});
		map_el.appendChild($div.get(0));
	}
	
	var tagSource = "";
	for (var i = 0; i < mod_highlightPOI_params.length; i = i + 3) {
		var pointFromUrl = new Point(parseFloat(mod_highlightPOI_params[i+1]), parseFloat(mod_highlightPOI_params[i+2]));
		var pos = mapObject.convertRealToPixel(pointFromUrl);
		tagSource += "<div style='z-index:105;position:absolute;left:"+(pos.x-Math.round(0.5*poi_width))+"px;top:"+(pos.y-Math.round(0.5*poi_height))+"px'>";
		tagSource += "<img src='"+poi_image+"'>";
		tagSource += "<div class='ui-widget-content ui-corner-all' style='padding:3px'><span style='white-space:nowrap;'>"+mod_highlightPOI_params[i].replace("\n", "<br>")+"</span></div>";
		tagSource += "</div>";
	}
	$("#" + mapObject.elementName + "_permanent").html(tagSource);
}