
function extend(subClass, superClass)
{
	var instance = function() {};
	
	instance.prototype = superClass.prototype;
	subClass.prototype = new instance();
	subClass.prototype.constructor = subClass;
	subClass.superclass = superClass.prototype;
	
	if (superClass.prototype.constructor == Object.prototype.constructor) {
		superClass.prototype.constructor = superClass;
	}
}

function randInt(s, e)
{
    return Math.floor(Math.random() * (e - s)) + s;
}

function hashCount(object)
{
    var n = 0;
    for (var i in object) {
	++n;
    }
    return n;
}

function max(a, b)
{
    return a > b ? a: b;
}

function min(a, b)
{
    return a < b ? a: b;
}

function sign(v)
{
    return v > 0.0 ? 1:-1;
}


function rgb(r, g, b)
{
    return "rgb(" + Math.floor(r) 
    + "," + Math.floor(g) + "," + Math.floor(b) + ")";
}

