function RGB2Col(r,g,b)
{
	return (r<<16 | g<<8 | b);
}

function copyobject(src,dst)
// warning! this function is not yet typesafe!!!
{
	for (var i in src)
	{
//		if (src[i]!="[Object]" && src[i]!="" && src[i]!="undefined")
			dst[i] = src[i];	
	}
}

function inspect(obj)
{
	var str = new Array();
	var count =0;
	//var obj = document.all;
	for (var i in obj)
	{
		var newElem = new String(obj[i]);
		if (newElem.length > 60)
			newElem = newElem.substr(0,60)+"... T R U N C A T E D";
		str[count++] = i +"="+ newElem;
	}
	str.sort();
	var out = new String();
	count = 0;
	for (var i in str)
	{
		out += str[i]+"\n";
		if (count++ > 30)
		{
			count =0;
			alert(out);
			out = "";
		}
	} // of for
	alert(out);
}

function str_pad_left(numDigits)
{
	var numCurrent = this.length;
	var val = new String();
	if (numDigits>numCurrent)
	{
		for (var i=0;i<numDigits-numCurrent;i++)
			val += "0";
	} // if
	val += this.toString();
	return val;
} // function

String.prototype.pad_left = str_pad_left;
Object.prototype.name = "undefined";