/*--------------------------------------------------------------------
-------------- Verifie le nombre de lignes et ouvre un popup ---------
---------------------------------------------------------------------*/
	function OpenPrint(Url,NbLigne,Max,Message)
	{
	    if (NbLigne > Max)
		{
		    alert(Message);
		}
		else		
		{
	        OuvrirVisible(Url,'Print','directories=no,height=500,width=750,location=no,menubar=yes,resizable=yes,scrollbars,status=no,toolbar=no');
		}
	}

/*---------------------------------------------
-------------- Verifie le navigateur ----------
---------------------------------------------*/
	function nav()
	{
		if ((navigator.appName.charAt(0)=='N') || ((navigator.appName.charAt(0)=='M')&& (navigator.appVersion.charAt(0)=='4'))) return true; else return false;
	}

/*------------------------------------------------------
-------------- Ouvre un poopup avec une image ----------
------------------------------------------------------*/

	function AfficheImage(titre, image, largeur, hauteur)
	{
		if (nav)
		{
			w=window.open(titre,'Zoom','width='+largeur+',height='+hauteur+',top=100,left=250');
			w.document.open();
			w.document.write('<html><head><title>'+titre+'</title></head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">');
			w.document.write('<a href=\'#\' onclick=\'window.close();\'><img src='+image+' width='+largeur+' height='+hauteur+' border=\'0\'></a>');
			w.document.write('</body></html>');
			w.focus();
		}
	}					


/*---------------------------------------------------------------------
-------------- Redimendionne une image avec la largeur lgmax ----------
---------------------------------------------------------------------*/
	function RedimImg(inImg, lgmax)
	{
		var oImg = new Image();
		oImg.src = inImg;
		if (oImg.width > lgmax) 
		{ 
			document.writeln("<img src=\"" + inImg + "\" width=\"" + lgmax + "\" border=\"0\">"); 
		}
		else
		{
			document.writeln("<img src=\"" + inImg + "\" border=\"0\">"); 		  
		}
	}

/*------------------------------------------------------
-------------- Ouvre un popup --------------------------
------------------------------------------------------*/
	function OuvrirVisible(url,name,propriete)
	{
		var w = window.open(url,name,propriete);
		w.document.close();
		w.focus();
	}
	
/*------------------------------------------------------
-------------- Vérification des modifications ----------
------------------------------------------------------*/

    var change = false;

    function SaveChange(message)
    {
        if (change == true)
        {
            if (confirm(message)) { return true; } else { return false; }
        }
		else
		{
			return true;
		}
    }
	
/*------------------------------------------------------
-------------- Vérification de la date  ----------------
------------------------------------------------------*/
	
	function CheckDate(d)
	{
		var amin=1900;
		var amax=3000;
		var separateur = '/';
		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; } 
		}
		if (ok==0) { return false; }
		return true;
	}	

/*------------------------------------------------------
-------------- Vérification de l'email  ----------------
------------------------------------------------------*/

	function CheckEmail(email)
	{
		var valid = true;
		if (email)
		{
			var aroba = email.indexOf('@');
			if (aroba == -1) valid = false;
			var point = email.indexOf('.', aroba);
			if ((point == -1) || (point == (aroba + 1))) valid = false;
			var point = email.lastIndexOf('.');
			if ((point + 1) == email.length) valid = false;
			point = email.indexOf('..')
			if (point != -1) valid = false;
			if (valid == false) { return false; }
			return true;
		}
	}

/*--------------------------------------------------------------------------------------------------
-------------- Fonction de dreamweaver pour récupérer les valeurs d'un formulaire  ----------------
---------------------------------------------------------------------------------------------------*/
	
function MM_findObj(n, d) 
{ //v4.01
	var p,i,x;
	if(!d) d=document; 
	if((p=n.indexOf("?"))>0&&parent.frames.length) 
	{
    	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n]; 
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}	

/*--------------------------------------------------------------------------------------------------
------------------------ Fonction de validation de formulaire  -------------------------------------
---------------------------------------------------------------------------------------------------*/

function MM_validateFormFR() 
{
	/*
	Les expressions suivantes sont à traduire
		le champ
		doit contenir une date au format JJ/MM/AAAA
		doit contenir une adresse e-mail
		ne doit pas contenir plus de
		caractères. Il en contient actuellement
		doit contenir un nombre
		doit contenir un nombre decimal avec
		chiffre(s) après la virgule
		doit contenir un nombre entre
		et
		est obligatoire
		Les erreurs suivantes se sont produites :
	*/
    var i,p,q,nm,LibFld,test,num,Field,min,max,errors='',args=MM_validateFormFR.arguments;
    for (i=0; i<(args.length-2); i+=3) 
	{ 
		LibFld = args[i+1]	
	    test   = args[i+2]; 
		val    = MM_findObj(args[i]);
        if (val) 
		{ 
		    nm = val.name; 
			if ((val=val.value)!="") 
			{
                if (test.indexOf('isDate')!=-1) 
				{ 
					if (!CheckDate(val)) errors+='- le champ "' + LibFld + '" doit contenir une date au format JJ/MM/AAAA.\n'; //must contain a date (DD/MM/YYYY)
          		}
				else if (test.indexOf('isEmail')!=-1) 
				{ 
					if (!CheckEmail(val)) errors+='- le champ "' + LibFld + '" doit contenir une adresse e-mail.\n'; //must contain an e-mail address 
				}
				else if (test.indexOf('isTextarea')!=-1) 
				{
			        LgMax   = test.substring(11,test.length);				
			        LgField = val.length;
					if (LgField > LgMax)
					{
						errors+='- le champ "' + LibFld + '" ne doit pas contenir plus de ' + LgMax + ' caractères. Il en contient actuellement ' + LgField + '.\n';
					}				
				
				}			
				else if (test!='R') 
				{
					if (test != 'N')
					{
						num = parseFloat(val);
						Field = val.replace(',','.');
						if (isNaN(Field)) errors+='- le champ "' + LibFld + '" doit contenir un nombre.\n'; // must contain a number
						if (test.indexOf('isNumDec') != -1) 
						{
							p    = test.substring(9,test.length);
							if ((Field.indexOf('.',0) != -1))
							{
								result = Field.substring(Field.indexOf('.')+1,Field.length);
								if (result.length > p)
								{
									errors+='- le champ "' + LibFld + '" doit contenir un nombre decimal avec ' + p + ' chiffre(s) après la virgule.\n';
								}
							}						
						}					
						if (test.indexOf('inRange') != -1) 
						{
							p   = test.indexOf(':');
							min = test.substring(8,p); max=test.substring(p+1);
							if (num<min || max<num) errors+='- le champ "' + LibFld + '" doit contenir un nombre entre '+min+' et '+max+'.\n'; //must contain a number between ... and
						}
					}
				}
		    }
		    else if (test.charAt(0) == 'R') errors += '- le champ "' + LibFld + '" est obligatoire.\n';  //is required
		}
    }
	if (errors) alert('Les erreurs suivantes se sont produites :\n' + errors); // The following error(s) occurred
    //document.MM_returnValue = (errors == '');
	if (errors) return false;
	return true;
}

/*------------------------------------------------------
-------------- Monter un élément d'une liste -----------
------------------------------------------------------*/

	function tjs_haut(l)
	{
		var indice=l.selectedIndex
		if (indice>0) { tjs_swap(l,indice,indice-1); } // Il reste une ligne au-dessus
	}

/*------------------------------------------------------
-------------- Descendre un élément d'une liste --------
------------------------------------------------------*/

	function tjs_bas(l)
	{
		var indice=l.options.selectedIndex;
		if ((indice >=0) && (indice<l.options.length-1)) { tjs_swap(l,indice,indice+1); } // Il reste une ligne en-dessous
	}
	
/*------------------------------------------------------
-------------- Déplacer un élément d'une liste ---------
------------------------------------------------------*/	

	function tjs_swap(l,i,j)
	{
		var valeur=l.options[i].value;
		var texte=l.options[i].text;
		l.options[i].value=l.options[j].value;
		l.options[i].text=l.options[j].text;
		l.options[j].value=valeur;
		l.options[j].text =texte;
		l.selectedIndex=j
	}

/*---------------------------------------------------------------------
-------------- Passer l'order de la liste dans un champ hidden --------
---------------------------------------------------------------------*/
	
	function ValidList(l,lv)
	{
		var str = '';
		for(i=0;(i < l.options.length); i++)
		{
			str = str + l.options[i].value + ";";
		}
		lv.value = str;
	}	

/*---------------------------------------------------------------------
' - Ajoute une valeur à une liste déroulante  --------------
' -- popupvalue : valeur
' -- popuplib   : libelle de la valeur
' -- fld        : nom de la liste 
'---------------------------------------------------------------------*/
	
    function CreatOption(popupvalue, popuplib, fld)
    {
        if ((popupvalue.value != '') && (popuplib.value != ''))
        {
            var o = new Option(popuplib.value,popupvalue.value);
            fld.options[fld.options.length] = o;
        }
        popupvalue.value = '';
        popuplib.value   = '';
    }	

/*---------------------------------------------------------------------
' - Affecte une valeur à une liste déroulante -------------------------
' -- popupvalue : valeur de la liste
' -- popuplib   : libelle de la valeur de la liste
' -- V1         : valeur à affecter à la valeur de la liste
' -- V2         : libelle à affecter à la valeur de la liste
'---------------------------------------------------------------------*/
    function AffectOption(popupvalue,popuplib,v1,v2)
    {
        popupvalue.value = v1;
        popuplib.value   = v2;
        window.close();
    }	