/* *********************************************
Modifs pour mise en place controles  via mootools 1.2.4 
Osiatis Ufit - 03/09/2010
********************************************** */

function defaultFocus (obj) {
    if(obj.value==obj.defaultValue) { obj.value=''; }
}
	
function defaultBlur (obj) {
    if(obj.value=='') {obj.value=obj.defaultValue; }
}

// Ajout des controles de surface
window.addEvent('domready', function() {
        new FormCheck('theForm');
});


/**
*  Gestion des dates saisies / 3 select
*/
function formatDateFromSelect (idJour, idMois, idAnnee, idDest) {
          	
                var l_date  =     document.getElementById(idJour).value + '/' +
		        document.getElementById(idMois).value + '/' +
		        document.getElementById(idAnnee).value;

	var champ_date = document.getElementById(idDest);
	champ_date.value = l_date;
}

/**
*  
*/
function setReplyTo (mailClient) {
    var champAdresseReponse  =  document.getElementById("replyTo");
    if (champAdresseReponse != null) {  
        champAdresseReponse.value = mailClient;
    }
}

/**
*  Gestion des templates de saisie
*/
function effacerdefaut (id, valeurpardefaut, nomClasse) {
        if (id.value==valeurpardefaut) {
               id.value='';
               id.className = nomClasse;
       }
}
function mettrepardefaut (id, valeurpardefaut, nomClasse) {
       if (id.value=='') {
               id.value=valeurpardefaut;
               id.className = nomClasse;
       }
}

/* ************ Fin modif 03/09/2010 ************ */

function Form_Erreur(message_erreur) {
		alert(message_erreur);
		return false;	
	}
	
	function Valeur(obj, obj_type) {
		if (obj_type == "TEXT" || obj_type == "PASSWORD") {
	    	if (obj.value.length == 0) 
	      		return false;
	    	else 
	      		return true;
	    } else if (obj_type == "SELECT") {
	        for (i=0; i < obj.length; i++) {
				if (obj[0].selected)
					return false;
				else
					return true;
			}
		} else if (obj_type == "EMAIL") {
			if( (obj.value.indexOf(" ") > -1) || (obj.value.indexOf("@") == -1) || (obj.value.charAt(0) == ".") || (obj.value.charAt(0) == "@") ||(obj.value.length < 6) || (obj.value.indexOf(".") == -1) || (obj.value.charAt(obj.value.indexOf("@")+1) == ".") || (obj.value.charAt(obj.value.indexOf("@")-1) == ".") || (obj.value.charAt(obj.value.length-1) == "@") || (obj.value.charAt(obj.value.length-1) == ".")) {
				return false;
			} else {
				return true;
			}
		} else if (obj_type == "ONERADIO" || obj_type == "ONECHECKBOX") {
			if (obj.checked == false) {
				return false;
			} else {
				return true;
			}
		} else if (obj_type == "RADIO" || obj_type == "CHECKBOX") {
			for (i=0; i < obj.length; i++) {
				if (obj[i].checked == true)
					return true;
			}
			return false;
		} else if (obj_type == "NUMERIC") {
			if (obj.value.length == 0) {
				return false;
			} else {
				theValue = obj.value;
				if (theValue.indexOf(',') > -1) {
					theValue = theValue.replace(",", ".");
					theValue = parseFloat(theValue);
				}
				if (isNaN(theValue)) {
					return false;
				} else {
					return true;
				}
			}
		}
	}


// ajout osiatis ufit - juin2010

/*
 * Fonction verifiant la validite d'une date 
 * au format jj/mm/aa ou jj/mm/aaaa 
 */
function isDate(d) {
    
    if (d == null || d == '') {
    	return false;
    }
     	
    e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
    if (!e.test(d)) {
    	return false;
    }
    // On separe la date en 3 variables pour verification
    j = parseInt(d.split("/")[0], 10); // jour
    m = parseInt(d.split("/")[1], 10); // mois
    a = parseInt(d.split("/")[2], 10); // année
    
    // Completion annee à 4 chiffres si besoin
    if (a < 1000) {
    	if (a < 89)
    		a+=2000; 
    	else a+=1900;
    }
    
    // Définition du dernier jour de février pour annee bissextile
    if (a%4 == 0 && a%100 !=0 || a%400 == 0) {
    	fev = 29;
    }	
    else {
    	fev = 28;
    }
    
    // Nombre de jours pour chaque mois
    nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
    	
    // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon return faux
    return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}

/**
 * Retourne true si date inferieure à dateRef
 * (dateRef==null ==> date du jour)
 */
 function isDateInferieureDateRef(p_dateTestee, p_dateRef) {
 
  // les dates doivent etre valides au format 'jj/mm/aaaa'
 
  // Date de reference
  if (p_dateRef == null) {
	  p_dateRef = new Date();
	  j_ref = p_dateRef.getDate();
	  m_ref = p_dateRef.getMonth()+1;
	  a_ref = p_dateRef.getFullYear();
  }
  else {
	  j_ref = parseInt(p_dateRef.split("/")[0], 10);
	  m_ref = parseInt(p_dateRef.split("/")[1], 10);
	  a_ref = parseInt(p_dateRef.split("/")[2], 10);
  }
  var dt_ref = new Date(a_ref, m_ref-1, j_ref, 0, 0, 0, 0);
 
  // Date à tester
  j = parseInt(p_dateTestee.split("/")[0], 10); // jour
  m = parseInt(p_dateTestee.split("/")[1], 10); // mois
  a = parseInt(p_dateTestee.split("/")[2], 10); // année
  var a_tester = new Date(a, m-1, j, 0, 0 ,0, 0);
 
  return (a_tester < dt_ref);
 }

// fin ajout

