function hex_to_int( v )
{
	val = 0;	

	for( i = 0; i < v.length; i++ )
	  {	    
            switch( v.charAt(i) )
              {
              	case '0': n = 0; break;
              	case '1': n = 1; break;
              	case '2': n = 2; break;
              	case '3': n = 3; break;
              	case '4': n = 4; break;
              	case '5': n = 5; break;
              	case '6': n = 6; break;
              	case '7': n = 7; break;
              	case '8': n = 8; break;
              	case '9': n = 9; break;
              	case 'a': 
              	case 'A': n = 10; break;
              	case 'b': 
              	case 'B': n = 11; break;
              	case 'c': 
              	case 'C': n = 12; break;
              	case 'd': 
              	case 'D': n = 13; break;
              	case 'e': 
              	case 'E': n = 14; break;
              	case 'f': 
              	case 'F': n = 15; break;              	
              	default : n = -1; break;
              }
            
            val = val * 16 + n;
          }
     
     return val;
}


function int_to_hex( v )
{
	 var Digits="0123456789abcdef";
	 var LSN = Digits.charAt(v % 16);
	 var MSN = Digits.charAt(v / 16);
	 
	 return MSN + LSN;
}


function setColorInt(form_id, cell_id, text_id)
{
	elt   = document.getElementById(cell_id);
	text  = self.document.forms[form_id].elements[text_id];	
	color = text.value;
	
	r = hex_to_int( color.substr(0, 2) );
	g = hex_to_int( color.substr(2, 2) );
	b = hex_to_int( color.substr(4, 2) );
	
	changeTexte(form_id, 'col_r', r);
	changeTexte(form_id, 'col_g', g);
	changeTexte(form_id, 'col_b', b);	
}


function setColorHex(form_id, cell_id, text_id)
{
	form = self.document.forms[form_id];	
	text = self.document.forms[form_id].elements[text_id];	
	cell = document.getElementById(cell_id);	

	r = int_to_hex(form.elements['col_r'].value);
	g = int_to_hex(form.elements['col_g'].value);
	b = int_to_hex(form.elements['col_b'].value);
	
	color = r + g + b;
	
	text.value = color;
	cell.style.backgroundColor = "#" + color;
}
