// Variable referencing the scrollable area and its slider on a page. 
// Note that we can only use one scrollable area at any one time with the current implementation.
var gg_scrollable_area = '';
var gg_slider = '';

// Scroll the element horizontally based on its width and the slider maximum value
function gg_scroll_horizontal(value){
	gg_scrollable_area.scrollLeft = Math.round(value/gg_slider.maximum*(gg_scrollable_area.scrollWidth-gg_scrollable_area.offsetWidth));
}
function gg_scroll_horizontal_reverse(){	

	var value = gg_scrollable_area.scrollLeft / (gg_scrollable_area.scrollWidth-gg_scrollable_area.offsetWidth) * gg_slider.maximum;

	return value;

}


// Initialise a horizontal scroller.
function gg_scroll_init_h(scrollable_area){
	// Record the scrollable area.
	gg_scrollable_area = $(scrollable_area); 
	
	// Disable scrolling if text doesn't overflow the div.
	if (gg_scrollable_area.scrollWidth <= gg_scrollable_area.offsetWidth){
		//gg_slider.setDisabled();
		$("sliderBar").hide();
	}
	else{
		if(gg_slider.disabled) gg_slider.setEnabled();
		$("sliderBar").show();
		gg_slider = new Control.Slider("sliderHandle", "sliderTrack", {
			onSlide: function(v) { gg_scroll_horizontal(v);  },
			onChange: function(v) { gg_scroll_horizontal(v); }
		});
		

		if(gg_scrollable_area.scrollLeft > 0) {

			placeSlider ();

		}

	}
}

// Replace le slider en fonction de la position de la planche tendance.

function placeSlider () {

	gg_slider.setValue(gg_scroll_horizontal_reverse());

}



// Marge gauche du premier élément
function applyLeftMargin(){
	var leftMargin = document.body.offsetWidth / 2 - 250;
    var leftMargin2 = document.body.offsetWidth / 2 - 270;

	if ($('wideCore').hasClassName('themeCore')) {
        $('listArticles').style.margin = "0 0 0 " + parseInt(leftMargin - 252) + "px";
    }
    else {
        $('listArticles').style.margin = "0 0 0 " + leftMargin + "px";
    } 
    
    $('listArticles').show();
    
    if($('rollOverLignesWide'))
     $('rollOverLignesWide').style.margin = "0 0 0 " +leftMargin2 + "px";
     
}

// Gestion des légendes des éléments
function applyLegendLinks(){
	$$('#listArticles td').each(function(elmt,i){
		//elmt.descendants()[2].hide();
		Event.observe(elmt, 'mouseover', function(){
			//elmt.descendants()[2].show();
            if(elmt.descendants()[2])
			elmt.descendants()[2].style.visibility = "visible";
		});
		Event.observe(elmt, 'mouseout', function(){
            if(elmt.descendants()[2])
			 elmt.descendants()[2].style.visibility = "hidden";
			//elmt.descendants()[2].hide();
		});
	});
}

// onLoad
Event.observe(window,"load",function(){
	if($('listArticles')){
		applyLeftMargin();
		applyLegendLinks();
		if (document.getElementById("scrollContainer") != null)	gg_scroll_init_h("scrollContainer");
	}
	else if($('popContainer')||$('globeContainer')||$('exoticContainer')||$('anneesFollesContainer') || $('wildAristoContainer') || $('exoticChicContainer') || $('surrealismeContainer') || $('militaireContainer') || $('gatsbyContainer') || $('kateMossContainer')){
		gg_scroll_init_h("scrollContainer");
	}
})

// onResize
Event.observe(window,"resize",function(){
	if($('listArticles')){
		applyLeftMargin();	
		if (document.getElementById("scrollContainer") != null)	gg_scroll_init_h("scrollContainer");
	}
})
