Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 299 → Rev 327

/trunk/applications/rendu/squelettes/js/commun.js
3,6 → 3,8
var tableau_marqueurs = new Array();
var infowindow = new google.maps.InfoWindow();
var infos_observations = new Array();
var nb_observations_par_espece = {};
var nb_observations_par_annee = {};
 
var type_espece = '0';
var espece = '0';
15,14 → 17,14
var valeur_slider_defaut = '0';
 
/**
*
*
*/
Date.prototype.getDOY = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((this - onejan) / 86400000);
}
}
 
var tableau_couleurs = new Array(
var tableau_couleurs = new Array(
"#ff0000", "#733d00", "#f2ffbf", "#00ccff", "#2e1a33", "#00ff66", "#ffe1bf", "#ff8800",
"#005266", "#be00cc", "#592d2d", "#ffcc00", "#336641", "#264599", "#80206c", "#bf7960",
"#665c33", "#bf0000", "#80a2ff", "#ff80c4", "#806c60", "#ccff00", "#00ffcc", "#090040",
51,12 → 53,12
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
 
if(vars['type_espece'] != null) {
type_espece = vars['type_espece'];
$('#selecteur_liste_types_especes').val(type_espece);
}
 
if(vars['espece'] != null) {
if(type_espece != '0') {
modifierTableauEspeces();
63,9 → 65,9
}
espece = vars['espece'];
$('#selecteur_especes').val(espece);
 
}
 
if(vars['evenement'] != null) {
if(espece != 0) {
modifierTableauEvenement()
73,7 → 75,7
evenement = vars['evenement'];
$('#selecteur_evenements').val(evenement);
}
 
if(vars['annee'] != null) {
annee = vars['annee'];
$('#selecteur_liste_annees').val(annee);
82,7 → 84,7
annee = date.getFullYear();
$('#selecteur_liste_annees').val(annee);
}
 
if(vars['mois'] != null) {
mois = vars['mois'];
} else {
98,7 → 100,7
valeur_slider_defaut = date.getDOY();
}
}
 
if(vars['departement'] != null) {
departement = vars['departement'];
$('#selecteur_liste_departement').val(annee);
108,7 → 110,7
$('#selecteur_liste_region').val(annee);
}
}
 
if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') {
$(".cacher_widget").hide();
}
115,7 → 117,7
}
 
function obtenirCodeWidget() {
 
var UrlBase = url_widget;
UrlBase += '?';
if(type_espece != '0') UrlBase += "type_espece="+type_espece;
127,14 → 129,52
if(region != '0') UrlBase += "&region="+region;
if(mois != '0') UrlBase += "&mois="+mois;
UrlBase += "&cacher_criteres=1";
 
UrlBase = UrlBase.replace('?&','?');
 
code_widget = '<iframe src="'+UrlBase+'" width="735px" height="650px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>'
 
return code_widget;
}
 
String.prototype.hashCode = function() {
var hash = 0, i, chr;
if (this.length === 0) return hash;
for (i = 0; i < this.length; i++) {
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
}
return hash;
};
 
function renverserTableauEtHashcoderIndex(trans) {
var key, tmp_ar = {};
 
for (key in trans)
{
if (trans.hasOwnProperty(key))
{
tmp_ar[trans[key].hashCode()] = key;
}
}
 
return tmp_ar;
}
 
function trierTableau(tableau) {
if(!tableau) {
return;
}
 
var tableau_trie = tableau.slice(0);
tableau_trie.sort(function(a,b){
return a.localeCompare(b);
});
 
return tableau_trie;
}
 
$('#lien_cette_recherche').ready(function() {
$('#lien_cette_recherche').click(function() {
window.alert(obtenirCodeWidget());
142,11 → 182,20
});
});
 
function selectionnerParametresDynamiquesParDefaut() {
if($('.conteneur_selecteur_liste_annees').is(':visible')) {
var annee_courante = (new Date()).getFullYear();
$('#annee_numero_'+annee_courante).attr( "checked", true );
}
premier_chargement = false;
}
 
var premier_chargement = true;
$(document).ready(function() {
traiterParametresUrl();
});
 
/**
/**
************************************************************************************************
************************************************************************************************
 
154,48 → 203,48
 
************************************************************************************************
************************************************************************************************
**/
**/
 
function setDateSlider() {
function setDateSlider() {
numeroJour = $("#slider_date").slider("value");
dateObs = new Date(annee,0,0);
dateObs.setDate(dateObs.getDate()+numeroJour);
 
mois = dateObs.getMonth();
jour = dateObs.getDay();
afficherObservations();
afficherObservations();
}
 
function initialiserSliderDates() {
 
date_min = 1;
date_max = 365;
 
$("#slider_date").slider({
min: date_min,
max: date_max,
value: valeur_slider_defaut
});
 
taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
 
valeurs_slider = '<table id="table_dates"><tbody><tr>';
 
for (i in liste_mois) {
valeurs_slider += '<td class="conteneur_date">'+liste_mois[i]+'</td>';
}
 
valeurs_slider += '</tr></tbody></table>';
 
$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}");
 
$("#valeurs_date").html(valeurs_slider);
 
$("#slider_date").bind("slidestop", function(event, ui) {
setDateSlider();
return true;
});
 
$(window).bind("resize", resizeWindow);
function resizeWindow( e ) {
taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length));
204,28 → 253,28
}
 
function initialiserListeRegion() {
 
$('#selecteur_liste_region').change(function() {
region = $('select#selecteur_liste_region option:selected').val();
obtenirObservations();
obtenirObservations();
});
}
 
function initialiserListeDepartement() {
 
$('#selecteur_liste_departement').change(function() {
departement = $('select#selecteur_liste_departement option:selected').val();
obtenirObservations();
obtenirObservations();
});
}
 
 
function initialiserListeTypesEspeces() {
 
$('#selecteur_liste_types_especes').change(function() {
type_espece = $('select#selecteur_liste_types_especes option:selected').val();
modifierTableauEspeces();
obtenirObservations();
obtenirObservations();
});
}
 
242,18 → 291,18
}
 
function initialiserBoutonsSlider() {
 
$('#demarrer_slider').click(function() {
 
if($('#slider_date').slider("value") == $('#slider_date').slider("option","max")) {
min_slider = $('#slider_date').slider("option","min");
$('#slider_date').slider("value",min_slider);
}
 
timerSlider = setInterval("incrementerValeurSlider()",150);
$('#demarrer_slider').attr('disabled', 'disabled');
});
 
$('#arreter_slider').click(function() {
if(timerSlider != null) {
clearInterval(timerSlider);
260,12 → 309,12
$('#demarrer_slider').removeAttr('disabled');
}
});
 
}
 
function initialiserValeursParDefaut() {
type_espece = 2;
$('select#selecteur_liste_types_especes').val("2");
type_espece = 0;
$('select#selecteur_liste_types_especes').val("0");
modifierTableauEspeces();
obtenirObservations();
}
283,35 → 332,35
});
 
 
/**
/**
************************************************************************************************
************************************************************************************************
 
Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation
 
************************************************************************************************
************************************************************************************************
**/
**/
function initialiserCarte() {
 
if($('#map_canvas').length == 0) {
return;
}
 
var latlng = new google.maps.LatLng(47.0504, 2.2347);
var myOptions = {
zoom: 5,
center:latlng,
mapTypeId: google.maps.MapTypeId.HYBRID,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControlOptions: {
mapTypeIds: ['OSM',
google.maps.MapTypeId.ROADMAP,
google.maps.MapTypeId.HYBRID,
google.maps.MapTypeId.SATELLITE,
mapTypeIds: ['OSM',
google.maps.MapTypeId.ROADMAP,
google.maps.MapTypeId.HYBRID,
google.maps.MapTypeId.SATELLITE,
google.maps.MapTypeId.TERRAIN]
}
};
 
var osmMapType = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
return "http://tile.openstreetmap.org/" +
328,14 → 377,14
myOptions);
// Ajout de la couche OSM à la carte
map.mapTypes.set('OSM', osmMapType);
 
marker = new google.maps.Marker({
position: latlng,
title:""
});
 
chargerLimitesCommunales();
 
$('.lien_vers_profil').live('click', function(event) {
event.preventDefault();
window.open($(this).attr('href'));
345,7 → 394,7
 
function chargerLimitesCommunales() {
if (urlsLimitesCommunales != null) {
for (urlId in urlsLimitesCommunales) {
for (urlId in urlsLimitesCommunales) {
var url = urlsLimitesCommunales[urlId];
ctaLayer = new google.maps.KmlLayer(url, {preserveViewport: false});
ctaLayer.setMap(map);
353,63 → 402,88
}
}
 
var obs_xhr = null;
function obtenirObservations() {
 
if(obs_xhr != null) {
viderMarqueurs();
console.log('annulation de la xhr');
obs_xhr.abort();
}
 
annee = getAnneeSelectionnee();
requete = '?annee='+annee;
if(type_espece != '0' && espece == '0') {
requete += '&type_espece='+type_espece;
 
if(type_espece != '0') {
requete += '&type_espece='+type_espece;
}
if(espece != '0') {
requete += '&espece='+espece;
 
var espece = getEspeceSelectionnee();
if(espece != '0') {
requete += '&espece='+espece;
}
if(evenement != '0') {
 
if(evenement != '0') {
requete += '&evenement='+evenement;
}
if(departement != '0') {
 
if(departement != '0') {
requete += '&departement='+departement;
}
if(region != '0') {
 
if(region != '0') {
requete += '&region='+region;
}
$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) {
 
$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) {
 
obs_xhr = null;
 
infos_observations = data;
 
nb_observations_par_espece = {};
nb_observations_par_annee = {};
 
if(tableau_marqueurs.length > 0) {
viderMarqueurs();
}
 
for(i in infos_observations) {
creerEtAjouterMarqueur(i, infos_observations[i]);
}
 
afficherObservations();
});
}
 
function creerEtAjouterMarqueur(id_marqueur, infos_obs) {
 
latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']);
 
var chaine_couleur = '';
 
for(i in infos_obs.obs) {
var observation = infos_obs.obs[i];
if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') {
 
if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') {
chaine_couleur += tableau_couleurs_en_cours[observation.id_espece]+",";
}
 
if(!nb_observations_par_espece[observation.id_espece]) {
nb_observations_par_espece[observation.id_espece] = 0;
}
nb_observations_par_espece[observation.id_espece]++;
 
var annee_obs = observation.date.split('/')[2];
if(!nb_observations_par_annee[annee_obs]) {
nb_observations_par_annee[annee_obs] = 0;
}
nb_observations_par_annee[annee_obs]++;
}
 
chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1);
var image = obtenirImagePourChaineCouleur(chaine_couleur);
var image = obtenirImagePourChaineCouleur(chaine_couleur);
 
tableau_marqueurs[id_marqueur] = new google.maps.Marker({
position: latlng,
title:infos_obs.evenenement,
423,64 → 497,64
infowindow.setContent(contenu_fenetre);
infowindow.open(map,this);
});
 
tableau_marqueurs[id_marqueur].setDraggable(false);
tableau_marqueurs[id_marqueur].setClickable(true);
tableau_marqueurs[id_marqueur].setMap(map);
 
tableau_marqueurs[id_marqueur].setMap(map);
 
}
 
function viderMarqueurs() {
 
infowindow.close();
for(i in tableau_marqueurs) {
tableau_marqueurs[i].setMap(null);
}
 
tableau_marqueurs = new Array();
}
 
 
function obtenirImagePourChaineCouleur(chaine_couleur) {
 
chaine_couleur = encodeURIComponent(chaine_couleur);
var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur;
 
return image;
}
 
function convertirDateObsVersJs(chaine_date) {
 
tableau_date = chaine_date.split('/');
date_obs = new Date();
 
date_obs.setDate(tableau_date[0]);
date_obs.setMonth(tableau_date[1]);
date_obs.setFullYear(tableau_date[2]);
 
return date_obs;
}
 
function dateEstDansIntervalle(t_obs) {
 
date_obs = convertirDateObsVersJs(t_obs);
 
dans_intervalle = false;
 
var dateDebutAnnee = new Date();
dateDebutAnnee.setDate(1);
dateDebutAnnee.setMonth(1);
dateDebutAnnee.setFullYear(date_obs.getFullYear());
var quantieme = (date_obs.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000)+1;
 
if($('#slider_date').slider("value") >= quantieme) {
dans_intervalle = true;
}
 
return dans_intervalle;
}
 
function comparerDates(date_1, date_2){
diff = date_1.getTime()-date_2.getTime();
return (diff==0?diff:diff/Math.abs(diff));
487,7 → 561,7
}
 
function obtenirMarqueurPourStade(stade) {
 
iconeStade = '../images/marqueur_'+stade+'.png';
 
return iconeStade;
494,20 → 568,20
}
 
function formaterContenuFenetre(infos_obs) {
 
contenu_fenetre = '';
date_courante = new Date(annee,mois,jour);
 
for(i in infos_obs) {
 
t_obs = infos_obs[i].date;
 
if(dateEstDansIntervalle(t_obs)) {
nom_stade ='';
if(infos_obs[i].code_bbch != '') {
nom_stade = ' stade '+infos_obs[i].code_bbch;
}
 
contenu_fenetre += '<div class="fenetre_infos">';
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>';
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>';
516,7 → 590,7
contenu_fenetre += '</div><br />';
}
}
 
return contenu_fenetre;
}
 
523,8 → 597,8
function construireUrlProfilParticipant(id) {
return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> Voir l\'auteur </a>';
}
 
 
$('#map_canvas').ready(function() {
initialiserCarte();
});
});