Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 283 | Rev 327 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 283 Rev 299
1
var map = null;
1
var map = null;
2
var ctaLayer = null;
2
var ctaLayer = null;
3
var tableau_marqueurs = new Array();
3
var tableau_marqueurs = new Array();
4
var infowindow = new google.maps.InfoWindow();
4
var infowindow = new google.maps.InfoWindow();
5
var infos_observations = new Array();
5
var infos_observations = new Array();
6
 
6
 
7
var type_espece = '0';
7
var type_espece = '0';
8
var espece = '0';
8
var espece = '0';
9
var evenement = '0';
9
var evenement = '0';
10
var annee = '0';
10
var annee = '0';
11
var mois = '0';
11
var mois = '0';
12
var jour = '0';
12
var jour = '0';
13
var departement = '0';
13
var departement = '0';
14
var region = '0';
14
var region = '0';
15
var valeur_slider_defaut = '0';
15
var valeur_slider_defaut = '0';
16
 
16
 
17
/**
17
/**
18
 * 
18
 * 
19
 */
19
 */
20
Date.prototype.getDOY = function() {
20
Date.prototype.getDOY = function() {
21
	var onejan = new Date(this.getFullYear(),0,1);
21
	var onejan = new Date(this.getFullYear(),0,1);
22
	return Math.ceil((this - onejan) / 86400000);
22
	return Math.ceil((this - onejan) / 86400000);
23
} 
23
} 
24
 
24
 
25
var tableau_couleurs = new Array("#A9582B", "#8DC7B8","#ED9355","#A7BD5B",
25
var tableau_couleurs = new Array( 
26
		"#FFC730","#0000FF","#CC4369","#9CA6A2",
26
		"#ff0000", "#733d00", "#f2ffbf", "#00ccff", "#2e1a33", "#00ff66", "#ffe1bf", "#ff8800",
27
		"#F7E4A2","#DC574E","#3F6CA9","#DC6C4B",
27
		"#005266", "#be00cc", "#592d2d", "#ffcc00", "#336641", "#264599", "#80206c", "#bf7960",
28
		"#E8A794","#9B5F95","#E78EDE","#45808A",
28
		"#665c33", "#bf0000", "#80a2ff", "#ff80c4", "#806c60", "#ccff00", "#00ffcc", "#090040",
29
		"#168F47","#C9A838","#F2EAD8","#1A5561",
29
		"#bf004d", "#2a3326", "#668000", "#608079", "#3600cc", "#8c696e"
30
		"#6D883A");
30
);
31
 
31
 
32
liste_mois = new Array("jan","fev","mar","avr","mai","jun","jui","aou","sep","oct","nov","dec");
32
liste_mois = new Array("jan","fev","mar","avr","mai","jun","jui","aou","sep","oct","nov","dec");
33
 
33
 
34
evenements_debut_annee = new Array("")
34
evenements_debut_annee = new Array("")
35
 
35
 
36
var tableau_couleurs_en_cours = new Array();
36
var tableau_couleurs_en_cours = new Array();
37
 
37
 
38
var timerSlider = null;
38
var timerSlider = null;
39
 
39
 
40
function getUrlBaseJrest() {
40
function getUrlBaseJrest() {
41
	return urlBaseJrest;
41
	return urlBaseJrest;
42
}
42
}
43
 
43
 
44
function traiterParametresUrl() {
44
function traiterParametresUrl() {
45
 
45
 
46
	var vars = [], hash;
46
	var vars = [], hash;
47
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
47
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
48
	for(var i = 0; i < hashes.length; i++)
48
	for(var i = 0; i < hashes.length; i++)
49
	{
49
	{
50
	    hash = hashes[i].split('=');
50
	    hash = hashes[i].split('=');
51
	    vars.push(hash[0]);
51
	    vars.push(hash[0]);
52
	    vars[hash[0]] = hash[1];
52
	    vars[hash[0]] = hash[1];
53
	}
53
	}
54
	
54
	
55
	if(vars['type_espece'] != null) {
55
	if(vars['type_espece'] != null) {
56
		type_espece = vars['type_espece'];
56
		type_espece = vars['type_espece'];
57
		$('#selecteur_liste_types_especes').val(type_espece);
57
		$('#selecteur_liste_types_especes').val(type_espece);
58
	}
58
	}
59
	
59
	
60
	if(vars['espece'] != null) {
60
	if(vars['espece'] != null) {
61
		if(type_espece != '0') {
61
		if(type_espece != '0') {
62
			modifierTableauEspeces();
62
			modifierTableauEspeces();
63
		}
63
		}
64
		espece = vars['espece'];
64
		espece = vars['espece'];
65
		$('#selecteur_especes').val(espece);
65
		$('#selecteur_especes').val(espece);
66
		
66
		
67
	}
67
	}
68
	
68
	
69
	if(vars['evenement'] != null) {
69
	if(vars['evenement'] != null) {
70
		if(espece != 0) {
70
		if(espece != 0) {
71
			modifierTableauEvenement()
71
			modifierTableauEvenement()
72
		}
72
		}
73
		evenement = vars['evenement'];
73
		evenement = vars['evenement'];
74
		$('#selecteur_evenements').val(evenement);
74
		$('#selecteur_evenements').val(evenement);
75
	}
75
	}
76
	
76
	
77
	if(vars['annee'] != null) {
77
	if(vars['annee'] != null) {
78
		annee = vars['annee'];
78
		annee = vars['annee'];
79
		$('#selecteur_liste_annees').val(annee);
79
		$('#selecteur_liste_annees').val(annee);
80
	} else {
80
	} else {
81
		date = new Date()
81
		date = new Date()
82
		annee = date.getFullYear();
82
		annee = date.getFullYear();
83
		$('#selecteur_liste_annees').val(annee);
83
		$('#selecteur_liste_annees').val(annee);
84
	}
84
	}
85
	
85
	
86
	if(vars['mois'] != null) {
86
	if(vars['mois'] != null) {
87
		mois = vars['mois'];
87
		mois = vars['mois'];
88
	} else {
88
	} else {
89
		date = new Date();
89
		date = new Date();
90
		if(annee == date.getFullYear()) {
90
		if(annee == date.getFullYear()) {
91
			mois = date.getMonth();
91
			mois = date.getMonth();
92
			valeur_slider_defaut = date.getDOY();
92
			valeur_slider_defaut = date.getDOY();
93
		} else {
93
		} else {
94
			mois = 11;
94
			mois = 11;
95
			date.setYear(annee);
95
			date.setYear(annee);
96
			date.setMonth(mois);
96
			date.setMonth(mois);
97
			date.setDate(31);
97
			date.setDate(31);
98
			valeur_slider_defaut = date.getDOY();
98
			valeur_slider_defaut = date.getDOY();
99
		}
99
		}
100
	}
100
	}
101
	
101
	
102
	if(vars['departement'] != null) {
102
	if(vars['departement'] != null) {
103
		departement = vars['departement'];
103
		departement = vars['departement'];
104
		$('#selecteur_liste_departement').val(annee);
104
		$('#selecteur_liste_departement').val(annee);
105
	} else {
105
	} else {
106
		if(vars['region'] != null) {
106
		if(vars['region'] != null) {
107
			region = vars['region'];
107
			region = vars['region'];
108
			$('#selecteur_liste_region').val(annee);
108
			$('#selecteur_liste_region').val(annee);
109
		}
109
		}
110
	}
110
	}
111
	
111
	
112
	if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') {
112
	if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') {
113
		$(".cacher_widget").hide();
113
		$(".cacher_widget").hide();
114
	}
114
	}
115
}
115
}
116
 
116
 
117
function obtenirCodeWidget() {
117
function obtenirCodeWidget() {
118
	
118
	
119
	var UrlBase = url_widget;
119
	var UrlBase = url_widget;
120
	UrlBase += '?';
120
	UrlBase += '?';
121
	if(type_espece != '0') UrlBase += "type_espece="+type_espece;
121
	if(type_espece != '0') UrlBase += "type_espece="+type_espece;
122
	//TODO: décider si l'on peut garder l'espece et si le cas échéant on la cache
122
	//TODO: décider si l'on peut garder l'espece et si le cas échéant on la cache
123
	if(espece != '0') UrlBase += "&espece="+espece;
123
	if(espece != '0') UrlBase += "&espece="+espece;
124
	if(evenement != '0') UrlBase += "&evenement="+evenement;
124
	if(evenement != '0') UrlBase += "&evenement="+evenement;
125
	if(annee != '0') UrlBase += "&annee="+annee;
125
	if(annee != '0') UrlBase += "&annee="+annee;
126
	if(departement != '0') UrlBase += "&departement="+departement;
126
	if(departement != '0') UrlBase += "&departement="+departement;
127
	if(region != '0') UrlBase += "&region="+region;
127
	if(region != '0') UrlBase += "&region="+region;
128
	if(mois != '0') UrlBase += "&mois="+mois;
128
	if(mois != '0') UrlBase += "&mois="+mois;
129
	UrlBase += "&cacher_criteres=1";
129
	UrlBase += "&cacher_criteres=1";
130
	
130
	
131
	UrlBase = UrlBase.replace('?&','?');
131
	UrlBase = UrlBase.replace('?&','?');
132
	
132
	
133
	code_widget = '<iframe src="'+UrlBase+'" width="735px" height="650px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>'
133
	code_widget = '<iframe src="'+UrlBase+'" width="735px" height="650px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>'
134
	
134
	
135
	return code_widget;
135
	return code_widget;
136
}
136
}
137
 
137
 
138
$('#lien_cette_recherche').ready(function() {
138
$('#lien_cette_recherche').ready(function() {
139
	$('#lien_cette_recherche').click(function() {
139
	$('#lien_cette_recherche').click(function() {
140
		window.alert(obtenirCodeWidget());
140
		window.alert(obtenirCodeWidget());
141
		return false;
141
		return false;
142
	});
142
	});
143
});
143
});
144
 
144
 
145
$(document).ready(function() {
145
$(document).ready(function() {
146
	traiterParametresUrl();
146
	traiterParametresUrl();
147
});
147
});
148
 
148
 
149
/** 
149
/** 
150
************************************************************************************************
150
************************************************************************************************
151
************************************************************************************************
151
************************************************************************************************
152
 
152
 
153
    Fonctions concernant les gestion des filtres sur la carte
153
    Fonctions concernant les gestion des filtres sur la carte
154
 
154
 
155
************************************************************************************************
155
************************************************************************************************
156
************************************************************************************************
156
************************************************************************************************
157
**/ 
157
**/ 
158
 
158
 
159
function setDateSlider() {	
159
function setDateSlider() {	
160
	numeroJour = $("#slider_date").slider("value");
160
	numeroJour = $("#slider_date").slider("value");
161
	dateObs = new Date(annee,0,0);
161
	dateObs = new Date(annee,0,0);
162
	dateObs.setDate(dateObs.getDate()+numeroJour);
162
	dateObs.setDate(dateObs.getDate()+numeroJour);
163
	
163
	
164
	mois = dateObs.getMonth();
164
	mois = dateObs.getMonth();
165
	jour = dateObs.getDay();
165
	jour = dateObs.getDay();
166
	afficherObservations();	
166
	afficherObservations();	
167
}
167
}
168
 
168
 
169
function initialiserSliderDates() {
169
function initialiserSliderDates() {
170
		
170
		
171
	date_min = 1;
171
	date_min = 1;
172
	date_max = 365;
172
	date_max = 365;
173
	
173
	
174
	$("#slider_date").slider({
174
	$("#slider_date").slider({
175
								min: date_min,
175
								min: date_min,
176
								max: date_max,
176
								max: date_max,
177
								value: valeur_slider_defaut
177
								value: valeur_slider_defaut
178
							});
178
							});
179
	
179
	
180
	taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
180
	taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
181
	
181
	
182
	valeurs_slider = '<table id="table_dates"><tbody><tr>';
182
	valeurs_slider = '<table id="table_dates"><tbody><tr>';
183
	
183
	
184
	for (i in liste_mois) {
184
	for (i in liste_mois) {
185
		valeurs_slider += '<td class="conteneur_date">'+liste_mois[i]+'</td>';
185
		valeurs_slider += '<td class="conteneur_date">'+liste_mois[i]+'</td>';
186
	}
186
	}
187
	
187
	
188
	valeurs_slider += '</tr></tbody></table>';
188
	valeurs_slider += '</tr></tbody></table>';
189
	
189
	
190
	$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}");
190
	$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}");
191
	
191
	
192
	$("#valeurs_date").html(valeurs_slider);
192
	$("#valeurs_date").html(valeurs_slider);
193
		
193
		
194
	$("#slider_date").bind("slidestop", function(event, ui) {
194
	$("#slider_date").bind("slidestop", function(event, ui) {
195
		setDateSlider();
195
		setDateSlider();
196
		return true;
196
		return true;
197
	});
197
	});
198
	
198
	
199
	$(window).bind("resize", resizeWindow);
199
	$(window).bind("resize", resizeWindow);
200
	function resizeWindow( e ) {
200
	function resizeWindow( e ) {
201
		taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
201
		taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
202
		$("#css_slider").html(".conteneur_date{ width:"+taille_criteres+"px;}");
202
		$("#css_slider").html(".conteneur_date{ width:"+taille_criteres+"px;}");
203
	}
203
	}
204
}
204
}
205
 
205
 
206
function initialiserListeRegion() {
206
function initialiserListeRegion() {
207
	
207
	
208
	$('#selecteur_liste_region').change(function() {
208
	$('#selecteur_liste_region').change(function() {
209
		region = $('select#selecteur_liste_region option:selected').val();
209
		region = $('select#selecteur_liste_region option:selected').val();
210
		obtenirObservations();	
210
		obtenirObservations();	
211
	});
211
	});
212
}
212
}
213
 
213
 
214
function initialiserListeDepartement() {
214
function initialiserListeDepartement() {
215
	
215
	
216
	$('#selecteur_liste_departement').change(function() {
216
	$('#selecteur_liste_departement').change(function() {
217
		departement = $('select#selecteur_liste_departement option:selected').val();
217
		departement = $('select#selecteur_liste_departement option:selected').val();
218
		obtenirObservations();	
218
		obtenirObservations();	
219
	});
219
	});
220
}
220
}
221
 
221
 
222
 
222
 
223
function initialiserListeTypesEspeces() {
223
function initialiserListeTypesEspeces() {
224
	
224
	
225
	$('#selecteur_liste_types_especes').change(function() {
225
	$('#selecteur_liste_types_especes').change(function() {
226
		type_espece = $('select#selecteur_liste_types_especes option:selected').val();
226
		type_espece = $('select#selecteur_liste_types_especes option:selected').val();
227
		modifierTableauEspeces();
227
		modifierTableauEspeces();
228
		obtenirObservations();	
228
		obtenirObservations();	
229
	});
229
	});
230
}
230
}
231
 
231
 
232
function incrementerValeurSlider() {
232
function incrementerValeurSlider() {
233
	var valeur_en_cours = $('#slider_date').slider("value");
233
	var valeur_en_cours = $('#slider_date').slider("value");
234
	if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) {
234
	if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) {
235
		valeur_en_cours++;
235
		valeur_en_cours++;
236
		$('#slider_date').slider("value",valeur_en_cours);
236
		$('#slider_date').slider("value",valeur_en_cours);
237
		setDateSlider();
237
		setDateSlider();
238
	} else {
238
	} else {
239
		clearInterval(timerSlider);
239
		clearInterval(timerSlider);
240
		$('#demarrer_slider').removeAttr('disabled');
240
		$('#demarrer_slider').removeAttr('disabled');
241
	}
241
	}
242
}
242
}
243
 
243
 
244
function initialiserBoutonsSlider() {
244
function initialiserBoutonsSlider() {
245
	
245
	
246
	$('#demarrer_slider').click(function() {
246
	$('#demarrer_slider').click(function() {
247
		
247
		
248
		if($('#slider_date').slider("value") == $('#slider_date').slider("option","max")) {
248
		if($('#slider_date').slider("value") == $('#slider_date').slider("option","max")) {
249
			min_slider = $('#slider_date').slider("option","min");
249
			min_slider = $('#slider_date').slider("option","min");
250
			$('#slider_date').slider("value",min_slider);
250
			$('#slider_date').slider("value",min_slider);
251
		}
251
		}
252
		
252
		
253
		timerSlider = setInterval("incrementerValeurSlider()",150);
253
		timerSlider = setInterval("incrementerValeurSlider()",150);
254
		$('#demarrer_slider').attr('disabled', 'disabled');
254
		$('#demarrer_slider').attr('disabled', 'disabled');
255
	});
255
	});
256
	
256
	
257
	$('#arreter_slider').click(function() {
257
	$('#arreter_slider').click(function() {
258
		if(timerSlider != null) {
258
		if(timerSlider != null) {
259
			clearInterval(timerSlider);
259
			clearInterval(timerSlider);
260
			$('#demarrer_slider').removeAttr('disabled');
260
			$('#demarrer_slider').removeAttr('disabled');
261
		}
261
		}
262
	});
262
	});
263
	
263
	
264
}
264
}
265
 
265
 
266
function initialiserValeursParDefaut() {
266
function initialiserValeursParDefaut() {
267
	type_espece = 2;
267
	type_espece = 2;
268
	$('select#selecteur_liste_types_especes').val("2");
268
	$('select#selecteur_liste_types_especes').val("2");
269
	modifierTableauEspeces();
269
	modifierTableauEspeces();
270
	obtenirObservations();
270
	obtenirObservations();
271
}
271
}
272
 
272
 
273
$('#slider_date').ready(function() {
273
$('#slider_date').ready(function() {
274
	initialiserSliderDates();
274
	initialiserSliderDates();
275
	initialiserBoutonsSlider();
275
	initialiserBoutonsSlider();
276
	initialiserListeTypesEspeces();
276
	initialiserListeTypesEspeces();
277
	initialiserListeEspeces();
277
	initialiserListeEspeces();
278
	initialiserListeEvenements();
278
	initialiserListeEvenements();
279
	initialiserListeAnnees();
279
	initialiserListeAnnees();
280
	initialiserValeursParDefaut();
280
	initialiserValeursParDefaut();
281
	initialiserListeRegion();
281
	initialiserListeRegion();
282
	initialiserListeDepartement()
282
	initialiserListeDepartement()
283
});
283
});
284
 
284
 
285
 
285
 
286
/** 
286
/** 
287
	************************************************************************************************
287
	************************************************************************************************
288
	************************************************************************************************
288
	************************************************************************************************
289
	
289
	
290
	    Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation
290
	    Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation
291
	
291
	
292
	************************************************************************************************
292
	************************************************************************************************
293
	************************************************************************************************
293
	************************************************************************************************
294
**/ 
294
**/ 
295
function initialiserCarte() {
295
function initialiserCarte() {
296
 
296
 
297
	if($('#map_canvas').length == 0) {
297
	if($('#map_canvas').length == 0) {
298
		return;
298
		return;
299
	}
299
	}
300
	
300
	
301
	var latlng = new google.maps.LatLng(47.0504, 2.2347);
301
	var latlng = new google.maps.LatLng(47.0504, 2.2347);
302
	var myOptions = {
302
	var myOptions = {
303
		zoom: 5,
303
		zoom: 5,
304
		center:latlng,
304
		center:latlng,
305
		mapTypeId: google.maps.MapTypeId.HYBRID,
305
		mapTypeId: google.maps.MapTypeId.HYBRID,
306
		mapTypeControlOptions: {
306
		mapTypeControlOptions: {
307
			mapTypeIds: ['OSM', 
307
			mapTypeIds: ['OSM', 
308
			             google.maps.MapTypeId.ROADMAP, 
308
			             google.maps.MapTypeId.ROADMAP, 
309
			             google.maps.MapTypeId.HYBRID, 
309
			             google.maps.MapTypeId.HYBRID, 
310
			             google.maps.MapTypeId.SATELLITE, 
310
			             google.maps.MapTypeId.SATELLITE, 
311
			             google.maps.MapTypeId.TERRAIN]
311
			             google.maps.MapTypeId.TERRAIN]
312
		}
312
		}
313
	};
313
	};
314
	
314
	
315
	var osmMapType = new google.maps.ImageMapType({
315
	var osmMapType = new google.maps.ImageMapType({
316
		getTileUrl: function(coord, zoom) {
316
		getTileUrl: function(coord, zoom) {
317
			return "http://tile.openstreetmap.org/" +
317
			return "http://tile.openstreetmap.org/" +
318
			zoom + "/" + coord.x + "/" + coord.y + ".png";
318
			zoom + "/" + coord.x + "/" + coord.y + ".png";
319
		},
319
		},
320
		tileSize: new google.maps.Size(256, 256),
320
		tileSize: new google.maps.Size(256, 256),
321
		isPng: true,
321
		isPng: true,
322
		alt: "OpenStreetMap",
322
		alt: "OpenStreetMap",
323
		name: "OSM",
323
		name: "OSM",
324
		maxZoom: 19
324
		maxZoom: 19
325
	});
325
	});
326
 
326
 
327
	map = new google.maps.Map(document.getElementById("map_canvas"),
327
	map = new google.maps.Map(document.getElementById("map_canvas"),
328
    	myOptions);
328
    	myOptions);
329
	// Ajout de la couche OSM à la carte
329
	// Ajout de la couche OSM à la carte
330
	map.mapTypes.set('OSM', osmMapType);
330
	map.mapTypes.set('OSM', osmMapType);
331
	
331
	
332
	marker = new google.maps.Marker({
332
	marker = new google.maps.Marker({
333
	      position: latlng,
333
	      position: latlng,
334
	      title:""
334
	      title:""
335
	});
335
	});
336
	
336
	
337
	chargerLimitesCommunales();
337
	chargerLimitesCommunales();
338
	
338
	
339
	$('.lien_vers_profil').live('click', function(event) {
339
	$('.lien_vers_profil').live('click', function(event) {
340
		event.preventDefault();
340
		event.preventDefault();
341
		window.open($(this).attr('href'));
341
		window.open($(this).attr('href'));
342
		return false;
342
		return false;
343
	});
343
	});
344
}
344
}
345
 
345
 
346
function chargerLimitesCommunales() {
346
function chargerLimitesCommunales() {
347
	if (urlsLimitesCommunales != null) {
347
	if (urlsLimitesCommunales != null) {
348
		for (urlId in urlsLimitesCommunales) { 
348
		for (urlId in urlsLimitesCommunales) { 
349
			var url = urlsLimitesCommunales[urlId];
349
			var url = urlsLimitesCommunales[urlId];
350
			ctaLayer = new google.maps.KmlLayer(url, {preserveViewport: false});
350
			ctaLayer = new google.maps.KmlLayer(url, {preserveViewport: false});
351
			ctaLayer.setMap(map);
351
			ctaLayer.setMap(map);
352
		}
352
		}
353
	}
353
	}
354
}
354
}
355
 
355
 
356
function obtenirObservations() {
356
function obtenirObservations() {
357
		
357
		
358
	requete = '?annee='+annee;
358
	requete = '?annee='+annee;
359
	
359
	
360
	if(type_espece != '0' && espece == '0') { 
360
	if(type_espece != '0' && espece == '0') { 
361
		requete += '&type_espece='+type_espece; 
361
		requete += '&type_espece='+type_espece; 
362
	}
362
	}
363
	
363
	
364
	if(espece != '0') { 
364
	if(espece != '0') { 
365
		requete += '&espece='+espece; 
365
		requete += '&espece='+espece; 
366
	}
366
	}
367
	
367
	
368
	if(evenement != '0') { 
368
	if(evenement != '0') { 
369
		requete += '&evenement='+evenement;
369
		requete += '&evenement='+evenement;
370
	}
370
	}
371
	
371
	
372
	if(departement != '0') { 
372
	if(departement != '0') { 
373
		requete += '&departement='+departement;
373
		requete += '&departement='+departement;
374
	}
374
	}
375
	
375
	
376
	if(region != '0') { 
376
	if(region != '0') { 
377
		requete += '&region='+region;
377
		requete += '&region='+region;
378
	}
378
	}
379
	
379
	
380
	$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) {	
380
	$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) {	
381
				
381
				
382
		infos_observations = data;
382
		infos_observations = data;
383
		
383
		
384
		if(tableau_marqueurs.length > 0) {
384
		if(tableau_marqueurs.length > 0) {
385
			viderMarqueurs();
385
			viderMarqueurs();
386
		}
386
		}
387
		
387
		
388
		for(i in infos_observations) {
388
		for(i in infos_observations) {
389
			creerEtAjouterMarqueur(i, infos_observations[i]);
389
			creerEtAjouterMarqueur(i, infos_observations[i]);
390
		}
390
		}
391
		
391
		
392
		afficherObservations();
392
		afficherObservations();
393
	});
393
	});
394
}
394
}
395
 
395
 
396
function creerEtAjouterMarqueur(id_marqueur, infos_obs) {
396
function creerEtAjouterMarqueur(id_marqueur, infos_obs) {
397
	
397
	
398
	latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']);
398
	latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']);
399
	
399
	
400
	var chaine_couleur = '';
400
	var chaine_couleur = '';
401
	
401
	
402
	for(i in infos_obs.obs) {
402
	for(i in infos_obs.obs) {
403
		var observation = infos_obs.obs[i];
403
		var observation = infos_obs.obs[i];
404
		
404
		
405
		if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') {		
405
		if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') {		
406
			chaine_couleur += tableau_couleurs_en_cours[observation.id_espece]+",";
406
			chaine_couleur += tableau_couleurs_en_cours[observation.id_espece]+",";
407
		}
407
		}
408
	}
408
	}
409
	
409
	
410
	chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
410
	chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
411
    var image = obtenirImagePourChaineCouleur(chaine_couleur);
411
    var image = obtenirImagePourChaineCouleur(chaine_couleur);
412
     
412
     
413
 	tableau_marqueurs[id_marqueur] = new google.maps.Marker({
413
 	tableau_marqueurs[id_marqueur] = new google.maps.Marker({
414
	      position: latlng,
414
	      position: latlng,
415
	      title:infos_obs.evenenement,
415
	      title:infos_obs.evenenement,
416
	      icon:image,
416
	      icon:image,
417
	      optimized: false
417
	      optimized: false
418
	});
418
	});
419
 
419
 
420
	google.maps.event.addListener(tableau_marqueurs[id_marqueur], 'click', function() {
420
	google.maps.event.addListener(tableau_marqueurs[id_marqueur], 'click', function() {
421
		contenu_fenetre = formaterContenuFenetre(infos_obs.obs);
421
		contenu_fenetre = formaterContenuFenetre(infos_obs.obs);
422
		infowindow.close();
422
		infowindow.close();
423
		infowindow.setContent(contenu_fenetre);
423
		infowindow.setContent(contenu_fenetre);
424
		infowindow.open(map,this);
424
		infowindow.open(map,this);
425
	});
425
	});
426
	
426
	
427
	tableau_marqueurs[id_marqueur].setDraggable(false);
427
	tableau_marqueurs[id_marqueur].setDraggable(false);
428
	tableau_marqueurs[id_marqueur].setClickable(true);
428
	tableau_marqueurs[id_marqueur].setClickable(true);
429
		
429
		
430
	tableau_marqueurs[id_marqueur].setMap(map); 
430
	tableau_marqueurs[id_marqueur].setMap(map); 
431
 
431
 
432
}
432
}
433
 
433
 
434
function viderMarqueurs() {
434
function viderMarqueurs() {
435
	
435
	
436
	infowindow.close();
436
	infowindow.close();
437
	for(i in tableau_marqueurs) {
437
	for(i in tableau_marqueurs) {
438
		tableau_marqueurs[i].setMap(null);
438
		tableau_marqueurs[i].setMap(null);
439
	}
439
	}
440
	
440
	
441
	tableau_marqueurs = new Array();
441
	tableau_marqueurs = new Array();
442
}
442
}
443
 
443
 
444
 
444
 
445
function obtenirImagePourChaineCouleur(chaine_couleur) {
445
function obtenirImagePourChaineCouleur(chaine_couleur) {
446
					
446
					
447
	chaine_couleur = encodeURIComponent(chaine_couleur);
447
	chaine_couleur = encodeURIComponent(chaine_couleur);
448
	var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur;
448
	var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur;
449
    
449
    
450
    return image;
450
    return image;
451
}
451
}
452
 
452
 
453
function convertirDateObsVersJs(chaine_date) {
453
function convertirDateObsVersJs(chaine_date) {
454
	
454
	
455
	tableau_date = chaine_date.split('/');
455
	tableau_date = chaine_date.split('/');
456
	date_obs = new Date();
456
	date_obs = new Date();
457
	
457
	
458
	date_obs.setDate(tableau_date[0]);
458
	date_obs.setDate(tableau_date[0]);
459
	date_obs.setMonth(tableau_date[1]);
459
	date_obs.setMonth(tableau_date[1]);
460
	date_obs.setFullYear(tableau_date[2]);
460
	date_obs.setFullYear(tableau_date[2]);
461
	
461
	
462
	return date_obs;
462
	return date_obs;
463
}
463
}
464
 
464
 
465
function dateEstDansIntervalle(t_obs) {
465
function dateEstDansIntervalle(t_obs) {
466
	
466
	
467
	date_obs = convertirDateObsVersJs(t_obs);
467
	date_obs = convertirDateObsVersJs(t_obs);
468
	
468
	
469
	dans_intervalle = false;
469
	dans_intervalle = false;
470
	
470
	
471
	var dateDebutAnnee = new Date();
471
	var dateDebutAnnee = new Date();
472
	dateDebutAnnee.setDate(1);
472
	dateDebutAnnee.setDate(1);
473
	dateDebutAnnee.setMonth(1);
473
	dateDebutAnnee.setMonth(1);
474
	dateDebutAnnee.setFullYear(date_obs.getFullYear());
474
	dateDebutAnnee.setFullYear(date_obs.getFullYear());
475
	var quantieme = (date_obs.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000)+1;
475
	var quantieme = (date_obs.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000)+1;
476
	
476
	
477
	if($('#slider_date').slider("value") >= quantieme) {
477
	if($('#slider_date').slider("value") >= quantieme) {
478
		dans_intervalle = true;
478
		dans_intervalle = true;
479
	}
479
	}
480
		
480
		
481
	return dans_intervalle;
481
	return dans_intervalle;
482
}
482
}
483
	
483
	
484
function comparerDates(date_1, date_2){
484
function comparerDates(date_1, date_2){
485
	diff = date_1.getTime()-date_2.getTime();
485
	diff = date_1.getTime()-date_2.getTime();
486
	return (diff==0?diff:diff/Math.abs(diff));
486
	return (diff==0?diff:diff/Math.abs(diff));
487
}
487
}
488
 
488
 
489
function obtenirMarqueurPourStade(stade) {
489
function obtenirMarqueurPourStade(stade) {
490
		
490
		
491
	iconeStade = '../images/marqueur_'+stade+'.png';
491
	iconeStade = '../images/marqueur_'+stade+'.png';
492
 
492
 
493
	return iconeStade;
493
	return iconeStade;
494
}
494
}
495
 
495
 
496
function formaterContenuFenetre(infos_obs) {
496
function formaterContenuFenetre(infos_obs) {
497
	
497
	
498
	contenu_fenetre = '';
498
	contenu_fenetre = '';
499
	date_courante = new Date(annee,mois,jour);
499
	date_courante = new Date(annee,mois,jour);
500
	
500
	
501
	for(i in infos_obs) {
501
	for(i in infos_obs) {
502
		
502
		
503
		t_obs = infos_obs[i].date;
503
		t_obs = infos_obs[i].date;
504
		
504
		
505
		if(dateEstDansIntervalle(t_obs)) {
505
		if(dateEstDansIntervalle(t_obs)) {
506
			nom_stade ='';
506
			nom_stade ='';
507
			if(infos_obs[i].code_bbch != '') {
507
			if(infos_obs[i].code_bbch != '') {
508
				nom_stade = ' stade '+infos_obs[i].code_bbch;
508
				nom_stade = ' stade '+infos_obs[i].code_bbch;
509
			}
509
			}
510
			
510
			
511
			contenu_fenetre += '<div class="fenetre_infos">';
511
			contenu_fenetre += '<div class="fenetre_infos">';
512
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>';
512
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>';
513
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>';
513
			contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>';
514
			contenu_fenetre += '<div class="date_obs"> Observ&eacute; le : '+infos_obs[i].date+' </div>';
514
			contenu_fenetre += '<div class="date_obs"> Observ&eacute; le : '+infos_obs[i].date+' </div>';
515
			contenu_fenetre += construireUrlProfilParticipant(infos_obs[i].participant);
515
			contenu_fenetre += construireUrlProfilParticipant(infos_obs[i].participant);
516
			contenu_fenetre += '</div><br />';
516
			contenu_fenetre += '</div><br />';
517
		}
517
		}
518
	}
518
	}
519
	
519
	
520
	return contenu_fenetre;
520
	return contenu_fenetre;
521
}
521
}
522
 
522
 
523
function construireUrlProfilParticipant(id) {
523
function construireUrlProfilParticipant(id) {
524
	return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> Voir l\'auteur </a>';
524
	return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> Voir l\'auteur </a>';
525
}
525
}
526
	
526
	
527
 
527
 
528
$('#map_canvas').ready(function() {
528
$('#map_canvas').ready(function() {
529
	initialiserCarte();
529
	initialiserCarte();
530
});
530
});