/*
*/

//fonctions usuelles sur les tableaux...
function in_array(needle, haystack){
	for(var cpt = 0; cpt < haystack.length; cpt++){
		if (needle == haystack[cpt]) {
			return true;
		}
	}
	return false;
}

function array_key(needle, haystack){
	for(var cpt = 0; cpt < haystack.length; cpt++){
		if (needle == haystack[cpt]) {
			return cpt;
		}
	}
	return false;
}

function verif_disabled(id){
	if($('#'+id+' option:selected').attr('disabled')){
		alert('Action impossible...');
		$('#'+id+' option:enabled:first').attr('selected', 'selected');
	}
}

function setDisplay(id,displayMode){
		//alert("calques.js : setDisplay : ne plus utiliser ?");
		if(!displayMode && displayMode!=''){displayMode='block';}
		document.getElementById(id).style.display=displayMode;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function positionneSelect(idSelect,valeur){
	var longueur=document.getElementById(idSelect).length;
	var i;
	for(i=longueur-1;i>=0;i--){
		if(document.getElementById(idSelect).options[i].value==valeur){
			document.getElementById(idSelect).selectedIndex=i;
			return;
		}
	}
}

/**
	Gestion des cookies
*/
function EcrireCookie(nom, valeur)
{
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function LireCookie(nom)
{
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen)
	{
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return "";
}

function EffaceCookie(nom)
{
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	EcrireCookie(nom,null,date);
}


function checkValid(lien){
	var leForm=$(lien).parents("form");
	var idArticle=leForm.children("[name='YAPBout_idArticle']").val();
	var qte=$("#qte_" + idArticle).val();
	var idP=leForm.children("[name='idP']").val();
	var nomForm=leForm.attr("id");

	// On vérifie que l'on a bien un article à ajouter :
	if(!idArticle){
		alert("Merci de choisir un article.");
		return false;
	}else{
		//On efface le cookie
		EffaceCookie("artToAdd");
		// On crée le cookie pour l'article en question :
		var date=new Date;
		date.setFullYear(date.getFullYear()+1);
		EcrireCookie("artToAdd", idArticle,date,"/");
		// On ajoute dans le panier
		$.get("/produits/ajax/ajoutePanier.ajax.php", { YAPBout_todo: "ajoutePanier", YAPBout_idArticle: idArticle, qte: qte, idP: idP },
		  function(data){
//		    alert("Data Loaded: " + data);
				if($('#resumePanier').size()){
					var cible="#resumePanier";
				}else{
					var cible="#lienPanierMenu";
				}
			//$('.lienAjoutPanier').effect("transfer", { to: cible }, 1000);
			$('.lienAjoutPanier').effect("transfer", { to: cible, className: 'ui-effects-transfer' });
			$.scrollTo("0",500);

			$(".nbArticles").html(data);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
			$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);

		  }
		);
//		leForm.submit();
	}
}
function checkValidPanier(leForm){
	var leForm=$(leForm);
	var idArticle=leForm.children("[name='YAPBout_idArticle']").val();
	var qte=leForm.children("[name='qte']").val();
	var idP=leForm.children("[name='idP']").val();
	var nomForm=leForm.attr("id");

	// On vérifie que l'on a bien un article à ajouter :
	if(!idArticle){
		alert("Merci de choisir un article.");
		return false;
	}else{
		//On efface le cookie
		EffaceCookie("artToAdd");
		// On crée le cookie pour l'article en question :
		var date=new Date;
		date.setFullYear(date.getFullYear()+1);
		$("#panier").addClass('charge');
		EcrireCookie("artToAdd", idArticle,date,"/");
		if($('.mode_paiement').size()){
			var blocPaiement=1;
		}else{
			var blocPaiement=0;
		}
		// On ajoute dans le panier
		$.get("/produits/ajax/setPanier.ajax.php", { YAPBout_todo: "setPanier", YAPBout_idArticle: idArticle, qte: qte, idP: idP, paiement: blocPaiement},
			function(data){
				var cible="#panierConteneur";
				$(cible).html(data);
				// On met à jour le bloc du choix du paiement
				if($('.mode_paiement').size()){
					$('.mode_paiement').html($('#mode_paiement').html());
					$('#mode_paiement').remove();
				}
				// On met à jour le mini-panier
				$.get("/produits/ajax/ajoutePanier.ajax.php", { YAPBout_todo: "rin", YAPBout_idArticle: idArticle, qte: qte, idP: idP },
				  function(data){
						$(".nbArticles").html(data);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FF6600" }, 300);
						$(".contenuPanier").animate({ backgroundColor: "#FFFFFF" }, 300);
				  }
				);
			}
		);
	}
}

function composeRef(leSelect){
	// On efface éléments suivants pour réinitialiser :
	$(leSelect).nextAll().remove();
	if(!$(leSelect).val()){
		if($(leSelect).attr('id')=='selectComposeRef'){
			$(".grilleRefs tbody tr").show();
		}
		if($(leSelect).prev('select').size()){
			composeRef($(leSelect).prev('select'));
		}
		return;
	}
	$(".grilleRefs tbody tr").hide();
	var lesArticles=new Array();
	var lesAttributs=new Array();
	var idAttribut=$(leSelect).find('option:selected').parent().attr('rel');
	var idValeur=$(leSelect).val();
	$(leSelect).attr("rel",idAttribut);
	// On ajoute des champs hidden pour savoir ce qui a été sélectionné plus facilement
	if(!$("#formComposeRef :input[name='attributs\[\]'][value='" + idAttribut + "']").size()){
		$("#formComposeRef").append('<input type="hidden" name="attributs[]" value="' + idAttribut + '">');
	}
	if(!$("#formComposeRef :input[name='valeur\[" + idAttribut + "\]']").size()){
		$("#formComposeRef").append('<input type="hidden" name="valeur[' + idAttribut + ']" value="' + idValeur + '">');
	}else{
		$("#formComposeRef :input[name='valeur\[" + idAttribut + "\]']").val(idValeur);
	}
	// On ajoute un champ select pour choisir une valeur dans les attributs restants
	$("#formComposeRef").append('<select><option value="">Affinez encore...</option></select>');
	// Pour chaque attribut défini pour le produit...
	for(idValeurCourante in attributsParValeurs){
		var idAttributCourant=attributsParValeurs[idValeurCourante][0];
		// ...Qui n'est pas l'attribut que l'on vient de selectionner
		if(idValeurCourante!=idValeur && attributsParValeurs[idValeur][0]!=idAttributCourant){

			// ni un des attributs déjà utilisés
			if(!$("#formComposeRef select[rel='" + idAttributCourant + "']").size()){
				// On vérifie que cet attribut n'est pas déjà présent :
				if(!$("#formComposeRef > :last").children("[rel='" + idAttributCourant + "']").size()){
					// Et on ajoute son intitulé comme optgroup
					$("#formComposeRef > :last").append("<optgroup label=\"" + attributsParValeurs[idValeurCourante][3] + "\" rel=\"" + idAttributCourant + "\"></optgroup>");
					lesAttributs.push(idAttribut);
				}
				// Puis on ajoute les valeurs d'attributs dans les optgroups, sous
				// forme de balise option
				bouclearticles :
				for(i=0;i<valeursArticles[idValeur].length;i++){
					var idArticle=valeursArticles[idValeur][i];
					var laValeur=valeursAttributsParArticles[idArticle][idAttributCourant];
					// pour chaque article il faut que pour chaque attribut déjà
					// existant, la valeur soit celle déjà selectionnée
					for(idAttribut2 in valeursAttributsParArticles[idArticle]){
						laValeur2=valeursAttributsParArticles[idArticle][idAttribut2];
						if($("#formComposeRef select[rel='" + idAttribut2 + "']").size() && laValeur2[1]!=$("#formComposeRef select[rel='" + idAttribut2 + "']").val()){
							continue bouclearticles;
						}
					}
					$(".grilleRefs tr[rel='" + idArticle + "']").show();
					// Il ne faut pas que la valeur soit déjà présente :
					if(!$("#formComposeRef > :last").children("[rel='" + attributsParValeurs[idValeurCourante][0] + "']").children("option[value='" + laValeur[1] + "']").size()){
						// Il ne faut pas que l'article ait une valeur pour un
						// attribut déjà utilisé qui ne
						// soit pas celle sélectionnée
						var toAppend='<option value="' + laValeur[1] + '">' + attributsParValeurs[idValeurCourante][3] + ' : ' + laValeur[0] + '</option>';
						$("#formComposeRef > :last").children("[rel='" + attributsParValeurs[idValeurCourante][0] + "']").append(toAppend);
						if(jQuery.inArray(idArticle,lesArticles)==-1){
							lesArticles.push(idArticle);
						}
					}
				}
			}else{
				// On utilisé tous les attributs...
				// Il faut connaitre l'article :
				bouclearticles :
				for(i=0;i<valeursArticles[idValeur].length;i++){
					var idArticle=valeursArticles[idValeur][i];
					var laValeur=valeursAttributsParArticles[idArticle][idAttributCourant];
					// pour chaque article il faut que pour chaque attribut déjà
					// existant, la valeur soit celle déjà selectionnée
					for(idAttribut2 in valeursAttributsParArticles[idArticle]){
						laValeur2=valeursAttributsParArticles[idArticle][idAttribut2];
						if($("#formComposeRef select[rel='" + idAttribut2 + "']").size() && laValeur2[1]!=$("#formComposeRef select[rel='" + idAttribut2 + "']").val()){
							continue bouclearticles;
						}
					}
					if(!$("#formComposeRef select > :last").children("[rel='" + attributsParValeurs[idValeurCourante][0] + "']").children("option[value='" + laValeur[1] + "']").size()){
						// Il ne faut pas que l'article ait une valeur pour un
						// attribut déjà utilisé qui ne
						// soit pas celle sélectionnée
						if(jQuery.inArray(idArticle,lesArticles)==-1){
							$(".grilleRefs tr[rel='" + idArticle + "']").show();
							lesArticles.push(idArticle);
						}
					}
				}
			}
		}else{//C'est l'attribut que l'on vient d'utiliser

			for(i=0;i<valeursArticles[idValeur].length;i++){
					var idArticle=valeursArticles[idValeur][i];
					$(".grilleRefs tr[rel='" + idArticle + "']").show();
			}
		}
	}
	if(lesArticles.length<=1){
		$("#formComposeRef > :last").hide();
		if(lesArticles.length==1){
			// On va chercher en ajax.
			chargeReference(lesArticles.pop());
		}
	}else{
		$("#formComposeRef > :last").change(function(){composeRef(this)});
	}
	if(lesAttributs.length<1){
		$("#formComposeRef > :last").hide();
	}
/*
	lesAttributs.push(idAttribut);
	lesValeurs.push('titi');
	lesAttributs.push('tutu');
	lesAttributs.push('tata');
	$.get("/produits/composeRef.ajax.php", {'lesAttributs[]':lesAttributs},
		function(data){
			alert("Data Loaded: " + data);
		}
	);
*/
	$("#formComposeRef select:last").sortSelect();

}

// ---------------------------------------------------------------
// formate un nombre comme la fonction php number_format
// exemple pour transformer un nombre en prix => numberFormat(global_totalAvecFraisDePort,2,","," ")
// ---------------------------------------------------------------
function numberFormat(number, decimals, dec_point, thousands_sep)
{
var exponent = "";
var numberstr = number.toString ();
var eindex = numberstr.indexOf ("e");
if (eindex > -1)
{
exponent = numberstr.substring (eindex);
number = parseFloat (numberstr.substring (0, eindex));
}
if (decimals != null)
{
var temp = Math.pow (10, decimals);
number = Math.round (number * temp) / temp;
}
var sign = number < 0 ? "-" : "";
var integer = (number > 0 ?
Math.floor (number) : Math.abs (Math.ceil (number))).toString ();

var fractional = number.toString ().substring (integer.length + sign.length);
dec_point = dec_point != null ? dec_point : ".";
fractional = decimals != null && decimals > 0 || fractional.length > 1 ?
(dec_point + fractional.substring (1)) : "";
if (decimals != null && decimals > 0)
{
for (i = fractional.length - 1, z = decimals; i < z; ++i)
fractional += "0";
}
thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ?
thousands_sep : null;
if (thousands_sep != null && thousands_sep != "")
{
for (i = integer.length - 3; i > 0; i -= 3)
integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
}
return sign + integer + fractional + exponent;
}


function calcule_total(sous_total){
	var ssTotal = parseFloat(sous_total);
	var frais_port = parseFloat($('select[name=fraisPort] option:selected').val());
	var total = ssTotal + frais_port;

	if (frais_port == 0) {
		$('#divFraisDePortPrix .nombre').html('offerts');
		$('#divFraisDePortPrix .devise').hide();
		$('#tdTotalPrix .nombre').html(numberFormat(total,2,",","&nbsp;"));
	}
	else if((frais_port) > 0){
		$('#divFraisDePortPrix .nombre').html(numberFormat(frais_port,2,",","&nbsp;"));
		$('#divFraisDePortPrix .devise').show();
		$('#tdTotalPrix .nombre').html(numberFormat(total,2,",","&nbsp;"));

	}else{
		$('#divFraisDePortPrix .nombre').html('selon adresse livraison');
		$('#divFraisDePortPrix .devise').hide();
		$('#tdTotalPrix .nombre').html(numberFormat(parseFloat(sous_total),2,",","&nbsp;"));
	}
}

function Ouvrir_Spplus(urlspplus){
	// Largeur et hauteur préconisées de la fenêtre SPPLUS
	var PopupSpplus_largeur	= 750;
	var PopupSpplus_hauteur	= 560;

	// Position haut et gauche de la fenêtre SPPLUS pour affichage centré dans l'écran
	var PopupSpplus_top	=((parent.screen.height-PopupSpplus_hauteur)/2);
	var PopupSpplus_left	=((parent.screen.width-PopupSpplus_largeur)/2);

	// On affiche un message pour signifier que l'on se connecte au panier
	$('.divEspacePersonnel').html('Connexion au serveur de paiement');

	// Ouverture du popup SPLUS avec barre état uniquement et focus sur la fenêtre
	var win = window.open(urlspplus, "SPPLUS","status=yes,top="+PopupSpplus_top+",left="+PopupSpplus_left+",width="+PopupSpplus_largeur+",height="+PopupSpplus_hauteur);
	win.focus();
}




ancPrix=new Array();


//pliage dépliage // traduction
function toggleDepliage(objA,texteouvrir,textefermer){

	var isSafari = navigator.userAgent.indexOf("safari");

	var txtfermer = textefermer || "fermer";
	var txtouvrir = texteouvrir || "lire la suite";
	var parent = objA.parentNode;
	try{
		var jqOK = jQuery;
	}
	catch(err){
		var jqOK = false;
	}

	if (jqOK) {
		//mode jQuery
		children = jQuery(parent).children("div");
		if (children.length>0) {
			if (jQuery(children[0]).css("display")=="none") {
				jQuery(children[0]).css("float","");
				jQuery(children[0]).show("slow",function(){

						jQuery(children[0]).css("float","left");
						jQuery(children[1]).css("clear","both");
						//jQuery(children[0]).css("float","right");
						//jQuery(parent).css("position","absolute");
						//jQuery(parent).css("border","1px solid red");
						//jQuery(parent).css("display","block");

						// pour FF : ok :
						//jQuery(parent).css("overflow","hidden");
						/*
						var essai = parent.parentNode;
						childrenH = jQuery(essai).children("p");
						alert(jQuery(childrenH[0]).width());
						*/

						if (document.all) {
						/*	jQuery(objA).css("float","left");*/
							jQuery(objA).css("display","block");
							jQuery(objA).css("width","45%");
						}

					}
				);
				//objA.empty().append(unescape(txtfermer));
				if (document.all || isSafari) {
					objA.innerHTML=txtfermer;
				}
				else{
					objA.textContent=txtfermer;
				}

				//setTimeout(
				//jQuery(children[0]).css("float","left");//);
			}
			else{
				jQuery(children[0]).css("float","");
				jQuery(children[0]).hide("slow");
				jQuery(children[1]).css("clear","");
				//objA.empty().append(unescape(txtouvrir));
				if (document.all || isSafari) {
					objA.innerHTML=txtouvrir;

					jQuery(objA).css("float","");
					jQuery(objA).css("display","");
					jQuery(objA).css("width","");
				}
				else{
					objA.textContent=txtouvrir;
				}
			}
		}

	}
	else{
		//mode classique:
		children =  parent.getElementsByTagName("DIV");
		if (children.length>0) {
			if (children[0].style.display=='none') {

				children[0].style.display='block';
				//children[0].style.float='left';
				if (document.all) {
					objA.innerHTML=txtfermer;
					children[0].style.styleFloat = 'left';
				}
				else{
					objA.textContent=txtfermer;
					children[0].style.cssFloat = 'left';
				}
			}
			else{

				if (document.all) {
					objA.innerHTML=txtouvrir;
					children[0].style.styleFloat = '';
				}
				else{
					objA.textContent=txtouvrir;
					children[0].style.cssFloat = '';
				}
				children[0].style.display='none';

			}
		}
	}
}




//intelliance  -----------------------------------------------------------------
//couleurs complémentaires :

//............................................................................
//To obtain complement of colorvalue (for example background)
function colorShade(colorvalue,coef){
	if (typeof(coef)=="undefined") {
		var coef = 0.6;
	}
	var rgbtest=/^rgb(.*)$/i;
	if(rgbtest.test(colorvalue)){
		var colorok = "";
		var cv = colorvalue;
		var p0 = cv.indexOf('(');
		cv = cv.substring(p0+1);
		var p1 = cv.indexOf(',');
		colorok += d2h(trim(cv.substring(0,p1)));
		var p2 = cv.indexOf(',',p1+1);
		colorok += d2h(trim(cv.substring(p1+1,p2)));
		var p3 = cv.indexOf(')',p2+1);
		colorok += d2h(trim(cv.substring(p2+1,p3)));
		colorvalue = colorok;
	}

	if (colorvalue.charAt(0)=="#") {
		colorvalue = colorvalue.substring(1);
	}

	var colorparts = new Array();
	for(var i=0;i<6;i++){
		colorparts.push(colorvalue.charAt(i));
	}
	var tone = new Array(0.136,0.008,0.038,0.002,0.201,0.013);
	var TotalColorValue = 0;
	for (var l=0;l<=5;l++)
	{
	   TotalColorValue = (hexdec(colorparts[l]) * tone[l]*coef) + TotalColorValue;
	}
	TotalColorValue = Math.floor(TotalColorValue);
	var result = "";

	// Values 0 and 1 are dark
	if (TotalColorValue < 2)
	{ result = "FFFFFF";  // Set Text to White
	   return result;
	}
	// Values 2 and 3 are medium
	if ( (TotalColorValue > 1) && (TotalColorValue < 4) )
	{
	   result = "000000";  // Set text to Black
	   return result;
	}
	// Values 4 and 5 are light
	if (TotalColorValue > 3 )
	{
	   result = "000000";  // Set Text to Black
	   return result;
	}
	return result;
}

function hexdec(val) {
	var res = parseInt(val,16);
	if (isNaN(res)) {
		res=0;
	}
	return res;
}

function d2h(d){
	hch="0123456789ABCDEF";
	a=d%16;
	b=(d-a)/16;
	return hch.charAt(b)+hch.charAt(a);
}

//----------------- FIN couleurs complémentaires  -----------------------------------------------

function affMasq(id){
	if($('#'+id).css('display') != 'none'){
		$('#'+id).slideUp(200);
	}else{
		$('#'+id).slideDown(200);
	}
}


function slideUpDown(id, txtOuverture, txtFermeture){
	if($('#'+id).css('display') != 'none'){
		$('#'+id).slideUp(200);
		$('#link_'+id).html(txtOuverture);
	}else{
		$('#'+id).slideDown(200);
		$('#link_'+id).html(txtFermeture);
	}
}

function toggleRub(idRub){
	$("#rub"+idRub+" ul").toggle(300);
}