function _hasProperty(obj,prop)
{
	return _isset(obj[prop]);
	//!=null && obj[prop]!='undefined';
}

function _isset(e)
{
	return e!=null && e!='undefined';
}	

function EventWrapper(e)
{	
	if(isIE)
	{
		if(!window.event)
			return null;
		var t=top;
		if(window.event)
			var ev=window.event;
		else if(t.frames.length>0)
		{
			for(var i=0;i<t.frames.length;i++)
			{
				if(t.frames[i].event)
				{	
					var ev=t.frames[i].event;
					break;
				}	
			}	
		}	
		this.eventObj=ev;
		this.eventScheme='ie';
		this.target=ev.srcElement;
		this.toElement=ev.toElement;
		this.fromElement=ev.fromElement;
		this.keyCode=ev.keyCode;
		this.pageX=ev.clientX;  // mouse coordinate relative to document
		this.pageY=ev.clientY;  // mouse coordinate relative to document
		this.offsetX=ev.offsetX;
		this.offsetY=ev.offsetY;	
	}
	else
	{
		if(!e)
			return null;
		var ev=e;
		this.eventObj=e;
		this.eventScheme='dom';
		this.target=e.target;
		this.toElement=e.relatedTarget;
		this.fromElement=e.relatedTarget;
		this.keyCode=e.keyCode;
		this.charCode=e.charCode;
		this.pageX=e.pageX; // mouse coordinate relative to document
		this.pageY=e.pageY; // mouse coordinate relative to document
//		var pos=findAbsoluteOffset(e.currentTarget);
//		this.offsetX=e.pageX-pos[0];
//		this.offsetY=e.pageY-pos[1];			
	}
	this.screenX=ev.screenX; //mouse coordinate relative to entire screen
	this.screenY=ev.screenY; //mouse coordinate relative to entire screen			
	this.altKey=ev.altKey;
	this.ctrlKey=ev.ctrlKey;
	this.shiftKey=ev.shiftKey;
	this.character=String.fromCharCode(this.key);
	this.mouseButton=ev.button;	
}

EventWrapper.prototype.StopPropagation=function()
{
	if(this.eventScheme=='ie')
		this.eventObj.cancelBubble=true;
	else
		this.eventObj.stopPropagation();
}

EventWrapper.prototype.PreventDefault=function()
{
	if(this.eventScheme=='ie')
		this.eventObj.returnValue=false;
	else
		this.eventObj.preventDefault();
}


