// JavaScript Document
	// Fonction de vérification de champs passés par formulaire
	// Vérifier que les champs obligatoires sont bien remplis
	//
	//        champs                = tableau des noms et libelles des champs obligatoires
	//	  forme			= nom du formulaire
	//        message               = début du message d'erreur (genre 'vous devez renseigner ') avec un espace à la fin
	//
	function CheckSetForm (champs,forme,message)
	{
		// Initialisations
		var ret = true;
		// parcours du tableau
		for (var i=0; i < champs.length && ret==true; i++)
		{

			// test sur le champs
			
			// champs texte
			var typeChamp = "";

			nomChamp = eval("document."+forme+"."+champs[i][0]);
			libelle = eval(champs[i])[1];
			
			if (nomChamp.type)
			{
				typeChamp = nomChamp.type;
			}
			else if (nomChamp.length > 1)
			{
				typeChamp = nomChamp[0].type;
			}
			else continue;
			//alert(typeChamp);
			
			// ***************************************************
			// controle sur un champ de type imput text, textarea, file
			// ***************************************************
			if (typeChamp=='text' || typeChamp=='textarea' || typeChamp=='file')
			{
				var libelle = eval(champs[i])[1];
	
				if (nomChamp.value.length == 0)
				{
					alert (message + libelle + " ...");
					nomChamp.focus();
					ret = false;
					//break;
				}
			}
			

			// *****************************************************
			// controle sur les champs de type liste :
			// *****************************************************
			
			// radio
			else if (typeChamp=='radio')
			{
				var selected=false;
				
				for (j=0; j<nomChamp.length && selected==false; j++)
				{
					selected = nomChamp[j].checked;
				}
				
				if (!selected)
				{
					alert (message + libelle + " ...");
					//nomChamp.focus();
					ret = false;
					//break;
				}
			}
			
			// select-one, select-multiple
			else if (typeChamp.search('select')>=0)
			{
				var selected=false;
				
				for (j=0; j<nomChamp.length && selected==false; j++)
				{
					selected = nomChamp[j].selected;
				}
				
				if (!selected)
				{
					alert (message + libelle + " ...");
					nomChamp.focus();
					ret = false;
					//break;
				}
			}

		}
		// Retour traitement
		return (ret);
	}

    
    function getElement(aID)
    {
        return (document.getElementById) ?
            document.getElementById(aID) : document.all[aID];
    }

    function getIFrameDocument(aID){ 
        var rv = null; 
        var frame=getElement(aID);
        // if contentDocument exists, W3C compliant (e.g. Mozilla) 

        if (frame.contentDocument)
            rv = frame.contentDocument;
        else // bad IE  ;)

            rv = document.frames[aID].document;
        return rv;
    }

    function adjustMyFrameHeight(id, offset)
    {
        var frame = getElement(id);
        var frameDoc = getIFrameDocument(id);
        frame.height = frameDoc.body.offsetHeight+offset;
    }
