/********************************************************/
/* magDOM-UB-Event                                      */
/*                                                      */
/* writen by Magnum                                     */
/* date 2008/10/5                                       */
/********************************************************/

// window event
UB.Event.Trg = function(evt){
 if(evt && evt.target){
  if(evt.target.nodeType == 3){
   return evt.target.parentNode;
  }else{
   return evt.target;
  }
 }else if(window.event && window.event.srcElement){
  return window.event.srcElement;
 }else{
  return null;
 }
}

UB.Event.addEventListener = function(elm,type,func){
 if(!elm){
  return false;
 }
 if(elm.addEventListener){
  elm.addEventListener(type,func,false);
 }else if(elm.attachEvent){
  elm.attachEvent('on'+type,func);
 }else{
  return false;
 }
 return true;
};

UB.Event.removeEventListener = function(elm,type,func){
 if(!elm){
  return false;
 }
 if(elm.removeEventListener){
  elm.removeEventListener(type,func,false);
 }else if(elm.detachEvent){
  elm.detachEvent('on'+type,func);
 }else{
  return false;
 }
 return true;
};

UB.Event.preventDefault = function(evt){
 if(evt && evt.preventDefault){
  evt.preventDefault();
  evt.currentTarget['on'+evt.type] = function(){
   return false;
  	};
 }else if(window.event){
  window.event.returnValue = false;
 }
};

UB.Event.stopPropagation = function(evt){
 if(evt && evt.stopPropagation){
  evt.stopPropagation();
 }else if(window.event){
  window.event.cancelBubble = true;
 }
}

// /window event

// mouse section
UB.Event.getMousePos =function(evt){
 var Pos = new Object();
 if(window.opera){
  Pos.x = event.clientX;
  Pos.y = event.clientY;
 }else if(document.all){
  Pos.x = document.body.scrollLeft+event.clientX;
  Pos.y = document.body.scrollTop+event.clientY;
 }else if(navigator.userAgent.indexOf('Safari') != -1){
  Pos.x = event.pageX;
  Pos.y = event.pageY;
 }else{
  Pos.x = evt.pageX;
  Pos.y = evt.pageY;
 }
 return Pos;
}

UB.Event.MouseX = function(evt){
 return UB.Event.getMousePos(evt).x;
}

UB.Event.MouseY = function(evt){
 return UB.Event.getMousePos(evt).y;
}

UB.Event.OffsetPos = function(evt){
 var Pos = new Object();
 if(!evt){
  evt = window.event;
 }
 if(document.all){
  Pos.x = (evt.clientX+document.body.scrollLeft)-((evt.clientX+document.body.scrollLeft)-evt.srcElement.offsetLeft);
  Pos.y = (evt.clientY+document.body.scrollTop)-((evt.clientY+document.body.scrollTop)-evt.srcElement.offsetTop);
 }else{
  Pos.x = (evt.clientX+document.body.scrollLeft)-((evt.clientX+document.body.scrollLeft)-evt.target.offsetLeft);
  Pos.y = (evt.clientY+document.body.scrollTop)-((evt.clientY+document.body.scrollTop)-evt.target.offsetTop);
 }
 return Pos;
}

UB.Event.OffsetX = function(evt){
 return UB.Event.OffsetPos(evt).x;
}

UB.Event.OffsetY = function(evt){
 return UB.Event.OffsetPos(evt).y;
}

UB.Event.BoxPos = function(evt){
 var Pos = new Object();
 if(!evt){
  evt = window.event;
 }
 if(document.all){
  Pos.x = evt.offsetX;
  Pos.y = evt.offsetY;
 }else if(navigator.userAgent.indexOf('Safari') != -1){
  Pos.x = evt.offsetX;
  Pos.y = evt.offsetY;
 }else{
  Pos.x = evt.layerX;
  Pos.y = evt.layerY;
 }
 return Pos;
}

UB.Event.BoxX = function(evt){
 return UB.Event.BoxPos(evt).x;
}

UB.Event.BoxY = function(evt){
 return UB.Event.BoxPos(evt).y;
}
// /mouse section

// keyboard section

UB.Event.noEnter = function(evt){
  evt = (evt) ? evt : event; 
  var charCode=(evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
  if(Number(charCode) == 13 || Number(charCode) == 3){
   return false;
  }else{
   return true;
  }
 }

// /keyboard section
