﻿/*
* Module de gestion de l'objet Upload
* Utilisé dans le runtime.
* Utilise les fichiers js :
* - AWSControlScript.js
* - AWSGlobals.js
* ATTENTION : FICHIER A SAUVEGARDER TOUJOURS EN UTF-8
*/


// IFrame servant de destination a la soumission d'un formulaire d'upload
var awsUploadIFrame = null;
// ID de l'iframe servant de destination a la soumission d'un formulaire d'upload
var ID_UPLOAD_IFRAME = "UploadAWSIFrame";

function addParameter (form, paramName, paramValue)
{
	var adeliaParam = window.document.createElement('input');
	adeliaParam.setAttribute('name', paramName);
	adeliaParam.setAttribute('type', 'hidden');
	adeliaParam.setAttribute('value', paramValue);
	form.appendChild(adeliaParam);
}


function uploadFiles(formName, pgmName, windowName, objectName, eventName, validate, pageEncoding)
{
   var formObj = document.forms[formName], tabInput;

	if ((formObj.enctype && (formObj.enctype == 'multipart/form-data')) ||
   	(formObj.encoding && (formObj.encoding == 'multipart/form-data')))
	{
		var action, eltiFrame, adeliaParam, maxSizeUpload, cookieValue = '', lstName = '';      
				
		maxSizeUpload = formObj.getAttribute('uploadmaxsize');
      if ((maxSizeUpload == null) || (maxSizeUpload == ''))
      	maxSizeUpload = '-1';
		
      formObj.target = ID_UPLOAD_IFRAME;      
		action = formObj.action;		
      formObj.action = AWSCONTEXT_PATH + '/AdeliaUploadServlet';				
      
      // On passe ces valeurs dans un cookie car on a besoin de les recuperer
      // avant traitement de la request par la classe ServletFileUpload pour
      // gerer les erreurs
      
      // Ajout du max size
      cookieValue += maxSizeUpload + '#';
      // Ajout du nom de pgm
      cookieValue += pgmName + '#';
      // Ajout de l'action
      cookieValue += action + '#';
      // Ajout de windowName
		cookieValue += windowName + '#';
		// Ajout de objectName
		cookieValue += objectName + '#';
		// Ajout de eventName
		cookieValue += eventName + '#';
      // Ajout de formName
		cookieValue += formName + '#';
		// Ajout de validate
      cookieValue += validate + '#';

		// Ajout des noms des input file
      tabInput = formObj.getElementsByTagName('input');
      // on construit la liste des noms des champs de type input file
      // separes par un espace
      for (var i = 0; i < tabInput.length; i++)
      {
         if (tabInput[i].type && tabInput[i].type.toLowerCase() == 'file')
         {            
            if (lstName == '')
            	lstName += tabInput[i].name;
				else
            	lstName += ' ' + tabInput[i].name;
         }
      }
      cookieValue += lstName + '#';
      // Ajout de l'encoding de la page : celui fixe par la scriplet request.setCharacterEncoding en debut de jsp
      // Cela permet, dans la servlet d'upload, de fixer l'encoding de la request avant de recuperer ces parametres
      // Si on a un nom de fichier avec accents, il est bien recuperer
      cookieValue += pageEncoding;

      if (encodeURIComponent)
      	// encodeURIComponent permet d'encoder les car en Unicode => Dans la servlet d'upload, on les decode en utilisant UTF-8 comme encoding
         // Ex: le car é est bien traduit
      	document.cookie = 'AdeliaUploadServlet=' + encodeURIComponent(cookieValue) + ';path=' + AWSCONTEXT_PATH + '/AdeliaUploadServlet';
		else
      	// Pour les anciens navigateurs (IE 5, 5.5)
         // escape code les car accentues avec le code hexa de l'encoding de la plateforme du navigateur (ex: iso-8859-1) et pas celui
         // de la page !
         // => Dans la servlet d'upload, on les decode en utilisant UTF-8 comme encoding (il faudrait recuperer le bon encoding, comment ?)
         // Ex: le car é est mal traduit
      	document.cookie = 'AdeliaUploadServlet=' + escape(cookieValue) + ';path=' + AWSCONTEXT_PATH + '/AdeliaUploadServlet';

		return true;
	}
	return false;
}

function getPgmNameFromJsCallOnEvent (jsCallOnEventFctName)
{
	return jsCallOnEventFctName.substring('js_callOnEvent_'.length);
}

function createUploadIFrame()
{	
	if (awsUploadIFrame == null)
	{
      var tab = document.getElementsByTagName('input');
      var createIFrame = false;
      for (var i = 0; i < tab.length; i++)
      {
         if (tab[i].type && tab[i].type.toLowerCase() == 'file')
         {
            createIFrame = true;
            break;
         }
      }
      if (createIFrame)
      {
			// on ne peut pas creer l'iframe en dynamique (via createElement) car ca ne marche pas en IE 5.0
	   	document.write('<' + 'iframe id="' + ID_UPLOAD_IFRAME + '" name="' + ID_UPLOAD_IFRAME + '" style="visibility:hidden;display:none"><\/iframe>');
			awsUploadIFrame = document.getElementById(ID_UPLOAD_IFRAME);
      }
	}
}

function setDefaultEnctypeForm (formName, Upload)
{
   var objForm = document.forms[formName];

   if (! Upload && ((objForm.enctype && (objForm.enctype == 'multipart/form-data')) ||
   	(objForm.encoding && (objForm.encoding == 'multipart/form-data'))))
   {
      if (objForm.enctype)
      	objForm.enctype = 'application/x-www-form-urlencoded';

		if (objForm.encoding)
			objForm.encoding = 'application/x-www-form-urlencoded';
   }
}

// La fonction createUploadIFrame est executee a la fin du body
// Impossible de la mettre sur le onload du body car on fait un document.write
BodyLoaded.addExec('createUploadIFrame();');


var HASHTABLE_MIME_TYPE = {};
// APPLICATION
HASHTABLE_MIME_TYPE['application/acad'] = ['dwg'];
HASHTABLE_MIME_TYPE['application/aom'] = ['aom'];
HASHTABLE_MIME_TYPE['application/astound'] = ['asd', 'asn'];
HASHTABLE_MIME_TYPE['application/cdf'] = ['cdf'];
HASHTABLE_MIME_TYPE['application/clariscad'] = ['ccad'];
HASHTABLE_MIME_TYPE['application/drafting'] = ['drw'];
HASHTABLE_MIME_TYPE['application/dsptype'] = ['tsp'];
HASHTABLE_MIME_TYPE['application/dxf'] = ['dxf'];
HASHTABLE_MIME_TYPE['application/envoy'] = ['evy'];
HASHTABLE_MIME_TYPE['application/fractals'] = ['fif']
HASHTABLE_MIME_TYPE['application/futuresplash'] = ['spl'];
HASHTABLE_MIME_TYPE['application/gzip'] = ['gz'];
HASHTABLE_MIME_TYPE['application/hdf'] = ['hdf'];
HASHTABLE_MIME_TYPE['application/hta'] = ['hta'];
HASHTABLE_MIME_TYPE['application/iges'] = ['igs', 'iges'];
HASHTABLE_MIME_TYPE['application/internet-property-stream'] = ['acx'];
HASHTABLE_MIME_TYPE['application/i-deas'] = ['unv'];
HASHTABLE_MIME_TYPE['application/listenup'] = ['ptlk'];
HASHTABLE_MIME_TYPE['application/mac-binhex40'] = ['hqx'];
HASHTABLE_MIME_TYPE['application/mbedlet'] = ['mbd'];
HASHTABLE_MIME_TYPE['application/mif'] = ['mif'];
HASHTABLE_MIME_TYPE['application/msaccess'] = ['mdb'];
HASHTABLE_MIME_TYPE['application/msexcel'] = ['xls', 'xla'];
HASHTABLE_MIME_TYPE['application/mshelp'] = ['hlp', 'chm'];
HASHTABLE_MIME_TYPE['application/mspowerpoint'] = ['pot', 'pps', 'ppt', 'ppz'];
HASHTABLE_MIME_TYPE['application/msword'] = ['doc', 'dot'];
HASHTABLE_MIME_TYPE['application/octet-stream'] = ['*', 'bin', 'class', 'dms', 'exe', 'lha', 'lzh', 'com', 'dll'];
HASHTABLE_MIME_TYPE['application/oda'] = ['oda'];
HASHTABLE_MIME_TYPE['application/olescript'] = ['axs']; 
HASHTABLE_MIME_TYPE['application/pdf'] = ['pdf'];
HASHTABLE_MIME_TYPE['application/pics-rules'] = ['prf'];
HASHTABLE_MIME_TYPE['application/pkcs10'] = ['p10'];
HASHTABLE_MIME_TYPE['application/pkix-crl'] = ['crl'];
HASHTABLE_MIME_TYPE['application/postscript'] = ['ai', 'eps', 'ps'];
HASHTABLE_MIME_TYPE['application/pro_eng'] = ['prt'];
HASHTABLE_MIME_TYPE['application/rtc'] = ['rtc'];
HASHTABLE_MIME_TYPE['application/rtf'] = ['rtf'];
HASHTABLE_MIME_TYPE['application/set'] = ['set'];
HASHTABLE_MIME_TYPE['application/set-payment-initiation'] = ['setpay'];
HASHTABLE_MIME_TYPE['application/set-registration-initiation'] = ['setreg'];
HASHTABLE_MIME_TYPE['application/sla'] = ['stl'];
HASHTABLE_MIME_TYPE['application/solids'] = ['dwg'];
HASHTABLE_MIME_TYPE['application/step'] = ['step'];
HASHTABLE_MIME_TYPE['application/studiom'] = ['smp'];
HASHTABLE_MIME_TYPE['application/toolbook'] = ['tbk'];
HASHTABLE_MIME_TYPE['application/vda'] = ['vda'];
HASHTABLE_MIME_TYPE['application/vnd.ms-excel'] = ['xla', 'xlc', 'xlm', 'xls', 'xlt', 'xlw'];
HASHTABLE_MIME_TYPE['application/vnd.ms-pkicertstore'] = ['sst'];
HASHTABLE_MIME_TYPE['application/vnd.ms-pkiseccat'] = ['cat'];
HASHTABLE_MIME_TYPE['application/vnd.ms-pkistl'] = ['stl'];
HASHTABLE_MIME_TYPE['application/vnd.ms-powerpoint'] = ['pot', 'pps', 'ppt'];
HASHTABLE_MIME_TYPE['application/vnd.ms-project'] = ['mpp'];
HASHTABLE_MIME_TYPE['application/vnd.ms-works'] = ['wcm', 'wdb', 'wks', 'wps'];
HASHTABLE_MIME_TYPE['application/vnd.wap.wmlc'] = ['wmlc'];
HASHTABLE_MIME_TYPE['application/vocaltec-media-desc'] = ['vmd'];
HASHTABLE_MIME_TYPE['application/vocaltec-media-file'] = ['vmf'];
HASHTABLE_MIME_TYPE['application/winhlp'] = ['hlp'];
HASHTABLE_MIME_TYPE['application/x-bcpio'] = ['bcpio']; 
HASHTABLE_MIME_TYPE['application/x-cdf'] = ['cdf'];
HASHTABLE_MIME_TYPE['application/x-compress'] = ['z']; 
HASHTABLE_MIME_TYPE['application/x-compressed'] = ['tgz'];
HASHTABLE_MIME_TYPE['application/x-cpio'] = ['cpio'];
HASHTABLE_MIME_TYPE['application/x-csh'] = ['csh'];
HASHTABLE_MIME_TYPE['application/x-director'] = ['dcr', 'dir', 'dxr'];
HASHTABLE_MIME_TYPE['application/x-dvi'] = ['dvi'];
HASHTABLE_MIME_TYPE['application/x-envoy'] = ['evy'];
HASHTABLE_MIME_TYPE['application/x-gtar'] = ['gtar'];
HASHTABLE_MIME_TYPE['application/x-gzip'] = ['gz'];
HASHTABLE_MIME_TYPE['application/x-hdf'] = ['hdf'];
HASHTABLE_MIME_TYPE['application/x-httpd-php'] = ['php', 'phtml'];
HASHTABLE_MIME_TYPE['application/x-internet-signup'] = ['ins', 'isp'];
HASHTABLE_MIME_TYPE['application/x-iphone'] = ['iii'];
HASHTABLE_MIME_TYPE['application/x-javascript'] = ['js']; 
HASHTABLE_MIME_TYPE['application/x-java-jnlp-file'] = ['jnlp'];
HASHTABLE_MIME_TYPE['application/x-latex'] = ['latex'];
HASHTABLE_MIME_TYPE['application/x-mif'] = ['mif'];
HASHTABLE_MIME_TYPE['application/x-msaccess'] = ['mdb'];
HASHTABLE_MIME_TYPE['application/x-mscardfile'] = ['crd'];
HASHTABLE_MIME_TYPE['application/x-msclip'] = ['clp'];
HASHTABLE_MIME_TYPE['application/x-msdownload'] = ['dll'];
HASHTABLE_MIME_TYPE['application/x-msmediaview'] = ['m13', 'm14', 'mvb'];
HASHTABLE_MIME_TYPE['application/x-msmetafile'] = ['wmf'];
HASHTABLE_MIME_TYPE['application/x-msmoney'] = ['mny'];
HASHTABLE_MIME_TYPE['application/x-mspublisher'] = ['pub'];
HASHTABLE_MIME_TYPE['application/x-msschedule'] = ['scd'];
HASHTABLE_MIME_TYPE['application/x-msterminal'] = ['trm'];
HASHTABLE_MIME_TYPE['application/x-mswrite'] = ['wri'];
HASHTABLE_MIME_TYPE['application/x-netcdf'] = ['cdf', 'nc'];
HASHTABLE_MIME_TYPE['application/x-nschat'] = ['nsc'];
HASHTABLE_MIME_TYPE['application/x-perfmon'] = ['pma', 'pmc', 'pml', 'pmr', 'pmw'];
HASHTABLE_MIME_TYPE['application/x-pkcs12'] = ['p12', 'pfx'];
HASHTABLE_MIME_TYPE['application/x-pkcs7-certificates'] = ['p7b', 'spc'];
HASHTABLE_MIME_TYPE['application/x-pkcs7-certreqresp'] = ['p7r'];
HASHTABLE_MIME_TYPE['application/x-pkcs7-mime'] = ['p7c', 'p7m'];
HASHTABLE_MIME_TYPE['application/x-pkcs7-signature'] = ['p7s'];
HASHTABLE_MIME_TYPE['application/x-sh'] = ['sh'];
HASHTABLE_MIME_TYPE['application/x-shar'] = ['shar'];
HASHTABLE_MIME_TYPE['application/x-shockwave-flash'] = ['swf', 'cab'];
HASHTABLE_MIME_TYPE['application/x-sprite'] = ['spr', 'sprite'];
HASHTABLE_MIME_TYPE['application/x-stuffit'] = ['sit'];
HASHTABLE_MIME_TYPE['application/x-supercard'] = ['sca'];
HASHTABLE_MIME_TYPE['application/x-sv4cpio'] = ['sv4cpio'];
HASHTABLE_MIME_TYPE['application/x-sv4crc'] = ['sv4crc'];
HASHTABLE_MIME_TYPE['application/x-tar'] = ['tar'];
HASHTABLE_MIME_TYPE['application/x-tcl'] = ['tcl'];
HASHTABLE_MIME_TYPE['application/x-tex'] = ['tex'];
HASHTABLE_MIME_TYPE['application/x-texinfo'] = ['texi', 'texinfo'];
HASHTABLE_MIME_TYPE['application/x-troff'] = ['roff', 't', 'tr'];
HASHTABLE_MIME_TYPE['application/x-troff-man'] = ['man']; 
HASHTABLE_MIME_TYPE['application/x-troff-me'] = ['me'];
HASHTABLE_MIME_TYPE['application/x-troff-ms'] = ['ms'];
HASHTABLE_MIME_TYPE['application/x-ustar'] = ['ustar'];
HASHTABLE_MIME_TYPE['application/x-wais-source'] = ['src'];
HASHTABLE_MIME_TYPE['application/x-x509-ca-cert'] = ['cer', 'crt', 'der'];
HASHTABLE_MIME_TYPE['application/ynd.ms-pkipko'] = ['pko'];
HASHTABLE_MIME_TYPE['application/zip'] = ['zip'];

// AUDIO
HASHTABLE_MIME_TYPE['audio/basic'] = ['au', 'snd'];
HASHTABLE_MIME_TYPE['audio/echospeech'] = ['es'];
HASHTABLE_MIME_TYPE['audio/mid'] = ['mid', 'rmi'];
HASHTABLE_MIME_TYPE['audio/mpeg'] = ['mp3'];
HASHTABLE_MIME_TYPE['audio/tsplayer'] = ['tsi'];
HASHTABLE_MIME_TYPE['audio/voxware'] = ['vox'];
HASHTABLE_MIME_TYPE['audio/x-aiff'] = ['aif', 'aifc', 'aiff'];
HASHTABLE_MIME_TYPE['audio/x-dspeeh'] = ['dus', 'cht'];
HASHTABLE_MIME_TYPE['audio/x-midi'] = ['mid', 'midi'];
HASHTABLE_MIME_TYPE['audio/x-mpeg'] = ['mp2'];
HASHTABLE_MIME_TYPE['audio/x-mpegurl'] = ['m3u']; 
HASHTABLE_MIME_TYPE['audio/x-pn-realaudio'] = ['ra', 'ram'];
HASHTABLE_MIME_TYPE['audio/x-pn-realaudio-plugin'] = ['rpm'];
HASHTABLE_MIME_TYPE['audio/x-qt-stream'] = ['stream'];
HASHTABLE_MIME_TYPE['audio/x-wav'] = ['wav'];

// DRAWING
HASHTABLE_MIME_TYPE['drawing/x-dwf'] = ['dwf'];

// IMAGE
HASHTABLE_MIME_TYPE['image/bmp'] = ['bmp'];
HASHTABLE_MIME_TYPE['image/cis-cod'] = ['cod'];
HASHTABLE_MIME_TYPE['image/cmu-raster'] = ['ras'];
HASHTABLE_MIME_TYPE['image/fif'] = ['fif'];
HASHTABLE_MIME_TYPE['image/gif'] = ['gif'];
HASHTABLE_MIME_TYPE['image/ief'] = ['ief'];
HASHTABLE_MIME_TYPE['image/jpeg'] = ['jpe', 'jpeg', 'jpg'];
HASHTABLE_MIME_TYPE['image/pipeg'] = ['jfif'];
HASHTABLE_MIME_TYPE['image/svg+xml'] = ['svg'];
HASHTABLE_MIME_TYPE['image/tiff'] = ['tif', 'tiff'];
HASHTABLE_MIME_TYPE['image/vasa'] = ['mcf'];
HASHTABLE_MIME_TYPE['image/vnd.wap.wbmp'] = ['wbmp'];
HASHTABLE_MIME_TYPE['image/x-cmu-raster'] = ['ras', 'cmu'];
HASHTABLE_MIME_TYPE['image/x-cmx'] = ['cmx'];
HASHTABLE_MIME_TYPE['image/x-freehand'] = ['fh4', 'fh5', 'fhc'];
HASHTABLE_MIME_TYPE['image/x-icon'] = ['ico'];
HASHTABLE_MIME_TYPE['image/x-png'] = ['png'];
HASHTABLE_MIME_TYPE['image/x-portable-anymap'] = ['pnm'];
HASHTABLE_MIME_TYPE['image/x-portable-bitmap'] = ['pbm'];
HASHTABLE_MIME_TYPE['image/x-portable-graymap'] = ['pgm'];
HASHTABLE_MIME_TYPE['image/x-portable-pixmap'] = ['ppm'];
HASHTABLE_MIME_TYPE['image/x-rgb'] = ['rgb'];
HASHTABLE_MIME_TYPE['image/x-xbitmap'] = ['xbm', 'xpm'];
HASHTABLE_MIME_TYPE['image/x-xpixmap'] = ['xpm'];
HASHTABLE_MIME_TYPE['image/x-xwindowdump'] = ['xwd'];

// MESSAGE
HASHTABLE_MIME_TYPE['message/rfc822'] = ['mht', 'mhtml', 'nws'];

// MODEL
HASHTABLE_MIME_TYPE['model/vrml'] = ['wrl'];

// MULTIPART
HASHTABLE_MIME_TYPE['multipart/x-zip'] = ['zip'];
HASHTABLE_MIME_TYPE['multipart/x-gzip'] = ['gz', 'gzip'];

// TEXT
HASHTABLE_MIME_TYPE['text/comma-separated-values'] = ['csv'];
HASHTABLE_MIME_TYPE['text/css'] = ['css'];
HASHTABLE_MIME_TYPE['text/h323'] = ['323'];
HASHTABLE_MIME_TYPE['text/html'] = ['htm', 'html', 'stm', 'shtml'];
HASHTABLE_MIME_TYPE['text/iuls'] = ['uls'];
HASHTABLE_MIME_TYPE['text/plain'] = ['bas', 'c', 'h', 'txt', 'g', 'cc', 'hh', 'm', 'f90'];
HASHTABLE_MIME_TYPE['text/richtext'] = ['rtx']; 
HASHTABLE_MIME_TYPE['text/rtf'] = ['rtf'];
HASHTABLE_MIME_TYPE['text/scriptlet'] = ['sct'];
HASHTABLE_MIME_TYPE['text/tab-separated-values'] = ['tsv'];
HASHTABLE_MIME_TYPE['text/vnd.wap.wml'] = ['wml'];
HASHTABLE_MIME_TYPE['text/vnd.wap.wmlscript'] = ['wmlsc'];
HASHTABLE_MIME_TYPE['text/webviewhtml'] = ['htt'];
HASHTABLE_MIME_TYPE['text/xml'] = ['xml'];
HASHTABLE_MIME_TYPE['text/x-component'] = ['htc'];
HASHTABLE_MIME_TYPE['text/x-setext'] = ['etx'];
HASHTABLE_MIME_TYPE['text/x-sgml'] = ['sgm', 'sgml'];
HASHTABLE_MIME_TYPE['text/x-speech'] = ['talk', 'spc'];
HASHTABLE_MIME_TYPE['text/x-vcard'] = ['vcf'];

// VIDEO
HASHTABLE_MIME_TYPE['video/flc'] = ['flc'];
HASHTABLE_MIME_TYPE['video/mpeg'] = ['mp2', 'mpa', 'mpe', 'mpeg', 'mpg', 'mpv2'];
HASHTABLE_MIME_TYPE['video/quicktime'] = ['mov', 'qt'];
HASHTABLE_MIME_TYPE['video/vnd.vivo'] = ['viv', 'vivo'];
HASHTABLE_MIME_TYPE['video/x-la-asf'] = ['lsf', 'lsx'];
HASHTABLE_MIME_TYPE['video/x-ms-asf'] = ['asf', 'asr', 'asx'];
HASHTABLE_MIME_TYPE['video/x-msvideo'] = ['avi'];
HASHTABLE_MIME_TYPE['video/x-sgi-movie'] = ['movie'];

// X-WORLD
HASHTABLE_MIME_TYPE['x-world/x-3dmf'] = ['3dmf', '3dm', 'qd3d', 'qd3'];
HASHTABLE_MIME_TYPE['x-world/x-vrml'] = ['flr', 'vrml', 'wrl', 'wrz', 'xaf', 'xof'];


function checkFileExtension (fileName, mimeTypeList)
{
	var tabMimeType, index, fileExt, tmpTab;
	
	if ((mimeTypeList == null) || (mimeTypeList == ''))
      return true;
	
	if (fileName == '')
	   return false;

   // extraire l'extension du fichier
   index = fileName.lastIndexOf('.');
	if (index == -1)
	   return false;

   fileExt = fileName.substring(index + 1);
	
   tabMimeType = mimeTypeList.split(',');
   for (index = 0; index < tabMimeType.length; index++)
	{
		if (tabMimeType[index] == '')
		   continue;		
		
		tmpTab = HASHTABLE_MIME_TYPE[tabMimeType[index].adel_Trim()];
		if (tmpTab)
		{
	      // Ce type mime existe : on parcours la liste
         // de ces extensions possibles
	      for (var i = 0; i < tmpTab.length; i++)
	      {
				if (tmpTab[i] == fileExt)
            	return true;
	      }
		}
		else 
		{
         tabMimeType[index] = tabMimeType[index].adel_Trim();
			if ((tabMimeType[index].length > 2) && (tabMimeType[index].charAt(0) == '*') && 
				(tabMimeType[index].charAt(1) == '.'))
			{
	            // Ce n'est pas un type mime mais un filtre
	            // du style '*.XXX'
	            if (fileExt == tabMimeType[index].substring (2))
	            	return true;
			}
		}
	}
   return false;
}
	
function checkInputFile (objName, formName)
{
   var objForm = document.forms[formName];
   var obj, evtUpAttr;

	// Si on est pas dans un evt d'upload, alors passer le check
   // Test de 'false' ou false car en v10, dans js_callOnEvent
   // on fixait objForm.setAttribute('adeliaevtup', Upload) avec Upload booleen pas string
   // Sous IE, objForm.getAttribute('adeliaevtup') renvoie un booleen
   // alors que sous FF, objForm.getAttribute('adeliaevtup') renvoie la chaine 'false'
   evtUpAttr = objForm.getAttribute('adeliaevtup');
   if ((evtUpAttr == 'false') || (evtUpAttr == false))
   	return true;

	obj = objForm.elements[objName];
   // Le controle peut ne pas exister s'il est rendu invisible par programme
   // (UP_1:VISIBLE = *FAUX)
   if (obj)
   {
      // Champ obligatoire et vide
	   if ((obj.getAttribute('mandatory') != null) && (obj.value == ''))
	   {
	      SscMessageErreur (ISC_ZONE_VIDE);
	      obj.focus();
	      return false;
	   }      
      // Si le champ n'est pas vide (obligatoire ou pas) on test l'extension
      if ((obj.value != '') && ! checkFileExtension (obj.value, obj.getAttribute('accept')))
		{
         SscMessageErreur (ISC_WRONG_FILE_EXTENSION);
	      obj.focus();
	      return false;
		}
   }
   return true;
}

