var object = new function(){
    this.recursiveExtend = function(target,source){       
        for (property in source){
            if (typeof(source[property]) == 'object')
                object.extend(target,source[property])
            else
                target[property] = source[property]
        }
    }
    this.extend = function(target,source,defaults){
        for (property in source)
            target[property] = source[property]
        if(typeof(defaults) != 'undefined')
            for(defaultParameter in defaults)
                if(typeof(target[defaultParameter]) == 'undefined')
                    target[defaultParameter] = defaults[defaultParameter] 
        
        return target;
    }
    this.echoProperties = function(object,newLineCharacter){
        var outputString = ""
        for (property in object)
            outputString += property + ":" + object[property] + newLineCharacter
        return outputString
    }
    this.show = function(obj){
        $("<div/>").html(object.echoProperties(obj,"<br/>")).dialog({height:500, width:333})
    }
}
