function calDate(a,m,d)
{
var annee, mois, jour, jourMois, dateJour, nb_annee;
var tabMois = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (a%4==0 && a%400!=0)
	tabMois[1] = 29;
jour = eval(d)+4;
jourMois = tabMois[(eval(m)-1)];
if (jour > jourMois)
{
	jour = jour - jourMois;
	mois = eval(m) + 1;
	if (mois > 12)
	{
		mois = mois - 12;
		annee = eval(a) + 1;
	}else
	{
		annee = eval(a);
	}		
}else
{
	mois = eval(m);
	annee = eval(a);
}
dateJour = jour+"/"+mois+"/"+annee;
return dateJour;
}
function calDate2(a,m,d,n,per)
{
var annee, mois, jour, jourMois, dateJour, nb_annee;
var tabMois = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
/*if (a%4==0 && a%400!=0)
	tabMois[1] = 29;*/
switch(per)
{
	case("y"):
		annee = eval(a) + n;
		if (annee%4==0 && annee%400!=0)tabMois[1] = 29;
		mois = eval(m);
		alert(tabMois[1]);
		if ((mois == 2) && (eval(d) > tabMois[1]))
		{
			jour = eval(d) - tabMois[1];
			mois = 3;
		}else
		{
			jour = eval(d);
		}
	break;
	case("m"):
		nb_annee = parseInt(eval(n)/12);
		alert(nb_annee);
		if (nb_annee == 0)
		{
			mois = eval(m) + n;
			if (annee%4==0 && annee%400!=0)tabMois[1] = 29;
			if ((mois == 2) && (eval(d) > tabMois[1]))
			{
				jour = eval(d) - tabMois[1];
				mois = 3;
				annee = eval(a);
			}else
			{
				jour = eval(d);
				annee = eval(a);
			}			
		}else
		{
			
		}
		if (mois > 12)
		{
			mois = mois - 12;
			annee = eval(a) + 1;
			jour = eval(d);
		}else if ((mois == 2) && (eval(d) > tabMois[1]))
		{
			jour = eval(d) - tabMois[1];
			mois = 3;
			annee = eval(a);
		}else
		{
			jour = eval(d);
			annee = eval(a);
		}
	break;
	case("j"):
		jour = eval(d)+n;
		jourMois = tabMois[(eval(m)-1)];
		if (jour > jourMois)
		{
			jour = jour - jourMois;
			mois = eval(m) + 1;
			if (mois > 12)
			{
				mois = mois - 12;
				annee = eval(a) + 1;
			}else
			{
				annee = eval(a);
			}		
		}else
		{
			mois = eval(m);
			annee = eval(a);
		}
	break;
}
dateJour = jour+"/"+mois+"/"+annee;
return dateJour;
}

function IsEMail(emailStr)
{var validDomain=false;
var AtPos = emailStr.lastIndexOf("@");
var DotPos= emailStr.lastIndexOf(".");
if((AtPos>0)&&(DotPos>0)&&(AtPos<DotPos))
{var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
var domainExt=domainExtList.split(".");
var emailExt=emailStr.substr(DotPos+1);
emailExt=emailExt.toLowerCase();
for(i=0;domainExt.length;i++)
{if (domainExt[i]=='EoF') break; //infinite loop else
if (emailExt==domainExt[i]) {validDomain=true;break;}
}
}
return(validDomain);
}

function isTel(tel)
{
var validTel = true;
if (isNaN(tel.substring(0,2)) || isNaN(tel.substring(3,5)) || isNaN(tel.substring(6,8)) || isNaN(tel.substring(9,11)) || isNaN(tel.substring(12,14)) || (tel.substring(2,3) != ".") || (tel.substring(5,6) != ".") || (tel.substring(8,9) != ".") || (tel.substring(11,12) != "."))
{
validTel = false;
}
return(validTel);
}

function isCouleur(couleur)
{
var validCouleur = true
if ((couleur.substring(0,1) != "#") || (couleur.length != 7))
{
	validCouleur = false;
}
return(validCouleur)
}
function CheckDate(d) {
      // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
      // Le séparateur est défini dans la variable separateur
      var amin=1980; // année mini
      var amax=3000; // année maxi
      var separateur="/"; // separateur entre jour/mois/annee
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=1;
      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         ok=0;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         ok=0;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         ok=0;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         ok=0;
      }
      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            ok=0;
         }
      }
      return ok;
   }

