// JavaScript Document
function supprimer() {

	var a= false; 
	a = confirm('Voulez vous vraiment effectuer la  suppression  ?'); 
	if (a) 
		return true;
	else
		return false; 
}

function ouvrePopup(theURL, w, h) 
{
  params = 'menubar=yes,width='+w+',height='+h+',scrollbars=yes';
  window.open(theURL, '', params);
}

function isValidMail(mail)
{
	if (mail.length == 0)
		return true;
	else if (mail.length < 8)
		return false;
	if ( (mail.indexOf("@")>=0) && (mail.indexOf(".")>=0) ) 
		return true;
	else 
		return false;
}

function isValidDate(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=1900; // année mini
  var amax=2020; // 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 ( d=="" )	// si aucune valeur n'a été saisie
  	return false;
  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.getFullYear();
	 if (a2<=100) {a2=1900+a2}
	 if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
		ok=0;
	 }
  }
  if (ok==1)
  	return true;
  return false;
}


// Retourne true si le texte en param est un texte PUR...sans chiffres
function isTexte(leTexte)
{
	n = leTexte.length;
	if (n==0)
		return true;
	for (i=0; i<n; i++)
	{
		if ( leTexte.charAt(i)=='\r' || leTexte.charAt(i)=='\n') //Retour chariot
			continue; 
		if ( leTexte.charAt(i)!=' ' &&
		     !isNaN(leTexte.charAt(i)) )
			return false; 
	}
	return true;
}

function afficherChampSi(leChamp, laTarget, laValeur)
{
	if (document.getElementById(leChamp).value != laValeur)
		document.getElementById(laTarget).style.visibility = "hidden";
	else
		document.getElementById(laTarget).style.visibility = "visible";
}

function isNumeric(sText)
//vérifie si la chaine envoyée est de type numérique
{
	if (sText.length == 0)
		return true;
		
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;


   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;  
}



/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 6;

function isInteger(s)
{   
	if (s.length == 0)
		return true;

	var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function isPhoneNumber(strPhone)
{
	if (strPhone.length == 0)
		return true;

	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function isURL(laURL)
{
	if (laURL.length == 0)
		return true;

	var chaine = laURL;
	chaine = chaine.toLowerCase();
	var pos = chaine.indexOf('http://', 0);
	if (chaine.length>0 && pos < 0)
			return false;
	return true;
}

function IsEMail(emailStr)
{
	var validDomain=false;
	var AtPos = emailStr.lastIndexOf("@");
	var DotPos= emailStr.lastIndexOf(".");
	if (emailStr.length == 0)
	{
		validDomain=true;
	}
	else 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 getExtension(filename) 
{ 
 var dot = filename.lastIndexOf("."); 
 if( dot == -1 ) return false; 
 var extension = filename.substr(dot+1,filename.length); 
 return extension; 
}
//FONCTION BUGE : pour verifier tester avec 02/12/2008 et 31/12/2007
function calculduree(d1, d2)
{
	if(d1.length == 0 || d2.length == 0)
		return -1;
	/*
	var jourdebut=(d1.substring(0,2));
	var moisdebut=(d1.substring(3,5));
	var anneedebut=(d1.substring(6));
	var jourfin=(d2.substring(0,2));
	var moisfin=(d2.substring(3,5));
	var anneefin=(d2.substring(6));
	*/
	jourdebut=parseInt(d1.substring(0,2),10);
	moisdebut=parseInt(d1.substring(3,5),10);
	anneedebut=parseInt(d1.substring(6,10),10);
	jourfin=parseInt(d2.substring(0,2),10);
	moisfin=parseInt(d2.substring(3,5),10);
	anneefin=parseInt(d2.substring(6,10),10);

	function calcul_longueur_mois(annee)
	{
		//préconditions : annee est en entier
		//postconditions : retourne un tableau de 12 éléments d'entier qui indique le nombre de jours dans chaque mois

		var longueurmois=[31,28,31,30,31,30,31,31,30,30,30,31];
		if((!(annee % 4) && (annee % 100)) || !(annee % 400)) //vérifie si l'année traitée est bissextile
		{
			longueurmois=[31,28,31,30,31,30,31,31,30,30,30,31];		
		}
		return longueurmois;
		
	}
		
	var duree=0;
	for(i=anneedebut;i<anneefin;i++)
	{
		if((!(i % 4) && (i % 100)) || !(i % 400)) //vérifie si l'année traitée est bissextile
		{
			duree+=366;
		}
		else
		{
			duree+=365;
		}
	}
	var longueurmois=calcul_longueur_mois(anneedebut);
	for(i=0;i<moisdebut;i++)
	{
		if(i==moisdebut-1){duree-=jourdebut}
		else{duree-=longueurmois[i]}
	}
	
	var longueurmois=calcul_longueur_mois(anneefin);
	for(i=0;i<moisfin;i++)
	{
		if(i==moisfin-1){duree+=jourfin}
		else{duree+=longueurmois[i]}
	}
	return duree;
}
//calcule la diff entre 2 date en nbre de jours
// nb >= 0 dateFin >= dateDeb
function dateDiff(dateFin,dateDeb)
{
	var debut = temps(dateDeb.split("/"));
	var fin = temps(dateFin.split("/"));
	var nb = (fin - debut) / (1000 * 60 * 60 * 24); // + " jours";
	return nb;
	function temps(date)
	{
		var d = new Date(date[2], date[1] - 1, date[0]);
		return d.getTime();
	}

} 
function isImage(leChamp)
{
	if (leChamp.value.length == 0)
		return true
	var ext = new Array(".png",".gif",".jpg",".jpeg",".bmp");
	var ret = false;
	for(i=0;i<ext.length;i++)
	{
		if(leChamp.value.lastIndexOf(ext[i]) != -1 || leChamp.value.lastIndexOf(ext[i].toUpperCase()) != -1)
		{	
			ret = true;
			break;
		}
	}
	return  ret;
}
//count le nbre se champ select ayant le meme nom
function countSelect(formulaire,nom)
{
	k=0;
	for(i=0;i<formulaire.length ;i++)	
	{
		if(formulaire[i].name == nom)
		{	
			if(parseInt(formulaire[i].value )!= -1)
				k++;	
		}
	}
	return k

}
function chkAll(conteneur,numPremElem) 
{
	var blnEtat=null;
	var premierElement = document.getElementById(conteneur+numPremElem);
	if(premierElement != null)
	{
		var etatInit = document.getElementById(conteneur+numPremElem).checked;
		for(i=numPremElem;i>=0;i++)
		{
			if(document.getElementById(conteneur+i) == null)
			{
				return;
			}
			document.getElementById(conteneur+i).checked = !etatInit;
			
		}
	}
}
//accepte seulement a-z A-Z -_
function texteLogin(texte)
{
	if(texte.length == 0)
		return true;
	return /^[0-9a-zA-Z_-]+$/.test(texte);
}



