$.getCSS = function(e,p) {
// Adapted from Prototype 1.4.0
if ( p == 'height' || p == 'width' ) {
- var ph = $.browser == "msie" ? 0 :
- parseInt($.css(e,"paddingTop")) + parseInt($.css(e,"paddingBottom"));
- var pw = $.browser == "msie" ? 0 :
- parseInt($.css(e,"paddingLeft")) + parseInt($.css(e,"paddingRight"));
+
+ // Handle extra width/height provided by the W3C box model
+ var ph = !$.boxModel ? 0 :
+ parseInt($.css(e,"paddingTop")) + parseInt($.css(e,"paddingBottom")) +
+ parseInt($.css(e,"borderTop")) + parseInt($.css(e,"borderBottom"));
+
+ var pw = !$.boxModel ? 0 :
+ parseInt($.css(e,"paddingLeft")) + parseInt($.css(e,"paddingRight")) +
+ parseInt($.css(e,"borderLeft")) + parseInt($.css(e,"borderRight"));
var oHeight, oWidth;
'for': 'htmlFor',
'text': 'cssText',
'class': 'className',
- 'float': 'cssFloat',
- 'style': 'cssText'
+ 'float': 'cssFloat'
};
a = (fix[a] && fix[a].replace && fix[a]) || a;
var r = new RegExp("-([a-z])","ig");
// Bind an event to an element
// Original by Dean Edwards
$.event.add = function(element, type, handler) {
- if ( element.location ) { element = window; } // Ughhhhh....
+ // For whatever reason, IE has trouble passing the window object
+ // around, causing it to be cloned in the process
+ if ( $.browser == "msie" && typeof element.setInterval != "undefined" ) {
+ element = window;
+ }
+
if (!handler.$$guid) { handler.$$guid = $.event.add.guid++; }
if (!element.events) { element.events = {}; }
var handlers = element.events[type];