// verknüpfte Selectboxen
// 13.03.2008
(function($){
   $.fn.linkedSelect = function(url, destination, params) {
      var params = $.extend({
         firstOption : 'Please Select',
         loadingText : 'Loading...',
         reset       : ''
      },params);
      var $dest = $(destination);
      return this.each(function(){
        $(this).bind('change', function() {
          var $$ = $(this);
          $dest.attr('disabled','false')
               .append('<option value="">' + params.loadingText + '</option>')
               .ajaxStart(function(){
                  $$.show();
          });
          $.ajax({type: 'GET', async: true, dataType: 'json', url: url, data: {str: $$.val() }, success: function(data){
      			  var options = '<option value="">' + params.firstOption + '</option>';
      			  $.each(data, function(key, val){
      			    options += '<option value="' + key + '">' + val + '</option>';
      			  });
      			  $dest.removeAttr('disabled').html(options).find('option:first').attr('selected', 'selected');
      			}
      		});
          if ('' != params.reset) {
          	var $reset = $(params.reset);
          	$reset.html('<option value="0">' + params.firstOption + '</option>')
          	      .find('option:first')
          	      .attr('selected', 'selected');

          };
        });  // end change
      }); // end return each
   };  // end function
})(jQuery);
