/****************************************************************************************
SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV

Version 0.9.7

Copyright (C) 2006-2007  Sylvain FATOME
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program
(in the directory docs); 
if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Boston, MA  02110-1301, USA.

Contact : galawa@free.fr

Web : http://smitst.homelinux.com
****************************************************************************************/

/* Scripts divers */
<!-- Met le focus sur le premier champ disponible -->
function metFocus()
{
	if (document.forms.length==0) return;
	
	if (navigator.appVersion.indexOf("MSIE")!=-1)
	{
		// Modification des classes si sous IE
		for (f=0; f < document.forms.length; f++)
		{
			var formulaire = document.forms[f];
			for (i = 0; i < formulaire.length; i++)
			{
				var ftype=formulaire.elements[i].type;
				var fdis=formulaire.elements[i].disabled;
				if (formulaire.elements[i].readOnly)
					var fro=formulaire.elements[i].readOnly;
				else
					var fro=false;
				if ((ftype == "text") || (ftype == "textarea") || (ftype == "password") || (ftype == "select-one") || (ftype == "select-multiple") || (ftype == "select-one"))
				{
					if ((fdis==false) && (fro==false))
					{
						formulaire.elements[i].onfocus=function() {
							this.className+=" iefocus";
						}
						formulaire.elements[i].onblur=function() {
							this.className=this.className.replace(new RegExp(" iefocus\\b"), "");
						}
					}
				}
			}
		}
	}

	// Recherche du focus
	var ffound=false;
	for (f=0; f < document.forms.length; f++)
	{
		var formulaire = document.forms[f];
		for (i = 0; i < formulaire.length; i++)
		{
			var ftype=formulaire.elements[i].type;
			var fdis=formulaire.elements[i].disabled;
			if (formulaire.elements[i].readOnly)
				var fro=formulaire.elements[i].readOnly;
			else
				var fro=false;
			if ((ftype == "text") || (ftype == "textarea") || (ftype == "password") || (ftype == "select-one") || (ftype == "select-multiple") || (ftype == "select-one"))
			{
				if ((fdis==false) && (fro==false))
				{
					formulaire.elements[i].focus();
					var ffound=true;
					break;
				}
			}
		}
		if (ffound==true) break;
	}
}


<!-- Met tous les champs en "readonly" et enlève les étoiles "champ obligatoire" et le titre associé -->
function metReadonly()
{
	if (document.forms.length==0) return;
	
	for (f=0; f < document.forms.length; f++)
	{
		var formulaire = document.forms[f];
		for (i = 0; i < formulaire.length; i++)
		{
			var ftype=formulaire.elements[i].type;
			if ((ftype == "text") || (ftype == "textarea") || (ftype == "password") || (ftype == "select-one") || (ftype == "select-multiple") || (ftype == "select-one"))
			{
				formulaire.elements[i].readOnly=true;
				formulaire.elements[i].className="rubdel";
			}
		}
	}
	
	if (document.getElementById("oblig"))
	{
		var objet = document.getElementById("oblig");
		objet.style.display = 'none';
	}

	if (document.images.length==0) return;

	for (i=0; i < document.images.length; i++)
	{
		var image = document.images[i];
		var source = image.src;
		var existoblig = source.indexOf("oblig.gif", 0) 
		if (existoblig!=-1)
		{
			var nouvsource=source.substring(0,existoblig)+"none.gif";
			image.src=nouvsource;
			image.alt="";
		}
	}

}

<!-- Fonctions pour tout cocher/décocher -->
function checkall(valeur,obj) 
{
	if (valeur == "Tous")
	{
		for (i = 0; i < obj.length; i++) 
		{
			if (obj.elements[i].type == "checkbox") obj.elements[i].checked = "checked";
		}
		return "Aucun"; 
	}
	else
	{
		for (i = 0; i < obj.length; i++) 
		{
			if (obj.elements[i].type == "checkbox") obj.elements[i].checked = "";
		}
		return "Tous"; 
	}
}

<!-- Fonctions pour affecter l'état du bouton de sélection des checkbox-->
function valbouton(obj) 
{
	var allchecked=true;
	for (i = 0; i < obj.length; i++) 
	{
		if ((obj.elements[i].type == "checkbox") && (obj.elements[i].checked == false))
		{
			allchecked=false;
		}
	}
	if (allchecked==true)
	{
		return "Aucun";
	}
	else
	{
		return "Tous";
	}
}

<!-- Fonction afficher/cacher un bloc div -->
function display(idobjet,etat)
{
	var objet = document.getElementById(idobjet);
	if ((etat == 'none') || (etat == 'block'))
	{
		if (etat == 'none')
		{
			objet.style.display = 'none';
		}
		else
		{
			objet.style.display = 'block';
		}
	}
}

<!-- Fonction qui remplace un texte à l'intérieur d'un autre texte -->
function update_txt_in_txt(txtorig,txtrech,txtrempl)
{
	var nouvtxt='';
	
	if (txtorig!='')
	{
		txtorig=txtorig.split('\n');
		txtorig=txtorig.join('%%');
		txtorig = txtorig.replace(/&/g, "&amp;");
		txtorig = txtorig.replace(/</g, "&lt;");
		txtorig = txtorig.replace(/>/g, "&gt;");
		txtorig = txtorig.replace(/''/g, "&quot;" );	
		txtorig = txtorig.replace(/'/g, "&#039;");
	}
	// Récupération texte saisi avant et après le texte généré automatiquement la fois précédente
	var txtavt='';
	var txtapr='';
	if (txtrech!='')
	{
		var rech=txtorig.indexOf(txtrech);
		if (rech!=-1)
		{
			if (rech>0)
			{
				txtavt=txtorig.substr(0,rech);
			}
			txtapr=txtorig.substr(rech+txtrech.length,txtorig.length);
		}
		else
			txtavt = txtorig;
	}
	else
	{
		txtavt = txtorig;
	}
	// Si on a extrait du texte avant ou après le texte généré automatiquement au choix précédent, on le réencode
	if (txtavt!='')
	{
		txtavt = txtavt.replace(/&amp;/g, "&" );
		txtavt = txtavt.replace(/&lt;/g, "<" );
		txtavt = txtavt.replace(/&gt;/g, ">" );
		txtavt = txtavt.replace(/&quot;/g, "''" );	
		txtavt = txtavt.replace(/&#039;/g, "'" );
		txtavt = txtavt.split('%%');
		txtavt = txtavt.join('\n');
	}
	if (txtapr!='')
	{
		txtapr = txtapr.replace(/&amp;/g, "&" );
		txtapr = txtapr.replace(/&lt;/g, "<" );
		txtapr = txtapr.replace(/&gt;/g, ">" );
		txtapr = txtapr.replace(/&quot;/g, "''" );	
		txtapr = txtapr.replace(/&#039;/g, "'" );
		txtapr = txtapr.split('%%');
		txtapr = txtapr.join('\n');
	}
	//Récupération nouveau texte généré, formatage, et réinjection des textes éventuellement saisis avant et après
	if (txtrempl!='')
	{
		txt1 = txtrempl.replace(/&amp;/g, "&" );
		txt1 = txt1.replace(/&lt;/g, "<" );
		txt1 = txt1.replace(/&gt;/g, ">" );
		txt1 = txt1.replace(/&quot;/g, "''" );	
		txt1 = txt1.replace(/&#039;/g, "'" );
		var tab_txt1=txt1.split("%%");
		var nouvtxt=txtavt+tab_txt1.join("\n")+txtapr;
	}
	else
	{
		var nouvtxt=txtavt+txtapr;
	}
	
	return nouvtxt;
}

<!--  Teste la résolution écran -->
function testres()
{
	if (screen.width<1024)
		alert("SMI fonctionne correctement en 1024x768.\nSi vous utilisez une résolution inférieure, vous risquez d'avoir quelques problèmes d'affichage.");
}


<!-- Affichage du menu à onglet des relevés matériels -->
function set_mnu_rel(idmnu)
{
	var menu=document.getElementById("menu_rel");
	if (menu)
	{
		var nmnu=parseInt(idmnu.substr(1,3));
		var maxi=parseInt(document.getElementById("maxmnu").value);
		for (i=1;i<=maxi;i++)
		{
			var detailmnu="detailm"+i;
			var detailmenu=document.getElementById(detailmnu);
			var idmnu="m"+i;
			var nomenu=document.getElementById(idmnu);
			if ((detailmenu) && (nomenu))
			{
				if (i==nmnu)
				{
					detailmenu.style.display = 'block';
					nomenu.className = 'ongleta';
				}
				else
				{
					detailmenu.style.display = 'none';
					nomenu.className = 'ongleti';
				}
			}
		}
		document.getElementById("close_menu").style.display = 'inline';
	}
}

<!-- Fermeture du menu à onglet des relevés matériels -->
function close_mnu_rel()
{
	var menu=document.getElementById("menu_rel");
	if (menu)
	{
		var maxi=parseInt(document.getElementById("maxmnu").value);
		for (i=1;i<=maxi;i++)
		{
			var detailmnu="detailm"+i;
			var detailmenu=document.getElementById(detailmnu);
			var idmnu="m"+i;
			var nomenu=document.getElementById(idmnu);
			if ((detailmenu) && (nomenu))
			{
				detailmenu.style.display = 'none';
				nomenu.className = 'ongleti';
			}
		}
		document.getElementById("close_menu").style.display = 'none';
	}
}

<!-- Affichage du menu à onglet de l'index agences -->
function set_mnu_ageidx(idmnu)
{
	var menu=document.getElementById("menu_ageidx");
	if (menu)
	{
		var nmnu=parseInt(idmnu.substr(1,3));
		var maxi=3;
		for (i=1;i<=maxi;i++)
		{
			var detailmnu="detailm"+i;
			var detailmenu=document.getElementById(detailmnu);
			var idmnu="m"+i;
			var nomenu=document.getElementById(idmnu);
			if ((detailmenu) && (nomenu))
			{
				if (i==nmnu)
				{
					detailmenu.style.display = 'block';
					nomenu.className = 'ongleta';
				}
				else
				{
					detailmenu.style.display = 'none';
					nomenu.className = 'ongleti';
				}
			}
		}
	}
}

<!-- Affichage du menu à onglet de l'index centre de gestion -->
function set_mnu_sgeidx(idmnu)
{
	var menu=document.getElementById("menu_sgeidx");
	if (menu)
	{
		var nmnu=parseInt(idmnu.substr(1,3));
		var maxi=3;
		for (i=1;i<=maxi;i++)
		{
			var detailmnu="detailm"+i;
			var detailmenu=document.getElementById(detailmnu);
			var idmnu="m"+i;
			var nomenu=document.getElementById(idmnu);
			if ((detailmenu) && (nomenu))
			{
				if (i==nmnu)
				{
					detailmenu.style.display = 'block';
					nomenu.className = 'ongleta';
				}
				else
				{
					detailmenu.style.display = 'none';
					nomenu.className = 'ongleti';
				}
			}
		}
	}
}


<!-- Mise en majuscules des premières lettres de chaque mot, et les autres en minuscules -->
function ucWords(chaine, avectirets) {
var valeur="";
if ((chaine) && (chaine!=""))
{
	valeur = chaine.toLowerCase();

	// Analyse des mots séparés par des espaces
	var mots = valeur.split(' ');
	for(var i = 0; i < mots.length; i++)  
	{
		if(mots[i].length > 1) 
		{
			carac = mots[i].split('');
			carac[0] = carac[0].toUpperCase();
			mots[i] = carac.join('');
		} 
		else 
		{
			mots[i] = mots[i].toUpperCase();
		} 
	}
	valeur = mots.join(' ');
	
	if ((avectirets) && ((avectirets==false) || (avectirets==true)))
	{
		if (avectirets==true)
		{
			// Analyse des mots séparés par des tirets (si demandé)
			var mots = valeur.split('-');
			for(var i = 0; i < mots.length; i++) 
			{
				if(mots[i].length > 1) 
				{
					carac = mots[i].split('');
					carac[0] = carac[0].toUpperCase();
					mots[i] = carac.join('');
				} 
				else 
				{
					mots[i] = mots[i].toUpperCase();
				}
			}
			valeur = mots.join('-');
		}
	}
}
return valeur;
}