var WINDOW_FACTORIES = {};

//styled examples use the window factory for a shared set of behavior
var window_factory = function(container,options){
    var window_header = new Element('div',{
	className: 'window_header'
    });
    var window_title = new Element('div',{
	className: 'window_title'
    });
    var window_close = new Element('div',{
	className: 'window_close'
    }).update('Close Window');
   
    var window_contents = new Element('div',{
	className: 'window_contents'
    });
    var w = new Control.Window(container,Object.extend({
	className: 'window',
	    closeOnClick: window_close,
	    draggable: window_header,
	    insertRemoteContentAt: window_contents,
	    afterOpen: function(){
		window_title.update(container.readAttribute('title'))
	    }
    },options || {}));
    w.container.insert(window_header);
    window_header.insert(window_title);
    window_header.insert(window_close);
    w.container.insert(window_contents);
    WINDOW_FACTORIES[container] = w;
    return w;
};

function get_window(container)
{
return WINDOW_FACTORIES[container];
};

