﻿


	
    //Vérifie la validité d'une date au format JJ/MM/AAAA en créant une instance de la date passée 
    //en paramètre avec l'objet Date : si l'instance créée vaut la date en paramètre, alors celle-ci est valide
    function validerDate(strDate)
    {
        var regDate = new RegExp("[0-3][0-9]/[0-1][0-9]/[0-9]{4}");
        var match,tabDate,dateResultat,jour,mois,strMois;
        
        match = regDate.exec(strDate);
        if(match==null)
        { 
            return false;
        }
        tabDate = strDate.split('/');
        
        var testDate = new Date(tabDate[2],tabDate[1]-1,tabDate[0]);
        
        if(testDate.getDate().toString().length<2)
        {
            jour = '0' + testDate.getDate().toString();
        }
        else
        {
            jour = testDate.getDate().toString();
        }

        mois = testDate.getMonth() + 1;
        
        if(mois.toString().length<2)
        {
            strMois = '0' + mois.toString();
        }
        else
        {
            strMois = mois.toString();
        }
        dateResultat = jour + '/' + strMois + '/' +  testDate.getFullYear();
        
        if(dateResultat==strDate)
        {
            return true;      
        }
        return false;    
    }


	//Retourne l'année (AAAA) d'une date au format JJ/MM/AAAA
	function recupererAnnee(strDate)
	{
	    var len;
	    len = strDate.length;

	    if(len==10)
	    {
	        try
	        {
	            var tabDate = strDate.split('/');
	            return tabDate[2];
	        }
	        catch (e){}
	    }
	    return "";
	}
	
	//Retourne le mois (MM) d'une date au format JJ/MM/AAAA
	function recupererMois(strDate)
	{
	    var len;
	    len = strDate.length;

	    if(len==10)
	    {
	        try
	        {
	            var tabDate = strDate.split('/');
	            return tabDate[1];
	        }
	        catch (e){}
	    }
	    return "";
	}
	
		//Retourne le jour (JJ) d'une date au format JJ/MM/AAAA
	function recupererJour(strDate)
	{
	    var len;
	    len = strDate.length;

	    if(len==10)
	    {
	        try
	        {
	            var tabDate = strDate.split('/');
	            return tabDate[0];
	        }
	        catch (e){}
	    }
	    return "";
	}

    //Compare deux dates au format JJ/MM/AAAA et indique si la 1ère date passée en paramètre est
    //supérieure, inférieure ou égale à la seconde
    //Retourne ">" ou "<" ou "=="
    function comparerDate(premiereDate, secondeDate)
    {
        var tabPremiereDate,tabSecondeDate;
        
        if(validerDate(premiereDate) && validerDate(secondeDate))
        {
            tabPremiereDate = premiereDate.split('/');
            tabSecondeDate = secondeDate.split('/');
            if(tabSecondeDate[2]!=tabPremiereDate[2])
            {
                if(tabPremiereDate[2]>tabSecondeDate[2])
                {  
                    return ">";
                }
                return "<";
            }
            if(tabSecondeDate[1]!=tabPremiereDate[1])
            {
                if(tabPremiereDate[1]>tabSecondeDate[1])
                {  
                    return ">";
                }
                return "<";
            }
            if(tabSecondeDate[0]!=tabPremiereDate[0])
            {
                if(tabPremiereDate[0]>tabSecondeDate[0])
                {  
                    return ">";
                }
                return "<";
            }
            return "==";             
        }
        return "Format de date incorrecte!";    
    }


    //Calcule une date au format JJ/MM/AAAA à laquelle on ajoute ou soustrait des jours
    //Retourne la date calculée au format JJ/MM/AAAA
    function calculerDate(maDate,operation)
    { 
        var dateResultat;

        if(validerDate(maDate))
        {
            var tabDate = maDate.split('/');
            var dateCalculee = new Date(tabDate[2],tabDate[1]-1,tabDate[0]-(-operation));
            var jour, mois;
            if(dateCalculee.getDate().toString().length<2)
            {
                jour = '0' + dateCalculee.getDate().toString();
            }
            else
            {
                jour = dateCalculee.getDate().toString();
            }
            moisCalcule = dateCalculee.getMonth() + 1;
            if (moisCalcule < 10)
            {
                mois = '0' + moisCalcule.toString();
            }
            else
            {
                mois = moisCalcule.toString();
            }
            dateResultat = jour + '/' + mois + '/' +  dateCalculee.getFullYear();  
        }

        if(validerDate(dateResultat))
        {
            return dateResultat;
        }
        else
        { 
            return "";
        }  
    }


//affiche inDate au format MM/AAAA
//format de inDate: JJ/MM/AAAA
function afficherDateMMAAAA(inDate)
{
	return inDate.substring(3);
}

//verifie si inAnnee est bissextile
function estAnneeBissextile(inAnnee) {
    return (inAnnee % 4 == 0 && inAnnee % 100 != 0) || inAnnee % 400 == 0;
}

//Encaissement du comptant
//Affiche la date d'encaissement à 10 jours de la date d'effet
function afficherDateEncaissementCpt(DateDebutGarantie) {

    var dateEncaiss = calculerDate(DateDebutGarantie, -10);
    document.write(dateEncaiss);
}