		function identPlateform(){
			PLATEFORM=getPlateform();
			agent=navigator.userAgent.toLowerCase();
			ismac=(agent.indexOf('mac')!=-1);
			isopera=(agent.indexOf('opera')!=-1);
			isieever=parseFloat(agent.substring(agent.indexOf('msi')+ 5));
			isie=(agent.indexOf('msie')!=-1 && !isopera && (agent.indexOf('webtv')==-1) && !ismac);
			isie5win=(isie && isieever==5);
			isiemmac=((agent.indexOf("msie")!=-1) && ismac);
			if(document.getElementById){
				isID=1;isDHTML=1;
			}else{
				if(document.all){
					isAll=1;isDHTML=1;
				}else{
					browserVersion=parseInt(navigator.appVersion);
					if((navigator.appName.indexOf('Netscape')!=-1) && (browserVersion==4)){
						isLayers=1;isDHTML=1;
					}
				}
			}
			sendData(PLATEFORM);
		}

		//	-------------------------------------------------------------------------------------------------------------------
		//	date				:		13/12/2005
		//	Auteur			:		Actioncom
		//	Methode de gestion d'une libération d'objet concurrent
		//	-------------------------------------------------------------------------------------------------------------------
		function findDOM(objectID,withStyle){
			if(withStyle==1){
				if(isID){ 
					try {
						return(document.getElementById(objectID).style); 
					}catch(e){
						alert("Impossible de localiser l'objet ayant pour ID "+objectID);
					}
				}else{
					if(isAll){ 
						return(document.all[objectID].style); 
					}else{ 
						if(isLayers){return(document.layers[objectID]);}
					};
				}
			}else{
				if(isID){ 
					return(document.getElementById(objectID)); 
				}else{
					if(isAll){ 
						return(document.all[ objectID]); 
					}else{ 
						if(isLayers){return(document.layers[objectID]);}
					};
				}
			}
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function compter(target, nomchamp){
			nomchamp.value = target.value.length;
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function MM_openBrWindow(theURL,winName,features){
			f = features + ",resizable";
			id_fen=window.open(theURL,winName,f);
			id_fen.focus();
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function showCalque(){
			var i, p, v, obj, args=showCalque.arguments;
			if ( oldDomMenu ) {
				if (oldDomMenu.style) {
					oldDomMenu.visibility = 'hidden';
				}
			}
			for ( i = 0 ; i < ( args.length-2 ) ; i += 3 ) {								// analyse des arguments
				if ( ( obj = searchObject ( args [ i ] ) ) != null ) {				// recherche des objets
					v = args [ i + 2 ] ;
					if ( obj.style ) {
						obj = obj.style ;
						v = ( v=='show') ? 'visible' : (v=='hide') ? 'hidden': v;
					}
					obj.visibility = v; 
				}
			}
		}

		function showCalque(objectID,v) {
			var obj;
			obj = findDOM(objectID,0);
			if ( obj.style ) {
				obj = obj.style ;
				v = ( v == 'show' ) ? 'visible' : ( v == 'hide' ) ? 'hidden' : v ;
			}
			obj.visibility = v;
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function searchObject(n, d){
			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;
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function printWindow(){
			window.print();
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function changePage(){
			var args = changePage.arguments;
			for ( i = 2; i < (args.length); i++ ) { showCalque(args[i], '', 'hide'); }
			showCalque(args[0], '', 'show');
			document.gestcom_fiche.currentpage.value = args[1];
		}

		//	-------------------------------------------------------------------------------------------------------------------
		//	version			:		0.1
		//	date				:		13/12/2005
		//	Auteur			:		Actioncom
		//	Méthode retournant un objet XML
		//	-------------------------------------------------------------------------------------------------------------------
		function getPlateform(){
			if(window.XMLHttpRequest)PLATEFORM=2;
			else if(window.ActiveXObject)PLATEFORM=1;
			else{
				PLATEFORM=3;
				alert ( "Impossible d'identifier votre navigateur !" ) ;
			}
			return PLATEFORM ;
		}

		function initRequest(){
			if(window.ActiveXObject){
				return new ActiveXObject("Microsoft.XMLHTTP");
			}else if(window.XMLHttpRequest){
				return new XMLHttpRequest();
			} else alert ( "Impossible de soumettre la requête à notre serveur !" ) ;
		}
		//	-------------------------------------------------------------------------------------------------------------------
		/*
		*		méthode appelée lorsque l'utilisateur demande l'ajout d'un MPCaracteristique ou d'un MFTexte
		*/
		function add(PLATEFORM,cible,id,cmde,value,page,source){
			var url="/gauvain/AjaxEvenement.html?noos="+cible+"&id="+id+"&cmde="+cmde+"&value="+value+"&page="+page;
			var request=initRequest();
			request.onreadystatechange = function () {
				if ( request.readyState == 4 ) {
					if ( request.status == 200 ) {
						var result=parseXml(request,"messages");
						if ( result != null ) {
							var obj=findDOM(source,0);
							var tableau = getTableau("debut",result);
							if (obj) obj.innerHTML=tableau;
						} else alert("Attention : le resultat de la demande auprès du serveur à retourné un objet null !\n\nMerci de signaler ce problème !\n" ) ;
					} else if ( request.status == 204 ) {
					}
				}
			}
			request.open("POST",url,true);
			request.send(null);
		}

		//	-------------------------------------------------------------------------------------------------------------------
		/* Retourne le tableau correspondant aux valeurs contenues dans la hashtable */
		function	getTableau(sommet,h){
			var			result					=			"" ,
							ext							=			"" ;
			var			openrow					=			0 ;
			var			keys						=			h.keys () ;
			for ( var i = 0 ; i < keys.length ; i ++ ) {
				var		key							=			keys [ i ] ;
				var		value						=			h.get ( key ) ;
				if ( value instanceof Hashtable ) {
					result 							+=		getTableau ( key , value ) ;
				} else {
					if ( key == "id" ) {
						if ( openrow == 1 ) result += "<br>\n" ;
						if ( sommet.indexOf ( "extension" ) != -1 ) result += getBoutonOpen ( h.get ( key ) , h.get ( "type" ) ) ;
						openrow = 1 ;
					} else result += "&nbsp;&nbsp;" + h.get ( keys [ i ] ) + "\n" ;
				}
			}
			if ( openrow == 1 ) result += "<br>\n" ;
			return result ;
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function	getBoutonSupp ( id ) {
			return "<input type=\"submit\" name=\"bsupp_" + id + "\" value=\"\" class=\"corbeille\" onClick=\"javascript:unlockactif=false\" title=\"suppression de " + id + "\">\n" ;
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function	getBoutonOpen ( id , type ) {
			if ( type == "information" ) return "<a href=\"traitementProduit.html?ID=" + id + "&LISTE=listeProduit\" title=\"ouverture de " + id + "\"><img src=\"../imgnode/open.png\" border=\"0\"></a>\n" ;
			if ( type == "population" ) return "<a href=\"traitementWau.html?ID=" + id + "&LISTE=listeWau\" title=\"ouverture de " + id + "\"><img src=\"../imgnode/open.png\" border=\"0\"></a>\n" ;
		}

    //  -------------------------------------------------------------------------------------------------------------------
		/*
		*   méthode appelée lorsque l'utilisateur à demandé un changement dans un block inco elco
		*/
		function elcoEvent ( PLATEFORM , obj , cmde , value , action ) {
			var url                     =       "/gauvain/AjaxEvenement.html?noos=ELCO&id=" + obj.value + "&cmde=" + cmde + "&value=" + value + "&action=" + action ;
			var request                 =       initRequest();// url , PLATEFORM ) ;

			//  Traitement de la réponse
			request.onreadystatechange = function () {
				if ( request.readyState == 4 ) {
					//  Détection d'une réponse de la servlet
					if ( request.status == 200 ) {
						var xml = parseXml ( request , "elco" ) ;
						updateElco ( xml ) ;
					} else if ( request.status == 204 ) {

					}
				}
			}
			request.open ( "POST" , url , true ) ;
			request.send ( null ) ;
		}

		//	-------------------------------------------------------------------------------------------------------------------
		function sendData(plateform){
			var	url="/gauvain/Navigator.html?PLATEFORM=" + escape ( plateform ) +
																																	"&isID=" +												escape ( isID ) + 
																																	"&isAll=" +												escape ( isAll ) + 
																																	"&isLayers=" +										escape ( isLayers ) + 
																																	"&isDHTML=" +											escape ( isDHTML ) + 
																																	"&browserVersion=" +							escape ( browserVersion ) + 
																																	"&oldDomMenu=" +									escape ( oldDomMenu ) +
																																	"&agent=" +												escape ( agent ) + 
																																	"&isMac=" +												escape ( isMac ) +
																																	"&isOpera=" +											escape ( isOpera ) +
																																	"&isIEever=" +										escape ( isIEever ) +
																																	"&isIE=" +												escape ( isIE ) +
																																	"&isIE5win=" +										escape ( isIE5win ) +
																																	"&isIEMmac=" +										escape ( isIEMmac ) ;
	
			var request																					=				initRequest();// url , PLATEFORM )												;

			request.open ( "POST" , url , true ) ;
			request.send ( null ) ;
		}

		//	-------------------------------------------------------------------------------------------------------------------
		/* méthode appelée lorsque l'utilisateur à demandé un changement dans un block inco d'un noeud d'arborescence */
		function modifyMS(id,cmde,value,action){
			var url="/gauvain/AjaxEvenement.html?noos=MODIFY&id="+id+"&cmde="+cmde+"&value="+value+"&action="+action;
			var request=initRequest();
			request.onreadystatechange=function(){
				if ( request.readyState == 4 ) {
					if ( request.status == 200 ) {
						var reponse = request.responseText ;
						if ( reponse == "EXECUTE_UPDATE" ) {}
					} else if ( request.status == 204 ) {
					}
				}
			}
			request.open("POST",url,true);
			request.send(null);
		}

		//	-------------------------------------------------------------------------------------------------------------------
		/* méthode appelée lorsque l'utilisateur à demandé un changement dans un block inco d'un noeud d'arborescence */
		function codetexteControle(id,cmde,value,action){
			var url="/gauvain/AjaxEvenement.html?noos=CODETEXTECONTROLE&id="+id+"&cmde="+cmde+"&value="+value+"&action="+action;
			var request=initRequest();// url , getPlateform () ) ;
			request.onreadystatechange=function(){
				if(request.readyState==4){
					if(request.status==200){
						if(request.responseText=="CODE_TEXTE_INVALID"){
							alert("le code n'est pas le bon !");
							return 1;
						}else return 0;
					}else if(request.status==204){
					}
				}
			}
			request.open("POST",url,false);
			request.send(null);
		}

		//	-------------------------------------------------------------------------------------------------------------------
		/**
		*		ActionCom - 2007-10-11 - Eric REYNIER
		*		Méthode de vérification du contenu du champs 'value' de l'objet passé en paramètre
		*		Si le champ 'value' est vide ( longueur = 0 ), alors le message passé en paramètre
		*		est affiché dans un dialogue d'alerte
		*/
		var verification_ok = 0 ;
		function verificationNonVide ( obj , msg ) {
			if ( obj.value.length == 0 ) {
				alert ( msg ) ;
				verification_ok = 1 ;
			} else verification_ok = 0 ;
		}

		function verificationNonVideByNom ( nom , msg ) {
			var obj = findDOM ( nom , 0 ) ;
			if ( obj.value.length == 0 ) {
				alert ( msg ) ;
				verification_ok = 1 ;
			} else verification_ok = 0 ;
		}

		function verificationEmail ( obj , msg ) {
			if ( obj.value.length == 0 ) {
				alert ( msg ) ;
				verification_ok = 1 ;
				return ;
			} 

			if ( obj.value.indexOf ( "@" ) == -1 || obj.value.indexOf ( "." ) == -1 ) {
				alert ( msg ) ;
				verification_ok = 1 ;
				return ;
			}
		}

		/**
		*   Actioncom - Eric REYNIER - 2008-07-02
		*   Affichage / masquage d'un sous niveau de menu
		*   param id le block à afficher ou masquer
		*   param img l'image à afficher si ouvert ou si fermer
		*   param imgopen l'url vers l'image 'ouvert'
		*   param imgclose l'url vers l'image 'close'
		*/
		function displayMenu(thetab,id,img){
			//	Recherche de l'élément sur lequel l'internaute a cliqué
			var menuopen=null,niveauopen=null;
			for(var i=1;i<thetab.length;i++){
				if(thetab[i][0]==id){
					menuopen=thetab[i][0];
					niveauopen=thetab[i][1];
					break;
				}
			}
			//  On ferme tous les menus déjà ouverts
			for(var i=1;i<thetab.length;i++){
				if(thetab[i][0]!=menuopen && thetab[i][1]==niveauopen){
					var sm=findDOM(thetab[i][0],0);
					if(sm){
						sm.style.display='none';
						var simg=findDOM(thetab[i][0]+"_img",0);
						if(simg)simg.src=lpfclose;
						var sa=findDOM(thetab[i][0]+"_a",0);
						try{if(sa)sa.style=lieninactif;}catch(e){}
					}
				}
			}
			var obj=findDOM(id,0);
			if(obj && obj.style){
				//  Le div est masqué, on l'affiche
				if(obj.style.display=='none'){
					obj.style.display='block';
					img.src=lpfopen;
					var sa=findDOM(menuopen+"_a",0);
					try{if(sa)sa.style=lienactif;}catch(e){}
					return;
				}
				//  Le div est visible, on le masque
				if(obj.style.display=='block'){
					obj.style.display='none' ;
					img.src=lpfclose;
					var sa=findDOM(menuopen+"_a",0);
					try{if(sa)sa.style=lieninactif;}catch(e){}
					return;
				}
			}

			//  Par défaut ( c'est à dire si le block ne possède pas de style CSS ) on l'ouvre.
			//  Cela est indispensable pour l'initialisation lors du premier click
			obj.style.display='block';
			img.src=lpfopen ;
		}


		function Suppression(message,nofd,id) {
			if(confirm("voulez vous vraiment supprimer "+message)){
				var obj=findDOM(nofd,0);
				if(obj){
					var url="/gauvain/Suppression.html?noos=SUPPRESSION&selid="+id+"&obj="+nofd;
					var request=initRequest();//url,getPlateform());
					request.onreadystatechange=function(){
						if(request.readyState==4){
							if(request.status==200){
								alert(request.responseText);
								window.location.reload(true);
							}else if(request.status==204){}
						}
					}
					request.open("POST",url,true);
					request.send(null);
				}
			}
		}

		function ecranattente(noe){
			var obj=findDOM("page",0);
			var contenu=obj.innerHTML;
			contenu+="<div style=\"position:absolute;top:-20px;left:0;width:100%;height:200%;z-index:2000\">";
			contenu+="<div style=\"position:absolute;top:0;left:0;width:100%;height:100%;background-color:#312e1d;filter:alpha(opacity=80);-moz-opacity:0.80;opacity:0.80\">&nbsp;</div>";
			contenu+="<center style=\"position:absolute;top:200px;left:25%;width:50%;height:100px;background-color:#fff\">";
			contenu+="<h1 style=\"margin:20px\">Merci de bien vouloir patienter !</h1>";
			contenu+="<img src=\"gauvain/images/loading.gif\">";
			contenu+="</center>";
			contenu+="</div>";
			obj.innerHTML=contenu;
		}


