


// $Id: openlayers-init.jsp,v 1.6 2010/05/10 12:52:12 objetdirect Exp $

var map;

/**
 *
 */
var resolutions = [
	/* Zoom:       Resolution:      Projection:  Echelle:        */
	/*     0 */    39135.7500000,/* MILLER       1 : 156 543 000 */
	/*     1 */    19567.8750000,/*              1 :  78 271 500 */
	/*     2 */     9783.9375000,/*              1 :  39 135 750 */
	/*     3 */     4891.9687500,/*              1 :  19 567 875 */
	/*     4 */     2445.9843750,/*              1 :   9 783 938 */
	/*  0/ 5 */     2048.0000000,/* GEOPORTAL### 1 :   8 192 000 */
	/*  1/ 6 */     1024.0000000,/*              1 :   4 096 000 */
	/*  2/ 7 */      512.0000000,/*              1 :   2 048 000 */
	/*  3/ 8 */      256.0000000,/*              1 :   1 024 000 */
	/*  4/ 9 */      128.0000000,/*              1 :     512 000 */
	/*  5/10 */       64.0000000,/*              1 :     256 000 */
	/*  6/11 */       32.0000000,/*              1 :     128 000 */
	/*  7/12 */       16.0000000,/*              1 :      64 000 */
	/*  8/13 */        8.0000000,/*              1 :      32 000 */
	/*  9/14 */        4.0000000,/*              1 :      16 000 */
	/* 10/15 */        2.0000000 /*              1 :       8 000 */
];

/**
 * Initialize the map
 */
function initializeMap() {
	
	map = new OpenLayers.Map('wqMap', {
		resolutions: resolutions,
		projection: 'IGNF:MILLER',
		maxExtent: new OpenLayers.Bounds(-180, -57, 180, 72).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:MILLER"),true),
		units: new OpenLayers.Projection("IGNF:MILLER").getUnits(),
		controls: [],
		theme: "/css/openlayers.css"
	}); 	
	
	map.addLayers([
		new Geoportal.Layer.WMSC( 
			"WLD",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'ORTHOIMAGERY.ORTHOPHOTOS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(0,5),                    
				alwaysInRange:true,
				projection:'IGNF:MILLER',
				maxExtent: new OpenLayers.Bounds(-180, -57, 180, 72).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:MILLER"), true),    
				initExtent: gcTerritoriesBB.list["FXX"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:MILLER"),true),
				copyright: "NASA",
				units:new OpenLayers.Projection("IGNF:MILLER").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),
		new Geoportal.Layer.WMSC( 
			"FXX",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALFXX',
				maxExtent: new OpenLayers.Bounds(-6, 41, 11, 52).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALFXX"), true),    
				initExtent: gcTerritoriesBB.list["FXX"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALFXX"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALFXX").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),		
		new Geoportal.Layer.WMSC( 
			"MTQ",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALANF',
				maxExtent: new OpenLayers.Bounds(-63.86, 14.13, -59.01, 15.2).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALANF"), true),    
				initExtent: gcTerritoriesBB.list["MTQ"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALANF"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALANF").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),
		new Geoportal.Layer.WMSC( 
			"GLP",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALANF',
				maxExtent: new OpenLayers.Bounds(-63.80, 15.2, -59.00, 19.00).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALANF"), true),    
				initExtent: gcTerritoriesBB.list["GLP"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALANF"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALANF").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),		
		new Geoportal.Layer.WMSC( 
			"GUF",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALGUF',
				maxExtent: new OpenLayers.Bounds(-55.11, 1.05, -46.80, 7.00).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALGUF"), true),    
				initExtent: gcTerritoriesBB.list["GUF"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALGUF"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALGUF").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),
		new Geoportal.Layer.WMSC( 
			"MYT",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALMYT',
				maxExtent: new OpenLayers.Bounds(44.93, -13.10, 45.32, -12.55).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALMYT"), true),    
				initExtent: gcTerritoriesBB.list["MYT"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALMYT"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALMYT").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),
		new Geoportal.Layer.WMSC( 
			"REU",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALREU',
				maxExtent: new OpenLayers.Bounds(53.02, -23.02, 58.01, -19.00).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALREU"), true),    
				initExtent: gcTerritoriesBB.list["REU"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALREU"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALREU").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),
		new Geoportal.Layer.WMSC( 
			"NCL",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALNCL',
				maxExtent: new OpenLayers.Bounds(163.45, -22.97, 168.32, -19.34).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALNCL"), true),    
				initExtent: gcTerritoriesBB.list["NCL"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALNCL"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALNCL").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		),
		new Geoportal.Layer.WMSC( 
			"SPM",
			"http://wxs.ign.fr/geoportail/wmsc",
			{
				layers: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',                    
				format:'image/jpeg',
				exceptions:"text/xml"
			},
			{
				gridOrigin: new OpenLayers.LonLat(0,0),
				isBaseLayer: true,
				resolutions: resolutions.slice(5,16),                    
				alwaysInRange:true,
				projection:'IGNF:GEOPORTALSPM',
				maxExtent: new OpenLayers.Bounds(-56.42, 46.73, -56.10, 47.16).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALSPM"), true),    
				initExtent: gcTerritoriesBB.list["SPM"].bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("IGNF:GEOPORTALSPM"),true),
				copyright: "IGN",
				units:new OpenLayers.Projection("IGNF:GEOPORTALSPM").getUnits(),                  
				GeoRM: Geoportal.GeoRMHandler.addKey('1824292463909351821','http://jeton-api.ign.fr/',100,map)
			}
		)
	]);
	
	var panel = new OpenLayers.Control.Panel({div: document.getElementById("olMapButtons")});

	panel.addControls([
		new OpenLayers.Control.CustoZoomBox({out: false}),
		new OpenLayers.Control.CustoZoomBox({out: true, displayClass: "olControlCustoZoomBoxOut"}),
		new OpenLayers.Control.Navigation({zoomWheelEnabled: false}), 
		new OpenLayers.Control.CustoZoomToInitExtent()
	]);
	map.addControl(panel);
	panel.activateControl(panel.controls[0]);

	// Get (if any) an imposed BBOX
	var topBoundElement = document.getElementById("topBound");
	var rightBoundElement = document.getElementById("rightBound");
	var bottomBoundElement = document.getElementById("bottomBound");
	var leftBoundElement = document.getElementById("leftBound");

	// If there is such an imposed BBOX
	if (topBoundElement.value && rightBoundElement.value && bottomBoundElement.value && leftBoundElement.value) {
		zoomToBoxInLatLong(new OpenLayers.Bounds(
			parseFloat(leftBoundElement.value), 
			parseFloat(bottomBoundElement.value),
			parseFloat(rightBoundElement.value),
			parseFloat(topBoundElement.value)));
	} else {
		zoomToBoxInLatLong(map.baseLayer.initExtent.clone().transform(map.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"), true));
		setBoundingBox();
	}
}

/**
 * Get the right base layer from a BBOX
 */
function getBaseLayerFromBounds(bounds) {
	var appropriateBaseLayer = map.layers[0];

	for(var i = 1; i < map.layers.length; i++) {
		var layer = map.layers[i];
		var maxExtent = layer.maxExtent.clone();
		maxExtent.transform(layer.projection,new OpenLayers.Projection("EPSG:4326"), true);
		if(maxExtent.containsBounds(bounds)) {
			appropriateBaseLayer =  layer;
			break;
		}
	}

	return appropriateBaseLayer;
}

/**
 * Get the bounding box defined by the user or the displayed area.
 */
function setBoundingBox() {
	
	var bounds = map.getExtent().clone();
	bounds.transform(map.getProjection(), new OpenLayers.Projection("EPSG:4326"), true);
	
	// Form
	var topBoundElement = document.getElementById("topBound");
	var rightBoundElement = document.getElementById("rightBound");
	var bottomBoundElement = document.getElementById("bottomBound");
	var leftBoundElement = document.getElementById("leftBound");

	topBoundElement.value = bounds.top;
	rightBoundElement.value = bounds.right;
	bottomBoundElement.value = bounds.bottom;
	leftBoundElement.value = bounds.left;
}

/**
 * Zoom to the specified OpenLayers.Bounds (written in EPSG:4326). Control the srs before.
 */
function zoomToBoxInLatLong(bounds) {
	// Determine if the current base layer is the appropriate one
	var appropriateBaseLayer = getBaseLayerFromBounds(bounds);
	if (appropriateBaseLayer.name != map.baseLayer.name) {
		map.setBaseLayer(appropriateBaseLayer);
		map.projection = appropriateBaseLayer.projection.projCode;
		document.getElementById("wqCopyrightMap").innerHTML = "Donnée " + appropriateBaseLayer.copyright + "&copy; 2009";
	}
	map.zoomToExtent(bounds.clone().transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject(), true), true);
}

/**
 * Bounding box for communes, departments, regions.
 */
function GCBoundingBox(id, bounds) {
	this.id = id;
	this.bounds = bounds;

	this.zoomTo=function() {
		zoomToBoxInLatLong(this.bounds.clone());
	}
}

function GCBoundingBoxList(type) {
	this.type=type;
	this.list = new Array();
	
	this.add=function(id, bounds) {
		bb = new GCBoundingBox(id, bounds);
		this.list[id]=bb;
	}
	
	this.zoomTo=function(id) {
		if (id) {
			bb = this.list[id];
			if (bb) {
				bb.zoomTo();
			}
		}
	}
	
	this.clear = function() {
		this.list = new Array();
	}
}

/**
 * Initialize Region bounding box list
 */
gcRegionsBB = new GCBoundingBoxList("region");

	
	gcRegionsBB.add(
		'42', 
		new OpenLayers.Bounds(
			parseFloat(6.84731327531674),
			parseFloat(47.4225697895548),
			parseFloat(8.23021151450627),
			parseFloat(49.0735609675737)
		)
	);

	
	gcRegionsBB.add(
		'72', 
		new OpenLayers.Bounds(
			parseFloat(-1.78855951408198),
			parseFloat(42.7826014616445),
			parseFloat(1.45127844123809),
			parseFloat(45.7082932196036)
		)
	);

	
	gcRegionsBB.add(
		'83', 
		new OpenLayers.Bounds(
			parseFloat(2.07042979071213),
			parseFloat(44.6192170500279),
			parseFloat(4.48832864565214),
			parseFloat(46.8054503544694)
		)
	);

	
	gcRegionsBB.add(
		'25', 
		new OpenLayers.Bounds(
			parseFloat(-1.94582182012436),
			parseFloat(48.1816380905431),
			parseFloat(0.975808498300059),
			parseFloat(49.7267539526626)
		)
	);

	
	gcRegionsBB.add(
		'26', 
		new OpenLayers.Bounds(
			parseFloat(2.85065186304956),
			parseFloat(46.1569050507599),
			parseFloat(5.52320876217156),
			parseFloat(48.4016943097384)
		)
	);

	
	gcRegionsBB.add(
		'53', 
		new OpenLayers.Bounds(
			parseFloat(-5.14010457805482),
			parseFloat(47.2824028853875),
			parseFloat(-1.01778022913338),
			parseFloat(48.8836906956468)
		)
	);

	
	gcRegionsBB.add(
		'24', 
		new OpenLayers.Bounds(
			parseFloat(0.0541766870634044),
			parseFloat(46.3518058709281),
			parseFloat(3.12829408794826),
			parseFloat(48.9409247192794)
		)
	);

	
	gcRegionsBB.add(
		'21', 
		new OpenLayers.Bounds(
			parseFloat(3.38854515046692),
			parseFloat(47.5790066748665),
			parseFloat(5.89574739995617),
			parseFloat(50.1642301106489)
		)
	);

	
	gcRegionsBB.add(
		'94', 
		new OpenLayers.Bounds(
			parseFloat(8.53930499567193),
			parseFloat(41.3271493388047),
			parseFloat(9.56249910721823),
			parseFloat(43.0063592740813)
		)
	);

	
	gcRegionsBB.add(
		'43', 
		new OpenLayers.Bounds(
			parseFloat(5.25862226111549),
			parseFloat(46.2593776329444),
			parseFloat(7.14657322507523),
			parseFloat(48.0246401942051)
		)
	);

	
	gcRegionsBB.add(
		'23', 
		new OpenLayers.Bounds(
			parseFloat(0.0721946498965446),
			parseFloat(48.666745864328),
			parseFloat(1.80237287933562),
			parseFloat(50.0705514571214)
		)
	);

	
	gcRegionsBB.add(
		'11', 
		new OpenLayers.Bounds(
			parseFloat(1.44925827444518),
			parseFloat(48.1207811705863),
			parseFloat(3.55807931215355),
			parseFloat(49.2341897542139)
		)
	);

	
	gcRegionsBB.add(
		'91', 
		new OpenLayers.Bounds(
			parseFloat(1.6921958305707),
			parseFloat(42.3365384276057),
			parseFloat(4.84652304664605),
			parseFloat(44.9689282766096)
		)
	);

	
	gcRegionsBB.add(
		'74', 
		new OpenLayers.Bounds(
			parseFloat(0.63367079301561),
			parseFloat(44.9254560732501),
			parseFloat(2.61269919309523),
			parseFloat(46.4550052177678)
		)
	);

	
	gcRegionsBB.add(
		'41', 
		new OpenLayers.Bounds(
			parseFloat(4.89152488845723),
			parseFloat(47.816514628926),
			parseFloat(7.63944359339142),
			parseFloat(49.6167685078954)
		)
	);

	
	gcRegionsBB.add(
		'73', 
		new OpenLayers.Bounds(
			parseFloat(-0.324555006577579),
			parseFloat(42.5714396846544),
			parseFloat(3.44920506721456),
			parseFloat(45.0454576402158)
		)
	);

	
	gcRegionsBB.add(
		'31', 
		new OpenLayers.Bounds(
			parseFloat(1.5601210426492),
			parseFloat(49.9685050181828),
			parseFloat(4.23197082066801),
			parseFloat(51.0872250862307)
		)
	);

	
	gcRegionsBB.add(
		'52', 
		new OpenLayers.Bounds(
			parseFloat(-2.55547945671058),
			parseFloat(46.2621764073549),
			parseFloat(0.913756850247015),
			parseFloat(48.5652651197678)
		)
	);

	
	gcRegionsBB.add(
		'22', 
		new OpenLayers.Bounds(
			parseFloat(1.38260249308176),
			parseFloat(48.8396108154518),
			parseFloat(4.25624259761776),
			parseFloat(50.3714319842099)
		)
	);

	
	gcRegionsBB.add(
		'54', 
		new OpenLayers.Bounds(
			parseFloat(-1.5643601615194),
			parseFloat(45.0908078853726),
			parseFloat(1.21607876728422),
			parseFloat(47.1743064304722)
		)
	);

	
	gcRegionsBB.add(
		'93', 
		new OpenLayers.Bounds(
			parseFloat(4.23296457779542),
			parseFloat(42.9843938314169),
			parseFloat(7.72256903187683),
			parseFloat(45.1282429855683)
		)
	);

	
	gcRegionsBB.add(
		'82', 
		new OpenLayers.Bounds(
			parseFloat(3.69692044863515),
			parseFloat(44.1156312180404),
			parseFloat(7.19010464825053),
			parseFloat(46.5180939033347)
		)
	);


/**
 * Initialize Department bounding box list
 */
gcDepartementsBB = new GCBoundingBoxList("department");

	
	gcDepartementsBB.add(
		'01',
		new OpenLayers.Bounds(
			parseFloat(4.73342436340007),
			parseFloat(45.6125673996197),
			parseFloat(6.17611426102116),
			parseFloat(46.5180939033347)
		)
	);

	
	gcDepartementsBB.add(
		'02',
		new OpenLayers.Bounds(
			parseFloat(2.96347784476002),
			parseFloat(48.8396108154518),
			parseFloat(4.25624259761776),
			parseFloat(50.0677044656815)
		)
	);

	
	gcDepartementsBB.add(
		'03',
		new OpenLayers.Bounds(
			parseFloat(2.27539051929532),
			parseFloat(45.9334411879757),
			parseFloat(4.00644473298975),
			parseFloat(46.8054503544694)
		)
	);

	
	gcDepartementsBB.add(
		'04',
		new OpenLayers.Bounds(
			parseFloat(5.50363735952744),
			parseFloat(43.6717390051539),
			parseFloat(6.97200760603731),
			parseFloat(44.6572994677607)
		)
	);

	
	gcDepartementsBB.add(
		'05',
		new OpenLayers.Bounds(
			parseFloat(5.42312152846032),
			parseFloat(44.1880374681109),
			parseFloat(7.08683804073062),
			parseFloat(45.1282429855683)
		)
	);

	
	gcDepartementsBB.add(
		'06',
		new OpenLayers.Bounds(
			parseFloat(6.63605219073672),
			parseFloat(43.4813991822681),
			parseFloat(7.72256903187683),
			parseFloat(44.3608719741736)
		)
	);

	
	gcDepartementsBB.add(
		'07',
		new OpenLayers.Bounds(
			parseFloat(3.86244908819251),
			parseFloat(44.2632771131628),
			parseFloat(4.890071189094),
			parseFloat(45.3656299575041)
		)
	);

	
	gcDepartementsBB.add(
		'08',
		new OpenLayers.Bounds(
			parseFloat(4.03149740168031),
			parseFloat(49.2289882008873),
			parseFloat(5.39209517456175),
			parseFloat(50.1642301106489)
		)
	);

	
	gcDepartementsBB.add(
		'09',
		new OpenLayers.Bounds(
			parseFloat(0.831945862757377),
			parseFloat(42.5714396846544),
			parseFloat(2.17467809959185),
			parseFloat(43.3113528075328)
		)
	);

	
	gcDepartementsBB.add(
		'10',
		new OpenLayers.Bounds(
			parseFloat(3.38854515046692),
			parseFloat(47.9249318362148),
			parseFloat(4.86466679174382),
			parseFloat(48.7154087782716)
		)
	);

	
	gcDepartementsBB.add(
		'11',
		new OpenLayers.Bounds(
			parseFloat(1.6921958305707),
			parseFloat(42.6490782449107),
			parseFloat(3.24071947506882),
			parseFloat(43.4585936941265)
		)
	);

	
	gcDepartementsBB.add(
		'12',
		new OpenLayers.Bounds(
			parseFloat(1.84413922192738),
			parseFloat(43.6928261790224),
			parseFloat(3.44920506721456),
			parseFloat(44.9378577437993)
		)
	);

	
	gcDepartementsBB.add(
		'13',
		new OpenLayers.Bounds(
			parseFloat(4.23296457779542),
			parseFloat(43.1531161924503),
			parseFloat(5.81342438963616),
			parseFloat(43.9227136268565)
		)
	);

	
	gcDepartementsBB.add(
		'14',
		new OpenLayers.Bounds(
			parseFloat(-1.15396790712948),
			parseFloat(48.754225031184),
			parseFloat(0.450917289149519),
			parseFloat(49.4387786475565)
		)
	);

	
	gcDepartementsBB.add(
		'15',
		new OpenLayers.Bounds(
			parseFloat(2.07042979071213),
			parseFloat(44.6192170500279),
			parseFloat(3.3686072646696),
			parseFloat(45.4826414295211)
		)
	);

	
	gcDepartementsBB.add(
		'16',
		new OpenLayers.Bounds(
			parseFloat(-0.460556899853279),
			parseFloat(45.1974817777858),
			parseFloat(0.94682620780547),
			parseFloat(46.1401501109579)
		)
	);

	
	gcDepartementsBB.add(
		'17',
		new OpenLayers.Bounds(
			parseFloat(-1.5643601615194),
			parseFloat(45.0908078853726),
			parseFloat(0.00966934497291492),
			parseFloat(46.3706060499469)
		)
	);

	
	gcDepartementsBB.add(
		'18',
		new OpenLayers.Bounds(
			parseFloat(1.77762199913883),
			parseFloat(46.4202245715014),
			parseFloat(3.0842060107328),
			parseFloat(47.6293296500312)
		)
	);

	
	gcDepartementsBB.add(
		'19',
		new OpenLayers.Bounds(
			parseFloat(1.23060366616787),
			parseFloat(44.9254560732501),
			parseFloat(2.52780745459498),
			parseFloat(45.7649363200593)
		)
	);

	
	gcDepartementsBB.add(
		'21',
		new OpenLayers.Bounds(
			parseFloat(4.07505086181107),
			parseFloat(46.9008318353027),
			parseFloat(5.52320876217156),
			parseFloat(48.0305885447438)
		)
	);

	
	gcDepartementsBB.add(
		'22',
		new OpenLayers.Bounds(
			parseFloat(-3.66469060689812),
			parseFloat(48.0341190462635),
			parseFloat(-1.90710706186975),
			parseFloat(48.8836906956468)
		)
	);

	
	gcDepartementsBB.add(
		'23',
		new OpenLayers.Bounds(
			parseFloat(1.38127381750608),
			parseFloat(45.6672242166134),
			parseFloat(2.61269919309523),
			parseFloat(46.4550052177678)
		)
	);

	
	gcDepartementsBB.add(
		'24',
		new OpenLayers.Bounds(
			parseFloat(-0.0353064487185675),
			parseFloat(44.5742863027361),
			parseFloat(1.45127844123809),
			parseFloat(45.7082932196036)
		)
	);

	
	gcDepartementsBB.add(
		'25',
		new OpenLayers.Bounds(
			parseFloat(5.70878352414112),
			parseFloat(46.5550388552067),
			parseFloat(7.06509867265808),
			parseFloat(47.5748113270246)
		)
	);

	
	gcDepartementsBB.add(
		'26',
		new OpenLayers.Bounds(
			parseFloat(4.65219741964313),
			parseFloat(44.1156312180404),
			parseFloat(5.83269733783629),
			parseFloat(45.3418111418667)
		)
	);

	
	gcDepartementsBB.add(
		'27',
		new OpenLayers.Bounds(
			parseFloat(0.303114630011342),
			parseFloat(48.666745864328),
			parseFloat(1.80237287933562),
			parseFloat(49.4861322896101)
		)
	);

	
	gcDepartementsBB.add(
		'28',
		new OpenLayers.Bounds(
			parseFloat(0.763856084471706),
			parseFloat(47.9557902445633),
			parseFloat(1.99163610482957),
			parseFloat(48.9409247192794)
		)
	);

	
	gcDepartementsBB.add(
		'29',
		new OpenLayers.Bounds(
			parseFloat(-5.14010457805482),
			parseFloat(47.6972532819092),
			parseFloat(-3.38733221223109),
			parseFloat(48.7596774059197)
		)
	);

	
	gcDepartementsBB.add(
		'2A',
		new OpenLayers.Bounds(
			parseFloat(8.53930499567193),
			parseFloat(41.3271493388047),
			parseFloat(9.4081678112048),
			parseFloat(42.3818506028037)
		)
	);

	
	gcDepartementsBB.add(
		'2B',
		new OpenLayers.Bounds(
			parseFloat(8.58178057622677),
			parseFloat(41.8292226471528),
			parseFloat(9.56249910721823),
			parseFloat(43.0063592740813)
		)
	);

	
	gcDepartementsBB.add(
		'30',
		new OpenLayers.Bounds(
			parseFloat(3.26470843411181),
			parseFloat(43.4590422523262),
			parseFloat(4.84652304664605),
			parseFloat(44.460120335181)
		)
	);

	
	gcDepartementsBB.add(
		'31',
		new OpenLayers.Bounds(
			parseFloat(0.44838693040724),
			parseFloat(42.6919615440179),
			parseFloat(2.04767087632939),
			parseFloat(43.9185980508138)
		)
	);

	
	gcDepartementsBB.add(
		'32',
		new OpenLayers.Bounds(
			parseFloat(-0.276898027076633),
			parseFloat(43.3127027330013),
			parseFloat(1.20300083325423),
			parseFloat(44.079449075373)
		)
	);

	
	gcDepartementsBB.add(
		'33',
		new OpenLayers.Bounds(
			parseFloat(-1.27340984986019),
			parseFloat(44.1981482361243),
			parseFloat(0.315874926868832),
			parseFloat(45.5688257558885)
		)
	);

	
	gcDepartementsBB.add(
		'34',
		new OpenLayers.Bounds(
			parseFloat(2.5422013575697),
			parseFloat(43.213099968328),
			parseFloat(4.19954733608545),
			parseFloat(43.9692400579072)
		)
	);

	
	gcDepartementsBB.add(
		'35',
		new OpenLayers.Bounds(
			parseFloat(-2.28549153541841),
			parseFloat(47.6293715976903),
			parseFloat(-1.01778022913338),
			parseFloat(48.7102805635637)
		)
	);

	
	gcDepartementsBB.add(
		'36',
		new OpenLayers.Bounds(
			parseFloat(0.870428694191137),
			parseFloat(46.3518058709281),
			parseFloat(2.2075759112307),
			parseFloat(47.2779346699654)
		)
	);

	
	gcDepartementsBB.add(
		'37',
		new OpenLayers.Bounds(
			parseFloat(0.0541766870634044),
			parseFloat(46.7375300598993),
			parseFloat(1.36885759293812),
			parseFloat(47.7078323321281)
		)
	);

	
	gcDepartementsBB.add(
		'38',
		new OpenLayers.Bounds(
			parseFloat(4.74887300203761),
			parseFloat(44.6955823412673),
			parseFloat(6.36474770312603),
			parseFloat(45.8811078268751)
		)
	);

	
	gcDepartementsBB.add(
		'39',
		new OpenLayers.Bounds(
			parseFloat(5.25862226111549),
			parseFloat(46.2593776329444),
			parseFloat(6.21208516630179),
			parseFloat(47.3047861836221)
		)
	);

	
	gcDepartementsBB.add(
		'40',
		new OpenLayers.Bounds(
			parseFloat(-1.52033233568289),
			parseFloat(43.4904452976979),
			parseFloat(0.137365183376551),
			parseFloat(44.5329131737644)
		)
	);

	
	gcDepartementsBB.add(
		'41',
		new OpenLayers.Bounds(
			parseFloat(0.582706329344663),
			parseFloat(47.187800923754),
			parseFloat(2.24893782783892),
			parseFloat(48.132028140794)
		)
	);

	
	gcDepartementsBB.add(
		'42',
		new OpenLayers.Bounds(
			parseFloat(3.69692044863515),
			parseFloat(45.230824546125),
			parseFloat(4.76389515275255),
			parseFloat(46.2772201526401)
		)
	);

	
	gcDepartementsBB.add(
		'43',
		new OpenLayers.Bounds(
			parseFloat(3.0821052576926),
			parseFloat(44.7439666734136),
			parseFloat(4.48832864565214),
			parseFloat(45.4236952311356)
		)
	);

	
	gcDepartementsBB.add(
		'44',
		new OpenLayers.Bounds(
			parseFloat(-2.55547945671058),
			parseFloat(46.8627210160862),
			parseFloat(-0.921920334358966),
			parseFloat(47.8323088586139)
		)
	);

	
	gcDepartementsBB.add(
		'45',
		new OpenLayers.Bounds(
			parseFloat(1.52000135366012),
			parseFloat(47.4822083804906),
			parseFloat(3.12829408794826),
			parseFloat(48.3414886994677)
		)
	);

	
	gcDepartementsBB.add(
		'46',
		new OpenLayers.Bounds(
			parseFloat(0.987178774302621),
			parseFloat(44.2075493799278),
			parseFloat(2.20686131166843),
			parseFloat(45.0454576402158)
		)
	);

	
	gcDepartementsBB.add(
		'47',
		new OpenLayers.Bounds(
			parseFloat(-0.138615716765619),
			parseFloat(43.9753213453924),
			parseFloat(1.0766395709879),
			parseFloat(44.7636970717137)
		)
	);

	
	gcDepartementsBB.add(
		'48',
		new OpenLayers.Bounds(
			parseFloat(2.98158336027105),
			parseFloat(44.1143921436504),
			parseFloat(3.99917095165824),
			parseFloat(44.9689282766096)
		)
	);

	
	gcDepartementsBB.add(
		'49',
		new OpenLayers.Bounds(
			parseFloat(-1.34268543456611),
			parseFloat(46.9697580843892),
			parseFloat(0.232066372286225),
			parseFloat(47.8083910009535)
		)
	);

	
	gcDepartementsBB.add(
		'50',
		new OpenLayers.Bounds(
			parseFloat(-1.94582182012436),
			parseFloat(48.459767752707),
			parseFloat(-0.734596648608723),
			parseFloat(49.7267539526626)
		)
	);

	
	gcDepartementsBB.add(
		'51',
		new OpenLayers.Bounds(
			parseFloat(3.39954537405118),
			parseFloat(48.5156207016464),
			parseFloat(5.03815787182333),
			parseFloat(49.4059336350676)
		)
	);

	
	gcDepartementsBB.add(
		'52',
		new OpenLayers.Bounds(
			parseFloat(4.63231677147802),
			parseFloat(47.5790066748665),
			parseFloat(5.89574739995617),
			parseFloat(48.6876388691483)
		)
	);

	
	gcDepartementsBB.add(
		'53',
		new OpenLayers.Bounds(
			parseFloat(-1.23891250198827),
			parseFloat(47.7339025901968),
			parseFloat(-0.04663340986481),
			parseFloat(48.5652651197678)
		)
	);

	
	gcDepartementsBB.add(
		'54',
		new OpenLayers.Bounds(
			parseFloat(5.43408687876306),
			parseFloat(48.3487047721438),
			parseFloat(7.12397783182038),
			parseFloat(49.5614375195985)
		)
	);

	
	gcDepartementsBB.add(
		'55',
		new OpenLayers.Bounds(
			parseFloat(4.89152488845723),
			parseFloat(48.4103909436447),
			parseFloat(5.85167645098591),
			parseFloat(49.6167685078954)
		)
	);

	
	gcDepartementsBB.add(
		'56',
		new OpenLayers.Bounds(
			parseFloat(-3.72855262913657),
			parseFloat(47.2824028853875),
			parseFloat(-2.0389367314388),
			parseFloat(48.2081069415377)
		)
	);

	
	gcDepartementsBB.add(
		'57',
		new OpenLayers.Bounds(
			parseFloat(5.8915034560875),
			parseFloat(48.5261896140213),
			parseFloat(7.63944359339142),
			parseFloat(49.5089431171479)
		)
	);

	
	gcDepartementsBB.add(
		'58',
		new OpenLayers.Bounds(
			parseFloat(2.85065186304956),
			parseFloat(46.6522779365854),
			parseFloat(4.2336254719676),
			parseFloat(47.5871563453254)
		)
	);

	
	gcDepartementsBB.add(
		'59',
		new OpenLayers.Bounds(
			parseFloat(2.10060701121771),
			parseFloat(49.9685050181828),
			parseFloat(4.23197082066801),
			parseFloat(51.0872250862307)
		)
	);

	
	gcDepartementsBB.add(
		'60',
		new OpenLayers.Bounds(
			parseFloat(1.69133534867097),
			parseFloat(49.0608702829342),
			parseFloat(3.16727532902428),
			parseFloat(49.7617164094341)
		)
	);

	
	gcDepartementsBB.add(
		'61',
		new OpenLayers.Bounds(
			parseFloat(-0.853248413927396),
			parseFloat(48.1816380905431),
			parseFloat(0.975808498300059),
			parseFloat(48.9718304410747)
		)
	);

	
	gcDepartementsBB.add(
		'62',
		new OpenLayers.Bounds(
			parseFloat(1.5601210426492),
			parseFloat(50.0214546343309),
			parseFloat(3.18852139514507),
			parseFloat(51.0029096147272)
		)
	);

	
	gcDepartementsBB.add(
		'63',
		new OpenLayers.Bounds(
			parseFloat(2.38931244166268),
			parseFloat(45.2891597635641),
			parseFloat(3.9893508797915),
			parseFloat(46.2544391041829)
		)
	);

	
	gcDepartementsBB.add(
		'64',
		new OpenLayers.Bounds(
			parseFloat(-1.78855951408198),
			parseFloat(42.7826014616445),
			parseFloat(0.0312292399316469),
			parseFloat(43.5966835874726)
		)
	);

	
	gcDepartementsBB.add(
		'65',
		new OpenLayers.Bounds(
			parseFloat(-0.324555006577579),
			parseFloat(42.674551801961),
			parseFloat(0.649683462599336),
			parseFloat(43.6097987984022)
		)
	);

	
	gcDepartementsBB.add(
		'66',
		new OpenLayers.Bounds(
			parseFloat(1.72723609668414),
			parseFloat(42.3365384276057),
			parseFloat(3.17657911957026),
			parseFloat(42.917305534327)
		)
	);

	
	gcDepartementsBB.add(
		'67',
		new OpenLayers.Bounds(
			parseFloat(6.94399927697034),
			parseFloat(48.120384094884),
			parseFloat(8.23021151450627),
			parseFloat(49.0735609675737)
		)
	);

	
	gcDepartementsBB.add(
		'68',
		new OpenLayers.Bounds(
			parseFloat(6.84731327531674),
			parseFloat(47.4225697895548),
			parseFloat(7.62607344016069),
			parseFloat(48.3102033325687)
		)
	);

	
	gcDepartementsBB.add(
		'69',
		new OpenLayers.Bounds(
			parseFloat(4.25113314690896),
			parseFloat(45.4561693636042),
			parseFloat(5.16386509654644),
			parseFloat(46.3068553304108)
		)
	);

	
	gcDepartementsBB.add(
		'70',
		new OpenLayers.Bounds(
			parseFloat(5.37714183101699),
			parseFloat(47.2532133883301),
			parseFloat(6.82750419865085),
			parseFloat(48.0246401942051)
		)
	);

	
	gcDepartementsBB.add(
		'71',
		new OpenLayers.Bounds(
			parseFloat(3.62565546910647),
			parseFloat(46.1569050507599),
			parseFloat(5.46906650853118),
			parseFloat(47.1552543423558)
		)
	);

	
	gcDepartementsBB.add(
		'72',
		new OpenLayers.Bounds(
			parseFloat(-0.439502005846765),
			parseFloat(47.5714943748948),
			parseFloat(0.913756850247015),
			parseFloat(48.4816215278012)
		)
	);

	
	gcDepartementsBB.add(
		'73',
		new OpenLayers.Bounds(
			parseFloat(5.62908778903015),
			parseFloat(45.0528367115654),
			parseFloat(7.19010464825053),
			parseFloat(45.9351675566841)
		)
	);

	
	gcDepartementsBB.add(
		'74',
		new OpenLayers.Bounds(
			parseFloat(5.80884031850466),
			parseFloat(45.6822938053248),
			parseFloat(7.04590827579231),
			parseFloat(46.4043882501406)
		)
	);

	
	gcDepartementsBB.add(
		'75',
		new OpenLayers.Bounds(
			parseFloat(2.22617501660654),
			parseFloat(48.817091949735),
			parseFloat(2.46994083916658),
			parseFloat(48.9033710074525)
		)
	);

	
	gcDepartementsBB.add(
		'76',
		new OpenLayers.Bounds(
			parseFloat(0.0721946498965446),
			parseFloat(49.2544958504688),
			parseFloat(1.79043949239382),
			parseFloat(50.0705514571214)
		)
	);

	
	gcDepartementsBB.add(
		'77',
		new OpenLayers.Bounds(
			parseFloat(2.3944969842849),
			parseFloat(48.1207811705863),
			parseFloat(3.55807931215355),
			parseFloat(49.1158584259459)
		)
	);

	
	gcDepartementsBB.add(
		'78',
		new OpenLayers.Bounds(
			parseFloat(1.44925827444518),
			parseFloat(48.4395828207172),
			parseFloat(2.22635566910374),
			parseFloat(49.0829142443496)
		)
	);

	
	gcDepartementsBB.add(
		'79',
		new OpenLayers.Bounds(
			parseFloat(-0.897355975900687),
			parseFloat(45.9701016928087),
			parseFloat(0.216856650273686),
			parseFloat(47.1079481493943)
		)
	);

	
	gcDepartementsBB.add(
		'80',
		new OpenLayers.Bounds(
			parseFloat(1.38260249308176),
			parseFloat(49.5722969148289),
			parseFloat(3.2052730384511),
			parseFloat(50.3714319842099)
		)
	);

	
	gcDepartementsBB.add(
		'81',
		new OpenLayers.Bounds(
			parseFloat(1.53879526728213),
			parseFloat(43.3839615119772),
			parseFloat(2.93614338307022),
			parseFloat(44.2009826370572)
		)
	);

	
	gcDepartementsBB.add(
		'82',
		new OpenLayers.Bounds(
			parseFloat(0.744102946551341),
			parseFloat(43.7728528268015),
			parseFloat(1.99439356427477),
			parseFloat(44.3923441814484)
		)
	);

	
	gcDepartementsBB.add(
		'83',
		new OpenLayers.Bounds(
			parseFloat(5.65945331675196),
			parseFloat(42.9843938314169),
			parseFloat(6.92913315885995),
			parseFloat(43.8104518389304)
		)
	);

	
	gcDepartementsBB.add(
		'84',
		new OpenLayers.Bounds(
			parseFloat(4.65322857446937),
			parseFloat(43.660769706451),
			parseFloat(5.76032548058176),
			parseFloat(44.4309146497874)
		)
	);

	
	gcDepartementsBB.add(
		'85',
		new OpenLayers.Bounds(
			parseFloat(-2.39731039168511),
			parseFloat(46.2621764073549),
			parseFloat(-0.534801418825027),
			parseFloat(47.0816142330765)
		)
	);

	
	gcDepartementsBB.add(
		'86',
		new OpenLayers.Bounds(
			parseFloat(-0.100710610879456),
			parseFloat(46.0495052020002),
			parseFloat(1.21607876728422),
			parseFloat(47.1743064304722)
		)
	);

	
	gcDepartementsBB.add(
		'87',
		new OpenLayers.Bounds(
			parseFloat(0.63367079301561),
			parseFloat(45.4397332481383),
			parseFloat(1.91170026370804),
			parseFloat(46.4052516802554)
		)
	);

	
	gcDepartementsBB.add(
		'88',
		new OpenLayers.Bounds(
			parseFloat(5.39727928178502),
			parseFloat(47.816514628926),
			parseFloat(7.19977460229003),
			parseFloat(48.5111631009192)
		)
	);

	
	gcDepartementsBB.add(
		'89',
		new OpenLayers.Bounds(
			parseFloat(2.85227974484565),
			parseFloat(47.3113937566477),
			parseFloat(4.34298581515417),
			parseFloat(48.4016943097384)
		)
	);

	
	gcDepartementsBB.add(
		'90',
		new OpenLayers.Bounds(
			parseFloat(6.76078020196048),
			parseFloat(47.43340715381),
			parseFloat(7.14657322507523),
			parseFloat(47.8228238975628)
		)
	);

	
	gcDepartementsBB.add(
		'91',
		new OpenLayers.Bounds(
			parseFloat(1.91606956694591),
			parseFloat(48.2853066677013),
			parseFloat(2.5848897957076),
			parseFloat(48.7756962564508)
		)
	);

	
	gcDepartementsBB.add(
		'92',
		new OpenLayers.Bounds(
			parseFloat(2.15133966409488),
			parseFloat(48.7299046373541),
			parseFloat(2.33650445596473),
			parseFloat(48.9518929099106)
		)
	);

	
	gcDepartementsBB.add(
		'93',
		new OpenLayers.Bounds(
			parseFloat(2.29010473871481),
			parseFloat(48.8087241705879),
			parseFloat(2.60383691971077),
			parseFloat(49.0109875142219)
		)
	);

	
	gcDepartementsBB.add(
		'94',
		new OpenLayers.Bounds(
			parseFloat(2.31067904300816),
			parseFloat(48.6901639463818),
			parseFloat(2.61522956439492),
			parseFloat(48.8619387075216)
		)
	);

	
	gcDepartementsBB.add(
		'95',
		new OpenLayers.Bounds(
			parseFloat(1.61559417732268),
			parseFloat(48.9113829658553),
			parseFloat(2.59487123678575),
			parseFloat(49.2341897542139)
		)
	);


/**
 * Initialize Over sea bounding box list
 */
gcTerritoriesBB = new GCBoundingBoxList("territory");

	
	gcTerritoriesBB.add(
		'FXX',
		new OpenLayers.Bounds(
			parseFloat(-6.900242539362694),
			parseFloat(36.70321808392981),
			parseFloat(13.204253905389066),
			parseFloat(53.12189018047712)
		)
	);

	
	gcTerritoriesBB.add(
		'GLP',
		new OpenLayers.Bounds(
			parseFloat(-62.0510422693323),
			parseFloat(15.68491524088364),
			parseFloat(-60.79097004228754),
			parseFloat(16.729510432820348)
		)
	);

	
	gcTerritoriesBB.add(
		'GUF',
		new OpenLayers.Bounds(
			parseFloat(-56.27129950122105),
			parseFloat(0.5637726178579783),
			parseFloat(-49.06635342435584),
			parseFloat(7.45594584177411)
		)
	);

	
	gcTerritoriesBB.add(
		'MTQ',
		new OpenLayers.Bounds(
			parseFloat(-61.467890612973974),
			parseFloat(14.142695032690199),
			parseFloat(-60.54030156911955),
			parseFloat(15.07288966374631)
		)
	);

	
	gcTerritoriesBB.add(
		'MYT',
		new OpenLayers.Bounds(
			parseFloat(45.00864400584016),
			parseFloat(-13.009792911450482),
			parseFloat(45.244097382159865),
			parseFloat(-12.645506555635093)
		)
	);

	
	gcTerritoriesBB.add(
		'NCL',
		new OpenLayers.Bounds(
			parseFloat(163.99220275878906),
			parseFloat(-22.394729614257812),
			parseFloat(168.14610290527344),
			parseFloat(-20.087230682373047)
		)
	);

	
	gcTerritoriesBB.add(
		'REU',
		new OpenLayers.Bounds(
			parseFloat(55.221370697021484),
			parseFloat(-21.373619079589844),
			parseFloat(55.85137939453125),
			parseFloat(-20.86556053161621)
		)
	);

	
	gcTerritoriesBB.add(
		'SPM',
		new OpenLayers.Bounds(
			parseFloat(-56.65221469279584),
			parseFloat(46.5265839507299),
			parseFloat(-55.910846964457846),
			parseFloat(47.281554756652156)
		)
	);


/**
 * Initialize Communes bounding box list
 */
gcCommunesBB = new GCBoundingBoxList("commune");

/**
 * Center on the specified region
 */
function centerRegion() {
	var regionId = document.getElementById("regionIdSelect").value;
	gcRegionsBB.zoomTo(regionId);
}

/**
 * Center on the specified departement
 */
function centerDepartement() {
	var departementId = document.getElementById("departementIdSelect").value;
	gcDepartementsBB.zoomTo(departementId);
}

/**
 * Center on the specified area
 */
function centerTerritory() {
	var territoryId = document.getElementById("territoryIdSelect").value;
	gcTerritoriesBB.zoomTo(territoryId);
}

/**
 * Center on the specified commune
 */
function centerCommune() {
	var communeId = document.getElementById("communeIdSelect").value;
	gcCommunesBB.zoomTo(communeId);	
}
