Probleme calendar.js en firefox

Fermé
hamdouss Messages postés 1 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009 - 21 avril 2009 à 12:36
Bonjour,

j'ai integré un fichier calendar.js il marche tres bien sur IE et sur firefox non !!!
est-ce que quelqu'un peut m'aider a trouvé un solution ?
voici le script du calendar:

function MyGetDate(champs) {
IE = !(document.all?0:1);
NS = !IE;
dest = champs;
if (IE) {
// Taille du calendrier
larg = 250;
Long = 188;
posX = event.screenX; posY = event.screenY;
if (posX+larg > screen.width) posX = screen.width - larg;
if (posY+Long > screen.height) posY = screen.height - Long;
eval("maFen = window.open('','','top='+posY+',left='+posX+',width="+larg+",height="+Long+"');");
maFen.focus();
dessine();
}
}

function dessine() {
txt = '\n\n\n<!--\n\nAuteur : DarkSide <sergebertet@voila.fr> - http://www.merrouge.com/serge.htm \n\n';
txt += 'Ce script est disponible à l\'adresse : http://www.merrouge.com/calendar.zip \n\n-->\n\n\n';
txt += '<html><head><title>Choisissez une date.</title>\n';
txt += '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\n';
txt += '<script>\n';
txt += 'var now = new Date();\nIE = !(document.all?0:1);\nNS = !IE;\n';
txt += 'months = new Array(\'Janvier\',\'Février\',\'Mars\',\'Avril\',\'Mai\',\'Juin\',\'Juillet\',\'Août\',\'Septembre\',\'Octobre\',\'Novembre\',\'Décembre\');\n';
txt += 'mois = now.getMonth();\nan = now.getFullYear();\njour = now.getDate();\nvide = "...";\n \n';

// Affectation des dates aux bouttons
txt += 'function init() {\n';
txt += 'document.calendar.curMonth.value = months[mois] + " " + an;\n';
txt += 'document.calendar.curMonth.readOnly = true;\n';
txt += 'now.setMonth(mois);\n';
txt += 'now.setYear(an);\n';
txt += 'now.setDate(1);\n';
txt += 'for (i=0;i<now.getDay();i++) { eval("document.calendar.b"+0+i+".value = \' " + vide + " \' ;"); }\n';
txt += 'for (i=now.getDay();i<7;i++) {\n';
txt += ' jour = "0"+now.getDate();\n';
txt += ' eval("document.calendar.b"+0+i+".value = \' "+jour+" \';");\n';
txt += ' now.setDate(now.getDate()+1);\n';
txt += ' }\n';
txt += 'for (j=1;j<6;j++) {\n';
txt += ' for (i=0;i<7;i++) {\n';
txt += ' if (jour==vide || now.getDate() < jour) { jour = vide; } else { jour = now.getDate(); }\n';
txt += ' if (jour < 10) { jour = "0"+jour; }\n';
txt += ' eval("document.calendar.b"+j+i+".value = \' "+jour+" \' ;");\n';
txt += ' now.setDate(now.getDate()+1);\n';
txt += ' }\n';
txt += ' }\n';
txt += '}\n\n';

// Mois suivant
txt += 'function next() {\n';
txt += 'if (mois == 11) { mois = 0; an = an + 1; } else { mois += 1; }\n';
txt += 'init();\n';
txt += '}\n\n';

// Mois précédent
txt += 'function prev() {\n';
txt += 'if (mois == 0) { mois = 11; an -= 1; } else { mois -= 1; }\n';
txt += 'init();\n';
txt += '}\n\n';

//
txt += 'function lz(valeur) { if (valeur < 10) return("0"+valeur); else return(valeur); }\n\n';

// retour et fermeture du calendrier
txt += 'function done(but) {\n';
txt += 'txt = but.value.substr(1,2);\n';
txt += 'if (txt == vide.substr(1,2)) return;\n';

/*
Si on veut l'année sur 2 digits, ajouter ligne suivante :
txt += 'an = an+""; an = an.substr(2,2);'; // Y2K compliant :o) comme ils disent là-bas.
*/

txt += 'txt = txt+"/"+lz(mois+1)+"/"+an;\n';
txt += 'opener.document.' + dest.form.name + '.' + dest.name + '.value = txt;\n';
txt += 'window.close();\n';
txt += '}\n';

txt += '</script>\n</head>\n<style>\n';
txt += 'td { color: silver; font-weight: bold; text-align: center; }\n';

// Couleur des boutons
txt += 'input { cursor: hand; font-weight: bold; text-align: center; color: black; background-color: white; }\n';

// Texte
txt += 'td { font-size: 14px; }\n';

// Couleurs de fond de table et de document
txt += 'body { background: white; }\n';
txt += 'table { background: white; }\n</style>\n';
txt += '<body leftmargin="0" topmargin="0"; onLoad="init();">\n';
txt += '<form name="calendar">\n';
txt += '<table border="0" cellspacing="0" cellpadding="0" bgcolor="#00CCFF" align=center>\n';
txt += '<tr><td>Dim</td><td>Lun</td><td>Mar</td><td>Mer</td><td>Jeu</td><td>Ven</td><td>Sam</td></tr>\n';

// Création des bouttons
for (i=0;i<6;i++) {
txt += '<tr>\n';
for (j=0;j<7;j++) {
txt += '<td><input type="button" name="b'+i+j+'" onclick="done(this)"></td>\n';
}
txt += '</tr>\n';
}
txt += '<tr><td>\n';
txt += '<input type="button" name="bk" value="<< " onclick="prev()"></td><td colspan=5>\n';
txt += '<input type="text" name="curMonth" size="20">\n';
txt += '</td><td><input type="button" name="bk" value=" >>" onclick="next()">\n';
txt += '</td></tr></table></form></body>\n';

// Création de la page
txt += '<script>\n';
txt += 'init();\n';
txt += '</script></html>\n';
maFen.document.write(txt);
}
/*================================================================================================================*/
function datediff1() {
d1 = document.NomDuFormulaire.CP1.value;
d2 = document.NomDuFormulaire.CP2.value;
d1j = d1.substring(0,2);
d1m = d1.substring(3,5);
d1a = d1.substring(6,10);
d2j = d1.substring(0,2);
d2m = d1.substring(3,5);
d2a = d1.substring(6,10);
d1 = new Date(d1m,d1j,d1a);
d2 = new Date(d2m,d2j,d2a);
alert(d1);
alert(d2);
d1 = Date.parse(d1);
d2 = Date.parse(d2);
datedf = (d2-d1)/86400000;
alert(datedf);
A voir également: