<!--

//--------------------------------
// Controle de validité des saisies
// obj : objet de formulaire
// txt : txt à afficher dans la boite d'alerte
// Retour : TRUE si contrôle OK
//--------------------------------
function check_standard(obj, txt) 
{
	if ( ! f_ltrim(obj.value) ){
		alert(txt);
		obj.focus();
		return false;
	}
	
	return true;
}
function check_files(obj, txt, param_1) 
{
if (!f_ltrim(param_1) && ! f_ltrim(obj.value) ){
		alert(txt);
		obj.focus();
		return false;
	}
	
	return true;
}



//--------------------------------
// Post d'un formulaire de page Update
//--------------------------------
function f_submit_mod (url, gen_action_mode, action, param_1) 
{
	// Suppression d'un fichier
	if (action ==5)
	{
		document.form1.gen_action_mode.value = gen_action_mode;
		document.form1.fl_suppr_string.value = param_1;
	} else if (action == 1 || action == 2 || action == 3)
	{
		// Vérification JVS validité des saisies
		if (!checkForm(document.form1))
			return;

		document.form1.gen_action_mode.value = gen_action_mode;
		document.form1.process_action.value = param_1;
	}

	// redirection  par défaut
	if (!url) url = document.URL;

	document.form1.action = url;
	document.form1.submit();
	return true;
}

//--------------------------------
// Post d'un formulaire de page Liste
//--------------------------------
function f_submit_liste (url, action, param_1, param_2, param_3 , param_4) 
{
	// redirection  par défaut
	if (!url) url = document.URL;

	// Tri sur une colonne
	if (action==5)
	{
		document.form1.gen_tri.value = param_1;
	}
	// Changement de page
	else if (action==6)
	{
		document.form1.gen_deb.value = param_1;
	}
	// Suppression d'enregistrements
	else if (action==7)
	{
		// Vérification JVS validité des saisies
		if (!confirm_suppr(document.form1))
			return;
		else
			document.form1.gen_action_mode.value = action;
	}
	// Publication d'un enregistrement
	else if (action==8)
	{
		document.form1.gen_param_2.value = param_2;
		document.form1.id_actif.value = param_1;
		document.form1.gen_action_mode.value = action;
	}
	// Modification du classement
	else if (action==9)
	{
		chaine = param_2 + '.' + param_3;
		document.form1.gen_param_2.value = chaine;
		document.form1.id_actif.value = param_1;
		document.form1.gen_action_mode.value = action;
	}
	// Ajout
	else if (action==1)
	{
		document.form1.gen_action_mode.value = action;
		document.form1.id_actif.value = param_1;
	}
	// Modification
	else if (action ==2)
	{
		if (!param_1)
		{
			retour = search_selected_item(document.form1);
			if (!retour)
				return;
		}
		else
			retour = param_1;
			
		document.form1.gen_action_mode.value = action;
		document.form1.id_actif.value = retour;
	}
	else
	{
		alert ("cette action  n'est pas défini : " + action);
	}
	
	document.form1.action = url;
	document.form1.submit();
	return true;
}

//--------------------------------
// Effacement des valeurs des objets contenant des clefs étrangères
//--------------------------------
function f_del_fk(fm, obj1, obj2) 
{
	document.forms[fm].elements[obj1].value ="";
	document.forms[fm].elements[obj2].value ="";
}

//--------------------------------
// Suppression des espaces et retours chariot en debut d'une chaîne 
//--------------------------------
function f_ltrim(chaine) 
{ 
	if ((chaine.length>0) && (chaine!=null)) 
	{ 
		while ((chaine.substring(0,1) == ' ') || (chaine.substring(0,1) == '\n') || (chaine.substring(0,1) == '\r'))
			chaine = chaine.substring(1,chaine.length);
//		return(chaine);
	} 
	if (chaine =='0') chaine =''; 
	return(chaine);
} 


//--------------------------------
// Validation de la recherche : submit de la page
function fValiderRecherche(obj)
{
	obj.submit();
	return true;
}

//--------------------------------
// Efface les critères de recherche
// Params :
//	fm : formulaire de recherche
//	b_submit : 1 si on soumet le formulaire vide (affichage sans critères de recherche)
function fResetRecherche(fm, b_submit)
{
	n = (fm.elements.length)-1;
	for(i=0;i<=n;i++)
	{
		// Objet Select
		if (fm.elements[i].type=="select-one")		
			fm.elements[i].selectedIndex = 0;
		else	 if (fm.elements[i].type=="text")		
			// Objet Text
			fm.elements[i].value="";
		else	 if (fm.elements[i].type=="radio")		
			// Objet radiobouton
			fm.elements[i].checked=false;
	}
	if (b_submit) fm.submit();
	return true;
}

//--------------------------------
// Effacement d'un enregistement d'une relation n à n 
// Params : 
// 	fm = objet formulaire
// obj_nom = nom de l'objet hidden contenant la chaîne des  valeurs texte
// obj_id = nom de l'objet contenant la liste des IDs
// obj_list = nom de l'objet select contenant la liste des valeurs texte
//--------------------------------
function del_nn(fm,obj_nom,obj_id,obj_list, separateur)
{
	nIndex = fm.elements[obj_list].selectedIndex;
	if (nIndex == -1)
	{
		alert ("Sélectionnez un élement dans la liste.");
		return;
	}
	else
	{
		tab_cbx=new Array();	// Tableaux des valeurs affichées dans la liste
		tab_ids=new Array();	// Tableau des IDs correspondand aux valeurs affichées

		//-------------------------------------
		// Remplir les tableaux JVS avec les valeurs des objets de la fenêtre parent
		if (fm.elements[obj_id].value!='')
		{
			tab_cbx=fm.elements[obj_nom].value.split(separateur);
			tab_ids=fm.elements[obj_id].value.split(',');
		}

		nb_lignes = fm.elements[obj_list].length;
		var k;
		for(k=nb_lignes-1;k>=0;k--)
		{
			if (fm.elements[obj_list].options[k].selected)
			{
				id_value=fm.elements[obj_list].options[k].value;
				for(var i=tab_ids.length-1;i>=0;i--)
				{
					if (id_value==tab_ids[i])
					{
						tab_cbx.splice(i,1);
						tab_ids.splice(i,1);
					}
				}
		
				// efface la ligne de texte dans la liste source
				fm.elements[obj_list].options[k]=null;
			}
		}

		fm.elements[obj_nom].value=tab_cbx.join(separateur);
		fm.elements[obj_id].value=tab_ids.join(',');
		
	}
		
/*
// ID sélectionné dans la liste
		id_value = fm.elements[obj_list].options[nIndex].value;
		
		tab_cbx=new Array();	// Tableaux des valeurs affichées dans la liste
		tab_ids=new Array();	// Tableau des IDs correspondand aux valeurs affichées
	
		//-------------------------------------
		// Remplir les tableaux JVS avec les valeurs des objets de la fenêtre parent
		if (fm.elements[obj_id].value!='')
		{
			tab_cbx=fm.elements[obj_nom].value.split(separateur);
			tab_ids=fm.elements[obj_id].value.split(',');
		}

		for(var i=tab_ids.length-1;i>=0;i--)
		{
			if (id_value==tab_ids[i])
			{
				tab_cbx.splice(i,1);
				tab_ids.splice(i,1);
			}
		}

		// efface la ligne de texte dans la liste source
		fm.elements[obj_list].options[nIndex]=null;
		fm.elements[obj_nom].value=tab_cbx.join(separateur);
		fm.elements[obj_id].value=tab_ids.join(',');
	}
*/
}

//--------------------------------
// Raz des relations n à n 
// Params : 
// 	fm = objet formulaire
// obj_nom = nom de l'objet hidden contenant la chaîne des  valeurs texte
// obj_id = nom de l'objet contenant la liste des IDs
// obj_list = nom de l'objet select contenant la liste des valeurs texte
//--------------------------------
function raz_nn(fm,obj_nom,obj_id,obj_list)
{
   var poursuivre = confirm('Voulez-vous effacer le contenu de la zone ?');
   if (poursuivre == true)
   {
      fm.elements[obj_list].options.length=null;
      fm.elements[obj_nom].value='';
      fm.elements[obj_id].value='';
   }
}


//--------------------------------
// Recherche l'id de l'élément sélectionné
//--------------------------------
function search_selected_item(fm)
{
	// y-a-t-il des éléments sélectionnés ?		
	n = (fm.elements.length)-1;
	var nb=0;
	var selected_id="";
	for(i=0;i<=n;i++)	{
		if (fm.elements[i].id == "supprimer" && fm.elements[i].checked)	{
			selected_id = fm.elements[i].value;
			nb = nb+1;
		}
	}
	if (nb==0)	{
		alert("Veuillez sélectionner un élément dans la liste");
		return false;
	} else if (nb>1) {
		alert("Veuillez ne sélectionner qu'un seul élément dans la liste");
		return false;
	} else {
		return(selected_id);
	}
}        

//--------------------------------
// Confirmation avant suppression
//--------------------------------
function confirm_suppr(fm)
{
	// y-a-t-il des éléments sélectionnés ?		
	n = (fm.elements.length)-1;
	var nb;
	nb=0;
	for(i=0;i<=n;i++)	{
		if (fm.elements[i].id == "supprimer" && fm.elements[i].checked)	{
			nb = nb+1;
		}
	}
	if (nb==0)	{
		alert("Vous n'avez sélectionné aucun élément.");
		return false;
	} else if (nb==1)	{
		msg = "Souhaitez-vous vraiment supprimer la ligne sélectionnée ?";
	} else	{
		msg = "Souhaitez-vous vraiment supprimer les lignes sélectionnées ?";
	}
   var poursuivre = confirm(msg);
	if (poursuivre)
		return true;
	else
		return false;
}        


//------------------------------------------------------------------------------------------
// Ouvre une fenêtre popup affichant les enregistrements de la table maitre (relation 1 à n)
function open_pp_maitre(url,fenetre,params) {
  fille=window.open(url,fenetre,params);
}       

//------------------------------------------------------------------------------------------
// Ouvre une fenêtre popup affichant les enregistrements d'une relation n à n
function open_pp_nn(url,fenetre,params) {
  fille=window.open(url,fenetre,params);
}  

function openWindow(url,fenetre,params) { //v2.0
  fille=window.open(url,fenetre,params);
}

function afficheMaxi(chemin)
	{
	i1 = new Image;
	i1.src = chemin;
	html = '<HTML><HEAD><TITLE>Image</TITLE></HEAD><BODY LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0><CENTER><IMG SRC="'+chemin+'" BORDER=0 NAME=imageTest onLoad="window.resizeTo(document.imageTest.width+14,document.imageTest.height+32)"></CENTER></BODY></HTML>';
	popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=0,resizable=1');
	popupImage.document.open();
	popupImage.document.write(html);
	popupImage.document.close()
	};


/*
// Retour à la page "url"
function f_submit(url) 
{
	document.form1.action = url;
	document.form1.submit();
	return true;
}
*/

// Rollover : OnMouseOver
function fRollChange(obj, img_f2)
{
	obj.src=img_f2;
}

// Rollover : OnMouseOut
function fRollRestore(obj, img)
{
	obj.src=img;
}

// Fenêtre popup pour le choix de couleurs
// label = label affichant le code couleur
// btn = bouton affichant la couleur
// fm = form contenant le label et le bouton
function popup_color_picker(label,btn,fm)
{
//alert ('../../commun/library/color_picker.php?label='+label+'&btn='+btn+'&fm='+fm);
	var width = 400;
	var height = 300;
	window.open('../../commun/library/color_picker.php?label='+label+'&btn='+btn+'&fm='+fm, 'cp', 'resizable=no, location=no, width='
				+width+', height='+height+', menubar=yes, status=yes, scrollbars=no');
}

// Ouverture d'une fenêtre popup 
function Fenetre_Roll(URL,nom,largeur,hauteur) {
	var largeurEcran = screen.availWidth;
	var hauteurEcran = screen.availHeight;
	var xbase = (largeurEcran-largeur)/2; 
	var ybase = (hauteurEcran-hauteur)/3; 
	var optionFenetre = ', top=0,left=0, status=0, directories=0, toolbar=0, location=0, menubar=0, scrollbars=1, resizable=1';
	var tailleFenetre = ('width='+largeur+',height='+hauteur + optionFenetre);
	var fenetre = window.open(URL,nom,tailleFenetre);
	fenetre.moveTo(xbase,ybase);
}

function CheckDate(d)
{
      // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
      // Le séparateur est défini dans la variable separateur
      var amin=1999; // année mini
      var amax=2005; // année maxi
      var separateur="/"; // separateur entre jour/mois/annee
      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) ) {
         alert("Le jour n'est pas correct."); ok=0;
      }
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         alert("Le mois n'est pas correct."); ok=0;
      }
      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         alert("L'année n'est pas correcte."); ok=0;
      }
      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         alert("Les séparateurs doivent être des "+separateur); 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) ) {
            alert("La date "+d+" n'existe pas !");
            ok=0;
         }
      }
      return ok;
}


//-->