Rev 54 | Rev 168 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/**************************************************************************************************************************************************************************************************Fonction permettant de transformer les élements de la classe pliage en accordéon**************************************************************************************************************************************************************************************************/function initialiserElementsPliables() {$('.pliage h4').addClass('lien_pliage');$('.pliage ul').hide();$('.pliage > ul:first-child').hide();$('.lien_pliage').bind('click', function() {$(this).nextAll('ul').slideToggle();return false;});}$('.pliage').ready(function() {initialiserElementsPliables();});/**************************************************************************************************************************************************************************************************Fonctions de gestion des onglets du formulaire de saisie d'espèce**************************************************************************************************************************************************************************************************/function initialiserOnglets() {$(".contenu_onglet").hide();$("ul.liste_onglets li:first").addClass("active").show();$(".contenu_onglet:first").show();$("ul.liste_onglets li").click(function() {$("ul.liste_onglets li").removeClass("active");$(this).addClass("active");$(".contenu_onglet").hide();var activeTab = $(this).find("a").attr("href");$(activeTab).fadeIn();return false;});}$('.contenu_onglet').ready(function() {initialiserOnglets();});function agrandirZoneCLicBoutonsRadios() {$('.formulaire_informations_espece_mini').addClass("element_cliquable");$('#form_saisie_espece').children('input[type="submit"]').hide();$('.formulaire_informations_espece_mini').children('input[type="radio"]').hide();$('.titre_type').hide();$('.formulaire_informations_espece_mini').bind('click',function() {$(this).children('input[type="radio"]').attr('checked','checked');$('.formulaire_informations_espece_mini').removeClass('element_clique');$(this).addClass('element_clique');$('#form_saisie_espece').submit();});}$('#form_saisie_espece').ready(function() {agrandirZoneCLicBoutonsRadios();});/**************************************************************************************************************************************************************************************************Fonctions permettant de transformer les cases du tableau d'évenements en mini formulaire**************************************************************************************************************************************************************************************************/htmlEnCours = '';elementEnCours = null;function initialiserLignesCliquables() {$('.conteneur_element_modifier').hide();$(".date_observation_individu").each(function() {$(this).bind('click', function() {if($(this).hasClass('element_clique')) {return false;} else {conteneur_obs = $(this).children('span');id_formulaire = conteneur_obs.attr('id');remplacerElementDateParFormulaireAjax(id_formulaire, $(this));return false;}});});}function initialiserCalendrierFormulaire() {anneeEnCours = $("#annee_en_cours").attr("value");if(typeof(anneeEnCours)=='undefined'){dateCourante = new Date();anneeEnCours = dateCourante.getFullYear();}$(".calendrier").each(function() {$(this).find("input").datepicker({disabled: true,altFormat: 'dd/mm/yyyy',minDate: '01/01/'+anneeEnCours,maxDate: '31/12/'+anneeEnCours});});}$(document).ready(function() {initialiserCalendrierFormulaire();});function estUneDateValide(peutEtreUneDate) {var reg= new RegExp("^[0-3][0-9][/]{1}[0-1][0-2][/]{1}[0-9]{4}$","g");return reg.test(peutEtreUneDate);}/** Fonctions de manipulation des éléments du tableau pour les transformer en élements cliquables et calendriers **/function initialiserMiniCalendrierFormulaire(id_element) {anneeEnCours = jQuery.trim($("#annee_en_cours").html());if(typeof(anneeEnCours)=='undefined'){dateCourante = new Date();anneeEnCours = dateCourante.getFullYear();}$('#'+id_element).datepicker({disabled: true,constrainInput: true,altFormat: 'dd/mm/yyyy',minDate: '01/01/'+anneeEnCours,maxDate: '31/12/'+anneeEnCours,onSelect: function(dateText, inst) {$('#'+id_element).val(dateText);donnees_obs = collecterDonneesMiniFormulaire(id_formulaire);envoyerRequeteAjaxValidationMiniFormulaire(donnees_obs, id_formulaire);},onClose: function(dateText, inst) {remplacerMiniFormulaireParElementDate(id_element);}});$('#'+id_element).datepicker( "show" );/*$('#'+id_element).keypress(function() {if(estUneDateValide($('#'+id_element).val())) {$('#'+id_element).removeClass('erreur_valeur');} else {$('#'+id_element).addClass('erreur_valeur');}});*/}function remplacerElementDateParFormulaireAjax(id_element, conteneur_selectionne) {if(elementEnCours != null) {elementEnCours.removeClass('element_clique');elementEnCours.html(htmlEnCours);}elementEnCours = conteneur_selectionne;htmlEnCours = conteneur_selectionne.html();conteneur_obs = $('#'+id_element);valeur_date = conteneur_obs.html();valeur_date = valeur_date.replace('-','');conteneur_selectionne.addClass('element_clique');conteneur_selectionne.html('<span class="calendrier"><input type="text" value="'+jQuery.trim(valeur_date)+'" class="calendrier" id="'+id_formulaire+'" size="7" maxlenght="10" /></div>');initialiserMiniCalendrierFormulaire(id_formulaire);}function remplacerMiniFormulaireParElementDate(id_element) {valeur_date_pour_stade = $('#'+id_element).val();/*if(!estUneDateValide(valeur_date_pour_stade)) {valeur_date_pour_stade = htmlEnCours;}*/elementEnCours.html('<span id="'+id_element+'">'+valeur_date_pour_stade+' </span>');elementEnCours.removeClass('element_clique');elementEnCours = null;elementEnCours = null;}/** Fonctions d'envoi et de récupération des élements du formulaire ajax **/function envoyerRequeteAjaxValidationMiniFormulaire(donnees_obs, id_formulaire) {url_page_courante = document.URL.replace('module=Individu&action=afficherListeIndividu','module=Observation&action=validerFormulaireModificationObservationAjax');$.post(url_page_courante, donnees_obs, function(obj_retour) {if(obj_retour.reponse === 'OK') {remplacerMiniFormulaireParElementDate(id_formulaire);}});}function collecterDonneesMiniFormulaire(id_formulaire) {valeur_date_pour_stade = $('#'+id_formulaire).val();if(valeur_date_pour_stade == null || jQuery.trim(valeur_date_pour_stade) == '') {return false ;}id_individu_stade_obs = id_formulaire.split('_');stade_obs = 'observation_'+id_individu_stade_obs[3];date_annee_en_cours = jQuery.trim($("#annee_en_cours").html());donnees_obs = { "id_individu": id_individu_stade_obs[1],"annee_en_cours": date_annee_en_cours};identifiant_observation = 'observation_'+id_individu_stade_obs[3];donnees_obs[identifiant_observation] = valeur_date_pour_stade;return donnees_obs;}$('#saisie_liste_evenements').ready(function() {initialiserLignesCliquables();});/**************************************************************************************************************************************************************************************************Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des stations**************************************************************************************************************************************************************************************************/var map;var marker;function ajouterListenerFormulaireSaisieLatLon() {$('#cacher_afficher_lien').bind('click', function() {$('#conteneur_form_liens_lat_lon').slideToggle();return false;});$('input#station_lat').bind('blur', function() {verifierEtLocaliserCoordonnees();});$('input#station_lon').bind('blur', function() {verifierEtLocaliserCoordonnees();});$('input#localiser_lat_lon').click(function() {verifierEtLocaliserCoordonnees();});$('#conteneur_form_liens_lat_lon').hide();}function carteEstEnSaisie() {return ($('#conteneur_form_liens_lat_lon').length > 0);}function verifierEtLocaliserCoordonnees() {lat ;lon;if(carteEstEnSaisie()) {lat = $('#station_lat').val();lon = $('#station_lon').val();} else {var lat = jQuery.trim($('#station_lat').html());var lon = jQuery.trim($('#station_lon').html());}if(jQuery.trim(lat) == '' || jQuery.trim(lon) == '') {return;}if(!isNaN(lat) && lat.length > 0 && !isNaN(lon) && lon.length > 0) {} else {window.alert("coordonnées invalides");}var positionMarker = new google.maps.LatLng(lat, lon);marker.setPosition(positionMarker);map.setCenter(positionMarker);}function mettreAJourValeursFormulaire(latlon) {latlon = latlon.toString().split(',');$('#station_lat').val(latlon[0].replace('(', ''));$('#station_lon').val(latlon[1].replace(')', ''));}function initialiserCarte() {if($('#map_canvas').length == 0) {return;}var latlng = new google.maps.LatLng(47.0504, 2.2347);var myOptions = {zoom: 6,center: latlng,mapTypeId: google.maps.MapTypeId.HYBRID};map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);marker = new google.maps.Marker({position: latlng,title:""});if (carteEstEnSaisie()) {marker.setDraggable(true);google.maps.event.addListener(marker, 'dragend', function() {mettreAJourValeursFormulaire(marker.getPosition());});$('#conteneur_form_liens_lat_lon').ready(function() {verifierEtLocaliserCoordonnees();ajouterListenerFormulaireSaisieLatLon();});} else {marker.setDraggable(false);$('#conteneur_liens_lat_lon').ready(function() {verifierEtLocaliserCoordonnees();});}marker.setClickable(true);// To add the marker to the map, call setMap();marker.setMap(map);}$('#map_canvas').ready(function() {initialiserCarte();});