function wp_Element( mcfg ) {
   
    var self = this; 
    mcfg = mcfg || { element : document.body }; 
    this.element = mcfg.element || document.getElementById(mcfg.id);
   
    if( !this.element ) {
        return null;
    }  
   
    this.top = 0;
    this.left = 0;
    this.height = this.element.offsetHeight;
    this.width = this.element.offsetWidth; 
   
    function getElementPosition() {
    	
        self.top = 0;
        self.left = 0;
    	
    	var element = self.element;
    	
        while( element ) {
	        self.top += element.offsetTop;
	        self.left += element.offsetLeft;
    		
	        element = element.offsetParent;
        }        
    }
    getElementPosition(); 
   
    this.bottom = this.top + this.height;
    this.right = this.left + this.width;
   
    this.getClasses = function() {
        if( self.element.className ) {
            return self.element.className.split(" ");
        } else {
            return new Array();
        }
    }    
   
    this.setClass = function( classname ) {
        self.element.className = classname.trim();
    }  
   
    this.addClass = function( classname ) {
        var current_classes = (self.element.className || "").split(" ");
        if( current_classes.intersection(classname).length == 0 ) {
            current_classes.push_back(classname);
        }
        self.element.className = current_classes.join(" ");
    }
   
    this.removeClass = function( classname ) {
        var current_classes = (self.element.className || "").split(" ");
        var index = current_classes.find( classname );
        if( index != -1 ) {
            current_classes = current_classes.remove( index );
        }
        self.element.className = current_classes.join(" ");
    }
   
    this.hasClass = function( classname ) {
        var current_classes = (self.element.className || "").split(" ");
        var index = current_classes.find( classname );
        return (index==-1)?false:true;
    }  
   
    this.setContent = function( value ) {
        self.element.innerHTML = value;
    }
   
    this.setWidth = function( value ) {
        self.element.style.width = value + "px";
    }  
   
    this.setHeight = function( value ) {
        self.element.style.height = value + "px";
    }  
}
