var mapobjectnameV2=false;
var initSearchAround=false;
var searchAroundIds="";var searchAroundX=null;var searchAroundY=null;var searchAroundDist=null;
var displaySearchAroundCenter=true;var initSheet = false;var initSheetId="";
var zoomMode = 0;
var distMode = 0;
var infoClickMode = false;
function resetIcons(){
	if(document.getElementById("ToolbarIconMove")) {
		document.getElementById("ToolbarIconMove").src = "../cityportal/images/deplacer72dpi.png";
	}
	if(document.getElementById("ToolbarIconZoom")) {
		document.getElementById("ToolbarIconZoom").src = "../cityportal/images/selectionnez72dpi.png";
	}
	if(document.getElementById("ToolbarIconCircle")) {
		document.getElementById("ToolbarIconCircle").src = "../cityportal/images/selectioncercle.png";
	}
	if(document.getElementById("ToolbarIconRect")) {
		document.getElementById("ToolbarIconRect").src = "../cityportal/images/selectionrect.png";
	}
	if(document.getElementById("ToolbarIconDist")) {
		document.getElementById("ToolbarIconDist").src = "../cityportal/images/trajet72dpi.png";
	}
	if(document.getElementById("ToolbarIconInfo")) {
		document.getElementById("ToolbarIconInfo").src = "../cityportal/images/inforoute.png";
	}
}
function navigue(noDeleteVector) {
	resetIcons();
	if(document.getElementById("ToolbarIconMove")) {
		document.getElementById("ToolbarIconMove").src = "../cityportal/images/deplacer72dpi_on.png";
	}
	if(document.getElementById("distanceinfo")) {
		document.getElementById("distanceinfo").style.visibility = "hidden";
	}
    zoomMode = 0;
    distMode = 0;
	DynMapSetMouseMode(dynMap,DynMapMoveSelectionMode());
	DynMapSetMouseCursor(dynMap,"url('../images/grab.cur'),pointer");
	DynMapSetMouseCursorDown(dynMap,"url('../images/grabbing.cur'),pointer");
	var layer = DynMapGetLayer(dynMap, "distancier");
	if(!noDeleteVector){
		DynMapLayerDeleteAllElements(layer);
		DynMapLayerRefresh(dynMap,layer);
	}
	infoClickMode = false;
}
function marquise() {
	distMode = 0;
	DynMapSetMouseMode(dynMap,4);
	resetIcons();
	if(document.getElementById("ToolbarIconZoom")) {
		document.getElementById("ToolbarIconZoom").src = "../cityportal/images/selectionnez72dpi_on.png";
	}
	if(document.getElementById("distanceinfo")) {
		document.getElementById("distanceinfo").style.visibility = "hidden";
	}
	var layer = DynMapGetLayer(dynMap, "distancier");
	DynMapLayerDeleteAllElements(layer);
	if(zoomMode == 0){
		zoomMode = 1;
		infoClickMode = false;
		DynMapSetMouseCursorDown(dynMap,"crosshair");
		document.getElementById("theMap_main").style.cursor = "crosshair";
	}else{
		navigue();
	}
}
function modeDistance(){
	resetIcons();
	if(document.getElementById("ToolbarIconDist")) {
		document.getElementById("ToolbarIconDist").src = "../cityportal/images/trajet72dpi_on.png";
	}
	if(!distMode){
		distMode = 1;
		zoomMode = 0;
		infoClickMode = false;
		DynMapSetMouseCursor(dynMap,"pointer");
		DynMapSetMouseCursorDown(dynMap,"pointer");
		var mode = DynMapDistanceMode("distancier", 5, "#FF0000",0.6,document.getElementById("segmentdist"),document.getElementById("totaldist"));
		DynMapSetMouseMode(dynMap, mode);
		if(document.getElementById("distanceinfo")) {
			document.getElementById("distanceinfo").style.visibility = "visible";
		}
	}else{
		navigue();
		distMode = 0;
	}
}
function infoMode(){
	navigue();
	resetIcons();
	if(document.getElementById("ToolbarIconInfo")) {
		document.getElementById("ToolbarIconInfo").src = "../cityportal/images/inforoute_on.png";
	}
	infoClickMode = true;
	DynMapSetMouseCursor(dynMap,"help");
	DynMapSetMouseCursorDown(dynMap,"help");
}

function direct_email(){
	var x = DynMapGetCenterX(dynMap);
	var y = DynMapGetCenterY(dynMap);
	var s = DynMapGetScale(dynMap);

	var url = window.location.href+"?X="+x+encodeURIComponent("&Y="+y+"&Scale="+s);
	var link = window.location.href+"?X="+x+"&Y="+y+"&Scale="+s;
	
    var chaine_mail = '<a rel="nofollow" href="mailto:';
    chaine_mail += '?subject= ' + encodeURIComponent( document.title );
    chaine_mail += '&amp;body= Je recommande cette page : ' + encodeURIComponent( document.title );
    chaine_mail += '. Consultable à cette adresse : ' + url;
    chaine_mail += '" title="Envoyer par e-mail">Envoyer le lien par mail</a>';
    chaine_mail += '<br>Ou copier le lien suivant dans votre message:<br>'+link;
    var p = new PopupWindow();
	p.setSize(600,200);
	p.populate(chaine_mail);
	p.showPopup("debug");
}

function openPrintScreen(geowebmapserver,mapname,tabname){
	var objs = DynMapGetObjects(dynMap);
	var url = geowebmapserver + "?XgoAnswer=MapImage&XgoMapFile="+mapname;
	var w = DynMapGetWidth(dynMap);
	var h = DynMapGetHeight(dynMap);
	url += "&sizex="+w+"&sizey="+h;
	var precision = DynMapGetPrecision(dynMap);
	var x = DynMapGetCenterX(dynMap)/precision;
	var y = DynMapGetCenterY(dynMap)/precision;
	var s = DynMapGetScale(dynMap);
	var dw = DynMapGetDistanceX(dynMap,w)/precision;
	var dh = DynMapGetDistanceY(dynMap,h)/precision;
	url += "&XgoPointX="+x+"&XgoPointY="+y+"&XgoSetLogicalScale="+s;
	url += "&XgoBitmapFormat=PNG&XgoNbBits=24&tr=-1&XgoTabs="+tabname;
	url += "&myfont=FontStyle:bold;FontColor:white;FontHaloColor:rgb(0,167,235);FontHaloWidth:4;";
	url += "&myalign=Transparency:black;vAlign:bottom;hAlign:right;";
	var i=0;var cpt=1;
	for(i=0;i<objs.length;i++){
		var obj = objs[i];
		var posx = obj.mapx;
		var posy = obj.mapy;
		if(Math.abs(posx-x)<dw/2 && Math.abs(posy-y)<dh/2){
			var imgsrc = obj.imgsrc.split('=')[1] + '.png';
			url += "&XgoGcisDraw"+cpt+"=item:picture;include-var:myalign;hOffset:"+(-obj.deltaX)+";vOffset:"+(-obj.deltaY)+";coords:"+posx+","+posy+";file:"+imgsrc;
			cpt = cpt+1;
			if(obj.name){
				url += "&XgoGcisDraw"+cpt+"=item:text;text:"+obj.name+";coords:"+posx+","+posy+";include-var:myfont;";
				cpt = cpt+1;
			}
		}
	}
	var p = new PopupWindow();
	p.setSize(w,h);
	p.setUrl(url);
	p.windowProperties="scrollbars=yes";
	p.showPopupMouse();
}

function printit(){  
	if(navigator.appName == "Netscape"){
		window.print();  
	}else{
		var WebBrowser='<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box
		WebBrowser1.outerHTML="";  
	}
}

function updateOpacity(layername,opacity) {
	DynMapSetLayerOpacity(DynMapGetLayer(dynMap,layername),opacity);
	if(layername=="plan" && opacity==100){
		DynMapSetLayerOpacity(DynMapGetLayer(dynMap,"main"),0);
	}else{ 
		DynMapSetLayerOpacity(DynMapGetLayer(dynMap,"main"),100); 
	}
}

function responseSearchPOI(xmlrequest){
	$("#debug").html(xmlrequest.responseText);
	return;
}

function responseError(XMLHttpRequest, textStatus, errorThrown){ }

function replaceAll(str, search, repl) {
 while (str.indexOf(search) != -1){
  str = str.replace(search, repl);
 }
 return str;
}
function unaccent(str) {
 var norm = new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
'Ì','Í','Î','Ï', 'Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý',
'Þ','ß', 'à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î',
'ï','ð','ñ', 'ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ý','þ','ÿ');
var spec = new Array('A','A','A','A','A','A','A','C','E','E','E','E',
'I','I','I','I', 'D','N','O','O','O','0','O','O','U','U','U','U','Y',
'b','s', 'a','a','a','a','a','a','a','c','e','e','e','e','i','i','i',
'i','d','n', 'o','o','o','o','o','o','u','u','u','u','y','y','b','y');
 for (var i = 0; i < spec.length; i++)
  str = replaceAll(str, norm[i], spec[i]);
 return str;
}
function beginCreationModeC() { // circle selection
	resetIcons();
	if(document.getElementById("ToolbarIconCircle")) {
		document.getElementById("ToolbarIconCircle").src = "../cityportal/images/selectioncercle_on.png";
	}
	infoClickMode = false;
	var mode = DynMapCreateSelectionMode("circle","distancier", 2, "#6BB0FF",0.5,"#001DFF");
	DynMapSetMouseMode(dynMap, mode);
	DynMapSetMouseCursor(dynMap,"pointer");
	DynMapSetMouseCursorDown(dynMap,"pointer");
	DynMapLayerSetZindex(vlayer,4);
}
function beginCreationModeR() {
	resetIcons();
	if(document.getElementById("ToolbarIconRect")) {
		document.getElementById("ToolbarIconRect").src = "../cityportal/images/selectionrect_on.png";
	}
	infoClickMode = false;
	var mode = DynMapCreateSelectionMode("rect","distancier", 2, "#6BB0FF",0.5,"#001DFF");
	DynMapSetMouseMode(dynMap, mode);
	DynMapSetMouseCursor(dynMap,"pointer");
	DynMapSetMouseCursorDown(dynMap,"pointer");
	DynMapLayerSetZindex(vlayer,4);
}
