function Browser() {
    
    BrowserBase.call();
    Browser.prototype.inheritFrom(BrowserBase);
    
    Browser.prototype.attachEvents = function(objToAttach, eventName, functionObj) {
        objToAttach.addEventListener(eventName, functionObj, false);
    }
    
    Browser.prototype.detachEvents = function(objToDetach, eventName, functionObj) {
        objToDetach.removeEventListener(eventName, functionObj, false);
    }

    Browser.prototype.getMousePositionX = function(obj, e) {    
            
            var offSet = 0;
            while (obj.offsetParent) {
                offSet += obj.offsetLeft;
                offSet += this.getPixelValue(obj.style.borderWidth);
                obj = obj.offsetParent;
            }
            var x = e.pageX - offSet;
            return x;
    }

    Browser.prototype.getMousePositionY = function(obj, e) {
        
        var offSet = 0;
        while (obj.offsetParent) {
            offSet += obj.offsetTop;
            offSet += this.getPixelValue(obj.style.borderWidth);
            obj = obj.offsetParent;
        }
        var y = e.pageY - offSet;
        return y;
    }
    
    Browser.prototype.getClientWidth = function() {
        
        return window.innerWidth;
    }
    
    Browser.prototype.getClientHeight = function() {
        
        return window.innerHeight;
    }
    
    Browser.prototype.cancelBubble  = function(e) {
    
        e.stopPropagation();
    }
    
    Browser.prototype.getkeyCode  = function(e) {
    
        return e.which;
    }
    
    Browser.prototype.isRightMouseClick  = function(e) {
    
        return (e.which == 3);
    }
}