if(typeof tabLayers =='undefined') {var tabLayers = new Array();} 

if(typeof tabLayersState =='undefined')  {var tabLayersState = new Array();}	

if(typeof tabLayersWmsLink =='undefined')  {var tabLayersWmsLink = new Array();}

if(typeof tabLayersType =='undefined')  {var tabLayersType = new Array();}	

if(typeof tabLayersAttributes =='undefined')  {var tabLayersAttributes = new Array();}	

if(typeof tabLayersPsp =='undefined')  {var tabLayersPsp = new Array();}	

if(typeof tabLayersReproj =='undefined')  {var tabLayersReproj = new Array();}

if(typeof tabLayersTitreBulle =='undefined')  {var tabLayersTitreBulle = new Array();}

if(typeof tabLayersSource =='undefined')  {var tabLayersSource = new Array();}





var lonlat;

var layer;

var layerName;  

var myPermalink; 

var tabNoLegend = new Array();

var map, controls;

var lS;



var popupOuverte ;





var ie6 = (navigator.appName == 'Microsoft Internet Explorer' /*&amp;&amp; navigator.appVersion.match("MSIE 6")*/ ) ? 1:0;

   	if(ie6) {var transEff = null;} else {var transEff = 'resize';}

	

//var wmslink = ["http://sigore.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map"];
var wmslink = ["http://www.sig.forum-marais-atl.com/cgi-bin/mapserv?map=C:/OSGeo4W/apache/htdocs/wms-rpdzh.map"];


	



function debutChg(layerCh ) {

//	alert(layerCh.params.LAYERS);

	//alert(this+' '+this.params.LAYERS);

	var nomid = '#'+this.params.LAYERS; 



	//alert(nomid+' => '+document.getElementById(nomid)+'   '+jQuery('input [id='+nomid+']').val()); 

	//alert(jQuery('input [id='+nomid+']').val());

	var t=jQuery('input:checked');

	 for (var i = 0; i < t.length; i++) {

   // Do something with a[i]

   		//alert(jQuery(t[i]).attr('id'));

		if ( jQuery(t[i]).attr('id') == this.params.LAYERS) {

			//jQuery(t[i]).parent().html( jQuery(t[i]).parent().html()+'<img src="images/ajax-loader.gif" >');

			jQuery(t[i]).parent().children('span').children('img').attr('class','');

		}

	 }



}

		



function finChg(layerCh ) {

	var nomid = '#'+this.params.LAYERS; 

	var t=jQuery('input:checked');

	 for (var i = 0; i < t.length; i++) {

		if ( jQuery(t[i]).attr('id') == this.params.LAYERS) {

			jQuery(t[i]).parent().children('span').children('img').attr('class','inv');

		}

	 }



}		





// different popup types

function myCloseBoxCallback (e){   

	popupOuverte = null;

    this.destroy(); 

    OpenLayers.Event.stop(e);

 }

    //anchored

        AutoSizeAnchored = OpenLayers.Class(OpenLayers.Popup.Anchored, {

            'autoSize': true

        });

        AutoSizeAnchoredMinSize = OpenLayers.Class(OpenLayers.Popup.Anchored, {

            'autoSize': true, 

            'minSize': new OpenLayers.Size(400,400)

        });

        AutoSizeAnchoredMaxSize = OpenLayers.Class(OpenLayers.Popup.Anchored, {

            'autoSize': true, 

            'maxSize': new OpenLayers.Size(100,100)

        });

        //anchoredbubble

        AutoSizeAnchoredBubble = OpenLayers.Class(OpenLayers.Popup.AnchoredBubble, {

            'autoSize': true

        });

        AutoSizeAnchoredBubbleMinSize = OpenLayers.Class(OpenLayers.Popup.AnchoredBubble, {

            'autoSize': true, 

            'minSize': new OpenLayers.Size(400,400)

        });

        AutoSizeAnchoredBubbleMaxSize = OpenLayers.Class(OpenLayers.Popup.AnchoredBubble, {

            'autoSize': true, 

            'maxSize': new OpenLayers.Size(100,100)

        });

        //framed

        //disable the autosize for the purpose of our matrix

        OpenLayers.Popup.FramedCloud.prototype.autoSize = true;

        AutoSizeFramedCloud = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {

            'autoSize': true

        });

        AutoSizeFramedCloudMinSize = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {

            'autoSize': true, 

            'minSize': new OpenLayers.Size(500,500)

        });

        AutoSizeFramedCloudMaxSize = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {

            'autoSize': true, 

            'maxSize': new OpenLayers.Size(500,500)

        });

		function ajouteFeature(ll, popupClass, popupContentHTML, closeBox, overflow,nomLayer) {

				var dejaTxt = ''; 				

				if (popupOuverte!= null  ) {

					if ( ll == popupOuverte.lonlat  ) {

						dejaTxt = popupOuverte.data.popupContentHTML 	;

					}

					popupOuverte.destroyPopup();	

					popupOuverte = null; 

				}

				var feature = new OpenLayers.Feature(layer, ll); 

				feature.closeBox = closeBox;

				feature.popupClass = popupClass;

				feature.data.popupContentHTML = dejaTxt+" "+popupContentHTML;

				feature.data.overflow = (overflow) ? "auto" : "hidden";

				if (feature.popup == null) {

					feature.popup = feature.createPopup(feature.closeBox);

					map.addPopup(feature.popup);

					feature.popup.show();

				} else {feature.popup.toggle();}

				popupOuverte = feature; 

				

				OpenLayers.Event.observe(feature.popup.closeDiv, "click", 

				OpenLayers.Function.bindAsEventListener(myCloseBoxCallback, feature.popup));

				

				var _divajax = document.getElementById('scriptajax_'+nomLayer); 

				//alert(nomLayer); 

				if (_divajax != null) {

					eval(_divajax.innerHTML);

				}	

				

        }

    /*handler de creation du popup*/

	/*function lancePopup(response) {

				//alert(response.responseText );

			if(response.responseText.length > 1) {

			var nomLayer;

			var url = response['request']['url'];

			//alert(url );;

			var tmp = url.split("&");

			for (var i in tmp) {

				var str = tmp[i];

				if((typeof str) == 'string') {

					if(str.match('nomLayer')) {

						var tmptmp = str.split('=');

						nomLayer = tmptmp[1];

					}			

				}

			}

			//alert(nomLayer );;

			if(tabLayersType[nomLayer] == "wms_dist") {

				var format = new OpenLayers.Format.XML();

				var doc = format.read(response.responseText);

				var attributes = tabLayersAttributes[nomLayer].split(",");

				var psp = tabLayersPsp[nomLayer].split("$$$");		

				var html = "";

				var vide = true;

				if (attributes.length) {

				html += "<h1>"+tabLayersTitreBulle[nomLayer]+"</h1><span class='source'>Source : "+tabLayersSource[nomLayer]+"</span><ul>";

				for(var i=0; i<attributes.length; i++) {

						var finestAttributes = attributes[i].split("=");

						var node = doc.getElementsByTagName(finestAttributes[1]).item(0);

						//var node = format.getElementsByTagNameNS(doc, '', attributes[i]).item(0);

						var val = format.getChildValue(node);

						if (val) {vide = false;} 

						html += "<li><span class='titre'>"+finestAttributes[0]+"</span> : "+val+"</li>";	

				}

				html += "</ul>";

				}

				if (psp.length) {

					html += "<div id='psp'><h2>Pour en savoir plus</h2><ul>";

					for(var i=0; i<psp.length; i++) {

						html += "<li class='avec_puce'>"+psp[i]+"</li>";

					}

					html += "</ul></div>";

				}

				if(!vide) {	ajouteFeature(lonlat, AutoSizeFramedCloud,html,true, false ,nomLayer);}

			}

			else {


				if (nomLayer == "arbresremarquables") {	contenuHtml = Utf8.decode(response.responseText);	

				}  else {	contenuHtml = response.responseText; 	}

				

				ajouteFeature(lonlat, AutoSizeFramedCloud,contenuHtml,true, false,nomLayer );}

				}

	} */

	
function lancePopup(response,nomLayer) {
	if(response.responseText.length > 1) {
		//alert(nomLayer+response.responseText);
	if(tabLayersType[nomLayer] == "wms_dist") {
	    var format = new OpenLayers.Format.XML();
        var doc = format.read(response.responseText);
		var attributes = tabLayersAttributes[nomLayer].split(",");
		var psp = tabLayersPsp[nomLayer].split("$$$");		
	  	var html = "";
		var vide = true;
		if (attributes.length) {
		html += "<h1>"+tabLayersTitreBulle[nomLayer]+"</h1><span class='source'>Source : "+tabLayersSource[nomLayer]+"</span><ul>";
		for(var i=0; i<attributes.length; i++) {
				var finestAttributes = attributes[i].split("=");
				var node = doc.getElementsByTagName(finestAttributes[1]).item(0);
				var val = format.getChildValue(node);
				if (val) {vide = false;} 
				html += "<li><span class='titre'>"+finestAttributes[0]+"</span> : "+val+"</li>";	
		}
		html += "</ul>";
		}
		if (psp.length) {
			html += "<div id='psp'><h2>Pour en savoir plus</h2><ul>";
			for(var i=0; i<psp.length; i++) {
				html += "<li class='avec_puce'>"+psp[i]+"</li>";
			}
			html += "</ul></div>";
		}
		if(!vide) {	ajouteFeature(lonlat, AutoSizeFramedCloud,html,true, false,nomLayer );}
	}
	else {
		contenuHtml = response.responseText; 	
		ajouteFeature(lonlat, AutoSizeFramedCloud,contenuHtml,true, false,nomLayer );}
	}
}
	

    OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {                

                defaultHandlerOptions: {

                    'single': true,

                    'double': false,

                    'pixelTolerance': 0,

                    'stopSingle': false,

                    'stopDouble': false

                },

                initialize: function(options) {

                    this.handlerOptions = OpenLayers.Util.extend(

                        {}, this.defaultHandlerOptions

                    );

                    OpenLayers.Control.prototype.initialize.apply(

                        this, arguments

                    ); 

                    this.handler = new OpenLayers.Handler.Click(

                        this, {

                            'click': this.onClick,

                            'dblclick': this.onDblclick 

                        }, this.handlerOptions

                    );

                }, 

onClick: function(e) {
         for (var key in tabLayers){
		  layer = tabLayers[key];
                  if((typeof layer) == 'object') {
                    if(layer.getVisibility()) {
                                var x = e.xy.x;
                                var y = e.xy.y;
                                var currbounds = map.calculateBounds(map.getCenter(), map.getResolution());
                                lonlat = map.getLonLatFromPixel(new OpenLayers.Pixel(x,y));
                               var format;
                                var srs = "EPSG:900913";
                                if(tabLayersType[key] == "wms_dist") {
                                    format = "gml";
                                }
                                else {
                                    format = "text/html";
                                }
                                if(tabLayersReproj[key] != "") {        // on reprojette                    
                                    newsrs = "EPSG:"+tabLayersReproj[key];
                                    //Proj4js.libPath = 'C:/OSGeo4W/apache/htdocs/proj4js/lib/defs/';
									Proj4js.libPath = 'proj4js/lib/defs/';
                                    // apparemment le path a l'air bon mais pas suffisant alors :
                                    Proj4js.defs["EPSG:27582"] = "+title=27582 +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs ";
                                    currbounds.transform(new OpenLayers.Projection(srs), new OpenLayers.Projection(newsrs));
                                   if (newsrs) {
                                        srs = newsrs;
                                    }
                                }
                                var url =  layer.getFullRequestString({
                    'REQUEST': "GetFeatureInfo",
                    'EXCEPTIONS': "application/vnd.ogc.se_xml",
                    'BBOX': currbounds.toBBOX(),
                    'SRS': srs,    'X': x,    'Y': y,
                    'RADIUS': 5, /* modif par RM 24/07/2009 avant radius =  20*/
                    'INFO_FORMAT': format,
                    'QUERY_LAYERS': layer.params.LAYERS,
                    'WIDTH': layer.map.size.w,
                    'HEIGHT': layer.map.size.h});
                            if(tabLayersReproj[key] != "") {
url = url.replace('http://www.sig.forum-marais-atl.com/cgi-bin/mapserv?map=C:/OSGeo4W/apache/htdocs/wms-rpdzh.map',tabLayersWmsLink[key]);}
                                                                                            
                                OpenLayers.loadURL(url,{'nomLayer':layer.name}, layer, 
                                                  function (response)
                                                {lancePopup(response,this.name); });
                                }
                            }
                        }
               }


               /* onClick: function(e) {

						for (var key in tabLayers){

						  layer = tabLayers[key];

							if((typeof layer) == 'object') {

							if(layer.getVisibility()) {

								var x = e.xy.x;

								var y = e.xy.y;

								var currbounds = map.calculateBounds(map.getCenter(), map.getResolution());



								lonlat = map.getLonLatFromPixel(new OpenLayers.Pixel(x,y));

								var format;

								var srs = "EPSG:900913";



								if(tabLayersType[key] == "wms_dist") {

									format = "gml";

								}

								else {

									format = "text/html";

								}

								if(tabLayersReproj[key] != "") {		// on reprojette					

									newsrs = "EPSG:"+tabLayersReproj[key];

									 //Proj4js.libPath = '/rpdzh/proj4js/lib/defs/';
									 Proj4js.libPath =  'C:/OSGeo4W/apache/htdocs/proj4js/lib/defs/';
									 

									// apparemment le path a l'air bon mais pas suffisant alors :

									 Proj4js.defs["EPSG:27582"] = "+title=27582 +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs ";

 									 Proj4js.defs["EPSG:27572"] = "+title=27572 +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs ";

									currbounds.transform(new OpenLayers.Projection(srs), new OpenLayers.Projection(newsrs));

									if (newsrs) {

										srs = newsrs;

									}

								}

								
 //lancement de la POPUP
								var url =  layer.getFullRequestString({

														'REQUEST': "GetFeatureInfo",

														'EXCEPTIONS': "application/vnd.ogc.se_xml",

														'BBOX': currbounds.toBBOX(),

														'SRS': srs,

														'X': x,

														'Y': y,

														'RADIUS': 20,

														'INFO_FORMAT': format,

														'QUERY_LAYERS': layer.params.LAYERS,

														'WIDTH': layer.map.size.w,

														'HEIGHT': layer.map.size.h});

							if(tabLayersReproj[key] != "") {
							
							url = url.replace('http://www.sig.forum-marais-atl.com/cgi-bin/mapserv?map=C:/OSGeo4W/apache/htdocs/wms-rpdzh.map',tabLayersWmsLink[key]);
							
					   	/*url = url.replace('http://sigore.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[key]);

							url = url.replace('http://sigore2.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[key]);

							  url = url.replace('http://sigore3.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[key]);

							url = url.replace('http://sigore4.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[key]);

								}

								

								OpenLayers.loadURL(url,{'nomLayer':layer.name}, this, lancePopup);

								}

							}

						}

                }*/

            });



			
// AJOUT SALIM 
var wfs;
OpenLayers.proxyHost="/cgi-bin/proxy.cgi?url=";

var DeleteFeature = OpenLayers.Class(OpenLayers.Control, {
    initialize: function(layer, options) {
        OpenLayers.Control.prototype.initialize.apply(this, [options]);
        this.layer = layer;
        this.handler = new OpenLayers.Handler.Feature(
            this, layer, {click: this.clickFeature}
        );
    },
    clickFeature: function(feature) {
        // if feature doesn't have a fid, destroy it
        if(feature.fid == undefined) {
            this.layer.destroyFeatures([feature]);
        } else {
            feature.state = OpenLayers.State.DELETE;
            this.layer.events.triggerEvent("afterfeaturemodified", 
                                           {feature: feature});
            feature.renderIntent = "select";
            this.layer.drawFeature(feature);
        }
    },
    setMap: function(map) {
        this.handler.setMap(map);
        OpenLayers.Control.prototype.setMap.apply(this, arguments);
    },
    CLASS_NAME: "OpenLayers.Control.DeleteFeature"
});			
			
// FIN AJOUT SALIM 


	
/* fonction d'initialisation de la carte*/    
	
var map, controls,measureControls;
			

function init() {

	// reconstruction de la fenetre (pour maximiser la taille de la carte)

 
	reconstruction();

	popupOuverte = null;

	var lon = 0;

	var lat = 46.1;

	var zoom = 8; 
	
OpenLayers.proxyHost="/cgi-bin/proxy.cgi?url=";

// OpenLayers.ProxyHost="http://sig.forum-marais-atl.com/proxy.cgi?url=";
	
	/*var request  = OpenLayers.Request.GET({
		url: "http://sig.forum-marais-atl.com",
		params: {somekey: "801"},
		proxy: "/cgi-bin/proxy.cgi?url=" // defaults to OpenLayers.ProxyHost
		});*/

//SALIM
		
	vlayer = new OpenLayers.Layer.Vector("Editable"); 
    var saveStrategy = new OpenLayers.Strategy.Save();
	wfs = new OpenLayers.Layer.Vector("Entitées digitalisées"); 
	var panel = new OpenLayers.Control.Panel(
        {'displayClass': 'customEditingToolbar'}
    );
     var navigate = new OpenLayers.Control.Navigation({
        title: "Naviguer"
    });
    
	var selecte = new OpenLayers.Control.SelectFeature({
        title: "Selectionner"
    });
	
   var draw = new OpenLayers.Control.DrawFeature(
        wfs, OpenLayers.Handler.Polygon,
        {
            title: "Dessiner Feature",
            displayClass: "olControlDrawFeaturePolygon",
            multi: true
        }
    );
	
	var edit = new OpenLayers.Control.ModifyFeature(wfs, {
        title: "Modifier Feature",
        displayClass: "olControlModifyFeature"
    });
	
	 var del = new DeleteFeature(wfs, {title: "Supprimer Feature"});
   
    var save = new OpenLayers.Control.Button({
        title: "Sauvegarder Feature",
        trigger: function() {
            if(edit.feature) {
                edit.selectControl.unselectAll();
            }
            saveStrategy.save();
        },
        displayClass: "olControlSaveFeatures"
    });
	
	//panel.addControls([navigate, save, del, edit, draw,selecte]);
    //panel.defaultControl = navigate;

    // create Google Mercator layers

     var gphys = new OpenLayers.Layer.Google(

                "Relief",

                {'type': G_PHYSICAL_MAP , 'transparent': true, 'sphericalMercator': true}

         );

 	var gsat = new OpenLayers.Layer.Google(

              "Satellite",

               {'type': G_SATELLITE_MAP, 'transparent': true, 'sphericalMercator': true}

        );

	var ghyb = new OpenLayers.Layer.Google(

                "Plan+Satellite",

                {'type': G_HYBRID_MAP, 'transparent': true, 'sphericalMercator': true}

        );

    var gplan = new OpenLayers.Layer.Google(

                "Plan" ,

				{ 'transparent': true ,'sphericalMercator': true}

     );
	
	/*var OSM=new OpenLayers.Layer.OSM("OpenStreetMap",
										 "http://tile.openstreetmap.org/${z}/${x}/${y}.png", 
										 {'sphericalMercator': true, isBaseLayer:true});*/
	
	var ov_imagery = new OpenLayers.Layer.Google("Satellite",{'type': G_SATELLITE_MAP, 'sphericalMercator': true});
	
	/*var yaho = new OpenLayers.Layer.Yahoo("Yahoo",{'sphericalMercator': true});	*/
		/* test fond blanc par RM*/

	var fdblanc = 	new OpenLayers.Layer.Image('Fond Blanc' , 'blanc.png',new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508.34), new OpenLayers.Size(48,48),{ 'transparent': true,'sphericalMercator': true});

	/* test cassini par Fabien

	var CASSINI = 	new OpenLayers.Layer.Image('CASSINI' , 'CASSINI.GTIFF',new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508.34), new OpenLayers.Size(56444,36054),{ 'transparent': true,'sphericalMercator': true});

 var CASSINI = new OpenLayers.Layer.Image('CASSINI','http://www.sig.forum-marais-atl.com/CASSINI.PNG',new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508.34), new OpenLayers.Size(56444,36054),{ 'transparent': true,'sphericalMercator': true});
var CASSINI = new OpenLayers.Layer.Image('CASSINI','http://www.sig.forum-marais-atl.com/CASSINI.ECW',new OpenLayers.Bounds(51.2647470926, -5.32794804395, 8.78317331065, 42.2511209036), new OpenLayers.Size(56444,36054),{ 'transparent': true,'sphericalMercator': true});

var CASSINI = new OpenLayers.Layer.Image('CASSINI','http://www.sig.forum-marais-atl.com/lot-cassini/bretagne.tiff',new OpenLayers.Bounds(-5.32794804399, 42.2511220926, 8.78317695601, 51.2647470926), new OpenLayers.Size(112889,72109),{ 'transparent': true,'sphericalMercator': true});

*/
	
	
/*vlayer = new OpenLayers.Layer.Vector( "Editable" );
            map.addLayer(vlayer);
		var IGN = new OpenLayers.Layer.WMS( "IGN topo",
        "http://www.idee.es/wms/MTN-Raster/MTN-Raster", {layers: 'mtn_rasterizado'}, {'buffer': 0} );

    var layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
	var layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
	
	var osmarender = new OpenLayers.Layer.OSM.Osmarender(i18n("javascripts.map.base.osmarender"), 
															  { keyid: "osmarender", displayOutsideMaxExtent: true, wrapDateLine: true });*/


	
	var sL = new OpenLayers.Control.ScaleLine({bottomOutUnits:"", bottomInUnits:""});

	 myPermalink = new OpenLayers.Control.Permalink(); 

	var options = { 'projection': new OpenLayers.Projection("EPSG:900913") , 'units': "m",   'maxResolution': 156543, 'controls': [new OpenLayers.Control.MouseDefaults(),  sL, myPermalink] ,  'numZoomLevels':21  , /* 'maxExtent': new OpenLayers.Bounds(-183983, 5605227, 395037, 5739454) */

	maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508.34)

  };

  	
   
// OUTILS DE DESSIN

     var overview = new OpenLayers.Control.OverviewMap({
      layers: [ov_imagery]
  });	
   
	map = new OpenLayers.Map( 'map_canvas', options);
	map.addControl(new OpenLayers.Control.PanZoomBar({ zoomWorldIcon: true }));
 	map.addControl(panel);
		map.addLayers([gsat, gphys, gplan, ghyb,fdblanc]); 
		//map.addLayers([gsat, gphys, gplan, ghyb,fdblanc,wfs]); 			
	// map.addLayers([gsat, gphys, gplan, ghyb,fdblanc,wfs,CASSINI]); 	
   
//   map.addLayers([gphys, gplan, gsat, ghyb,OSM,yaho,fdblanc,wfs]); 
	//map.addControl(overview);
	

	 zb = new OpenLayers.Control.ZoomBox(
     {title:"Zoom box: Selecting it you can zoom on an area by clicking and dragging."});
     
	 var panel2 = new OpenLayers.Control.Panel({div: document.getElementById("panel2")});
	 panel2.addControls([
             //  new OpenLayers.Control.ZoomIn({title:"Zoom In"}),
			   //new OpenLayers.Control.ZoomOut({title:"Zoom Out"}),
			   //new OpenLayers.Control.MouseDefaults(
                   // {title:'You can use the default mouse configuration'}), 
                //zb,             
			 //  new OpenLayers.Control.ZoomToMaxExtent({title:"Zoom to the max extent"})   
            ]);
            map.addControl(panel2);
			
		
	var panel3 = new OpenLayers.Control.Panel({
    div: document.getElementById("panel3")});
	map.addControl(panel3);
	 panel3.addControls([
               new OpenLayers.Control.ZoomIn({title:"Zoom In"}),
			   new OpenLayers.Control.ZoomOut({title:"Zoom Out"})
	 ]);
	 

	var zoomBox = new OpenLayers.Control.ZoomBox({title:"Zoom Rectangle"});
    var mouseDefaults = new OpenLayers.Control.MouseDefaults({title:'Naviguer'});
	var panel = new OpenLayers.Control.Panel({defaultControl: mouseDefaults});
    panel.addControls([mouseDefaults, zoomBox]);
    map.addControl(panel);

	var panel = new OpenLayers.Control.Panel({
    div: document.getElementById("panel")});
    map.addControl(panel);
	
	var history = new OpenLayers.Control.NavigationHistory();
    map.addControl(history);
    panel.addControls([history.next, history.previous]);
	
	 map.addControl (new OpenLayers.Control.MousePosition({
     div: document.getElementById("mouseposition")}));
	 
 	//loadPermalinkLayers();

 
 //alert(map.getProjection()); 
 
	//map.setCenter(new OpenLayers.LonLat(1.658976,46.400554));
	
	////////////// SALIIIIIIMMMMMMMMMMMMMM///////////////////////////////
	
   //Creation du layer Marker
     markers = new OpenLayers.Layer.Markers("Forum des Marais Atlantiques");
        markers.setIsBaseLayer(false);
	 map.addLayer(markers);

    //Creation du Marker
  	//  var icon=new Openlayers.Icon("OpenLayers-2.6/img/Marker-gold.png"); 
	feature = new OpenLayers.Feature(gphys, new  OpenLayers.LonLat(-106606.9620,5771223.75418));
	feature2 = new OpenLayers.Feature(gphys, new  OpenLayers.LonLat(-499541.35926,6170697.99319));

	  //feature = new OpenLayers.Feature(gphys, new  OpenLayers.LonLat(lonlat.lon, lonlat.lat));
       marker = feature.createMarker();
	   marker2 = feature2.createMarker();
       markers.addMarker(marker);
	   markers.addMarker(marker2);
     marker.events.register("mousedown", marker, mousedown);
	   marker2.events.register("mousedown", marker2, mousedown2);
    //Gestion des evenements
     function mousedown(evt) {
	  var content='<center><p><a style="font-size:13px; font:Georgia, "Times New Roman", Times, serif " href="http://www.forum-marais-atl.com" target="_blank">Forum des Marais Atlantiques</a><p style="font-size:12px; font:Georgia, "Times New Roman", Times, serif"> <img src="http://sig.forum-marais-atl.com/images/RPDZH.jpg"/><br><b><i>2 Quai aux vivres Rochefort 17304 BP : 40214 Tél : 05 46 87 08 00'
       popup = feature.createPopup(true);
       popup.setContentHTML(content);
	 //  popup.setsize(new OpenLayers.Size(150,150));
       popup.setBackgroundColor("WHITE");
       popup.setOpacity(0.9); 
       markers.map.addPopup(popup);
	     }
		
		
		
		

		  function mousedown2(evt) {
	  var content='<center><p><a style="font-size:13px; font:Georgia, "Times New Roman", Times, serif " href="http://zoneshumides29.fr/" target="_blank">FMA – Bureau finistérien</a><p style="font-size:12px; font:Georgia, "Times New Roman", Times, serif"> <img src="http://sig.forum-marais-atl.com/images/Finistere.jpg"/><br><b><i>6 Rue Porstrein 29200 Brest <br>Tél: 02.98.46.61.25 '
       popup = feature2.createPopup(true);
       popup.setContentHTML(content);
	 //  popup.setsize(new OpenLayers.Size(150,150));
       popup.setBackgroundColor("WHITE");
       popup.setOpacity(0.9); 
       markers.map.addPopup(popup);
	     }

 // style the sketch fancy
 
 var sketchSymbolizers = {
 "Point": {
 pointRadius: 4,
 graphicName: "square",
 fillColor: "white",
 fillOpacity: 1,
 strokeWidth: 1,
 strokeOpacity: 1,
 strokeColor: "#333333"
 },
 "Line": {
 strokeWidth: 3,
 strokeOpacity: 1,
 strokeColor: "#666666",
 strokeDashstyle: "dash"
 },
 "Polygon": {
 strokeWidth: 2,
 strokeOpacity: 1,
 strokeColor: "#666666",
 fillColor: "white",
 fillOpacity: 0.3
 }
 };
 
 if(!map.getZoom()) {

		var initBounds = new OpenLayers.Bounds(-183983, 5605227, 395037, 5739454);

		initBounds = new OpenLayers.Bounds(-183983, 5605227, 395037, 5739454);

		//map.zoomToExtent(initBounds);

		map.setCenter(new OpenLayers.LonLat(127191.21505,5907053.54506));

		map.zoomTo(6);
		

	}
	
		lS = new OpenLayers.Control.LayerSwitcher();
	OpenLayers.Util.extend(lS, {
	onclick: function () {	map.updateSize(); /*alert('f');*/}
	});

	map.addControl(lS);

//alert("Votre navigateur est" + navigator.userAgent);
//alert("Bienvenue chez Anthony:Chargé de mission SIG au Forum des Marais Atlantiques");
alert("Le Réseau Partenarial des Données sur les Zones Humides RPDZH vous permet de consulter les données cartographiques mises à disposition par les partenaires du réseau sans prétention d’exhaustivité et n'est en aucun cas un outil réglementaire.\nCertaines couches d’informations géographiques seront affichées selon des contraintes d’échelles fixées par les producteurs.\nBonne navigation");

 var style = new OpenLayers.Style();
 style.addRules([
 new OpenLayers.Rule({symbolizer: sketchSymbolizers})
 ]);
 var styleMap = new OpenLayers.StyleMap({"default": style});

 measureControls = {
 line: new OpenLayers.Control.Measure(
 OpenLayers.Handler.Path, {
 persist: true,
 handlerOptions: {
 layerOptions: {styleMap: styleMap}}}),
 
 polygon: new OpenLayers.Control.Measure(
 OpenLayers.Handler.Polygon, {
 persist: true,
 handlerOptions: {
 layerOptions: {styleMap: styleMap}}})
 
};

var control1;
for(var key in measureControls) {
 control1 = measureControls[key];
control1.events.on({
 "measure": handleMeasurements,
 "measurepartial": handleMeasurements
 });
 map.addControl(control1);
 }


 //map.setCenter(new OpenLayers.LonLat(127191.21505,5907053.54506), 6);

 document.getElementById('noneToggle').checked = true;

	lS = new OpenLayers.Control.LayerSwitcher();
	OpenLayers.Util.extend(lS, {
	onclick: function () {	map.updateSize(); }
	});

	map.addControl(lS);
 //   map.addControl(new OpenLayers.Control.PanZoom());
	
	


// FIN OUTILS DE DESSIN


//map.events.register('loadstart',layerToToogle,function () {alert('chargement'+this);}); 

	//lS.maximizeControl();
	lS.minimizeControl();
	
          controls = {

                    "single": new OpenLayers.Control.Click({

                        hanlerOptions: {

                            "single": true

                       }

                  }),

                  "double": new OpenLayers.Control.Click({

                      handlerOptions: {

                          "single": false,

                          "double": true

                      }

                  }),

                  "both": new OpenLayers.Control.Click({

                      handlerOptions: {

                          "single": true,

                          "double": true

                      }

                  }),

                  "nodrag": new OpenLayers.Control.Click({

                      handlerOptions: {

                          "single": true,

                          "pixelTolerance": 1

                      }

                  }),

                  "stopsingle": new OpenLayers.Control.Click({

                      handlerOptions: {

                          "single": true,

                          "stopSingle": true, 

						   "pixelTolerance": 1 

                      }

                  }),

                  "stopdouble": new OpenLayers.Control.Click({

                      handlerOptions: {

                          "single": false,

                          "double": true,

                          "stopDouble": true

                      }

                  })

              };

              var control;

              for(var key in controls) {

                  control = controls[key];

                  // only to route output here

                  control.key = key;

                  map.addControl(control);

              }

			  

toggle_control('stopsingle');

/* appel à la funtion qui charge les layers du permalien */

	loadPermalinkLayers();

	

/* on affiche une div avec un lien vers ORE dans la carte */

} // fin init




 function handleMeasurements(event) {
 var geometry = event.geometry;
 var units = event.units;
 var order = event.order;
 var measure = event.measure;
 var element = document.getElementById('output');
 var out = "";
 if(order == 1) {
 out += "Mesure ~ " + measure.toFixed(3) + " " + units;
 } else {
 out += "Mesure ~ " + measure.toFixed(3) + " " + units + "<sup>2</" + "sup>";
 }
 element.innerHTML = out;
 }

 function toggleControl(element) {
 for(key in measureControls) {
 var control = measureControls[key];
  //Pour des la projection cartographique
  control.geodesic = element.checked;
  // Fin projection cartographique
 if(element.value == key && element.checked) {
control.activate();
 } else {
control.deactivate();
 }
 }
 }
 
//Pour des la projection cartographique
 function toggleGeodesic(element) {
 for(key in measureControls) {
 var control = measureControls[key];
 control.geodesic = element.checked;
 }
 }
// fermer le layer switche

function closeLS() {

		lS.minimizeControl();

}





function getLayer(layerName) {

		for (var key in tabLayers){

			if(key == layerName) {

				return 	tabLayers[key];

			}

		} 

}

function getToggleState(layerName) {

		for (var key in tabLayersState){

			if(key == layerName) {

				return 	tabLayersState[key];

			}

		} 

}

function setToggleState(layerName, state) {

		for (var key in tabLayers){

			if(key == layerName) {

				tabLayersState[key] = state;

			}

		} 

}

function toggle_control(key) {

  var control = controls[key];

  if(control.active) {

         control.deactivate();

  } else {

         control.activate();

  }

}

function toggleMyLayer(layerName) {

	

	eval('if (!isCreate'+layerName+') { create'+layerName+'(); newL  =true ;  }');

	var layerToToogle = getLayer(layerName);

    if (getToggleState(layerName) == 1) {

		layerToToogle.setVisibility(false);

		setToggleState(layerName, 0);

		var leg=document.getElementById(layerName+"_leg");

		var sc=document.getElementById(layerName+"_sc");

		leg.parentNode.removeChild(leg);

		sc.parentNode.removeChild(sc); 



		if(OpenLayers.Util.getElement('legend').innerHTML == '') {

			document.getElementById("baseLegend").style.display = 'none';	

			document.getElementById("BaseSource").style.display = 'none';	



		}

	}	else {

			

			layerToToogle.setVisibility(true);

			setToggleState(layerName, 1);

			var layer = tabLayers[layerName];

			noLegend = false; 

			for (i in tabNoLegend ) { 

				if (tabNoLegend[i] == layerName) {

					noLegend = true; 

				}

			}

			if (!noLegend){

				var urllegend = layer.getFullRequestString();

				urllegend=urllegend.replace('LAYERS','LAYER');

				urllegend=urllegend.replace('REQUEST=GetMap','REQUEST=GetLegendGraphic');

				if(tabLayersReproj[layerName] != "") {

				urllegend = urllegend.replace('http://www.sig.forum-marais-atl.com/cgi-bin/mapserv?map=C:/OSGeo4W/apache/htdocs/wms-rpdzh.map',tabLayersWmsLink[layerName]);
				/*urllegend = urllegend.replace('http://sigore.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[layerName]);

				urllegend = urllegend.replace('http://sigore2.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[layerName]);

				urllegend = urllegend.replace('http://sigore3.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[layerName]);

				urllegend = urllegend.replace('http://sigore4.observatoire-environnement.org/cgi-bin/mapserv5?map=/var/www/html/rpdzh/wms-rpdzh.map',tabLayersWmsLink[layerName]);*/

				}

				var inner = OpenLayers.Util.getElement('legend').innerHTML;

				OpenLayers.Util.getElement('legend').innerHTML += "<img class='img_legend' id='"+layerName+"_leg' src='"+urllegend+"' alt'' />";

			}

			
			
		   //new jalila

			function setSource(response) {

				OpenLayers.Util.getElement('source').innerHTML += response.responseText;

			}

			
		// OpenLayers.Request.Get('http://www.sig.forum-marais-atl.com/source.php)?layer='+layerName+'', '', this, setSource); 
		  
		  OpenLayers.loadURL('http://www.sig.forum-marais-atl.com/source.php?layer='+layerName+'', '', this, setSource); 
			// OpenLayers.loadURL('http://www.sig.forum-marais-atl.com/source.php)?layer='+layerName+'', '', this, setSource); 
			   
			  // OpenLayers.loadURL('http://www.sig.forum-marais-atl.com/source.php?layer='+layerName+'', '', this, setSource); 
			 // OpenLayers.loadURL('http://217.16.2.223/source.php?layer='+layerName+'', '', this, setSource); 
			//window.open("http://www.sig.forum-marais-atl.com/source.php?layer="+layerName,"nom_popup","menubar=no, resizable=yes, location=no, toolbar=no,  status=no, scrollbars=no,left=1061,top=776, width=190, height=107");

			if(OpenLayers.Util.getElement('legend').innerHTML != '') {

				document.getElementById("baseLegend").style.display = 'block';

				document.getElementById("BaseSource").style.display = 'block';	

			}

			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			// fin new





			

			/* old

			var inner = OpenLayers.Util.getElement('legend').innerHTML;

			OpenLayers.Util.getElement('legend').innerHTML += "<img class='img_legend' id='"+layerName+"_leg' src='"+urllegend+"' alt'' />";

			if(OpenLayers.Util.getElement('legend').innerHTML != '') {

				document.getElementById("baseLegend").style.display = 'block';			

			} */

		

	}

	myPermalink.updateLink();

}

function centrereproj(lon,lat) {
var lonlat2154 =new OpenLayers.LonLat(lon,lat);
			lonlat2154.transform(new OpenLayers.Projection('EPSG:2154'), new OpenLayers.Projection('EPSG:4326'));
			alert(lonlat2154.lon+" "+lonlat2154.lat);
 var lonlat = OpenLayers.Layer.SphericalMercator.forwardMercator(lonlat2154.lon,lonlat2154.lat);
 
 map.setCenter(new OpenLayers.LonLat(lonlat.lon, lonlat.lat), 10);
}
