
Prototype.Browser = {
	IE:     !!(window.attachEvent && !window.opera),
	Opera:  !!window.opera,
	WebKit: document.childNodes && !document.all && !navigator.taintEnabled,
	Gecko:  (document.getBoxObjectFor != null),
	MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
};

Object.extend(Prototype.Browser, {
     WebKit419: Prototype.Browser.WebKit && (Prototype.BrowserFeatures.XPath),
     WebKit420: Prototype.Browser.WebKit && (!Prototype.BrowserFeatures.XPath),
     IE6:      Prototype.Browser.IE && (typeof window.XMLHttpRequest == "undefined"),
     IE7:      Prototype.Browser.IE && (typeof window.XMLHttpRequest == "object")
});

/* This Patch is from 
 * http://dev.rubyonrails.org/attachment/ticket/10100/Event.pointer.patch and fixes
 * http://bs.lycos.de/mantis-central/view.php?id=15498
 *
 * When updating prototype, we have to check if this error is solved
 */ 
Event.Methods.pointer = Event.pointer = function(event) {
  return {
    x: event.pageX || (event.clientX +
      (document.documentElement.scrollLeft || (document.body ? document.body.scrollLeft : 0))),
    y: event.pageY || (event.clientY +
      (document.documentElement.scrollTop || (document.body ? document.body.scrollTop : 0)))
  };
};