
//	Emulate Legacy Getter Setter API Using ES5 APIs
	try
	{
		if (!Object.prototype.__defineGetter__ && Object.defineProperty({},"x",{get: function(){return true}}).x)
		{
			Object.defineProperty(Object.prototype, "__defineGetter__",
			{
				enumerable: false,
				configurable: true,
				value: function(name,func)
				{
					Object.defineProperty(this,name,
					{
						get:func,
						enumerable: true,
						configurable: true
					});
				}
			});
			Object.defineProperty(Object.prototype, "__defineSetter__",
			{
				enumerable: false,
				configurable: true,
				value: function(name,func)
				{
					Object.defineProperty(this,name,
					{
						set:func,
						enumerable: true,
						configurable: true
					});
				}
			});
		}
	} catch(defPropException) {/*Do nothing if an exception occurs*/};


//	Emulate ES5 Getter Setter API Using Legacy APIs
	if (Object.prototype.__defineGetter__&&!Object.defineProperty)
	{
		Object.defineProperty=function(obj,prop,desc)
		{
			if ("get" in desc)
				obj.__defineGetter__(prop,desc.get);
			if ("set" in desc)
				obj.__defineSetter__(prop,desc.set);
		}
	}
