function toggleProView(clickedBlocId)
{
  var nbProBlocs = 3;
  var i;
  
  for(i = 0; i < nbProBlocs; i++)
  {
    if(i == clickedBlocId)
    {
       show('blocProId'+i);
       document.getElementById('plus_blocProId'+i).src="/forumweb-web/img/inscription/titres/moins.gif";
       
    }
    else
    {
       hide('blocProId'+i);
       document.getElementById('plus_blocProId'+i).src="/forumweb-web/img/inscription/titres/plus.gif";
    }
  }
  
}

function adjustSize(img, imgWidthMemoryField, imgHeightMemoryField)
{
  var rate;
  if(img.width > MAX_WIDTH)
  {
  rate = MAX_WIDTH / img.width;
    img.width = MAX_WIDTH;
    img.height *= rate;
  }
   
  if(img.width < MIN_WIDTH + 20)
  {
    rate = MIN_WIDTH / img.width;
    img.width = MIN_WIDTH;
    img.height *= rate;
  }
  
  if(img.height < MIN_HEIGHT + 20)
  {
    rate = MIN_HEIGHT / img.height;
    img.height = MIN_HEIGHT;
    img.width *= rate;
  }
 
  imgWidthMemoryField.value = img.width;
  imgHeightMemoryField.value = img.height;
}

function checkAll(cpt)
{
  var checkboxes = cpt.getElementsByTagName('input');
  for(i = 0; i < checkboxes.length; i++)
  {
    checkboxes[i].checked = true;
  }

  var childs = cpt.getChilds();
  for(i = 0; i < childs.length; i++)
  {
    checkAll(childs[i]);
  }
}

function show(szDivID)
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].display = "block";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        if(document.getElementById(szDivID))
        {
        	var obj = document.getElementById(szDivID);
        	obj.style.display = "block";
        }
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.display = "block";
    }
}


function hide(szDivID)
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].display = "none";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        if(document.getElementById(szDivID))
        {
        	var obj = document.getElementById(szDivID);
        	obj.style.display = "none";
        }
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.display = "none";
    }
}

function clearHtml(szDivID)
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].innerHTML = "";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.innerHTML = "";
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].innerHTML = "";
    }
}

function switchPlusMoinsIdentite(actifID)
{
	if(document.getElementById('plus_vous'))
	{
		if(actifID == 'blocVous')
			document.getElementById('plus_vous').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_vous').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_reunions'))
	{
		if(actifID == 'blocReunions')
			document.getElementById('plus_reunions').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_reunions').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_transport'))
	{
		if(actifID == 'blocTransport')
			document.getElementById('plus_transport').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_transport').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_physique'))
	{
		if(actifID == 'blocPhysique')
			document.getElementById('plus_physique').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_physique').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_finances-assurances'))
	{
		if(actifID == 'blocFinancesAssurances')
			document.getElementById('plus_finances-assurances').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_finances-assurances').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_loisirs-individu'))
	{
		if(actifID == 'blocLoisirsIndividu')
			document.getElementById('plus_loisirs-individu').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_loisirs-individu').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_sante'))
	{
		if(actifID == 'blocSante')
			document.getElementById('plus_sante').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_sante').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_comment'))
	{
		if(actifID == 'blocComment')
			document.getElementById('plus_comment').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_comment').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
}

function menuIdentite(actifID)
{
	if(actifID == 'blocVous')
	{
		show('blocVous');
		switchPlusMoinsIdentite('blocVous');
	}
	else
		hide('blocVous');
		
    if(actifID == 'blocReunions')
	{
		show('blocReunions');
		switchPlusMoinsIdentite('blocReunions');
	}
	else
		hide('blocReunions');

	if(actifID == 'blocTransport')
	{
		show('blocTransport');
		switchPlusMoinsIdentite('blocTransport');
	}
	else
		hide('blocTransport');
		
	if(actifID == 'blocPhysique')
	{
		show('blocPhysique');
		switchPlusMoinsIdentite('blocPhysique');
	}
	else
		hide('blocPhysique');
		
	if(actifID == 'blocFinancesAssurances')
	{
		show('blocFinancesAssurances');
		switchPlusMoinsIdentite('blocFinancesAssurances');
	}
	else
		hide('blocFinancesAssurances');
		
	if(actifID == 'blocLoisirsIndividu')
	{
		show('blocLoisirsIndividu');
		switchPlusMoinsIdentite('blocLoisirsIndividu');
	}
	else
		hide('blocLoisirsIndividu');
		
	if(actifID == 'blocSante')
	{
		show('blocSante');
		switchPlusMoinsIdentite('blocSante');
	}
	else
		hide('blocSante');
		
	if(actifID == 'blocComment')
	{
		show('blocComment');
		switchPlusMoinsIdentite('blocComment');
	}
	else
		hide('blocComment');
}

function switchPlusMoinsInfofamille(actifID)
{
	if(document.getElementById('plus_vehicule'))
	{
		if(actifID == 'blocVehicule' && document.getElementById('plus_vehicule'))
			document.getElementById('plus_vehicule').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_vehicule').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_logement'))
	{
		if(actifID == 'blocLogement' && document.getElementById('plus_logement'))
			document.getElementById('plus_logement').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_logement').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_assur-cred'))
	{
		if(actifID == 'blocAssurCred')
			document.getElementById('plus_assur-cred').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_assur-cred').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_equipement'))
	{
		if(actifID == 'blocEquipement')
			document.getElementById('plus_equipement').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_equipement').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
	if(document.getElementById('plus_loisirs'))
	{
		if(actifID == 'blocLoisirs')
			document.getElementById('plus_loisirs').src="/forumweb-web/img/inscription/titres/moins.gif";
		else
			document.getElementById('plus_loisirs').src="/forumweb-web/img/inscription/titres/plus.gif";
	}
}

function menuInfoFamille(actifID)
{
	if(actifID == 'blocVehicule')
	{
		show('blocVehicule');
		switchPlusMoinsInfofamille('blocVehicule');
	}
	else
		hide('blocVehicule');

	if(actifID == 'blocLogement')
	{
		show('blocLogement');
		switchPlusMoinsInfofamille('blocLogement');
	}
	else
		hide('blocLogement');
		
	if(actifID == 'blocAssurCred')
	{
		show('blocAssurCred');
		switchPlusMoinsInfofamille('blocAssurCred');
	}
	else
		hide('blocAssurCred');
		
	if(actifID == 'blocEquipement')
	{
		show('blocEquipement');
		switchPlusMoinsInfofamille('blocEquipement');
	}
	else
		hide('blocEquipement');
		
	if(actifID == 'blocLoisirs')
	{
		show('blocLoisirs');
		switchPlusMoinsInfofamille('blocLoisirs');
	}
	else
		hide('blocLoisirs');
}



// variables
var x1 = y1 = -1; // x,y position du premier clic sur la photo
var posx = posy = -1; // position du clic en rapport avec le scroll
var imgx = imgy = -1; // x,y position of the image in relation to its absolutely-positioned parent
var divx = divy = -1; // x,y position of the image's absolutely-positioned parent.
var poffx1 = poffy1 = -1; // offset correspondant au scrolling de la barre de droite
var poffx2 = poffy2 = -1; 
var selElem = null; // sera le cadre bleuté
var abselemdet; // absolute-position element detected in the path?
abselemdet=false;
var milieu_x = milieu_y = -1;// sert a recadrer le cadre au milieu de l'image si necessaire

//alert(typeof(abselemdet));
//alert(typeof(divx));

var MIN_WIDTH  = 100;
var MIN_HEIGHT = 130;
var MAX_WIDTH = 540;

function getScrollCoordinates() 
{
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) 
  	{
    	//Netscape compliant
    	scrOfY = window.pageYOffset;
    	scrOfX = window.pageXOffset;
  	}else
  	{ 
  		if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
  		{
    		//DOM compliant
    		scrOfY = document.body.scrollTop;
    		scrOfX = document.body.scrollLeft;
  		} else 
  		{
	  		if( document.documentElement 
	  			&& ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
	  		{
			    //IE6 standards compliant mode
	    		scrOfY = document.documentElement.scrollTop;
	    		scrOfX = document.documentElement.scrollLeft;
	    	}
    	}
  	}
    return [ scrOfX, scrOfY ];
 }

//Cette fonction permet lorsqu'on clic sur l'image, d'effacer le cadre en appelant "function clearImageCropArea"
//s'il est présent et ensuite d'en afficher un nouveau a l'endroit ou l'on clic 
function getImageCropSelectionPoint(elem, evnt, name, w, milieu_x, milieu_y, cadreXMemoryField, cadreYMemoryField) 
{
    
  var opera=(navigator.userAgent.toLowerCase().indexOf("opera") != -1);
 
  if(x1 != -1)
    {
    
      clearImageCropArea();
    }
    
  /* Calcul de la position de l'image par rapport a la page */
    if(imgx == -1 && imgy == -1)
    {

        obj = elem;
        while(obj.offsetParent)
        {
       
            // check if this element has absolute positioning first
            var absposcheck;
            absposcheck=false;
            if(typeof(obj.currentStyle) != 'undefined' && obj.currentStyle.position)
            {
                  // this is MSIE, we need to work differently
                if( obj.currentStyle && obj.currentStyle.position == 'absolute')
                {
                    absposcheck=true;
                    if(abselemdet)
                    {
                        abselemdet=false;
                    }else{
                        abselemdet=true;
                    }
                }
            }
            else
            {
            
                // others browsers
                if(window.getComputedStyle(obj, '').getPropertyValue('position') == 'absolute'){
                    absposcheck=true;
                    if(abselemdet)
                    {
                        abselemdet=false;
                    }else
                    {
                        abselemdet=true;
                    }
                }
            }
            
            if(absposcheck)
            {
                // this is absolutely positioned
                // need to know the position in relation to the document as well
                while(obj.offsetParent){
            
                    // this gives the element relative to the document
                    divy += obj.offsetTop;
                    divx += obj.offsetLeft;
                    obj = obj.offsetParent;
                }
                break;
            }

            imgy += obj.offsetTop;
            imgx += obj.offsetLeft;
            obj = obj.offsetParent;
        }
        
        if(abselemdet)
        {
          divy+=15;
        }
    }
  
  /* Calcul de l'offset pour compenser le scrolling */
    var scrollCoord=getScrollCoordinates();
    if(x1 == -1 && y1 == -1)
    {
        // this is the first click
        poffx1=scrollCoord[0];
        poffy1=scrollCoord[1];
    }else
    {
        // second click
        poffx2=scrollCoord[0];
        poffy2=scrollCoord[1];
    }
       
    
  /* Localisation du clic et affichage du cadre */
    if(x1 == -1 && y1 == -1)
    {
      //Il n'y a pas de cadre, on localise le point du clic

        posx=evnt.clientX + poffx1 - divx;
        posy=evnt.clientY + poffy1 - divy;
        x1 = posx - imgx;
        y1 = posy - imgy;
    

        selElem = document.getElementById('imgJSselbox');
        selElem.style.width = MIN_WIDTH+'px';
        selElem.style.height = MIN_HEIGHT+'px';
    //repositionne le cadre pour l'afficherau centre du 1er clic        
        selElem.style.left = posx+'px';
        selElem.style.top = posy+'px';
        selElem.style.visibility = 'visible';
        selElem.style.border = '1px solid #006';
    }
       
    if(cadreXMemoryField != null)
    {
      cadreXMemoryField.value = x1; 
    }
    
    if(cadreYMemoryField != null)
    {
      cadreYMemoryField.value = y1;
    } 
    
}


//Cette fonction permet d'envoyer toutes les informations nécessaire a l'extraction a la page "crop.php" 
function setImageCropAreaSubmit(url,name,name_crop,w){
   // alert("function setImageCropAreaSubmit");
                          
        		if(x1==-1)//cas ou l'on ne veut pas croper
                {
                //alert("vous n'avez pas cropé");
                url='upload.php?x='+milieu_x+'&y='+milieu_y+'&fname='+name+'&fname_crop='+name_crop+'&mWidth='+w;
                window.location.href=url;
                }else{//on passe le point x,y,name,mame_finale,zoom et largeur reel par l'url et on va sur crop.php
                      url='crop.php?x='+x1+'&y='+y1+'&fname='+name+'&fname_crop='+name_crop+'&mWidth='+w;
                      parent.location.href=url;
                      }
                }

/* Cette fonction permet d'effacer le cadre lorsqu'on l'appel */
function clearImageCropArea()
{
    
    x1 = y1 = imgx = imgy = divx = divy = poffx1 = poffx2 = poffy1 = poffy2 = posx = posy = -1;
    if(selElem)
    {
        selElem.style.width = 0;
        selElem.style.height = 0;
        selElem.style.left = 0;
        selElem.style.top = 0;
        selElem.style.visibility = 'hidden';
    }
}

		
function zoom(img, imgWidthMemoryField, imgHeightMemoryField, factor)
{
  var currentHeight = img.height;
  var currentWidth = img.width;
  img.height = factor*currentHeight;
  img.width = factor*currentWidth;
  adjustSize(img, imgWidthMemoryField, imgHeightMemoryField);
  clearImageCropArea();
}
		
function zoomIn(img, imgWidthMemoryField, imgHeightMemoryField)
{
  zoom(img,  imgWidthMemoryField, imgHeightMemoryField, 1.25);
}
		
function zoomOut(img, imgWidthMemoryField, imgHeightMemoryField)
{
  zoom(img, imgWidthMemoryField, imgHeightMemoryField, 0.75);
}
	  

//Ces fonctions permettent de deplacer le cadre d'1px dans toutes les directions
function bouge_cadre_droite() {

        if(x1!=-1){
                   selElem = document.getElementById('imgJSselbox');
                   selElem.style.width = 100+'px';
                   selElem.style.height = 130+'px';
//repositionne le cadre pour l'afficherau centre du 1er clic        
//posx = posx - 50 ;
//posy = posy - 50 ; 
                   selElem.style.left = parseInt(posx)+parseInt(1)+'px' ; 
                   selElem.style.top = posy+'px';
                   selElem.style.visibility = 'visible';
     
                   posx=parseInt(posx)+parseInt(1);x1=parseInt(x1)+parseInt(1);                   
                  }//parseInt prend la partie entiere de la variable pour eviter la concatenation de caractere avec "+"
}

function bouge_cadre_gauche() {

        
        if(x1!=-1){
                   selElem = document.getElementById('imgJSselbox');
                   selElem.style.width = 100+'px';
                   selElem.style.height = 130+'px';
//repositionne le cadre pour l'afficherau centre du 1er clic        
//posx = posx - 50 ;
//posy = posy - 50 ; 
                   selElem.style.left = posx-1+'px' ; 
                   selElem.style.top = posy+'px';
                   selElem.style.visibility = 'visible';
                   
                   posx=posx-1;x1=x1-1;
                  }      
}

function bouge_cadre_bas() {

        if(x1!=-1){
                   selElem = document.getElementById('imgJSselbox');
                   selElem.style.width = 100+'px';
                   selElem.style.height = 130+'px';
//repositionne le cadre pour l'afficherau centre du 1er clic        
//posx = posx - 50 ;
//posy = posy - 50 ; 
                   selElem.style.left = posx+'px' ;
                   selElem.style.top = parseInt(posy)+parseInt(1)+'px';
                   selElem.style.visibility = 'visible';
        
                   posy=parseInt(posy)+parseInt(1);y1=parseInt(y1)+parseInt(1);
                  }       
}

function bouge_cadre_haut() {

        if(x1!=-1){
                   selElem = document.getElementById('imgJSselbox');
                   selElem.style.width = 100+'px';
                   selElem.style.height = 130+'px';
//repositionne le cadre pour l'afficherau centre du 1er clic        
//posx = posx - 50 ;
//posy = posy - 50 ; 
                   selElem.style.left = posx+'px' ; 
                   selElem.style.top = posy-1+'px';
                   selElem.style.visibility = 'visible';
        
                   posy=posy-1;y1=y1-1;
                  }     
}


//Cette fonction est appellé pour afficher le premier cadre
function masque(px,py) {

        selElem = document.getElementById('imgJSselbox');
        selElem.style.width = 100+'px';
        selElem.style.height = 130+'px';
//repositionne le cadre pour l'afficherau centre du 1er clic        
//posx = posx - 50 ;
//posy = posy - 50 ;
        selElem.style.left = px+'px' ;
        selElem.style.top = py+'px';
        selElem.style.visibility = 'visible';
        posx=px;
        posy=py;
        
        x1=posx - 8;
        y1=parseInt(posy) + parseInt(19) - parseInt(300);//parseInt prend la valeur numerique (prob de concatenation avec +)
        // selElem.style.border = '1px solid #CCCCFF';
 
}




function popup(page,largeur,hauteur,options)
{
var top=30;
var left=(screen.width-largeur-45);
window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}




