/**
 * Extending classes function
 */
function extend( Child, Parent )
{
	var F = function() { };
	F.prototype = Parent.prototype;
	Child.prototype = new F();
	Child.prototype.constructor = Child;
	Child.superclass = Parent.prototype;
}

/**
 * Copying properties from src object to dst object function
 */
function mixin(dst, src){
	var tobj = {} 
	for(var x in src)
		if((typeof tobj[x] == "undefined") || (tobj[x] != src[x]))
			dst[x] = src[x];
	
	if(document.all && !document.isOpera)
	{
		var p = src.toString;
		if(typeof p == "function" && p != dst.toString && p != tobj.toString &&
			p != "\nfunction toString() {\n    [native code]\n}\n")
			dst.toString = src.toString;
	}
}
