// Since we're using Prototype's $ function,
// be nice and have backwards compatability
if ( typeof Prototype != "undefined" ) {
// Since we're using Prototype's $ function,
// be nice and have backwards compatability
if ( typeof Prototype != "undefined" ) {
// The only two getters
size: function() {return this.get().length;},
get: function(i) {
return typeof i == 'undefined' ? this.cur : this.cur[i];
},
// The only two getters
size: function() {return this.get().length;},
get: function(i) {
return typeof i == 'undefined' ? this.cur : this.cur[i];
},
each: function(f) {
for ( var i = 0; i < this.size(); i++ ) {
$.apply( this.get(i), f, [i] );
each: function(f) {
for ( var i = 0; i < this.size(); i++ ) {
$.apply( this.get(i), f, [i] );
return typeof h == 'undefined' && this.size() ?
this.get(0).value : this.set( "value", h );
},
return typeof h == 'undefined' && this.size() ?
this.get(0).value : this.set( "value", h );
},
siblings: function(a) {
// Incorrect, need to exclude current element
this.cur = $.map(this.cur,$.sibling);
siblings: function(a) {
// Incorrect, need to exclude current element
this.cur = $.map(this.cur,$.sibling);
- oHeight = e.offsetHeight || parseInt(e.style.height,10);
- oWidth = e.offsetWidth || parseInt(e.style.width,10);
+ oHeight = e.offsetHeight || parseInt(e.style.height,10) || 0;
+ oWidth = e.offsetWidth || parseInt(e.style.width,10) || 0;
if ( t.indexOf("//") === 0 ) {
context = context.documentElement;
t = t.substr(2,t.length);
if ( t.indexOf("//") === 0 ) {
context = context.documentElement;
t = t.substr(2,t.length);
if ( t.indexOf('..') === 0 || t.indexOf('/..') === 0 ) {
if ( t.indexOf('/') === 0 ) {
t = t.substr(1,t.length);
if ( t.indexOf('..') === 0 || t.indexOf('/..') === 0 ) {
if ( t.indexOf('/') === 0 ) {
t = t.substr(1,t.length);
if ( m[1] == "#" ) { // Ummm, should make this work in all XML docs
var oid = document.getElementById(m[2]);
r = ret = oid ? [oid] : [];
t = t.replace( re2, "" );
} else {
if ( m[2] === "" || m[1] == "." ) { m[2] = "*"; }
if ( m[1] == "#" ) { // Ummm, should make this work in all XML docs
var oid = document.getElementById(m[2]);
r = ret = oid ? [oid] : [];
t = t.replace( re2, "" );
} else {
if ( m[2] === "" || m[1] == "." ) { m[2] = "*"; }
case 'text': case 'radio': case 'checkbox': case 'hidden':
case 'button': case 'submit': case 'image': case 'password':
case 'reset': case 'file':
case 'text': case 'radio': case 'checkbox': case 'hidden':
case 'button': case 'submit': case 'image': case 'password':
case 'reset': case 'file':
if ( not === false ) {
g = function(a,f) {return $.grep(a,f,true);};
}
if ( not === false ) {
g = function(a,f) {return $.grep(a,f,true);};
}
while ( t.length > 0 && t.match(/^[:\\.#\\[a-zA-Z\\*]/) ) {
var re = new RegExp( "^\\[ *@([a-z0-9\\*\\(\\)_-]+) *([~!\\|\\*$^=]*) *'?\"?([^'\"]*)'?\"? *\\]", "i" );
var m = re.exec(t);
while ( t.length > 0 && t.match(/^[:\\.#\\[a-zA-Z\\*]/) ) {
var re = new RegExp( "^\\[ *@([a-z0-9\\*\\(\\)_-]+) *([~!\\|\\*$^=]*) *'?\"?([^'\"]*)'?\"? *\\]", "i" );
var m = re.exec(t);
if ( m !== null ) {
m = ['', '@', m[2], m[1], m[3]];
} else {
re = new RegExp( "^(\\[) *([^\\]]*) *\\]", "i" );
m = re.exec(t);
if ( m !== null ) {
m = ['', '@', m[2], m[1], m[3]];
} else {
re = new RegExp( "^(\\[) *([^\\]]*) *\\]", "i" );
m = re.exec(t);
if ( m[1] == ":" && m[2] == "not" ) {
r = $.filter(m[3],r,false).r;
} else {
if ( m[1] == ":" && m[2] == "not" ) {
r = $.filter(m[3],r,false).r;
} else {
$.merge = function(a,b) {
var d = [];
for ( var k = 0; k < b.length; k++ ) { d[k] = b[k]; }
$.merge = function(a,b) {
var d = [];
for ( var k = 0; k < b.length; k++ ) { d[k] = b[k]; }