/************************************************************************************************************************* 
Copyright (c) Saray HACH, 2006, les codes sources de ce fichier sont protégés par les lois du CopyRight. 
Sauf indication contraire, les textes, légendes et autres informations écrites présents dans ce fichier sont la propriété 
de Saray HACH. 
Ces codes sources ne peuvent être reproduits gratuitement, sans autorisation préalable, pour usage privé ou public.
***************************************************************************************************************************/


var detailsCouleurs = 10;	
var is_mouse_down = false;
var is_mouse_over = false;
SH.Position={
	relatifX:function (e,objet){return (e.offsetX) ? e.offsetX : (e.layerX-objet.x);},
	relatifY:function (e,objet){return (e.offsetY) ? e.offsetY : (e.layerY-objet.y);}
}
SH.Couleur = fhClasse.creer (
{
	initialise:function(couleur){
		this.R=0;this.V=0;this.B =0;
		this.T=0;this.S=0;this.L =0;
		if(couleur.RVB!=undefined){
			this.R=couleur.RVB[0];
			this.V=couleur.RVB[1];
			this.B=couleur.RVB[2];
			this.RVBenTSL();
		}else if(couleur.TSL!=undefined){
			this.T=couleur.TSL[0];
			this.S=couleur.TSL[1];
			this.L=couleur.TSL[2];
			this.TSLenRVB();
		} else if(couleur.Hexa!=undefined){
			if (couleur.Hexa.substring(0,3)=="rgb") couleur.Hexa = eval(couleur.Hexa);
			this.RVBdeHex(couleur.Hexa);
			this.RVBenTSL();
		}
		this.complementaire_=null;
		this.intermediaires_=new Array();
		this.intermediaires_[0]=null;		
		this.voisines_=new Array();
		this.voisines_[0]=null;		
		this.harmonies1_=new Array();
		this.harmonies1_[0]=null;		
		this.harmonies2_=new Array();
		this.harmonies2_[0]=null;		
	},
	setR:function(r){this.R=r;this.RVBenTSL();},
	setV:function(v){this.V=v;this.RVBenTSL();},
	setB:function(b){this.B=b;this.RVBenTSL();},
	setT:function(t){this.T=t;this.TSLenRVB();},
	setS:function(s){this.S=s;this.TSLenRVB();},
	setL:function(l){this.L=l;this.TSLenRVB();},
	complementaire:function(){
		if(this.complementaire_!=null){return this.complementaire_;
		}else{
			return (new SH.Couleur({TSL:Array(this.modulo2pi(this.T+180),this.S,this.L)}));
		}
	},		
	intermediaires:function(n){
		if(this.intermediaires_[0]==null){
			this.intermediaires_=Array(
				(new SH.Couleur({TSL:Array(this.modulo2pi(this.T+180+30),this.S,this.L)})),
				(new SH.Couleur({TSL:Array(this.modulo2pi(this.T+180-30),this.S,this.L)}))
			);
		}
		return this.intermediaires_[n];
	},		
	voisines:function(n){
		if(this.voisines_[0]==null){
			this.voisines_=Array(
				(new SH.Couleur({TSL:Array(this.modulo2pi(this.T+60),this.S,this.L)})),
				(new SH.Couleur({TSL:Array(this.modulo2pi(this.T+30),this.S,this.L)})),
				(new SH.Couleur({TSL:Array(this.modulo2pi(this.T-30),this.S,this.L)})),
				(new SH.Couleur({TSL:Array(this.modulo2pi(this.T-60),this.S,this.L)}))
			)
		};
		return this.voisines_[n];
	},		
	harmonie1:function(n){
		if(this.harmonies1_[0]==null){
			for(i=0;i<6;i++){
				this.harmonies1_[i] = (new SH.Couleur({TSL:Array(this.modulo2pi(this.T+(60*i)),this.S,this.L)}));
			}
		};
		return this.harmonies1_[n];
	},		
	harmonie2:function(n){		
		if(this.harmonies2_[0]==null){
			var aT = new Array();var aS = new Array();var aL = new Array();
			aT[0] = this.T;aS[0] = this.S;aL[0] = this.L;
			if(this.L+30 <= 100){aL[1] = this.L + 30;}else{aL[1] = this.L - 30;}aS[1] = this.S;aT[1] = this.T + 20;
			if(this.T > 340){
				aT[2] = this.T - 340;aS[2] = this.S - 40;	aL[2] = this.L;					
			}else if(this.T > 320){
				aT[2] = this.T + 20;aS[2] = this.S - 20;aL[2] = this.L;		
			}else if(this.T > 220){
				aT[2] = this.T;aS[2] = this.S - 60;aL[2] = this.L;				
			}else if(this.T > 180){
				aT[2] = this.T - 160;aS[2] = this.S;aL[2] = this.L;				
			}else if(this.T > 60){
				aT[2] = this.T - 40;aS[2] = this.S;aL[2] = this.L;
			}else if(this.T > 30){
				aT[2] = this.T + 150;aS[2] = this.S - 30;aL[2] = this.L - 20;
			}else{
				aT[2] = this.T + 20;aS[2] = this.S;aL[2] = this.L;
			}
			aT[3] = aT[2];if(aS[2] >= 40){aS[3] = aS[2]-40;} else {aS[3] = aS[2];}aL[3] = aL[1];
			aT[4] = 0;aS[4] = 0;aL[4] = 100-this.L;
			aT[5] = 0;aS[5] = 0;aL[5] = this.L;

			for(i=0;i<6;i++){this.harmonies2_[i] = (new SH.Couleur({TSL:Array(aT[i], Math.abs(aS[i]), Math.abs(aL[i]))}));}
		};
		return this.harmonies2_[n];
	},		
	RVBenTSL:function(){
		max = Math.max(this.R,this.V,this.B);
		min = Math.min(this.R,this.V,this.B);
		
		this.L=Math.round(max*100/255);
		var cD=max-min;
		if(cD==0){this.S=0;this.T=0;
		}else{
			// Saturation
			this.S = Math.round((cD*100)/max);
			// Teinte
			var pas = cD/60;
			var cT=0;
			if(this.R == max)  cT = 60.0 * (6.0 + ((max - this.B)-(max - this.V))/cD);
			else if(this.V == max) cT = 60.0 * (2.0 + ((max - this.R)-(max - this.B))/cD);
			else if(this.B == max) cT = 60.0 * (4.0 + ((max - this.V)-(max - this.R))/cD);
			this.T = Math.round(this.modulo2pi(cT));
		}
		this.value=this.Hex();
	},	
	Min_:function(c1,c2){if(parseInt(c1) > parseInt(c2)) return c2; else return c1;},
	TSLenRVB:function(){
		var cR=255;var cV=0;var cB=0;
			
		// On applique la teinte
		pas = 255/60;
		var cT=this.T;
		if(cT > 0){cV += Math.round(pas * this.Min_(cT,60)); cT = cT - 60;
		if(cT > 0){cR -= Math.round(pas * this.Min_(cT,60)); cT = cT - 60;
		if(cT > 0){cB += Math.round(pas * this.Min_(cT,60)); cT = cT - 60;
		if(cT > 0){cV -= Math.round(pas * this.Min_(cT,60)); cT = cT - 60;
		if(cT > 0){cR += Math.round(pas * this.Min_(cT,60)); cT = cT - 60;
		if(cT > 0){cB -= Math.round(pas * this.Min_(cT,60));}}}}}}

		// On applique la saturation
		var cS = 100 - this.S;
		pasR = (255 - cR) / 100;
		pasG = (255 - cV) / 100;
		pasB = (255 - cB) / 100;
		if(cR < cB || cR < cV) cR = Math.round(cR + cS * pasR);
		if(cV < cR || cV < cB) cV = Math.round(cV + cS * pasG);
		if(cB < cR || cB < cV) cB = Math.round(cB + cS * pasB);
		
		var cL = 100 - this.L;
		pasR = cR / 100;
		pasV = cV / 100;
		pasB = cB / 100;
		
		this.R = Math.round(cR - cL * pasR);
		this.V = Math.round(cV - cL * pasV);
		this.B = Math.round(cB - cL * pasB);		
		this.value=this.Hex();
	},
	RVBdeHex:function(sHex) { 
	   this.R = parseInt(sHex.substr(1,2), 16); 
	   this.V = parseInt(sHex.substr(3,2), 16); 
	   this.B = parseInt(sHex.substr(5,2), 16); 
	},
	Hex:function(){return SH.Couleur.rgb(this.R,this.V,this.B);},
	modulo2pi:function(val){return Math.abs(val-Math.floor(val/360)*360);},
	obscurcir: function(pourcent,modif){
		var coefFinal=(100-pourcent)/100;
		var r=this.R * coefFinal;
		var v=this.V * coefFinal;
		var b=this.B * coefFinal;
		if(modif==undefined){
			this.R=r;
			this.V=v;
			this.B=b;
			this.RVBenTSL();
		}
		return SH.Couleur.rgb(r,v,b);
	},
	eclaircir:function(pourcent,modif){	
		var coefFinal=pourcent/100;
		var r=255 - (255 - this.R) * coefFinal;
		var v=255 - (255 - this.V) * coefFinal;
		var b=255 - (255 - this.B) * coefFinal;
		if(modif==undefined){
			this.R=r;
			this.V=v;
			this.B=b;
			this.RVBenTSL();
		}
		return SH.Couleur.rgb(r,v,b);
	},
	ajout: function(xCoul) {
		this.R = Math.floor((this.R + xCoul.R)/2);
		this.V = Math.floor((this.V + xCoul.V)/2);
		this.B = Math.floor((this.B + xCoul.B)/2);
		this.RVBenTSL();
	},
	estClair: function() {return this.L > 0.5;},
	estFonce: function() {return !this.estClair();},
	contraire:function(){return SH.Couleur.rgb(255-this.R,255-this.V,255-this.B);}
}
)
SH.Couleur.fond=function(el){
	var _p_=el;
	var _fond_=_p_.style.backgroundColor;
	if (_fond_.substring(0,3)=="rgb") _fond_ = eval(_fond_);
//	$('info_').innerHTML=propObjet(_p_.style);
	while (_fond_==''){
		_p_=_p_.parentNode;
		if(_p_.style){
			_fond_=_p_.style.backgroundColor;
			if (_fond_.substring(0,3)=="rgb") _fond_ = eval(_fond_);
		}else{
			_fond_="#ffffff";
		}
	}
return _fond_;
}
SH.Couleur.inverser=function(el){
	$(el).style.backgroundColor=new SH.Couleur({Hexa:SH.Couleur.fond(el)}).contraire();
	$(el).style.borderColor=new SH.Couleur({Hexa:$(el).style.borderLeftColor}).contraire();
	$(el).style.color=new SH.Couleur({Hexa:$(el).style.color}).contraire();
}
SH.Couleur.hex=function(n){var strhex="0123456789ABCDEF";hex=strhex.charAt(Math.floor(n/16)) + strhex.charAt(n%16); if(hex.length==1)hex="0"+hex; return hex;}
SH.Couleur.rgb=function(r,v,b){return '#' + SH.Couleur.hex(r)+SH.Couleur.hex(v)+SH.Couleur.hex(b);}
function rgb(r,v,b){return '#' + SH.Couleur.hex(r)+SH.Couleur.hex(v)+SH.Couleur.hex(b);}
SH.Couleur.voir=function(couleur,id,changeValeur) {
	if (!couleur) colour = $(id).value; 
	if (couleur.substring(0,3)=="rgb") couleur = eval(couleur);
	if((changeValeur!=undefined)&&(changeValeur==true)) SH.Couleur.decorer(id,couleur);
	SH.Couleur.decorer('cTexte'+id,couleur);
	if(_($('_cApercu_'+id))){$('_cApercu_'+id).style.backgroundColor=couleur;}
}
SH.Couleur.decorer=function(id,couleur,vrai){
	if(id!=''){
		if(_($(id))){
			if(vrai!=undefined){
				$(id).value=vrai;
			}else{
				$(id).value=couleur;
			}
			$(id).style.borderStyle='solid';
			$(id).style.borderSize='1px';
			$(id).style.borderColor=couleur;
			//if(charAt(couleur,0)!='#') return true;
			$(id).style.backgroundColor=couleur;
			var _clair=new SH.Couleur({Hexa:couleur});
			$(id).style.backgroundColor=_clair.eclaircir(15);
		}
	}
}
SH.Couleur.colorier=function(classe){
	var el=document.getElementsByClassName(classe);
	for (var i = 0; i < el.length; i++) {
		SH.Couleur.decorer(el[i].id,el[i].value);
		fhObjet.etendre(el[i],fhEvenement);
		el[i].ajouterEvenement('keyup',function(){
				SH.Couleur.voir(this.value,this.id,true);
				changeChromo(null,this.id);
			},
		false);
	}
}

function posEnCouleur(x,y,largeur,hauteur){
	var pLargeur = largeur/6;
	var pHauteur = hauteur;
	var rouge = (x >= 0)*(x < pLargeur)*255
			+ (x >= pLargeur)*(x < 2*pLargeur)*(2*255 - x * 255 / pLargeur)
			+ (x >= 4*pLargeur)*(x < 5*pLargeur)*(-4*255 + x * 255 / pLargeur)
			+ (x >= 5*pLargeur)*(x < 6*pLargeur)*255;
	var bleu = (x>=2*pLargeur)*(x < 3*pLargeur)*(-2*255 + x * 255 / pLargeur)
			+ (x >= 3*pLargeur)*(x < 5*pLargeur)*255
			+ (x >= 5*pLargeur)*(x < 6*pLargeur)*(6*255 - x * 255 / pLargeur);
	var vert = (x >= 0)*(x < pLargeur)*(x * 255 / pLargeur)
			+ (x >= pLargeur)*(x < 3*pLargeur)*255
			+ (x >= 3*pLargeur)*(x < 4*pLargeur)*(4*255 - x * 255 / pLargeur);
	var coef = (pHauteur-y)/pHauteur;
	rouge = 128+(rouge-128)*coef;
	vert = 128+(vert-128)*coef;
	bleu = 128+(bleu-128)*coef;
return SH.Couleur.rgb(rouge,vert,bleu);
}

function afficherDegrade(e,id,c,changeValeur){
	if(c=="") c="#000000";
	if(c==undefined){
		x = SH.Position.relatifX(e,$(id+'choixCouleur'));
		y = SH.Position.relatifY(e,$(id+'choixCouleur'));
		c=posEnCouleur(x,y,$(id+'choixCouleur').width,$(id+'choixCouleur').height);
	}else{
		if (c.substring(0,3)=="rgb") c = eval(c);
	}
	var oC=new SH.Couleur({Hexa:c});
	SH.Couleur.voir(c,id,changeValeur);
	for(i = 0; i < detailsCouleurs; i++){
		$(id+'gs'+i).style.backgroundColor = SH.Couleur.degrade(oC,i);
	}
	return c;
}

SH.Couleur.degrade=function(oC,niveau,detailsCouleurs_){
	if(detailsCouleurs_==undefined){detailsCouleurs_=detailsCouleurs;}
	var pDetail=detailsCouleurs_/2;
	if ((niveau >= 0) && (niveau < pDetail)){
		var coefFinal = niveau/pDetail ;
		var rougeFinal= SH.Couleur.hex(255 - (255 - oC.R) * coefFinal);
		var vertFinal = SH.Couleur.hex(255 - (255 - oC.V) * coefFinal);
		var bleuFinal = SH.Couleur.hex(255 - (255 - oC.B) * coefFinal);
	}else{
		var coefFinal = 2 - niveau/pDetail ;
		var rougeFinal = SH.Couleur.hex(oC.R * coefFinal);
		var vertFinal = SH.Couleur.hex(oC.V * coefFinal);
		var bleuFinal = SH.Couleur.hex(oC.B * coefFinal);
	}
return "#" + rougeFinal + vertFinal + bleuFinal ;
}
function changeCouleurCalendrier($id){
	var coulP=new SH.Couleur({Hexa:$(id).value});
	var x;
	changeCouleurClasse('calendrier',x);
	changeCouleurClasse('enteteCalendrier',undefined,x,x);
	changeCouleurClasse('enteteJour',x);
	changeCouleurClasse('ligneCalendrier',x,x,x);
	changeCouleurClasse('caseJour',x,x,x);
	changeCouleurClasse('caseJourImportant',x,x,x);
	changeCouleurClasse('caseJourNormal',x,x,x);
	changeCouleurClasse('caseJourFaible',x,x,x);
}
function changeCouleurClasse(classe,bordure,fond,police){
	var el=document.getElementsByClassName(classe);
	for (var i = 0; i < el.length; i++) {
		changeCouleurEl(el,bordure,fond,police);
	}
}
function changeCouleurEl(el,bordure,fond,police){
	if(bordure!=undefined)	el.style.borderColor=bordure;
	if(fond!=undefined)		el.style.backgroundColor=fond;
	if(police!=undefined)	el.style.color=police;
}
function dansTableau(sCases){
	return '<table><tr>'+sCases+'</tr></table>';
}
function tableCouleur(id,changeValeur,onClick,fctValider){
	if(id==undefined){id='';}
	if(onClick==undefined){onClick='';}
	html='<table border="0" cellspacing="0" cellpadding="0" style="background:black;color:#ffffff;">';
	html+='<tr><td><table cellspacing="1" cellpadding="1">';
	var tPixel=(120/detailsCouleurs);
	if(id==''){
		var coulChois=new SH.Couleur({Hexa:'#ffffff'});
	}else{
		if(_($(id))) var coulChois=new SH.Couleur({Hexa:$(id).value}); else var coulChois=new SH.Couleur({Hexa:'#ffffff'});
	}
	var caseCouleur_=0;
	for(j_couleur=0;j_couleur<10;j_couleur++){
		html+='<tr>';
		for(i_couleur=-1;i_couleur<7;i_couleur++){
			if(i_couleur==-1)
			caseCouleur_=posEnCouleur(245,j_couleur*3,245,37);
			else
			caseCouleur_=posEnCouleur(i_couleur*37,j_couleur*3,245,37);
			html+='<td style="cursor:crosshair;padding:1px;border:none;width:'+tPixel+'px;height:'+tPixel+'px;background-color:'+caseCouleur_+';" ';
			html+='onclick="changeChromo(event,\''+id+'\',\''+caseCouleur_+'\','+changeValeur+');'+onClick+'"';
			html+='onmousedown="is_mouse_down = true; return false;"';
			html+='onmouseup="is_mouse_down = false;"';
			html+='onmousemove="if (is_mouse_down && is_mouse_over) {changeChromo(event,\''+id+'\',\''+caseCouleur_+'\','+changeValeur+');'+onClick+'} return false;"';
			html+='onmouseover="is_mouse_over = true;"';
			html+='onmouseout="is_mouse_over = false;"';
			html+='style="cursor:crosshair;" /></td>';
		}
		html+='<td stlye="width:2px;"></td>';
		html+='<td id="'+id+'gs'+j_couleur+'" style="cursor:crosshair;background-color:'+SH.Couleur.degrade(coulChois,j_couleur)+'; width:'+tPixel+'px; height:'+tPixel+'px; border-style:none; border-width:0px;"';
		html+=' onclick="SH.Couleur.voir(this.style.backgroundColor,\''+id+'\','+changeValeur+');changeChromo(event,\''+id+'\',undefined,'+changeValeur+');'+onClick+'"';
		html+=' onmousedown="is_mouse_down = true; return false;"';	
		html+=' onmouseup="is_mouse_down = false;"';
		html+=' onmousemove="if (is_mouse_down && is_mouse_over) {SH.Couleur.voir(this.style.backgroundColor,\''+id+'\','+changeValeur+');changeChromo(event,\''+id+'\',undefined,'+changeValeur+');'+onClick+'} return false;"';
		html+=' onmouseover="is_mouse_over = true;"';
		html+=' onmouseout="is_mouse_over = false;">';
		html+='</tr>';
	}
	html+='</table>';
	html+='</td>';
	html+='<td style="width:3px;"></td><td style="font-size:10px;">';
	var i=0;
	html+=dansTableau(
		'<td style="cursor:pointer;background-color:'+coulChois.value+';height:'+tPixel+'px;width:30px;"  onclick="afficherDegrade(event,\''+id+'\',this.style.backgroundColor,'+changeValeur+'); return false;"></td>'+
		'<td id="_cApercu_'+id+'" style="background-color:#ffffff;height:'+tPixel+'px;width:30px;"></td>'+
		'<td style="height:'+tPixel+'px;padding:0;margin:0;border:none;"><input id="cTexte'+id+'" value="'+coulChois.value+'" size=8 style="padding-left:2px;font-size:10pt;border:1px solid '+coulChois.value+';background-color:'+coulChois.eclaircir(15)+';"/></td>'+
		'<td><img style="cursor:pointer" src="'+iconeAdmin('ok.gif')+'" onclick="SH.Couleur.decorer(\''+id+'\',$(\'cTexte'+id+'\').value);'+fctValider+';supprimeDialogue(\''+id+'\',$(\'shConteneur\'));" />'+
		'<img style="cursor:pointer" src="'+iconeAdmin('annule.gif')+'" onclick="supprimeDialogue(\''+id+'\',$(\'shConteneur\'));" /></td>'
	);
		
	html+='Compl\351mentaires :'+dansTableau(
		caseCouleur(coulChois.complementaire().Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.intermediaires(0).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.intermediaires(1).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		'<td></td>'+
		caseCouleur(coulChois.voisines(0).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.voisines(1).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.voisines(2).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.voisines(3).Hex(),id,"chromo"+(i++),changeValeur,tPixel)
	);
/*	html+='Proches :'+dansTableau(
		caseCouleur(coulChois.voisines(0).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.voisines(1).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.voisines(2).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.voisines(3).Hex(),id,"chromo"+(i++),changeValeur,tPixel)
	);*/
	html+='Harmonie 1 :'+dansTableau(
		caseCouleur(coulChois.harmonie1(0).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie1(1).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie1(2).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie1(3).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie1(4).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie1(5).Hex(),id,"chromo"+(i++),changeValeur,tPixel)
	);	
	html+='Harmonie 2 :'+dansTableau(
		caseCouleur(coulChois.harmonie2(0).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie2(1).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie2(2).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie2(3).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie2(4).Hex(),id,"chromo"+(i++),changeValeur,tPixel)+
		caseCouleur(coulChois.harmonie2(5).Hex(),id,"chromo"+(i++),changeValeur,tPixel)
	);	
	html+='</td>';
	html+='</tr></table>';
return html;
}
function colorieFond(qui,quoi){
	if((quoi.substr(0,1)=="#")||(quoi.substr(0,4)=="rgb(")){
		$(qui).style.backgroundColor=quoi;
	}else{
		$(qui).style.backgroundColor=$(quoi).value;
	}
}
function caseCouleur(couleur,id,id_bout,changeValeur,taille){
if(id_bout==undefined){id_bout="";}else{id_bout=' id="'+id+id_bout+'" ';}
	if(taille!=undefined)taille=taille+'px'; else taille='';
	var html='<td '+id_bout+' style="background-color:'+couleur+'; width:'+taille+';height:'+taille+';cursor:pointer;"';
	html+=' onclick="afficherDegrade(event,\''+id+'\',this.style.backgroundColor,'+changeValeur+');return false;"';
	html+=' >';
	html+='</td>';
return html;
}

function changeChromo(e,id,degrade,changeValeur){
	if(_($(id+"chromo0"))){
		if((degrade!=undefined)&&(e!=null))afficherDegrade(e,id,degrade,changeValeur);
		couleur=degrade; //$('cTexte'+id).value;
		if (couleur.substring(0,3)=="rgb") couleur = eval(couleur);
		var coulChois=new SH.Couleur({Hexa:couleur});
		var i=0;
		$(id+"chromo"+i++).style.backgroundColor=coulChois.complementaire().Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.intermediaires(0).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.intermediaires(1).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.voisines(0).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.voisines(1).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.voisines(2).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.voisines(3).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie1(0).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie1(1).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie1(2).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie1(3).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie1(4).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie1(5).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie2(0).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie2(1).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie2(2).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie2(3).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie2(4).Hex();
		$(id+"chromo"+i++).style.backgroundColor=coulChois.harmonie2(5).Hex();
	}
}