var new_liste;
var new_win;
new_win=true;
new_liste=true;
// Fonction de vérification de validité d'un mail
function isMail(Ctrl, mail)
{
	for (var i = 0; i < mail.length; i++)
	{
		if ((mail.charAt(i) == '@') && (i > 0))
		{
			var v = 0;
			for (i+1; i <= mail.length; i++)
			{
				if ((mail.charAt(i) == '.') & ((v > 1) && (mail.length-i > 2)))
				{
					return true;
				}
				v++
			}
		}
	}
	validatePrompt (Ctrl, "Veuillez entrer une valeur correct pour ", "le mail");
	return false;
}

function Expedier_EF(check , ctrl1)
{
   if (check == true )
	{
		  	 
	  		ctrl1.value = 1;
	 }
	else
	{
	  	 ctrl1.value = 0;

	}
}


// Fonction de vérification de remplissage d'un champ
function testsaisie(Ctrl,Nom_Champ)
{
    if (Ctrl.value == "")
		{
            validatePrompt (Ctrl, "Veuillez entrer une valeur pour ", Nom_Champ);
            return (false);
    } else
            return (true);
}

// Fonction de vérification de remplissage d'un champ
function testfk(Ctrl,Cible,Nom_Champ)
{
    if (Ctrl.value == "")
		{
            validatePrompt (Cible, "Veuillez entrer une valeur pour ", Nom_Champ);
            return (false);
    } else
            return (true);
}

// Fonction de vérification de selection d'un liste
function testselection(Ctrl,Nom_Champ)
{
    if (Ctrl.value == "-1")
		{
            validatePrompt (Ctrl, "Veuillez sélectionner une valeur pour ", Nom_Champ);
            return (false);
    } else
            return (true);
}

// Fonction d'affichage de message à l'écran
function validatePrompt (Ctrl, PromptStr, Nom_Champ) 
{
    alert (PromptStr + Nom_Champ)
    Ctrl.focus();
    return;
}

// Fonction avertissant de la valeur trop grande d'un champ de saisie 'textarea'
function gestion_textarea(Ctrl,Lg_Max,Nom_Champ)
{
	var texte
	var longueur
	texte = Ctrl.value;
	longueur = texte.length;
	//alert("longueur = " + longueur);
	if (longueur > (Lg_Max))
	{
		alert("Le texte du champ '" + Nom_Champ + "'" + " est trop long et dépasse le maximum possible. En effet, le texte suivant n'entre plus dans le nombre de caractères autorisé : '" + texte.substring(Lg_Max,texte.length) + "'");
		alert("Vous pouvez soit le raccourcir, soit enlever la fin. Une fois cette opération effectuée, veuillez valider de nouveau. Merci de votre compréhension.");
		Ctrl.focus();
		return(false);
	}
	return(true);
}

// Gestion combos depart-arrivee : Ajoute une valeur dans la combo d'arrivee
function ajout2(COMBO_DEP,COMBO_ARR,msg_erreur)
{	
	index_selectionne = COMBO_DEP.selectedIndex
	nom_nouvelle_option = COMBO_DEP.options[index_selectionne].text;
		
	index_arrivee = COMBO_ARR.length;
	truc=0;
	for (i = 0;i<index_arrivee;i++)
	{
		if (COMBO_ARR.options[i].text == COMBO_DEP.options[index_selectionne].text)
		{ 
			truc=1;
		}
	}
	if (truc == 1) 
	{
		alert(msg_erreur);
	}
	else
	{
		mon_option = new Option(nom_nouvelle_option,index_selectionne);
		COMBO_ARR.options[index_arrivee]=mon_option;
	}
}

// Gestion combos depart-arrivee : Supprime une valeur de la combo d'arrivee
function suppression2(COMBO_ARR,msg_erreur)
{
	index_selectionne = COMBO_ARR.selectedIndex;
	if (index_selectionne == -1) 
	{
		alert(msg_erreur);
	}
	else
	{
		COMBO_ARR.options[index_selectionne] = null;
	}
}

function vidage(COMBO_ARR)
{
	index_arrivee = COMBO_ARR.length;
	for (i = 0;i<index_arrivee;i++)
	{	
		COMBO_ARR.options[i] = null;
	}
	COMBO_ARR.options[0] = null;
}

// Fonction de test de saisie de l'adresse 
function test_adresse(Ctrl1,Ctrl2,Name)
{
	 if (Ctrl1.value=="")
		{ //Valeur 1 vide
		  if (Ctrl2.value=="") 
			{ //Valeur 2 vide
			  if (Name=="")
			    {
			      validatePrompt (Ctrl1, "Veuillez entrer une valeur pour ", "l'adresse du bénéficiaire");
			      return(false);
			    }
			  else
			    {
			      validatePrompt (Ctrl1, "Veuillez entrer une valeur pour ", Name);
			      return(false);
			    }
			}
		  else
		    { //Valeur 2 pleine  
			  return(true); 
			}
		}
	else 
		{ //Valeur 1 pleine
	  	  return (true);
	  	}
}
// Fonction de vérification de validité de mois
function isMonth(s)
{
	if ((s.length < 1) || (s.length > 2))
	{
		return false;
	}
	else
	{
		for (var i = 0; i < s.length; i++)
		{
			if (s.charAt(i) < '0')
			{
				return false;
			}
			if (s.charAt(i) > '9')
			{
				return false;
			}
		}
	}
	var mm1 = parseInt(s,10);
	if ((mm1 > 12) || (mm1 < 1))
	{
		return false;
	}
	return true;
}

// Fonction de vérification de validité d'année
function isYear(s)
{
	if ((s.length < 1) || (s.length > 4))
	{
		return false;
	}
	else
	{
		for (var i = 0; i < s.length; i++)
		{
			if (s.charAt(i) < '0')
			{
				return false;
			}
			if (s.charAt(i) > '9')
			{
				return false;
			}
		}
	}
	return true;
}

// Fonction de vérification de validité de jour
function isDay(s,m)
{
	if ((s.length < 1) || (s.length > 2))
	{
		return false;
	}
	else
	{
		for (var i = 0; i < s.length; i++)
		{
			if (s.charAt(i) < '0')
			{
				return false;
			}
			if (s.charAt(i) > '9')
			{
				return false;
			}
		}
	}
	var jj = parseInt(s,10);
	if ((jj < 1) || (jj > 31))
	{
		return false;
	}
	var mm = parseInt(m,10);
	if ((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11))
	{
		if (jj > 30)
		{
			return false;
		}
	}
	if ((mm == 2))
	{
		if (jj > 29)
		{
			return false;
		}
	}
	return true;
}

// Fonction de vérification de validité d'année bissextile
function isBissextile(yy)
{
	if ((yy % 400) == 0)
	{
		return true;
	}
	if ( ((yy % 4) == 0) && ((yy % 100) != 0))
	{
		return true;
	}
	return false;
}
// Fonction d'appel de vérification de validité de date
function verifdate(d)
{
	if (d.length > 0)
	{
		if (d.length !=10)
		{
			alert("Le format de la date est JJ/MM/AAAA");
			return;
		}
		if ((d.charAt(2) != "/") || (d.charAt(5) !="/"))
		{
    		alert("Le format de la date est JJ/MM/AAAA");
    		return;
		}
		var Jour = d.substring(0,2);
		var Mois = d.substring(3,5);
		var Annee = d.substring(6,10);
		if (!(isMonth(Mois) && isYear(Annee)))
		{
    		alert("La date n'est pas valide");
    		return;
		}
		if (!isDay(Jour,Mois))
		{
    		alert("La date n'est pas valide");
    		return;
		}
		else
		{
    		if (!(isBissextile(parseInt(Annee,10))))
    		{
    			if ((parseInt(Jour,10) > 28) && (Mois == "02"))
    			{
    				alert("La date n'est pas valide");
    				return;
    			}
    		}
		}
	}
  	return true;
}

