/*!
 * Plugin: Options für Tabellen anlegen
 * Autor: Michael Retzer
 * ----------------------------------------------------
 * ----------------------------------------------------
 */
;(function($)
{ 
	
	var settings = 
	{
		keys : "",
		values : "",
		url : "",
		current : null,
		hasEmpty : false,
		hasAll : false,
		emptyMessage : "---",
		allMessage : "(Alle)"
	}; 		
	
    $.fn.optionBuilder = (function(options)
    {
    	$.extend(settings, options || {});

    	//Optionen entfernen
    	$(this).find("option").remove();
    	
    	//Optionen einlesen?
    	var keyOpt = "";
    	var valOpt = "";
    	if (settings.url != "")
    	{    	
    		var opt = "";
    		$.ajax({
    			type: "GET",
    			async: false,
    			url: settings.url,
    			success: function(data){ opt = data; }
    		});

    		var optArr = opt.split("||");
        	keyOpt = optArr[0].split(",");
        	valOpt = optArr[1].split(",");    		
    	}
    	else
    	{
        	keyOpt = settings.keys.split(",");
        	valOpt = settings.values.split(",");    		
    	}
    	
    	//neue Optionen anlegen   	
    	for (var i=0; i < keyOpt.length; i++)
    	{
    		if (keyOpt[i] == settings.current) $('<option value="' + keyOpt[i] + '" selected>' + valOpt[i] + '</option>').appendTo($(this));
    		else $('<option value="' + keyOpt[i] + '">' + valOpt[i] + '</option>').appendTo($(this));
    	}
    	
    	if (settings.hasEmpty)
    	{
    		if (settings.current == "") $('<option value="" selected>' + settings.emptyMessage + '</option>').appendTo($(this));
    		else $('<option value="">' + settings.emptyMessage + '</option>').appendTo($(this));    		
    	}
    	
    	if (settings.hasAll)
    	{
    		if (settings.current == "*") $('<option value="*" selected>' + settings.allMessage + '</option>').appendTo($(this));
    		else $('<option value="*">' + settings.allMessage + '</option>').appendTo($(this));    		
    	}    	
    });	    

})(jQuery);


