// JavaScript Document
/* prototype.js patches */

var Element2={};
Element2.Methods={

getInnerDimensions:function(element){

element=$(element);
var d=Element.getDimensions(element);

var innerHeight=d.height;
var styleOf=Element.getStyle;
innerHeight-=styleOf(element,'border-top-width')&&styleOf(element,'border-top-width')!='medium'?parseInt(styleOf(element,'border-top-width'),10):0;
innerHeight-=styleOf(element,'border-bottom-width')&&styleOf(element,'border-bottom-width')!='medium'?parseInt(styleOf(element,'border-bottom-width'),10):0;
innerHeight-=styleOf(element,'padding-top')?parseInt(styleOf(element,'padding-top'),10):0;
innerHeight-=styleOf(element,'padding-bottom')?parseInt(styleOf(element,'padding-bottom'),10):0;

var innerWidth=d.width;
innerWidth-=styleOf(element,'border-left-width')&&styleOf(element,'border-left-width')!='medium'?parseInt(styleOf(element,'border-left-width'),10):0;
innerWidth-=styleOf(element,'border-right-width')&&styleOf(element,'border-right-width')!='medium'?parseInt(styleOf(element,'border-right-width'),10):0;
innerWidth-=styleOf(element,'padding-left')?parseInt(styleOf(element,'padding-left'),10):0;
innerWidth-=styleOf(element,'padding-right')?parseInt(styleOf(element,'padding-right'),10):0;

return{width:innerWidth,height:innerHeight};
},


getOuterDimensions:function(element){
element=$(element);
var clone=element.cloneNode(true);

document.body.appendChild(clone);
Element.setStyle(clone,{position:"absolute",visibility:"hidden"});
var d=Element.getDimensions(clone);

var outerHeight=d.height;
var styleOf=Element.getStyle;
outerHeight+=styleOf(clone,'margin-top')?parseInt(styleOf(clone,'margin-top'),10):0;
outerHeight+=styleOf(clone,'margin-bottom')?parseInt(styleOf(clone,'margin-bottom'),10):0;

var outerWidth=d.width;
outerWidth+=styleOf(clone,'margin-left')?parseInt(styleOf(clone,'margin-left'),10):0;
outerWidth+=styleOf(clone,'margin-right')?parseInt(styleOf(clone,'margin-right'),10):0;

Element.remove(clone);

return{width:outerWidth,height:outerHeight};
},

removeAllChildNodes:function(element){
element=$(element);
if(!element){return;}

while(element.hasChildNodes()){
element.removeChild(element.lastChild);
}
}

};

Object.extend(Element,Element2.Methods);

