
/* ---- DEROULANT ---- */
var palier = 10;
var timer = 20;
var minHpt = 146; // taille de la petite image 
var minHgd = 253; // taille de la grande image 

function expand_collapse(id, cheminImg, style_lien) {
	
    var img = $(id+'-img');
	var visible = $(id+'-visible');
	var invisible = $(id+'-invisible');
	var slider = $(id+'-slider');
	
	// nom de l'image = nom de l'élément en remplaçant "-" par "_" 
	var tmp='';
	var nom_img = id;
	for(var i = 0; i < nom_img.length; i++){
		tmp = tmp + nom_img.charAt(i);
	
		if (nom_img.charAt(i) == "-")		{
		tmp = tmp.replace("-","_");
		}
	}
	var nom_img = tmp;
	
	var sizeSlider = slider.getSize();
	$(invisible).setStyle('display', 'block');
	var sizeVisible = visible.getSize();
	var sizeInvisible = invisible.getSize();
	var hauteur = sizeVisible.y + sizeInvisible.y;
	
	if(hauteur > minHgd){
		var newHauteurGd = hauteur;
	}else{
		var newHauteurGd = minHgd;
	}
	
	if(sizeVisible.y > minHpt){
		var newHauteurPt = sizeVisible.y ;
	}else{
		var newHauteurPt = minHpt;
	}
	
	if(newHauteurGd.toInt() > sizeSlider.y.toInt()){
		slidee(id, sizeSlider.y.toInt(), newHauteurGd.toInt(), palier, timer, cheminImg, nom_img);
	}else{
		img.set('src', cheminImg+nom_img+'_pt.jpg');
		slidee(id, sizeSlider.y.toInt(), newHauteurPt.toInt(), palier, timer, cheminImg, nom_img);
	}
	
}

function slidee(id, size_debut, size_fin, palier, timer, cheminImg, nom_img){
	
	var elemid = id + '-slider';
	var img = id + '-img';
	var invisible = id  + '-invisible';
	var sizeActu = size_debut;
	
	$(elemid).setStyle('height', size_debut + 'px');
	if(size_fin > size_debut)
	{
		agrandir(elemid, sizeActu, palier, size_fin, size_debut, timer, img, cheminImg, nom_img);
	}
	else
	{
		retrecir(elemid, sizeActu, palier, size_fin, size_debut, timer, img, cheminImg, nom_img, invisible);
	}
}

function agrandir(elemid, sizeActu, palier, size_fin, size_debut, timer, img, cheminImg, nom_img) {
	 setTimeout(function () {
		if ((sizeActu + palier) < size_fin) { 
			sizeActu += palier; agrandir(elemid, sizeActu, palier, size_fin, size_debut, timer, img, cheminImg, nom_img); 
			$(elemid).setStyle('height', sizeActu + 'px');
		}
		else { 
			sizeActu = size_fin;  
			$(elemid).setStyle('height', sizeActu + 'px');
			$(img).set('src', cheminImg+nom_img+'.jpg');
		}
	}, timer);
}

function retrecir(elemid, sizeActu, palier, size_fin, size_debut, timer, img, cheminImg, nom_img, invisible) {
	 setTimeout(function () {
		if ((sizeActu - palier) > size_fin) { sizeActu -= palier; retrecir(elemid, sizeActu, palier, size_fin, size_debut, timer, img, cheminImg, nom_img, invisible); }
		else { 
			sizeActu = size_fin; 
			$(invisible).setStyle('display', 'none');
		}
		$(elemid).setStyle('height', sizeActu + 'px'); 
	}, timer);
}

function sleep(milliseconds) {
  var start = new Date().getTime();
  while(true) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}


/* ---- BULLE ---- */

var hide = true;

function blockHide() {
    hide = false;
}

function askHideBulle() {
    hide = true;
    hideBulle.delay(300);
}

function hideBulle() {
    if(hide) $('produits-gamme-bulle').setStyle('display','none');
}

function showBulle(elem, page, name, text, ancre) {
    blockHide();

    var bulle = $('produits-gamme-bulle');
    $('produits-gamme-bulle-titre').set('html', name);
    $('produits-gamme-bulle-text').set('html', text);

    var div_link = new Element('div', {id: 'produits-gamme-bulle-lien'});
    var link = new Element('a', {href: "javascript:display_popup('conteneur_popup_produit','fiche_guide','{\\'page\\':\\'/guide/pages/"+page+".php\\'}')", html: 'Cliquez pour plus de détails'});
    link.inject(div_link);
    div_link.replaces($('produits-gamme-bulle-lien'));

    var pos = $(elem).getPosition();
    bulle.position({x:pos.x, y:pos.y+25});
    bulle.setStyle('display', 'block');
}


window.addEvent('domready', function() {
	
    /* initialisation bulle */
    $('produits-gamme-bulle').addEvent('mouseover', function() {blockHide()});
    $('produits-gamme-bulle').addEvent('mouseout', function() {askHideBulle()});
	
	$$('.produits-gamme-elem-content-visible').each(
		function(item){
			var sizeVisible = item.getSize();
			if(sizeVisible.y > minHpt){
				item.setStyle('height', sizeVisible.y+'px');
			}
		}
		
	)
});

/* ----  ---- */
