//========================
function isInteger(sDate)
//========================
{
 var new_msg = "true";
 var barre=0;
 var inputStr = sDate.toString();
 
 for (var i = 0; i < inputStr.length; i++)
 {
  var oneChar = inputStr.charAt(i);   
  if (oneChar == "/"){barre=barre+1;}
  if (barre > 2){new_msg="false"; break; }
  if ((oneChar < "0" || oneChar > "9") && oneChar != "/")
  {new_msg = "false";}
 }
 return new_msg ;
}


//========================
function Date_Valid(sDate)
//========================
{
	var Cjour,Cmois,Cannee,jour,mois,annee;
	var msg_addition = "true";
	var int_or_not = isInteger(sDate);
	if (int_or_not == "true")
	{
		if ((sDate.length) == 10)
		{
			if((sDate.substring(2,3)=="/") && (sDate.substring(5,6)=="/"))
			{
				Cjour= sDate.substring(0,2);
				Cmois= sDate.substring(3,5);
				Cannee= sDate.substring(6,10);
				jour=parseInt(Cjour,10);
				mois=parseInt(Cmois,10);
				annee=parseInt(Cannee,10);
				if (jour >= 1)
				{
					if ((mois <= 12) && (mois >=1))
					{
						if((mois == 4) || (mois == 6) || (mois == 9) || (mois == 11))	
						{		
							if (jour > 30) 
							{msg_addition = "le jour est inférieur ou égal à 30 pour ce mois"; }
						}
						if ((mois == 1) || (mois == 3) || (mois == 5) || (mois == 7) || (mois == 8) || (mois == 10) || (mois == 12))	
						{
							if (jour > 31)
							{msg_addition = "le jour est inférieur  ou égal à 31 pour ce mois";}
						}
						an = annee%4;				
						if (an == 0){fin_fev = 29;}
							else {fin_fev = 28;}
						if (mois == 2)
							{if (jour > fin_fev) 
							{msg_addition = "le jour est inférieur ou égal à "+ fin_fev + " pour février " + annee ;}}
					} else {msg_addition = "Le mois doit être entre 1 et 12";}
				} else {msg_addition = "Jour invalide ";}
			} else {msg_addition = "Le format de la date est JJ/MM/AAAA";}
		} else {msg_addition = "Le format de la date est JJ/MM/AAAA";}
	} else {msg_addition = "Le format de la date est JJ/MM/AAAA";}
	return(msg_addition);
}


//========================
function isInteger_Heure(sHeure)
//========================
{
	var new_msg = "true";
	var barre=0;
	var inputStr = sHeure.toString();

	for (var i = 0; i < inputStr.length; i++)
	{
		var oneChar = inputStr.charAt(i);			
		if (oneChar == ":"){barre=barre+1;}
		if (barre > 1){new_msg="false"; break;	}
		if ((oneChar < "0" || oneChar > "9") && oneChar != ":")
		{new_msg = "false";}
	}
	return new_msg ;
}

//========================
function Heure_Valid(sHeure)
//========================
{
	var CHr,CMin,Hr,Min;
	var msg_addition = "true";
	var int_or_not = isInteger_Heure(sHeure);
	if (int_or_not == "true")
	{
		if ((sHeure.length) == 5)
		{
			if(sHeure.substring(2,3)==":")
			{
				CHr = sHeure.substring(0,2);
				CMin = sHeure.substring(3,5);
				Hr = parseInt(CHr,10);
				Min = parseInt(CMin,10);

				if (Hr > 23)
				{msg_addition = "L'heure doit être inferieur à 24";}
				else
				{					
					if (Min > 59)
					{msg_addition = "Le minute doit être inferieur à 60";}
				}								
			} else {msg_addition = "Le format est hh:mm";}
		} else {msg_addition = "Le format est hh:mm";}
	} else {msg_addition = "Le format est hh:mm";}
	return(msg_addition);
}

function controle_car_date(chaine)
 {
	 var pos = chaine.length;
	 
	var caractere = chaine.substring(pos-1, pos);

	 if (caractere == '0' || caractere == '1' || caractere == '2' ||
	 caractere == '3' ||
	 caractere == '4' ||
	 caractere == '5' ||
	 caractere == '6' ||
	 caractere == '7' ||
	 caractere == '8' ||
	 caractere == '9' || caractere == '/' )
	 {}
	 else
	 {
	 chaine = chaine.substring(0,pos-1);
	 }
	 return(chaine);
 }

function controle_car_heure(chaine)
 {
	 var pos = chaine.length;
	 
	var caractere = chaine.substring(pos-1, pos);

	 if (caractere == '0' || caractere == '1' || caractere == '2' ||
	 caractere == '3' ||
	 caractere == '4' ||
	 caractere == '5' ||
	 caractere == '6' ||
	 caractere == '7' ||
	 caractere == '8' ||
	 caractere == '9' || caractere == ':' )
	 {}
	 else
	 {
	 chaine = chaine.substring(0,pos-1);
	 }
	 return(chaine);
 }

function controle_montant(chaine)
 {
	 var pos = chaine.length;
	 
	var caractere = chaine.substring(pos-1, pos);

	 if (caractere == '0' || caractere == '1' || caractere == '2' ||
	 caractere == '3' ||
	 caractere == '4' ||
	 caractere == '5' ||
	 caractere == '6' ||
	 caractere == '7' ||
	 caractere == '8' ||
	 caractere == '9' || caractere == '.' )
	 {}
	 else
	 {
	 chaine = chaine.substring(0,pos-1);
	 }
	 return(chaine);
 }
 function controle_montant_avec_virgule(chaine)
 {
	 var pos = chaine.length;
	 
	var caractere = chaine.substring(pos-1, pos);

	 if (caractere == '0' || caractere == '1' || caractere == '2' ||
	 caractere == '3' ||
	 caractere == '4' ||
	 caractere == '5' ||
	 caractere == '6' ||
	 caractere == '7' ||
	 caractere == '8' ||
	 caractere == '9' || caractere == ',' )
	 {}
	 else
	 {
	 chaine = chaine.substring(0,pos-1);
	 }
	 return(chaine);
 }
function controle_integer(chaine)
 {
	 var pos = chaine.length;
	 
	var caractere = chaine.substring(pos-1, pos);

	 if (caractere == '0' || caractere == '1' || caractere == '2' ||
	 caractere == '3' ||
	 caractere == '4' ||
	 caractere == '5' ||
	 caractere == '6' ||
	 caractere == '7' ||
	 caractere == '8' ||
	 caractere == '9' )
	 {}
	 else
	 {
	 chaine = chaine.substring(0,pos-1);
	 }
	 return(chaine);
 }
 /*
* function teste si la chaîne en entrée est un adresse email valide
* paramètre en entrée : la chaîne de caractère à tester
* parametre en sortie : une variable boolean true si la chaîne est adresse email valide, false sinon
*/
function email_valide(emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		//alert("Adresse email est incorrect.Veuillez vérifier le nombre de symbole comme  @ et .");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	if (user.match(userPat)==null) {
		//alert("le login est invalide.");
	    return false;
	}
	// Domain is Ip
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//alert("Destination adresse IP est invalide!");
				return false;
			}
		}
	
		return true;
	}
	// Domain is symbolic name
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		//alert("le bom de domaine est invalide.");
		return false;
	}
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
	    //alert("L'adresse devrait se terminer avectrois lettres de domaine ou deux lettre du pays.");
		return false;
	}
	// Make sure there's a host name preceding the domain.
	if (len<2) {
	   var errStr="cet adresse manque un nom de serveur!";
	   //alert(errStr);
	   return false;
	}
	return true;
}
//comparaison de  deux date froamt  2005-12-10
function comparer_2dates(sDate1,sDate2){ 
	var resu = true;
	if((sDate1 != "") && (sDate2 !="")){
	/*  var Cannee_form1= sDate1.substring(0,4);
		var Cmois_form1 = sDate1.substring(5,7);
		var Cjour_form1 = sDate1.substring(8,11);

		var Cannee_form2= sDate2.substring(0,4);
		var Cmois_form2 = sDate2.substring(5,7);
		var Cjour_form2 = sDate2.substring(8,11); */

		var Cjour_form1 = sDate1.substring(0,2);
		var Cmois_form1 = sDate1.substring(3,5);
		var Cannee_form1= sDate1.substring(6,11);

        var Cjour_form2 = sDate2.substring(0,2);
	    var Cmois_form2 = sDate2.substring(3,5);
		var Cannee_form2= sDate2.substring(6,11);
		
		var jour_form1=parseInt(Cjour_form1,10);
		var mois_form1=parseInt(Cmois_form1,10);
		var annee_form1=parseInt(Cannee_form1,10);
		
		var jour_form2=parseInt(Cjour_form2,10);
		var mois_form2=parseInt(Cmois_form2,10);
		var annee_form2=parseInt(Cannee_form2,10);
				
		if (annee_form1 > annee_form2){
			resu = false;

		}else{
			if (annee_form1 == annee_form2){
				if (mois_form1 > mois_form2){
					resu = false;
				}else{
					if (mois_form1 == mois_form2){	

						if (jour_form1 >= jour_form2){
							
							resu = false;
						}
					}
				}
			}
		}
	}
	return resu;
}
// test  jour annéé   jour est  mois 
function test_annee(date_value,borne_sup,borne_inf){ // test annéé avec un borne sup et inferieur
   	      var Cannee_form = date_value.substring(6,11);
	      var annee_form2 = parseInt(Cannee_form,10);
		  if((annee_form2 <= borne_sup )&&(annee_form2 >= borne_inf)){
			      resu = true ;
				 }
		  else {  resu = false ;  } 
          return  resu ;
    }
	
function test_jour(sDate){
          var Cjour_form2 = sDate.substring(0,2);
          var jour_form2 = parseInt(Cjour_form2,10);
	    if((Cjour_form2 =='00') ||( jour_form2 == 0 )){
	        resu = true ;
	       }
	     else {  resu = false ; } 
      }
  function test_mois(sDate){
      var Cmois_form2 = sDate.substring(3,5);
	  var mois_form2 = parseInt(Cmois_form2,10);
      if((Cmois_form2  =='00') ||(  mois_form2 == 0 )){
	       resu = true ;
	      }
	    else {  resu = false ; } 
	 }
	 //  creation  popup
 function createTarget(url,t,largeur,longueur){
	var caracteristique="toolbar=no,menubar=no,scrollbars=yes,status=no,resizable=yes,width="+largeur+",height="+longueur;
	var w=window.open(url,t,caracteristique);
	var windowX=(screen.width/2)-(largeur/2);
    var windowY=(screen.height/2)-(longueur/2);
		
	w.moveTo(windowX,windowY)	
	var autoclose = true
	w.focus();
	if(autoclose){
	   	window.onunload = function(){w.close;}

	}    

}
/*Fonction qui teste la resolution de l'ecran*/
function ecran_banque(){
	
	var x = screen.width ;
	var y = screen.height ;
	var z = x*y ;
	var coord ; 
	switch (x)
		{
		case 800:coord = 235;
		break;
		case 1024:coord = 345;
		break;
		case 1152:coord = 260;
		break;
		case 1280:coord = 480;
		break;
		case 1400:coord = 310;
		break;
		case 1600:coord = 350;
		break;
		}
	

	return coord ; 
}

function ecran_profil(){
		
	var x = screen.width ;
	var y = screen.height ;
	var z = x*y ;
	var coord ; 
	switch (x)
		{
		case 800:coord = 465;
		break;
		case 1024:coord = 580;
		break;
		case 1152:coord = 560;
		break;
		case 1280:coord = 715;
		break;
		case 1400:coord = 610;
		break;
		case 1600:coord = 660;
		break;

		}
	return coord ; 
}


	 //  creation  popup
 function createTarget(url,t,largeur,longueur){
	var caracteristique="toolbar=no,menubar=no,scrollbars=yes,status=no,resizable=yes,width="+largeur+",height="+longueur;
	var w=window.open(url,t,caracteristique);
	var windowX=(screen.width/2)-(largeur/2);
    var windowY=(screen.height/2)-(longueur/2);
		
	w.moveTo(windowX,windowY)	
	var autoclose = true
	w.focus();
	if(autoclose){
	   	window.onunload = function(){w.close;}

	}    

}


