function remplir_dates(debut, fin, nom, libelle, valeur)
{
/*	

//Supprime la ligne sélectionner
	var list=document.getElementById("LE_SELECT_ID");
	list.options[list.options.selectedIndex]=null;
	
//Vide le select;
	document.getElementById("LE_SELECT_ID").options.length=0;

//Ajouter une ligne d'un select à un autre
	var list1=document.getElementById("LE_SELECT_ID1");
	var list2=document.getElementById("LE_SELECT_ID2");

	var o=new Option(list1.options[list1.options.selectedIndex].text, list1.options[list1.options.selectedIndex].value);
	list2.options[list2.options.length]=o;
	
	function Inserer(form) {
		var o=new Option(form.libelle.value,form.valeur.value);
		if(form.liste.options.selectedIndex>=0) {
			form.liste.options.length++;
			for (var i=form.liste.options.length-1;i>form.liste.options.selectedIndex;i--) {
				var p=new Option(form.liste.options[i-1].text,form.liste.options[i-1].value);
				form.liste.options[i]=p;
			}
			form.liste.options[form.liste.options.selectedIndex]=o;
		} else {
			alert("Insertion impossible. Sélectionnez une ligne");
		}
	}
	
	
*/
	
	var newElem=document.createElement("Option");
	newElem.value=0;
	newElem.text= libelle;

	nom.options.add(newElem);

	var mois= new Array ("Janvier", "Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre", "Novembre", "Décembre");
	
	for (var i=debut; i<=fin; i++)
	{
		newElem=document.createElement("Option");
		newElem.value=i;
		newElem.text= (libelle.toLowerCase()=="mois") ? mois[i-1] : (i<10 ? "0"+i : i);
		
		nom.options.add(newElem);
	}

	if (valeur>-1)
	{
		nom.selectedIndex=valeur;
//		nom.options[valeur].selected=true;
	}
}

function del(nom, fichier, phrase)
{
	var valeur= nom=="" ? "" : " :\n[=> "+nom;
					  
	if(confirm("Voulez-vous vraiment supprimer "+phrase+valeur))
	{
		document.location.href=fichier;
	}
}

var win=null;
function winpopup(fichier, nom, hauteur, largeur, ass, dep)
{
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	
	if (win && !win.closed)
	win.close();
	
	win=open(fichier,nom,"top="+top+",left="+left+",height="+hauteur+",width="+largeur+",innerWidth="+largeur+",innerHeight="+hauteur+",location=no,scrollbars="+ass+",status=no,dependent="+dep);
	win.focus();

	return win;
}

function close_popup(esc)
{//permet de fermer un popup avec la touche "Esc"
	esc.keyCode==27 ? self.close() : "";
}

var input2="";
function navigation(e)
{//Permet de naviguer avec la combinaison de touche Ctrl+<- ou Ctrl+->
	if (e.ctrlKey)
	{
		if (e.keyCode==37 && document.getElementById("lien_desc").onclick)			
			document.getElementById("lien_desc").onclick();
		else
		if (e.keyCode==39 && document.getElementById("lien_asc").onclick)
			document.getElementById("lien_asc").onclick();
	}
	
	if (e.keyCode==27)
	{//Esc
		var input1= e.originalTarget.id;
		
		if (input1=="rechercher")
		{
			if (input2=="")
			{
				document.forms[1].elements[0].focus();
			}
			else
			{
				if (document.getElementById(input2))
					document.getElementById(input2).focus();
				else
					document.forms[1].elements[0].focus();
			}
		}
		else
		{
			input2= input1;
			if (document.getElementById(input2))
				document.getElementById(input2).setAttribute("autocomplete", "off");
				
			document.getElementById("rechercher").focus();
		}
	}
}

function radio_checked(radio, valeur)
{
	for (var i=0; i< radio.length; i++)
	{
		if (valeur==radio[i].value)
			radio[i].checked=true;
	}
}

function selected(valeur, select_id)
{
	liste=	document.getElementById(select_id);
	
	for (var i=0; i< liste.length; i++)
	{
		if (valeur==liste.options[i].value)
			liste.selectedIndex=i;
	}
}

function move_liste(e)
{
	var liste=document.getElementById("liste");
	
	if (e.ctrlKey)
	{
		if (e.keyCode==38)
		{
			if (liste.selectedIndex>0)
				liste.selectedIndex--;
			else
				liste.selectedIndex=liste.length-1;
			
			if (liste.onchange)
				liste.onchange();
		}
		else if (e.keyCode==40)
		{
			if (liste.selectedIndex<liste.length-1)
				liste.selectedIndex++;
			else
				liste.selectedIndex=0;
	
			if (liste.onchange)
				liste.onchange();
		}
		else if (e.keyCode==13 && liste.selectedIndex >= 0 && liste.ondblclick)
			//setTimeout("document.getElementById('liste').ondblclick();", 0);
			
			setTimeout(function() {liste.ondblclick()}, 0);
	}
}

function affiche_onglet(onglet, dernier, lien, liens, fichier, active)
{//span - spans - lien_onglet - liens_onglets - lien_à_activer - zone_focus
	
	for (var i=1; i<=dernier; i++)
	{
		if (i==onglet)
			document.getElementById("onglet"+i).style.display="block";
		else
			document.getElementById("onglet"+i).style.display="none";
	}
	
	var l_onglet=	null;
	
	for (var i=1; i<=liens; i++)
	{
		l_onglet=	document.getElementById("l_onglet"+i);

		if (i==lien)
		{
			with(l_onglet.style)
			{
				backgroundColor=	"#CCCCCC";
				borderTop=			"1px solid #000000";
			}

			if (active != "")
			{
				if (document.getElementById(active).type=="text")
					document.getElementById(active).select();

				document.getElementById(active).focus();
			}
		}
		else
		{
			with(l_onglet.style)
			{
				backgroundColor=	"";
				borderTop=			"";
			}
		}
	}
	
	fichier=="" ? "" : document.getElementById("frame_onglet").src=fichier;	
}

function filtres_cp_be(pays_id, cp_id, ville_id)
{//Affiche la liste des CP si le pays == 1 Belgique ou 0 rien
	if (document.getElementById(pays_id).value<2)
	winpopup('cp_be.php?zone1='+cp_id+'&zone2='+ville_id+'&filtre='+eval("document.getElementById(ville_id).value"), 'cp', 380, 240, 0, 1);
}

function format_nbre(nombre, dec)
{//v3.0
	var signe= nombre < 0 ? "-" : "";
	var sep= dec > 0 ? "," : "";
	
	nombre=Math.round(Math.abs(nombre) * Math.pow(10 ,dec)) / Math.pow(10, dec);
	
	var position= String(nombre).indexOf(".");
	
	var partie= new Array();
	
	if (position == -1)
	{
		partie[0]=String(nombre);
		partie[1]="000000000".substr(0, dec);
	}
	else
	{
		partie[0]=String(nombre).substring(0, position);
		partie[1]=(String(nombre)+"000000000").substr(position+1, dec);
	}
	
	var val=partie[0];
	partie[0]="";
	
	for (var i=0; i<val.length; i++)
	{
		if ((i+1)%3==0 && i!=val.length-1)
		{
			partie[0]="."+val.charAt(val.length-i-1)+partie[0];
		}
		else
		{
			partie[0]=val.charAt(val.length-i-1)+partie[0];
		}
	}
	
	nombre=signe+partie[0]+sep+partie[1];
	
	return nombre;
}

function ValidDate(day,month,year) {

var daysofmonth    = new Array( 0, 31, 28, 31, 30, 31, 30,
                                    31, 31, 30, 31, 30, 31);
var daysofmonthLY  = new Array( 0, 31, 29, 31, 30, 31, 30,
                                    31, 31, 30, 31, 30, 31);
				 														
    if ( (LeapYear(year) && (day > daysofmonthLY[month])) ||
         (!LeapYear(year) && (day > daysofmonth[month])) )
        return false;
	else if (!Number(day) || day <1 || day> 31)
		return false;
	else if (!Number(month) || month<1 || month >12)
		return false;
    else
        return true;
}

function LeapYear(year) {
    if ((year/4)   != Math.floor(year/4))   return false;
    if ((year/100) != Math.floor(year/100)) return true;
    if ((year/400) != Math.floor(year/400)) return false;
    return true;
}

function email(nom, domaine, sujet)
{
	document.location.href="mailto:"+nom+"@"+domaine+"?subject="+sujet;
}

function select_unique(lignes)
{
	var liste= document.getElementById("liste");
	
	if (lignes == 1)
	{
		liste.selectedIndex=0;
		
		if (liste.onchange)
			liste.onchange();
	}
}

function select_selected(liste, param, zone)
{//param 0-Décoche tout, 1-Coche tout, 2-inversé, -1-juste pour afficher le nombre d'éléments sélectionné
	var ls= document.getElementById(liste);
	var zn= document.getElementById(zone);
	
	var x=0;

	if (param>-1 && param<2)
		param=param;
	else if (param==2)
		param="!ls.options[i].selected";
	else
		param="ls.options[i].selected";
	
	for (var i=0; i<ls.length; i++)
	{
		ls.options[i].selected=eval(param);

		if (ls.options[i].selected)
			x++;
	}
	
	zn.innerHTML=x;
}

function select_modif(fichier, id, zone)
{
	winpopup("liste_modif.php?fichier="+fichier+"&id="+id+"&ori="+id+"&zone="+zone, "modif", 270, 470, 0, 1);
}

function select_modif2(fichier, id, zone)
{
	winpopup("liste_modif2.php?fichier="+fichier+"&id="+id+"&ori="+id+"&zone="+zone, "modif", 280, 470, 0, 1);
}

function verif_banque_be(zone_id)
{//v1.01
	var banque=document.getElementById(zone_id);
	
	if (banque.value!="")
	{
		var txt="";
		
		if (banque.value.length==14 && banque.value.indexOf("-")==3 && banque.value.lastIndexOf("-")==11)
		{
			var partie1=banque.value.substr(0, 3)+banque.value.substr(4, 7);
			var partie2=banque.value.substr(12, 2);
			
			if (partie1%97==partie2)
				txt="Le numéro de compte belge est juste";
			else
				txt="Ce numéro est faux";
		}
		else
		if ((banque.value.length==11 || banque.value.length==12)  && banque.value.indexOf("-")==3)
		{
			var partie1=banque.value.substr(0, 3);
			var partie2=banque.value.substr(4, 7);
			
			txt="Il faut ajouter le numero : "+(partie1+partie2)%97;
			
			banque.value=partie1+"-"+partie2+"-"+(partie1+partie2)%97;
		}
		else
		{
			txt="Le compte n'est pas un compte belge !\n";
			txt+="Entrez 10 chiffres (###-#######[-]) ou 12 chiffres (###-#######-##).\n";
			txt+="Si les 2 derniers chiffres manquent, ils seront ajouté automatiquement";
		}
		
		alert(txt);
	}
}

function verif_codeEAN13(zone_id)
{//v1.01
	var code=document.getElementById(zone_id);
	
	if (code.value!="")
	{
		var txt="";
		
		if ((code.value.length==12 || code.value.length==13) && !isNaN(code.value))
		{
			var checkSum=0;
			
			for (var i=0; i<12; i++)
			{
				checkSum+= i%2==0 ? code.value.charAt(i)-0 : code.value.charAt(i)*3;
			}
			
			checkSum= (1000-checkSum)%10;
			
			if (code.value.length==12)
			{
				txt="Il faut ajouter le numero : "+checkSum;
				code.value+=checkSum;
			}
			else if (checkSum==code.value.charAt(12))
				txt="Le code EAN13 est juste";
			else
				txt="Ce code n'est pas valide";
		}
		else
		{
			txt="Le code n'est pas à la norme EAN13 !\n";
			txt+="Entrez 12 ou 13 chiffres,\n";
			txt+="Si le dernier est manquant, il sera ajouté automatiquement";
		}
		
		alert(txt);
	}
}

function ajax_get(url, param)
{
	if (window.XMLHttpRequest) // FIREFOX
		var xhr_object = new XMLHttpRequest();
	else if (window.ActiveXObject) // IE
		var xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);

	xhr_object.open("GET", url+"?"+"ajax_get=&"+param, false);
	xhr_object.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); //permet de corriger le bug du cache de IE
	xhr_object.send(null);

	if (xhr_object.readyState == 4)
	{
		if (xhr_object.responseText=="ERROR_ERROR_ERROR")
		{//Se produit uniquement lors de la destruction de la session
			document.location.href="index.php";
			
			return false;			
		}
		else
			return(xhr_object.responseText);
	}
	else 
		return(false);
}

function ajax_post(url, param)
{//Mettre le js dans le fichier PHP et ajouter utf8_decode
	if (window.XMLHttpRequest) // FIREFOX
		var xhr_object = new XMLHttpRequest();
	else if (window.ActiveXObject) // IE
		var xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return false;

	xhr_object.open("POST", url, true);
	
	xhr_object.onreadystatechange = function()
	{
		if (xhr_object.readyState == 4)
			eval(xhr_object.responseText);
	}

	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.send("ajax_post=&"+param); 
}

function alerter(zone_id, txt, delai)
{
	document.getElementById(zone_id).innerHTML=txt;
	
	setTimeout(function() {document.getElementById(zone_id).innerHTML="";}, delai); 
}

function fiche_nav(fichier, nav, ID)
{
	ajax_post(fichier, "action=fiche_naviguer&nav="+nav+"&id="+ID);
}

function reload_fiche(param, fichier, ID)
{
	if (ID>0)
	{
		if (param)
			if (!confirm("Rétablir la version précédemment enregistrée et perdre les modifications ?"))
				return false;
			
		ajax_post(fichier, "action=reload&id="+ID);
	}
	
	return false;
}

function delete_fiche(fichier, ID)
{
	if (confirm("Voulez-vous vraiment supprimer cette fiche ?"))
		ajax_post(fichier, "action=delete&id="+ID);
}

function submit_form(form, fichier, action, ID)
{//v1.1
	var param="";
	var valeur="";
	var input="";
	for (var i=0; i<form.length; i++)
	{
		valeur=	"";
		input=	form.elements[i];
		
		if (input.type)
		{
			if (input.type=="text" || input.type=="password" || input.type=="hidden" || 
				input.type=="textarea" || input.type=="select-one")
			{
				valeur=encodeURIComponent(input.value);
			}
			else
			if (input.type=="checkbox")
			{
				if (input.checked)
					valeur=1;
				else
					valeur=0;
			}
			else
			if (input.type=="radio")
			{
				var radio=eval("form."+input.name);
				
				for (var j=0; j< radio.length; j++)
				{
					if (radio[j].checked)
					{
						valeur=radio[j].value;
					}
				}
			}
			
			param+="&"+encodeURIComponent(input.name)+"="+valeur;
		}
	}
	
	ajax_post(fichier, "action="+action+"&id="+ID+param);
	
	return false;
}

function ajax_infos(fichier, fiche, zone)
{
	ajax_post(fichier, "action=infos&fiche="+fiche+"&zone="+zone);
}

function print_fiches(fichier, ID)
{
	var str="";
	
	if (ID>0)
		str+=ID+"_";
	else
	{
		var liste = document.getElementById("liste");
		
		if (liste.length>0)
		{		
			for (var i=0; i< liste.length; i++)
			{
				str+=liste.options[i].value+"_";
			}
		}
		else
			str+=0+"_";
		
		//alert(str);
	}
	
	document.location.href=fichier+".php?fiches="+str;
}