function hasProperty(obj,prop)
{
	return isset(obj[prop]);
	//!=null && obj[prop]!='undefined';
}

function isset(e)
{
	return e!=null && e!='undefined';
}	

function EventWrapper(e)
{
	var ev=!e ? window.event : e;
	if(!e)
	{
		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;
		this.pageY=ev.clientY;
		this.offsetX=ev.offsetX;
		this.offsetY=ev.offsetY;	
	}
	else
	{
		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;
		this.pageY=e.pageY;
//		var pos=findAbsoluteOffset(e.currentTarget);
//		this.offsetX=e.pageX-pos[0];
//		this.offsetY=e.pageY-pos[1];			
	}
	this.screenX=ev.screenX;
	this.screenY=ev.screenY;			
	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();
}

//function findAbsoluteOffset(el)
//{
//	var x=0,y=0;
//	
//	var cur=el;
//	while(cur.offsetParent)
//	{
//		x+=cur.offsetLeft;
//		y+=cur.offsetTop;
//		cur=cur.offsetParent;	
//	}
//	
//	return [x,y];	
//}


