var tab_jours = new Array("Lun", "Mar", "Mier", "Jue", "Vier", "Sab", "Dom");
var tab_mois = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
var tab_long_mois = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
function annee_avant(){
if (annee_courant <= 0){
annee_courant = 0;
}
else{
annee_courant -= 1;
}
afficher_mois(mois_courant,annee_courant);
}
function annee_apres(){
if (annee_courant >= 2100){
annee_courant = 2100;
}
else{
annee_courant += 1;
}
afficher_mois(mois_courant,annee_courant);
}
function mois_avant(){
if (mois_courant==0){
mois_courant = 11;
annee_courant -= 1;
}
else{
mois_courant -= 1;
}
afficher_mois(mois_courant,annee_courant);
}
function mois_apres(){
if (mois_courant==11){
mois_courant = 0;
annee_courant += 1;
}
else{
mois_courant += 1;
}
afficher_mois(mois_courant,annee_courant);
}
function afficher_mois(mois,annee){
str_calend = '
' + "\n";
str_calend += ' ' + "\n";
str_calend += ' « | ' + "\n";
str_calend += ' '+ tab_mois[mois] +' | ' + "\n";
str_calend += ' » | ' + "\n";
str_calend += ' « | ' + "\n";
str_calend += ' '+ annee +' | ' + "\n";
str_calend += ' » | ' + "\n";
str_calend += '
' + "\n";
str_calend += '
' + "\n";
str_calend += '' + "\n";
// Noms des jours
str_calend += ' ' + "\n";
for (cpt=0; cpt<=6; cpt++) {
str_calend += ' '+ tab_jours[cpt] +' | ' + "\n";
}
str_calend += '
' + "\n";
cpt_td_jour = 0;
le_1er = new Date(annee,mois,1); //-- la var le_1er correspond au 1/mois/annee --
str_calend += ' ' + "\n";
// On affiche ici des cellules vides de sorte que le premier jour que l'on affiche
// (le 1er) soit dans la case correspondant au bon jour de la semaine
// la fonction getDay() retourne un entier de 0 à 6, 0 étant le dimanche, ce qui ne correspond pas au tableau que nous avons
// choisi pour stocker le nom des jours que l'on fait commencer au lundi (0) pour coller à l'affichage. On utilise donc la correspondance
// (getDay()+6) % 7 pour passer sur notre représentation.
while (cpt_td_jour < (le_1er.getDay()+6) % 7 ){
str_calend += ' | ' + "\n";
cpt_td_jour ++;
}
// On affiche alors tous les jours du mois. La case de départ est fixée par la boucle while précédente.
for (cpt=1; cpt <= nb_jours_dans_mois(mois,annee); cpt++){
cpt_td_jour ++;
// si debut de ligne on affiche un tr sauf cas ou le 1er est un lundi car le début de le premiere ligne est déjà écrit
if (cpt_td_jour % 7 == 1){
str_calend += '
' + "\n";
}
str_calend += ' '+ cpt +' | ' + "\n";
if (cpt_td_jour % 7 == 0){
str_calend += '
' + "\n";
}
} // fin boucle affichage des jours
// on complète la table avec des cellules vide
if (cpt_td_jour % 7 != 0) {
while (cpt_td_jour % 7 != 0) {
cpt_td_jour ++;
str_calend += ' | ' + "\n";
}
if (cpt_td_jour % 7 == 0) {
str_calend += ' ' + "\n";
}
}
str_calend += ' ' + "\n";
str_calend += '
' + "\n";
document.getElementById('calend').innerHTML = str_calend;
}
function voir(){
mois = document.getElementById('mois').value;
annee = document.getElementById('annee').value;
afficher_mois(mois,annee);
}
function nb_jours_dans_mois(mois,annee){
// cette fonction retourne le nombre de jours du mois pour un mois et une annee donnée
if (mois != 1){
return tab_long_mois[mois];
}
else{
if (is_bissextile(annee)){
return 29;
}
else{
return 28;
}
}
}
function is_bissextile(annee){
if ((annee % 100 != 0 && annee % 4 == 0) || (annee % 400 == 0)){
return 1;
}
else {
return 0;
}
} /** fin fonction is_bissextile **/
function ouvrir_calend(id){ // id = l'id du champ à modifier
id_champ = id;
oChampDate = document.getElementById(id_champ);
var regex = /[0-9]{2}\/([0-9]{2})\/([0-9]{4})$/;
regex.exec(oChampDate.value);
if (1 <= RegExp.$1 && RegExp.$1 <= 12 && 0 <= RegExp.$2 && RegExp.$2 <= 2100) {
mois_courant = Number(RegExp.$1) - 1;
annee_courant = Number(RegExp.$2);
}
afficher_mois(mois_courant, annee_courant);
document.getElementById('div_calend').style.display = "block"; /** div_calend = nom du div contenant tout le calendrier **/
calend_hideSelectBoxes();
}
function fermer_calend(){
document.getElementById('div_calend').style.display = "none"; /** div_calend = nom du div contenant tout le calendrier **/
calend_showSelectBoxes();
}
function maj_champ(jour,mois,annee){
mois = mois+1;
if(jour<10){
jour = "0"+jour;
}
if(mois<10){
mois = "0"+mois;
}
oChampDate.value = jour + "/" + mois + "/" + annee;
fermer_calend();
}
function calend_showSelectBoxes(){
selects = document.getElementsByTagName("select");
for (i = 0; i != selects.length; i++) {
selects[i].style.visibility = "visible";
}
}
// ---------------------------------------------------
function calend_hideSelectBoxes(){
selects = document.getElementsByTagName("select");
for (i = 0; i != selects.length; i++) {
selects[i].style.visibility = "hidden";
}
}
var date_now = new Date();
var jour_courant = date_now.getDate();
var mois_courant = date_now.getMonth();
var annee_courant = date_now.getFullYear();
var id_champ = ''; // Cette variable global sert a stocker l'id du champ a mettre a jour.
var oChampDate = ''; // Cette variable global sert a stocker l'id du champ a mettre a jour.
//afficher_mois(mois_courant,annee_courant);