  	/** *************************************************************************************
	***  Société : Idealcoms																*
	***  Auteur  : <a href="mailto:juanito.goncalves@idealcoms.net">Juanito Goncalves</a>	*
	***  Projet  : tous 																	*
	***  Date    : jeudi 11 mars 2004 		 												*
	***  Version : 1 Rev 0	{11/03/2004}		 		 									*
	***  Titre   : Fonctions javascript de base 											*
	*** ************************************************************************************/
	
  	/** Vérifie la valeur d'un formulaire et affiche un message en conséquence. **/
  	function check(formNum,elementNum,typeCheck,message,required,lastChecked,langue) {
		switch(langue) {
			default : messageResult =  'Merci de préciser ' + message;break;
			case 'en' : messageResult =  'Please enter ' + message;break;
			case 'de' : messageResult =  'Bitte spezifizieren ' + message;break;
		}
  		
  		flag = true;
  		
  		if (elementNum) {
	  		element = document.forms[formNum].elements[elementNum];
	  		switch (typeCheck) {
	  			default : 
	  				flag =  !(element.value=='');
	  			break;
	  			case 'email' : 
	  				if (required && element.value=='') flag = !(element.value=='') ;
	  				else {
	  					flag =  !(element.value!='' && (element.value.indexOf("@")==-1 || element.value.indexOf(".")==-1));
						switch(langue) {
							default : messageResult =  'Merci de préciser une adresse email valide (exp nom@domaine.com)';break;
			  				case 'en' : messageResult =  'Please enter a valid email address (exp name@domain.com)';break;
			  				case 'de' : messageResult =  'Bitte geben Sie eine gültige e-mail-Adresse an (z.Bsp. Name@Berreich.com)';break;
						}
	  				}
	  			break;
	  			case 'url' : 
	  				if (required && element.value=='') flag = !(element.value=='') ;
	  				else {
	  					flag = !(element.value!='' && (element.value.indexOf("http://")==-1 || element.value.indexOf(".")==-1));
						switch(langue) {
							default : messageResult =  'Merci de préciser une adresse internet valide (exp http://domaine.com)';break;
			  				case 'en' : messageResult =  'Please enter a valid internet address (http://domain.com)';break;
			  				case 'de' : messageResult =  'Bitte geben Sie eine gültige Internet-Adresse an (z.Bsp. http://Bereich.com)';break;
						}
	  				}
	  			break;
	  			case 'password' : 
	  				compare = document.forms[formNum].elements[elementNum+"2"];
	  				if (required && element.value=='') flag = !(element.value=='') ;
	  				else {
	  					flag =  !(element.value!='' && element.value!=compare.value);
						switch(langue) {
							default : messageResult =  'Les mots de passe ne concordent pas';break;
			  				case 'en' : messageResult =  'The passwords do not match';break;
			  				case 'de' : messageResult =  'Die Passwörter stimmen nicht überein ';break;
						}
	  				}
	  			break;
	  			case 'length' :
	  				flag = element.value.length<=required;
					switch(langue) {
						default : messageResult =  message + " ne doit pas dépasser "+required+" caractères";break;
		  				case 'en' : messageResult = message + " must not exceed "+required+" caracters";break;
		  				case 'de' : messageResult =  message + " darf nicht länger sein als "+required+" Zeichen";break;
					}
	  			break;
	  			
	  			case 'date' :
	  				regexp = /[0-9]{2}\/[0-9]{2}\/[0-9]{4}/ ;
	  				if (required && element.value=='') flag = !(element.value=='') ;
	  				else {
	  					flag = element.value=='' || regexp.test(element.value);
						switch(langue) {
							default : messageResult =  message + " doit être au format jj/mm/aaaa";break;
			  				case 'en' : messageResult =  message + " must be in dd/mm/yyyy format";break;
			  				case 'de' : messageResult =  message + " muss im Format tt/mm/jjjj sein";break;
						}
	  				}
	  			break;
	  			
	  			case 'radio' :
	  				flag = false;
	  				for (i=0;i<element.length;i++) {
	  					if (element[i].checked==true) {
	  						flag = true;
	  					}
	  				}
	  			break;
	  			
	  			case 'checkbox' :
	  				flag = element.checked; 
	  				if (required) {
		  				switch(langue) {
							default : messageResult =  "Merci de cocher "+ message ;break;
			  				case 'en' : messageResult =  "Please tick "+ message;break;
			  				case 'de' : messageResult =  "Bitte "+ message;break;
						}
					}
	  			break;
	  			
	  		}
	  	} else {flag = true;lastChecked=true;}

  		if (flag) {
  			// si un champ upload existe, on y affiche le texte de téléchargement : 
  			if (lastChecked && document.forms[formNum].elements['upload']!=undefined) 
  			switch(langue) {
  				default : document.forms[formNum].elements['upload'].value="Veuillez patienter, modification en cours...";break;
  				case 'en' : document.forms[formNum].elements['upload'].value="Please wait, modification in progress ...";break;
  				case 'de' : document.forms[formNum].elements['upload'].value="Bitte haben Sie Geduld, wird z.Zt. Geändert...";break;
  			}
  			return true;
  		}
  		else {alert(messageResult);element.focus();return false;}
  	}
  	
  	/** Renvoie vers une autre page **/
  	function go(url,params) {
  		params = params==undefined ? "":"?"+params;
  		document.location.replace(url + params);
  	}
  	
  	function launchPrint(message) {
  		ua=navigator.userAgent;
  		if (ua.indexOf("Mac")!=-1) alert(message);
  		else window.print();
  	}
  	
  	function cmpDate(date1,date2,equals,msg) {
  		date1CMP = date2CMP = "";
  		date1 = date1.split("/");
  		date2 = date2.split("/");
  		date1CMP = date1[2] + date1[1] + date1[0];
  		date2CMP = date2[2] + date2[1] + date2[0];
  		result =  equals ? date1CMP <= date2CMP : date1CMP < date2CMP;
  		if (msg!="" && !result) {alert(msg);}
  		return result;
  	}