/*
 * Singleton-Mechanismus für mooTools
 *
 * Ermöglicht das Erstellen und Nutzen von Singletons in mooTools.
 * Hierzu wird auch Class genutzt. Es sind also auf die zurückgegebene
 * Instanz alle Methoden des Class-Mechanismus anwendbar.
 *
 * Prinzipiell eher kosmetischer Natur, da man direkt mit einem
 * globalen Objekt {} arbeiten könnte. Allerdings besitzt dieses
 * Objekt dann nicht alle Möglichkeiten von Class.
 *
 * Nutzung:
 *
 * var foo = new Singleton({ ... });
 *
 * Danach sind alle Eigenschaften und Methoden folgendermaßen nutzbar:
 *
 * foo.getInstance().bar;
 * foo.getInstance().bar();
 *
 * @package javascript
 *
 * @copyright Copyright &copy; 2010 handgestrickt netzwerk
 * @author Stefan Jelner <stefan.jelner@gmx.de>
 * @version $Id: singleton.js 41 2010-03-04 16:47:23Z jelner $
 */

var Singleton = new Class({
	'singletonOptions': null,
	'singletonInstance': null,
	'initialize': function(options) {
		this.singletonOptions = options || {};
	},
	'getInstance': function() {
		if(!$chk(this.singletonInstance)) this.singletonInstance = new new Class(this.singletonOptions);
		return this.singletonInstance;
	}
});