// Permet de checker un formulaire

	// check date
	function IsDate(JJ, MM, AAAA)
	{if(JJ<1||JJ>31||MM<1||MM>12) return false;
	if(MM==2)
	{if(JJ==30||JJ==31) return false;
	  if(JJ==29) return ((AAAA%4==0&&AAAA%100!=0)||AAAA%400==0);
	}
	else if(JJ==31) return !(MM==4||MM==6||MM==9||MM==11);
	return true;
	}
	
	// check email
	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;
	}

	
	// check entier
	function IsNumberString(NumStr)
	{var regEx=/^[0-9]+$/;
	var ret=false;
	if (regEx.test(NumStr)) ret=true;
	return ret;
	}

	// check float
	function IsFloat(NumStr)
	{
	var regEx=/^((\d+(\.\d*)?)|((\d*\.)?\d+))$/
	var ret=false;
	NumStr = NumStr.replace( ',' , '.' );

	if (regEx.test(NumStr)) ret=true;
	return ret;



	}
	
	// check alphanumérique
	function IsAlphaNumString(NumStr)
	{var regEx=/^[A-Za-z0-9]+$/;
	var ret=false;
	if (regEx.test(NumStr)) ret=true;
	return ret;
	}
	
	// check alphaString
	function IsAlphaString(NumStr)
	{var regEx=/^[A-Za-z]+$/;
	var ret=false;
	if (regEx.test(NumStr)) ret=true;
	return ret;
	}

	// check bouton radio
   function radioChecked(radio) {
     for (var i=0; i<radio.length;i++) 
         if (radio[i].checked) 
            return true;
     return false;         
   }

	// Fonction principale permettant de checker/vérifier les formulaires
	function checkForm(formName){
	vMSG_Form="";

	switch (formName)
	{
	  case 'updateCategorie': 
 	  case 'addCategorie':

		if(formName=='updateCategorie')	var nomCategorie = document.updateCategorie.nomCategorie.value;
		else var nomCategorie = document.addCategorie.nomCategorie.value;

		if(nomCategorie.length<1)  vMSG_Form=vMSG_Form+"- Nom de catégorie\n";
		
		break;
		
      case 'updateSousCategorie':
	  case 'addSousCategorie':

		if(formName=='updateSousCategorie')	var nomSousCategorie = document.updateSousCategorie.nomSousCategorie.value;
		else var nomSousCategorie = document.addSousCategorie.nomSousCategorie.value;

		if(nomSousCategorie.length<1) vMSG_Form=vMSG_Form+"- Nom de la sous-catégorie\n";		

		break;

	case 'updateProduit':

		var designation = document.updateProduit.designation.value;
/*		
		La description est permise d'être vide 
		var description = document..updateProduit.description.value;
*/
		var quantite = document.updateProduit.quantite.value;
		var prix = document.updateProduit.prix.value;

		//if(codeProduit.length<1)  vMSG_Form=vMSG_Form+"- Code produit\n";
		if(designation.length<1)  vMSG_Form=vMSG_Form+"- Designation\n";
		if(quantite.length<1)  vMSG_Form=vMSG_Form+"- Quantité en stock\n";
		else if(!IsNumberString(quantite)){
			vMSG_Form=vMSG_Form+"- Quantité en stock invalide !\n";
			document.updateProduit.quantite.value='';
		}
	
	
		if(prix.length<1)  vMSG_Form=vMSG_Form+"- Prix\n";
		else if(!IsFloat(prix)){
		  	vMSG_Form=vMSG_Form+"- Prix invalide !\n";
			document.updateProduit.prix.value='';
		}


		if(vMSG_Form!="")
		{	alert("Votre demande n'a pas été envoyée car les champs suivants sont incomplets:\t\n\n"+vMSG_Form+"\n\nVeuillez donc ajouter les données manquantes et réessayer.");
			return false;
		}
		break;
	
	case 'addProduit':
		var idCategorie = document.addProduit.idc.value;
		var idSousCategorie = document.addProduit.idsc.value;
		var codeProduit = document.addProduit.idProduit.value;
		var idMarque = document.addProduit.idm.value;
		var Marque = document.addProduit.nomMarque.value;
		var designation = document.addProduit.designation.value;
		var quantite = document.addProduit.quantite.value;
		var prix = document.addProduit.prix.value;
		var photo = document.addProduit.file.value;

		if(idCategorie.length<1 || idCategorie==0)  vMSG_Form=vMSG_Form+"- Catégorie\n";
		if(idSousCategorie.length<1 || idSousCategorie==0)  vMSG_Form=vMSG_Form+"- Sous catégorie\n";
		if(codeProduit.length<1)  vMSG_Form=vMSG_Form+"- Code produit\n";
		if(idMarque == 0 && Marque.length<1)  vMSG_Form=vMSG_Form+"- Marque\n";

		if(designation.length<1)  vMSG_Form=vMSG_Form+"- Designation\n";
		if(quantite.length<1)  vMSG_Form=vMSG_Form+"- Quantité en stock\n";
		else if(!IsNumberString(quantite)){
			vMSG_Form=vMSG_Form+"- Quantité en stock invalide !\n";
			document.updateProduit.quantite.value='';
		}		
		if(prix.length<1)  vMSG_Form=vMSG_Form+"- Prix\n";
		else if(!IsFloat(prix)){
		  	vMSG_Form=vMSG_Form+"- Prix invalide !\n";
			document.updateProduit.prix.value='';
		}
		if(photo.length<1)  vMSG_Form=vMSG_Form+"- Photo\n";
		break;
	case 'addUser':

		var email = document.addUser.email.value;

		if(email.length<1) vMSG_Form=vMSG_Form+"- Email \n";		
		else if(!isEmail(email)) vMSG_Form=vMSG_Form+"- Email invalide ! \n";		
		break;
	case 'updateNewUser':
	case 'updateUser':
		var nom = document.updateNewUser.nom.value;
		var prenom = document.updateNewUser.prenom.value;
		var email = document.updateNewUser.email.value;
		var pass = document.updateNewUser.pass.value; 

		if(nom.length<1 || idCategorie==0)  vMSG_Form=vMSG_Form+"- Nom\n";
		if(prenom.length<1 || idCategorie==0)  vMSG_Form=vMSG_Form+"- Prénom\n";

		if(email.length<1) vMSG_Form=vMSG_Form+"- Email \n";		
		else if(!isEmail(email)) vMSG_Form=vMSG_Form+"- Email invalide ! \n";
		
		if(pass.length<1 || idCategorie==0)  vMSG_Form=vMSG_Form+"- Mot de passe\n";
		break;
	case 'updateExistingUser' :
		var nom = document.updateExistingUser.nom.value;
		var prenom = document.updateExistingUser.prenom.value;
		var email = document.updateExistingUser.email.value;
		

		if(nom.length<1 || idCategorie==0)  vMSG_Form=vMSG_Form+"- Nom\n";
		if(prenom.length<1 || idCategorie==0)  vMSG_Form=vMSG_Form+"- Prénom\n";

		if(email.length<1) vMSG_Form=vMSG_Form+"- Email \n";		
		else if(!isEmail(email)) vMSG_Form=vMSG_Form+"- Email invalide ! \n";
	
		break;
	case 'addAdmin' :
		var email = document.addAdmin.adminEmail.value;


		if(email.length<1) vMSG_Form=vMSG_Form+"- Email \n";		
		else if(!isEmail(email)) vMSG_Form=vMSG_Form+"- Email invalide ! \n";
	
		break;
	case 'formLogin' :
		var email = document.formLogin.login.value;
		var pass = document.formLogin.pass.value;


		if(email.length<1) vMSG_Form=vMSG_Form+"- Login \n";		
		else if(!isEmail(email)) vMSG_Form=vMSG_Form+"- Login invalide ! \n";

		if(pass.length<1) vMSG_Form=vMSG_Form+"- Mot de passe \n";		
	
		break;
	case 'renewPass' :
		var email = document.renewPass.email.value;


		if(email.length<1) vMSG_Form=vMSG_Form+"- Email \n";		
		else if(!isEmail(email)) vMSG_Form=vMSG_Form+"- Email invalide ! \n";
	
		break;
	case 'addAnnonce':
	case 'updateAnnonce' :
		var titre = document.getElementById("titre").value;
		var reference = document.getElementById("reference").value;

		if(reference.length==0)  vMSG_Form=vMSG_Form+"- Référence\n";
		if(titre.length==0)  vMSG_Form=vMSG_Form+"- Titre\n";
		
		break;
	default:
    	//Instruction par défaut
	   break;
	} 



	// Message final si erreur
	if(vMSG_Form!="") {	
		alert("Votre demande n'a pas été envoyée car les champs suivants sont incomplets:\t\n\n"+vMSG_Form+"\n\nVeuillez donc ajouter les données manquantes et réessayer.");
		return false;
	}
	else return true;	
}

