/* Dies ist ein Method-Plugin. Es verfügt über Subroutinen, 
   die über ein Key-Argument aufgrufen werden, das als 
   erstes Argument übergeben wird.
   
   
 */
 
(function($){

	var subs = {
		styleIt : function(styleObj) {
			console.log("Style!");
			console.log("styleObj:", styleObj);
			$(this).css(styleObj);
		},
		colorIt : function() {
			console.log("Color!");
			$(this).css({"color":"white","background-color":"red"});		
		},
		boxIt   : function(){
			console.log("Box!");
			$(this).css({"border":"1px solid black","padding":"10px"});
		}
	};
 
	jQuery.fn.makeStyle = function(){
// wir gehen von maximal 2 Argumenten aus:
var key  = arguments[0],
	args = arguments[1];
			
		if(typeof key == "object") {
		
			console.log("Argument ist ein Objekt");
			// ... dan Defaultroutine aufrufen:
			return this.each(function() {
				 subs.styleIt.call(this, key);
			});
			
		} else if (typeof key == "string") {

			console.log("Argument ist ein String");
			// dann schauen wir, ob es eine Subroutine ist:
			
			if(subs[key]) {
			    return this.each(function() {
				   subs[key].call(this, args);
			    });
			} else {
				console.log("Key ist unbekannt");
			}
		}
	};
 
})(jQuery);