function cleanColor(val) 
{
	if(val==null) return "";
	if(val.indexOf("rgb")!=-1)
	{
		var str = val.substring(val.indexOf("rgb")+4,val.length-1);
		var a = str.split(",");
		val = ConvertFixedSize(a[0], 10, "016")+ConvertFixedSize(a[1], 10, "016")+ConvertFixedSize(a[2], 10, "016")
	}
	if(val.indexOf("#") == 0)
		val = val.substring(1);
	return val;
}
var hex = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
function CKparseInt(n, r) {
for (var i = 0; i < n.length; ++i)
if (n.charAt(i) >= r) {
alert("Invalid digit");
return 0;
}
if (isNaN(M = parseInt(n, r)))
alert ("Invalid number");
return M;
}
// decimal to any other base 2 to 16
function DecimaltoAnother(A, radix) {
s = "";
while (A >= radix) {
s += hex[A % radix];  // remainder
A = Math.floor(A / radix); // quotient, rounded down
}
return transpose(s += hex[A]);
}
// string reversal
function transpose(s) {
N = s.length;
for (i = 0,t = ""; i < N; i++)
t += s.substring(N-i-1, N-i); // s.substring(from, to)
return t;
}
// convert item.value using radix
/*
function EvalAny(item, r)
{
	M = CKparseInt(item.value, r); // check this one
	for (var i = 0, MyForm = document.forms[0]; i < MyForm.length; ++i) // re-evaluate all
		MyForm.elements[i].value = DecimaltoAnother(M, MyForm.elements[i].name.substr(1,3));
}
*/
function ConvertAny(value, r, t)
{
	M = CKparseInt(value, r); // check this one	for (var i = 0, MyForm = document.forms[0]; i < MyForm.length; ++i) // re-evaluate all
	return DecimaltoAnother(M, t);
}

function ConvertFixedSize(value, r, t)
{
	s=ConvertAny(value, r, t);
	if(s.length == 1)
		s = "0"+s;
	return s;
}

