// -------------------------------------------------------------------
// Bibliotheques de fonctions JAVASCRIPT
//
// Auteur : Damien CHERRUAUD
//          Seng   UNG
// 
// Modification:
// ------------
//   Action                         Date               Auteur
// Création                         06/04/2001        DC
//
// Liste de fonctions:
// -------------------
// CheckDateFormat(DateData, separ)  gère le modèle jj/mm/aaaa 
//                 DateData  = valeur du champs à traiter
//                 separ     = séparateur ( ici /)
//
// CheckDate      (DateData, separ) contrôle les chiffres rentrés ( jour, mois, année + année bissectile)
//                 DateData  = valeur du champs à traiter
//                 separ     = séparateur ( ici /)
// -------------------------------------------------------------------

function CheckDateFormat(DateData, separ) {
		    //alert(DateData);
            pattern  = '[0-3][0-9]' + separ + '[0-1][0-9]' + separ + '[1-2][0-9][0-9][0-9]';
            var reg = new RegExp(pattern ,'gi');
           
           if (reg.test (DateData)) {return true}
           else {return false}
}
            
                        
function CheckDate(DateData, separ) {            

// si champs non vide
if (DateData.length > 0) {
            if (CheckDateFormat(DateData, separ)) {
			 //if (DateData.length > 0) {
			correct = true;
            
					j = DateData.substring(0,2);
					m = DateData.substring(3,5);
								
				a = DateData.substring(6,DateData.length);
                
                // année bissectile
				bi = ((parseInt(a) % 4) == 0);
		
		
				if (  ( (m == "01") || (m == "03") || (m == "05") || (m == "07") || (m == "08") || (m == "10") || (m == "12") ) && ( (Math.round(j) >= 1) && (Math.round(j) <= 31) ) ) {
					correct = true;
				}
				else {
					if (  ( (m == "04") || (m == "06") || (m == "09") || (m == "11") ) && ( (Math.round(j) >= 1) && (Math.round(j) <= 30) ) ) {
						correct = true;
					}
					else {
						if (bi)  {
							correct = (  ( (Math.round(j) >= 1) && (Math.round(j) <= 29) ) && (m == "02") );
						}
						else {
							correct = ( ( (Math.round(j) >= 1) && (Math.round(j) <= 28) ) && (m == "02")  );
						}
					}
				}
		}else{//CheckDateFormat
              correct = false;}
             
             
     }//DateData.length 
     else{// cas vide on lance la recherche....
         correct =true;}
 
 
//résultats                      
return correct;          
        }