 var down = 0;

 //défini l'état de la souris sur le bloc, mouseDown : 'down = 1' sinon 'down = 0'
 function setD(a,b,e)
 {
 down = a;
 //initialise les variables

 //position initiale de la souris lorsqu'on clique sur le bloc
 if(e.pageX) // selon le navigateur (ici pour firefox et peut-être autre...)
 {
 init_x = e.pageX;
 init_y = e.pageY;
 }
 else if(e.clientX) // (ici pour Internet Explorer et peut-être autre...)
 {
 init_x = e.clientX;
 init_y = e.clientY;
 }
 else // (ici pour Internet Explorer et peut-être autre...)
 {
 init_x = e.x;
 init_y = e.y;
 }

 div_x = document.getElementById(b).offsetLeft;
 div_y = document.getElementById(b).offsetTop;
 }

 //fonction qui exécute le déplacement du bloc
 function drag(b,e)
 {
 //si la souris est 'cliquée' sur le bloc
 if(down==1)
 {
 //on récupère la position de la souris au moment de l'appel de la fontion
 if(e.pageX) // selon le navigateur (ici pour firefox et peut-être autre...)
 {
 pos_x = e.pageX;
 pos_y = e.pageY;
 }
 else if(e.clientX) // (ici pour Internet Explorer et peut-être autre...)
 {
 pos_x = e.clientX;
 pos_y = e.clientY;
 }
 else // (ici pour Internet Explorer et peut-être autre...)
 {
 pos_x = e.x;
 pos_y = e.y;
 }

 dx = pos_x - init_x; //distance entre la position initiale et la position actuelle en x
 dy = pos_y - init_y; //distance entre la position initiale et la position actuelle en y
 //déplace le bloc à sa nouvelle position ( -1 +1 pour qu'il reconnaisse que c'est un calcul...)
 document.getElementById(b).style.left = div_x + dx;
 document.getElementById(b).style.top = div_y + dy;
 //affiche la position dans les champs de texte
 document.getElementById(b + 't').value = document.getElementById(b).offsetLeft;
 document.getElementById(b + 'l').value = document.getElementById(b).offsetTop;
 }
 }


	var monDivns4 = (document.layers)? true:false;
	var monDivie4 = (document.all)? true:false;
	var monDivdom = (document.getElementById)? true:false;
	
	getOffsetPosition = function(inID, inTYPE)
        {
         var iVal = 0;
         var oObj = document.getElementById(inID);
         var sType = 'oObj.offset' + inTYPE;
         while (oObj && oObj.tagName != 'BODY') {
          iVal += eval(sType);
          oObj = oObj.offsetParent;
         }
         //alert(iVal);
         return iVal;         
        } 
function formatEuro(montant)
{
    var t = parseFloat(montant);
    var t=Math.round(t*100)/100;
    x=t.toFixed(2);
    return x;

}

function val2Id(id,valeur)
    {        
        document.getElementById(id).value=valeur;
    }

function onDisplayPreload(e,monDiv,idObjet,inputFocus) 
    {
        var cle = 0;
        var e = e || window.event;
        if(e!=null)
        {
            if (e.keyCode) cle = e.keyCode;
            else
            if (e.which) cle = e.which;
            else cle = e;
        }
        //alert(cle);
        switch(cle) 
        {
            case 13: break;
            case 9: break;
            case 16: break;
            default: onDisplay(monDiv,idObjet,inputFocus);
        }
    }
function afficheDIV(div)
    {
        document.getElementById(div).style.display = "block";
        document.getElementById(div).style.visibility = "visible";
    }
function cacheDIV(div)
    {
        document.getElementById(listDiv[i].id).style.display = "none";
        document.getElementById(listDiv[i].id).style.visibility = "hidden";
    }
function onDisplay(monDiv,idObjet,inputFocus)
        {	            
            
                if (document.getElementById(monDiv).style.visibility!='visible')
                    {
                        var listDiv = new Array();
                        listDiv=document.getElementsByTagName("div");              
                        for(var i=0; i < listDiv.length; i++)
                            {                         
                                if(listDiv[i].id.substr(0,4)=="list")
                                {                     
                                    document.getElementById(listDiv[i].id).style.display = "none";
                                    document.getElementById(listDiv[i].id).style.visibility = "hidden";
                                }
                                
                            }	                    
                        document.getElementById(monDiv).style.display = "";                
        		        document.getElementById(monDiv).style.visibility = "visible";                
                        if(document.getElementById(monDiv).getAttribute("divDirection")=="left"){document.getElementById(monDiv).style.left = getOffsetPosition(idObjet, 'Left') + 'px';}                
                        if(document.getElementById(monDiv).getAttribute("divDirection")=="right"){document.getElementById(monDiv).style.left = getOffsetPosition(idObjet, 'Left') - getWidth(monDiv) + getWidth(idObjet) + 22 + 'px';}             
                        document.getElementById(monDiv).style.top = 24 + getOffsetPosition(idObjet, 'Top') + 'px';    
                        document.getElementById(inputFocus).focus();
                        document.getElementById(inputFocus).value=document.getElementById(idObjet).value;
                      }		
                    else
                    {                
                        document.getElementById(inputFocus).focus();
                        document.getElementById(inputFocus).value=document.getElementById(idObjet).value;
                    }
            
        }
     function noDivList()
        {	            
                var listDiv = new Array();
                listDiv=document.getElementsByTagName("div");                
                for(var i=0; i < listDiv.length; i++)
                    {                
                        if(listDiv[i].id.substr(0,4)=="list")
                        {                
                            document.getElementById(listDiv[i].id).style.display = "none";
                            document.getElementById(listDiv[i].id).style.visibility = "hidden";
                        }
                    }	                    
        }
    function onoffDisplay(monDiv,idObjet, inputFocus)
        {	
        
            
            if (document.getElementById(monDiv).style.visibility == "visible")
                {                
                
                document.getElementById(monDiv).style.display = "none";
                document.getElementById(monDiv).style.visibility = "hidden";
                
                }                
    		else
    		      {                    
                var listDiv = new Array();
                listDiv=document.getElementsByTagName("div");                
                for(var i=0; i < listDiv.length; i++)
                    {
                        if(listDiv[i].id.substr(0,4)=="list")
                        {
                            document.getElementById(listDiv[i].id).style.display = "none";
                            document.getElementById(listDiv[i].id).style.visibility = "hidden";
                        }
                    }		      
                document.getElementById(monDiv).style.display = "";                
    		    document.getElementById(monDiv).style.visibility = "visible";    		    
                if(document.getElementById(monDiv).getAttribute("divDirection")=="left"){document.getElementById(monDiv).style.left = getOffsetPosition(idObjet, 'Left') + 'px';}                
                if(document.getElementById(monDiv).getAttribute("divDirection")=="right"){document.getElementById(monDiv).style.left = getOffsetPosition(idObjet, 'Left') - getWidth(monDiv) + getWidth(idObjet) + 22 + 'px';}             
                document.getElementById(monDiv).style.top = 24 + getOffsetPosition(idObjet, 'Top') + 'px';                                                                
                }		
        }
function testID(maZone)
{    
   
  if(document.getElementById(maZone).value==""){document.getElementById(maZone).style.backgroundColor="red";return "|"+maZone;}else{return "";}
}
function testMaxValue(maZone, maValeur)
    {
      //alert(document.getElementById(maZone).value);
      if(document.getElementById(maZone).value>maValeur){document.getElementById(maZone).style.backgroundColor="red";alert("Valeur de la zone "+ maZone +" > … la valeur maximale de "+maValeur);}
    }

function controlForm(monForm)
{      
        var message="";
        var tableau = mygetElementsByAttribute("controlValid","yes","id");
        listId=tableau.split('|');
        var taille = listId.length;
    	for (var i=1;i<=taille;i++)    
    		{
                message+=testID(listId[i]);                
            }
if(message!=""){alert("Validation impossible : certaines zones (en rouge) doivent obligatoirement être renseignées.");}else{monForm.submit();}
}
function controlFormComplex(monForm, formNameValue)
{

        var message="";
        var tableau = mygetElementsByAttribute("controlValid",formNameValue,"id");
        var tableau2 = mygetElementsByAttribute("dateHidden",formNameValue,"id");
        listId=tableau.split('|');
        var taille = listId.length;
    	for (var i=1;i<=taille;i++)
    		{
                message=message + testID(listId[i]);
            }

if(message!=""){alert("Validation impossible : certaines zones "+message+" doivent obligatoirement être renseignées.");}
    else
    {
        listId2=tableau2.split('|');
        var taille2 = listId2.length;

        if(taille2>0)
        {
        	for (var i2=1;i2<=taille2;i2++)
        		{

                    if(document.getElementById("DPC_"+listId2[i2])){document.getElementById(listId2[i2]).value=document.getElementById("DPC_"+listId2[i2]).value;}

                }

        }
        monForm.submit();
    }

}

function controlFormComplexSD(monForm, formNameValue)
{       
        
        var message="";
        var tableau = mygetElementsByAttribute("controlValid",formNameValue,"id");
        
        listId=tableau.split('|');
        
        var taille = listId.length;

    	for (i=1;i<taille;i++)
    		{
                if(document.getElementById(listId[i]).value==""){document.getElementById(listId[i]).style.backgroundColor="red";message=message + "|" + listId[i];}
                
            }
//alert(message);

        if(message==""){monForm.submit();}
        if(message!=""){alert("Validation impossible : certaines zones "+message+" doivent obligatoirement être renseignées.");}
}

function controlCHECKBOX(monForm,maCheckBox,message)
    {
        if(document.getElementById(maCheckBox).checked==true){if(confirm(message)){monForm.submit();}else{document.getElementById(maCheckBox).checked=false;}}
    }
function controlCHECKBOXLight(maCheckBox,message)
    {
        if(document.getElementById(maCheckBox).checked==true){if(confirm(message)){}else{document.getElementById(maCheckBox).checked=false;}}
    }
function resizeDiv()
{
        
        var tableau = mygetElementsByAttribute("redimMyDiv","yes","contenants");    	
        var listId=tableau.split('|');
        var taille = listId.length;          
    	for (var i=1;i<taille;i++)    
    		{
                
                infos=listId[i].split("^");        
                //document.getElementById(infos[0]).style.height = "0px";        
                document.getElementById(infos[1]).style.height = "0px";        
                
                sizeContenantHeight = getHeight(infos[0]);
                sizeContenantWidth = getWidth(infos[0]);
                //alert(document.getElementById(infos[1]).style.height+" > "+sizeContenant);
                sizeHeader=getHeight(infos[2]);
                sizeFooter=infos[4];
                
                sizeFinalHeight = sizeContenantHeight - sizeHeader - sizeFooter - 5;                
                
                //alert(sizeContenantWidth+" x " + sizeContenantHeight+" > "+sizeHeader+" > "+sizeFinalHeight);
                
                
                document.getElementById(infos[1]).style.height=sizeFinalHeight+"px";
                //document.getElementById(infos[1]).style.width=sizeContenantWidth+"px";
                //document.getElementById("tableContainer").style.height=sizeFinal+"px";
                //document.getElementById("contenuCotisations").style.height=sizeFinal+"px";
                //document.getElementById(infos[3]).style.height=sizeWidthHeader+"px";
                
            }    
}
function clickAll(colonne)
	{
		//alert('toto');
        for (i=0;i<colonne.length;i++)
			{
				mesbox = colonne.elements[i]; 
				mesbox.checked = colonne.all.checked; 

			}

	}

function controlZoneMontant(e,id,nbDec)
{
    // if aEvent is null, means the Internet Explorer event model,
    // so get window.event.

    var IE5 = false;
    nbDec>0 ? testPoint=1 : testPoint=0;

    if (!e) var e = window.event;
    if (e.keyCode) { IE5= true; code = e.keyCode;}
    else if (e.which) code = e.which ;

    //test du code
//alert(id.value.split(".")[1].length);
    if (((code < 48 || code > 57)&& code !=46)||(code ==46 && id.value.split(".").length>testPoint)||id.value.split(".")[1].length>=nbDec)
    {
        
            if(IE5) {e.returnValue = false;} else {e.preventDefault();}
            
    }



}

// WHERE MOUSE ?

var Mouse_X; // Variable globale Position X de la Mouse
var Mouse_Y; // Variable globale Position Y de la Mouse


//-----------------------------------------------------------------------------
// l'argument e n'est passé à la fonction que par les navigateur n'ayant pas
// implémenté event comme objet, IE posséde son propre objet bien connu event
//-----------------------------------------------------------------------------
function WhereMouse( e ){
  var DocRef;    // Variable pour IE uniquement

  // L'événement est passée à la fonction
  // donc tous sauf IE…
  if( e){                     // Dans ce cas on obtient directement la position dans la page
    Mouse_X = e.pageX;
    Mouse_Y = e.pageY;
  }
  else{                      // Dans ce cas on obtient la position relative à la fenêtre d'affichage
    Mouse_X = event.clientX;
    Mouse_Y = event.clientY;

    //-- Il faut traiter le CAS des DOCTYPE sous IE
    if( document.documentElement && document.documentElement.clientWidth) // Donc DOCTYPE
      DocRef = document.documentElement;   // Dans ce cas c'est documentElement qui est réfèrence
    else
      DocRef = document.body;                    // Dans ce cas c'est body qui est réfèrence

    //-- On rajoute la position liée aux ScrollBars
    ajoutScrollLeft = DocRef.scrollLeft;
    ajoutScrollTop = DocRef.scrollTop;    
    Mouse_X += DocRef.scrollLeft;
    Mouse_Y += DocRef.scrollTop;
  }
}

//== INITIALISATION ================
document.onmousemove = WhereMouse;

