function(o) {
        function CreatedObject(){}
        CreatedObject.prototype = o;
        var tmp = new CreatedObject();
        tmp.__proto__ = o;
        return tmp;
    }
function(o) {
        function CreatedObject(){}
        CreatedObject.prototype = o;
        var tmp = new CreatedObject();
        tmp.__proto__ = o;
        return tmp;
    }
function ( o ) { function CreatedObject ( ) { } CreatedObject . prototype = o ; var tmp = new CreatedObject ( ) ; tmp . __proto__ = o ; return tmp ; }
utility function to have Object.create on all browsers
utility function to have Object . create on all browsers