// JavaScript Document

/**
 * Image src URLs
 **/

var lastRan = -1;

/**
 * Since carousel.addItem uses an HTML string to create the interface
 * for each carousel item, this method formats the HTML for an LI.
 **/

var fmtItem = function(imgUrl, url, title) {
//alert(lang);
//alert(imgUrl);

//Parse la chaine de caractere et récupère la ref générale
index1=imgUrl.search("%_");
index2=imgUrl.search("_%");
reference_pdt=imgUrl.substring(index1, index2);
reference_pdt=reference_pdt.replace("%_", "");
//alert(reference_pdt);

//Parse la chaine de caractere et récupère l'id de la famille
index1=imgUrl.search("%2_");
index2=imgUrl.search("_2%");
id_famille=imgUrl.substring(index1, index2);
id_famille=id_famille.replace("%2_", "");
//alert(id_famille);

//Parse la chaine de caractere et récupère l'id du secteur
index1=imgUrl.search("%3_");
index2=imgUrl.search("_3%");
id_secteur=imgUrl.substring(index1, index2);
id_secteur=id_secteur.replace("%3_", "");
//alert(id_secteur);

//Parse la chaine de caractere et récupère le renvoi_secteur(nom du secteur)
index1=imgUrl.search("%4_");
index2=imgUrl.search("_4%");
renvoi_secteur=imgUrl.substring(index1, index2);
renvoi_secteur=renvoi_secteur.replace("%4_", "");
//alert(renvoi_secteur);

//Parse la chaine de caractere et récupère l'url de l'image
index1=imgUrl.search("%5_");
index2=imgUrl.search("_5%");
image_url=imgUrl.substring(index1, index2);
image_url=image_url.replace("%5_", "");
//alert(image_url);

//Parse la chaine de caractere et récupère la désignation du produit
index1=imgUrl.search("%6_");
index2=imgUrl.search("_6%");
designation_pdt=imgUrl.substring(index1, index2);
designation_pdt=designation_pdt.replace("%6_", "");
//alert(designation_pdt);

if(lang=="fr")
{
message_assoc="Cliquer ici pour ajouter le produit à votre sélection";	
message_fiche="Cliquer ici pour voir la fiche produit";	
}
if(lang=="en")
{
message_assoc="Click here to add the item to your selection";
message_fiche="Click here to see product sheet";	
}

//alert(image_url);
	image_zoom=image_url.replace("miniatures","zoom");
//alert(ie_retour_fiche);

infobulle_fiche_moz='';
infobulle_fiche_ie='';




if(ie_retour_fiche=="ie")
{
	a_href_pdt_associe='<a href="fiche_article.php?id_famille='+ id_famille +'&id_secteur='+ id_secteur +'&nom_secteur='+ renvoi_secteur +'&ref='+ reference_pdt +'"  title="'+ designation_pdt +'" /><img src="' + image_url +'" width="' + 95 + '" height="' + 95 + '"" /><\/a><a href="fiche_article.php?id_famille='+ id_famille +'&id_secteur='+ id_secteur +'&nom_secteur='+ renvoi_secteur +'&ref='+ reference_pdt +'" onclick="" class="voir_fiche" style="border-style:hidden;" title="'+message_fiche+'"\');"></a>'
}
else
{
	a_href_pdt_associe='<a href="'+image_zoom+'" class="highslide" onclick="return hs.expand(this)"><img src="' + image_url +'" width="' + 95 + '" height="' + 95 + '"onmouseover="montre(\''+ designation_pdt +'\');" onmouseout="cache();" />' + '<\/a><a href="fiche_article.php?id_famille='+ id_famille +'&id_secteur='+ id_secteur +'&nom_secteur='+ renvoi_secteur +'&ref='+ reference_pdt +'" onclick="" class="voir_fiche" style="border-style:hidden;" onmouseover="montre(\''+ message_fiche +'\');" onmouseout="cache();"></a>'
}


  	var innerHTML = a_href_pdt_associe;
	return innerHTML;
	
};

/**
 * Custom inital load handler. Called when the carousel loads the initial
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadInitHandler
 **/
var loadInitialItems = function(type, args) {

	var start = args[0];
	var last = args[1]; 
	load(this, start, last);	
};

/**
 * Custom load next handler. Called when the carousel loads the next
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadNextHandler
 **/
var loadNextItems = function(type, args) {	

	var start = args[0];
	var last = args[1]; 
	var alreadyCached = args[2];
	
	if(!alreadyCached) {
		load(this, start, last);
	}
};

/**
 * Custom load previous handler. Called when the carousel loads the previous
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadPrevHandler
 **/
var loadPrevItems = function(type, args) {
	var start = args[0];
	var last = args[1]; 
	var alreadyCached = args[2];
	
	if(!alreadyCached) {
		load(this, start, last);
	}
};  

var load = function(carousel, start, last) {
	/*for(var i=start;i<=last;i++) {
		var randomIndex = getRandom(18, lastRan);
		lastRan = randomIndex;
		carousel.addItem(i, fmtItem(imageList[randomIndex], "#", imageList[randomIndex]));
	}*/
	//alert(start + " " + last);
	for(var i=start;i<=last;i++) {
		carousel.addItem(i, fmtItem(imageList[i-1], "#", imageList[i]));
		//alert(lentgh_scroll);
	}
};

var getRandom = function(max, last) {
	var randomIndex;
	do {
		randomIndex = Math.floor(Math.random()*max);
	} while(randomIndex == last);
	
	return randomIndex;
};

/**
 * Custom button state handler for enabling/disabling button state. 
 * Called when the carousel has determined that the previous button
 * state should be changed.
 * Specified to the carousel as the configuration
 * parameter: prevButtonStateHandler
 **/
var handlePrevButtonState = function(type, args) {

	var enabling = args[0];
	var upImage = args[1];

	if(enabling) {
		upImage.src = "images/up-enabled.png";
	} else {
		upImage.src = "images/up-disabled.png";
	}
	
};

var handleNextButtonState = function(type, args) {

	var enabling = args[0];
	var downImage = args[1];

	if(enabling) {
		downImage.src = "images/down-enabled.png";
	} else {
		downImage.src = "images/down-disabled.png";
	}
	
};

var carousel; // for ease of debugging; globals generally not a good idea
var pageLoad = function() 
{
	carousel = new YAHOO.extension.Carousel("dhtml-carousel", 
		{
			numVisible:        2,
			animationSpeed:    1,
			scrollInc:         2,
			orientation:       "vertical",
			navMargin:         0,
			loadInitHandler:   loadInitialItems,
			prevElement:     "up-arrow",
			nextElement:     "down-arrow",
			loadNextHandler:   loadNextItems,
			loadPrevHandler:   loadPrevItems,
			prevButtonStateHandler:   handlePrevButtonState,
			nextButtonStateHandler:   handleNextButtonState,
			autoPlay: 5000,
			wrap:true,
			size:lentgh_scroll

		}
	);
};

YAHOO.util.Event.addListener(window, 'load', pageLoad);



